Closed Bug 170377 Opened 17 years ago Closed 17 years ago

defaults without config.


(Core :: XPCOM, defect)

Windows 2000
Not set





(Reporter: dougt, Assigned: dougt)


Since i am using strings outside of the mozilla build system, I cant depend on
NEW_H being defined.  This simple patch ensure that if this variable isn't
defined, we default to something sane:

Index: nsBufferHandleUtils.h
RCS file: /cvsroot/mozilla/string/public/nsBufferHandleUtils.h,v
retrieving revision 1.8
diff -u -r1.8 nsBufferHandleUtils.h
--- nsBufferHandleUtils.h	19 Aug 2002 03:50:24 -0000	1.8
+++ nsBufferHandleUtils.h	23 Sep 2002 20:41:20 -0000
@@ -33,6 +33,9 @@
 #include "nsStringTraits.h"
+#ifndef NEW_H
+#define NEW_H "new.h"
 #include NEW_H
   // for placement |new|
If you're building outside of the mozilla build system (ie, you're an embeddor),
you should be using mozilla-config.h or the mozilla-config shell script.  There
are defines other than NEW_H that could be problematic.
this is the only one that I have found so far.
CPP_THROW_NEW is the other one that immediately pops into mind.  The various
HAVE_CPP_* defines could be problematic as well.  They are currently hardcoded
for win32 which is probably why you haven't run into that problem yet.
very true.  chris, can you create a file with these "common" defaults?
Component: String → XPCOM
Summary: default NEW_H → defaults without config.
these required common #defines are already specified in mozilla-config.h - which
would be in the dist\include dir.

Actually, my recommendation is to be to use mozilla-config.h.  If you are
building against a binary SDK, then you want to use the same flags that were
used to compile the SDK, not the defaults.  
where exactly does this file get build?  I want to export it to the sdk.
The file is created by configure and is placed in dist/include/ by the toplevel  

I'm not completely sold on the idea of bundling mozilla-config.h with the xpcom
SDK.  I'm still confused as to how the mini-SDKs relate to the GRE-based sdk and
to each other.
the config.h file shouldn't be part of the xpcom sdk, but rather above it.  It
should include all of the required define cruft that was used to build the
binaries in the children sdk's (eg. xpcom, necko...)

There will be an SDK which is paired with a GRE.  The SDK will only include libs
that you are required to link to.  
what file?

bash-2.05b$ ls -alR | grep mozilla-config.h
bash-2.05b$ pwd

Seams like my config file isn't getting to dist.  However chak's is.
chris fixed this.  
Closed: 17 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.