summaryrefslogtreecommitdiffstats
path: root/xpcom/glue/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'xpcom/glue/moz.build')
-rw-r--r--xpcom/glue/moz.build123
1 files changed, 123 insertions, 0 deletions
diff --git a/xpcom/glue/moz.build b/xpcom/glue/moz.build
new file mode 100644
index 000000000..95c18b273
--- /dev/null
+++ b/xpcom/glue/moz.build
@@ -0,0 +1,123 @@
+# -*- 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/.
+
+with Files('nsString*'):
+ BUG_COMPONENT = ('Core', 'String')
+
+DIRS += ['standalone']
+
+# On win we build two glue libs - glue linked to crt dlls here and in staticruntime we build
+# a statically linked glue lib.
+if CONFIG['OS_ARCH'] == 'WINNT':
+ DIRS += ['staticruntime']
+
+EXPORTS += [
+ 'MainThreadUtils.h',
+ 'nsArrayEnumerator.h',
+ 'nsArrayUtils.h',
+ 'nsBaseHashtable.h',
+ 'nsCategoryCache.h',
+ 'nsClassHashtable.h',
+ 'nsCOMArray.h',
+ 'nsComponentManagerUtils.h',
+ 'nsCOMPtr.h',
+ 'nsCRTGlue.h',
+ 'nsCycleCollectionNoteChild.h',
+ 'nsCycleCollectionNoteRootCallback.h',
+ 'nsCycleCollectionParticipant.h',
+ 'nsCycleCollectionTraversalCallback.h',
+ 'nsDataHashtable.h',
+ 'nsDebug.h',
+ 'nsDeque.h',
+ 'nsEnumeratorUtils.h',
+ 'nsHashKeys.h',
+ 'nsIClassInfoImpl.h',
+ 'nsID.h',
+ 'nsIInterfaceRequestorUtils.h',
+ 'nsINIParser.h',
+ 'nsInterfaceHashtable.h',
+ 'nsISupportsImpl.h',
+ 'nsISupportsUtils.h',
+ 'nsIWeakReferenceUtils.h',
+ 'nsJSThingHashtable.h',
+ 'nsMemory.h',
+ 'nsPointerHashKeys.h',
+ 'nsProxyRelease.h',
+ 'nsQuickSort.h',
+ 'nsRefPtrHashtable.h',
+ 'nsServiceManagerUtils.h',
+ 'nsStringAPI.h',
+ 'nsStringGlue.h',
+ 'nsTArray-inl.h',
+ 'nsTArray.h',
+ 'nsTArrayForwardDeclare.h',
+ 'nsTextFormatter.h',
+ 'nsTHashtable.h',
+ 'nsThreadUtils.h',
+ 'nsTObserverArray.h',
+ 'nsTPriorityQueue.h',
+ 'nsTWeakRef.h',
+ 'nsVersionComparator.h',
+ 'nsWeakReference.h',
+ 'nsXPTCUtils.h',
+ 'PLDHashTable.h',
+]
+
+EXPORTS.mozilla += [
+ 'AppData.h',
+ 'AutoRestore.h',
+ 'BlockingResourceBase.h',
+ 'CondVar.h',
+ 'DeadlockDetector.h',
+ 'EnumeratedArrayCycleCollection.h',
+ 'FileUtils.h',
+ 'GenericFactory.h',
+ 'IntentionalCrash.h',
+ 'Monitor.h',
+ 'Mutex.h',
+ 'Observer.h',
+ 'ReentrantMonitor.h',
+]
+
+include('objs.mozbuild')
+
+UNIFIED_SOURCES += xpcom_gluens_src_cppsrcs
+UNIFIED_SOURCES += xpcom_glue_src_cppsrcs
+
+UNIFIED_SOURCES += [
+ 'GenericModule.cpp',
+ 'nsStringAPI.cpp',
+]
+
+Library('xpcomglue_s')
+
+SDK_LIBRARY = True
+
+FORCE_STATIC_LIB = True
+
+if CONFIG['_MSC_VER']:
+ DEFINES['_USE_ANSI_CPP'] = True
+ # Don't include directives about which CRT to use
+ CFLAGS += ['-Zl']
+ CXXFLAGS += ['-Zl']
+
+LOCAL_INCLUDES += [
+ '../build',
+ '../threads',
+]
+
+if CONFIG['ENABLE_TESTS']:
+ DIRS += ['tests/gtest']
+
+# Include fallible for third party code using the xpcom glue
+USE_LIBS += [
+ 'fallible',
+]
+
+# Force to build a static library only
+NO_EXPAND_LIBS = True
+
+DIST_INSTALL = True