1 # vim:set ts=8 sw=8 sts=8 noet:
2 # ***** BEGIN LICENSE BLOCK *****
3 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 # The contents of this file are subject to the Mozilla Public License Version
6 # 1.1 (the "License"); you may not use this file except in compliance with
7 # the License. You may obtain a copy of the License at
8 # http://www.mozilla.org/MPL/
10 # Software distributed under the License is distributed on an "AS IS" basis,
11 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 # for the specific language governing rights and limitations under the
15 # The Original Code is mozilla.org.
17 # The Initial Developer of the Original Code is
18 # Netscape Communications Corporation.
19 # Portions created by the Initial Developer are Copyright (C) 2002
20 # the Initial Developer. All Rights Reserved.
24 # Alternatively, the contents of this file may be used under the terms of
25 # either the GNU General Public License Version 2 or later (the "GPL"), or
26 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 # in which case the provisions of the GPL or the LGPL are applicable instead
28 # of those above. If you wish to allow use of your version of this file only
29 # under the terms of either the GPL or the LGPL, and not to allow others to
30 # use your version of this file under the terms of the MPL, indicate your
31 # decision by deleting the provisions above and replace them with the notice
32 # and other provisions required by the GPL or the LGPL. If you do not delete
33 # the provisions above, a recipient may use your version of this file under
34 # the terms of any one of the MPL, the GPL or the LGPL.
36 # ***** END LICENSE BLOCK *****
39 topsrcdir
= @top_srcdir@
43 include $(DEPTH
)/config
/autoconf.mk
44 include $(srcdir)/..
/objs.mk
46 EXTRA_DEPS
+= $(srcdir)/..
/objs.mk
49 LIBRARY_NAME
= xpcomglue
56 -I
$(srcdir)/..
/..
/build \
59 ifeq (Darwin
,$(OS_ARCH
))
60 LINKSRC
= nsGlueLinkingOSX.
cpp
62 ifneq (,$(filter WINNT WINCE
,$(OS_ARCH
)))
63 LINKSRC
= nsGlueLinkingWin.
cpp
65 ifneq (,$(filter AIX DragonFly FreeBSD Linux NetBSD OpenBSD SunOS
,$(OS_ARCH
)))
66 LINKSRC
= nsGlueLinkingDlopen.
cpp
69 LINKSRC
= nsGlueLinkingOS2.
cpp
71 ifeq (BeOS
,$(OS_ARCH
))
72 LINKSRC
= nsGlueLinkingBeOS.
cpp
76 LINKSRC
= nsGlueLinkingNull.
cpp
77 $(warning TinderboxPrint
:<a href
="https://bugzilla.mozilla.org/show_bug.cgi?id=298044">Error
: XPCOM Glue
</a
>)
81 $(XPCOM_GLUE_SRC_LCSRCS
) \
85 $(XPCOM_GLUE_SRC_LCPPSRCS
) \
96 $(LIB_PREFIX
)xpcomglue.
$(LIB_SUFFIX
) \
99 # we don't want the shared lib, but we want to force the creation of a static lib.
105 # Pretend we're statically linking the CRT, even though we might not be: this
106 # avoids "msvcrp" and assembly dependencies from creeping into the directives
107 # for this library on Windows.
110 GARBAGE
+= $(XPCOM_GLUE_SRC_LCSRCS
) $(XPCOM_GLUE_SRC_LCPPSRCS
) $(wildcard *.
$(OBJ_SUFFIX
))
114 include $(topsrcdir
)/config
/rules.mk
117 # Don't include directives about which CRT to use
118 OS_COMPILE_CXXFLAGS
+= -Zl
119 OS_COMPILE_CFLAGS
+= -Zl
120 DEFINES
+= -D_USE_ANSI_CPP
123 export:: $(XPCOM_GLUE_SRC_CSRCS
) $(XPCOM_GLUE_SRC_CPPSRCS
) $(topsrcdir
)/xpcom
/glue
/nsStringAPI.
cpp
126 GARBAGE
+= nsStringAPI.
cpp
128 DEFINES
+= -DXPCOM_GLUE
130 ifdef TARGET_XPCOM_ABI
131 DEFINES
+= -DTARGET_XPCOM_ABI
=\"$(TARGET_XPCOM_ABI
)\"