1
# vim:set ts=8 sw=8 sts=8 noet:
2
# This Source Code Form is subject to the terms of the Mozilla Public
3
# License, v. 2.0. If a copy of the MPL was not distributed with this
4
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
7
topsrcdir = @top_srcdir@
11
include $(DEPTH)/config/autoconf.mk
12
include $(srcdir)/../objs.mk
14
EXTRA_DEPS += $(srcdir)/../objs.mk
16
# On win we build two glue libs - glue linked to crt dlls here and in staticruntime we build
17
# a statically linked glue lib.
18
ifeq ($(OS_ARCH),WINNT)
23
LIBRARY_NAME = xpcomglue
27
-I$(srcdir)/../../build \
30
ifeq (Darwin,$(OS_ARCH))
31
ifeq (uikit,$(MOZ_WIDGET_TOOLKIT))
32
LINKSRC = nsGlueLinkingDlopen.cpp
34
LINKSRC = nsGlueLinkingOSX.cpp
38
ifeq ($(OS_ARCH),WINNT)
39
LINKSRC = nsGlueLinkingWin.cpp
41
ifneq (,$(filter AIX DragonFly FreeBSD GNU GNU_% Linux NetBSD OpenBSD SunOS,$(OS_ARCH)))
42
LINKSRC = nsGlueLinkingDlopen.cpp
45
LINKSRC = nsGlueLinkingOS2.cpp
49
LINKSRC = nsGlueLinkingNull.cpp
50
$(warning TinderboxPrint:<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=298044">Error: XPCOM Glue</a>)
54
$(XPCOM_GLUE_SRC_LCPPSRCS) \
65
$(LIB_PREFIX)xpcomglue.$(LIB_SUFFIX) \
70
# Don't use STL wrappers here (i.e. wrapped <new>); they require mozalloc
73
GARBAGE += $(XPCOM_GLUE_SRC_LCPPSRCS)
77
include $(topsrcdir)/config/rules.mk
80
# Don't include directives in obj files about which CRT to use
81
OS_COMPILE_CXXFLAGS += -Zl
82
OS_COMPILE_CFLAGS += -Zl
83
DEFINES += -D_USE_ANSI_CPP
86
export:: $(XPCOM_GLUE_SRC_CPPSRCS) $(topsrcdir)/xpcom/glue/nsStringAPI.cpp
89
GARBAGE += nsStringAPI.cpp
91
DEFINES += -DXPCOM_GLUE
93
ifdef TARGET_XPCOM_ABI
94
DEFINES += -DTARGET_XPCOM_ABI=\"$(TARGET_XPCOM_ABI)\"