summaryrefslogtreecommitdiffstats
path: root/xpcom/build/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'xpcom/build/moz.build')
-rw-r--r--xpcom/build/moz.build102
1 files changed, 102 insertions, 0 deletions
diff --git a/xpcom/build/moz.build b/xpcom/build/moz.build
new file mode 100644
index 000000000..68bd001a2
--- /dev/null
+++ b/xpcom/build/moz.build
@@ -0,0 +1,102 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+EXPORTS += [
+ 'nsXPCOM.h',
+ 'nsXPCOMCID.h',
+ 'nsXPCOMCIDInternal.h',
+ 'nsXREAppData.h',
+ 'nsXULAppAPI.h',
+ 'XREChildData.h',
+ 'xrecore.h',
+ 'XREShellData.h',
+]
+
+EXPORTS.mozilla += [
+ 'FileLocation.h',
+ 'IOInterposer.h',
+ 'LateWriteChecks.h',
+ 'Omnijar.h',
+ 'PoisonIOInterposer.h',
+ 'ServiceList.h',
+ 'Services.h',
+ 'XPCOM.h',
+]
+
+if CONFIG['OS_ARCH'] == 'WINNT':
+ EXPORTS += ['nsWindowsDllInterceptor.h']
+ EXPORTS.mozilla += ['perfprobe.h']
+ SOURCES += [
+ 'perfprobe.cpp',
+ 'PoisonIOInterposerBase.cpp',
+ 'PoisonIOInterposerWin.cpp',
+ ]
+elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
+ UNIFIED_SOURCES += [
+ 'PoisonIOInterposerBase.cpp',
+ 'PoisonIOInterposerMac.cpp',
+ ]
+ SOURCES += ['mach_override.c']
+ SOURCES['mach_override.c'].flags += ['-Wno-unused-function']
+else:
+ SOURCES += ['PoisonIOInterposerStub.cpp']
+
+include('../glue/objs.mozbuild')
+
+UNIFIED_SOURCES += xpcom_gluens_src_cppsrcs
+UNIFIED_SOURCES += xpcom_glue_src_cppsrcs
+
+UNIFIED_SOURCES += [
+ 'FrozenFunctions.cpp',
+ 'IOInterposer.cpp',
+ 'LateWriteChecks.cpp',
+ 'MainThreadIOLogger.cpp',
+ 'nsXPCOMStrings.cpp',
+ 'Services.cpp',
+ 'XPCOMInit.cpp',
+]
+
+if CONFIG['OS_ARCH'] != 'WINNT':
+ SOURCES += [
+ 'NSPRInterposer.cpp',
+ ]
+
+# FileLocation.cpp and Omnijar.cpp cannot be built in unified mode because they
+# use plarena.h.
+SOURCES += [
+ 'FileLocation.cpp',
+ 'Omnijar.cpp',
+]
+
+include('/ipc/chromium/chromium-config.mozbuild')
+
+FINAL_LIBRARY = 'xul'
+
+DEFINES['_IMPL_NS_STRINGAPI'] = True
+DEFINES['OMNIJAR_NAME'] = CONFIG['OMNIJAR_NAME']
+if CONFIG['MOZ_ICU_DATA_ARCHIVE']:
+ DEFINES['MOZ_ICU_DATA_ARCHIVE'] = True
+
+LOCAL_INCLUDES += [
+ '!..',
+ '../base',
+ '../components',
+ '../ds',
+ '../glue',
+ '../io',
+ '../reflect/xptinfo',
+ '../threads',
+ '/chrome',
+ '/docshell/base',
+]
+
+if CONFIG['MOZ_VPX']:
+ LOCAL_INCLUDES += [
+ '/media/libvpx',
+ ]
+
+if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
+ CXXFLAGS += CONFIG['TK_CFLAGS']