# -*- Mode: python; c-basic-offset: 4; 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', '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 if CONFIG['GNU_CXX']: CXXFLAGS += ['-Wshadow']