1# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2# vim: set filetype=python: 3# This Source Code Form is subject to the terms of the Mozilla Public 4# License, v. 2.0. If a copy of the MPL was not distributed with this 5# file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 7with Files('nsString*'): 8 BUG_COMPONENT = ('Core', 'String') 9 10DIRS += ['standalone'] 11 12# On win we build two glue libs - glue linked to crt dlls here and in staticruntime we build 13# a statically linked glue lib. 14if CONFIG['OS_ARCH'] == 'WINNT': 15 DIRS += ['staticruntime'] 16 17EXPORTS += [ 18 'MainThreadUtils.h', 19 'nsArrayEnumerator.h', 20 'nsArrayUtils.h', 21 'nsBaseHashtable.h', 22 'nsCategoryCache.h', 23 'nsClassHashtable.h', 24 'nsCOMArray.h', 25 'nsComponentManagerUtils.h', 26 'nsCOMPtr.h', 27 'nsCRTGlue.h', 28 'nsCycleCollectionNoteChild.h', 29 'nsCycleCollectionNoteRootCallback.h', 30 'nsCycleCollectionParticipant.h', 31 'nsCycleCollectionTraversalCallback.h', 32 'nsDataHashtable.h', 33 'nsDebug.h', 34 'nsDeque.h', 35 'nsEnumeratorUtils.h', 36 'nsHashKeys.h', 37 'nsIClassInfoImpl.h', 38 'nsID.h', 39 'nsIInterfaceRequestorUtils.h', 40 'nsINIParser.h', 41 'nsInterfaceHashtable.h', 42 'nsISupportsImpl.h', 43 'nsISupportsUtils.h', 44 'nsIWeakReferenceUtils.h', 45 'nsJSThingHashtable.h', 46 'nsMemory.h', 47 'nsPointerHashKeys.h', 48 'nsProxyRelease.h', 49 'nsQuickSort.h', 50 'nsRefPtrHashtable.h', 51 'nsServiceManagerUtils.h', 52 'nsStringAPI.h', 53 'nsStringGlue.h', 54 'nsTArray-inl.h', 55 'nsTArray.h', 56 'nsTArrayForwardDeclare.h', 57 'nsTextFormatter.h', 58 'nsTHashtable.h', 59 'nsThreadUtils.h', 60 'nsTObserverArray.h', 61 'nsTPriorityQueue.h', 62 'nsTWeakRef.h', 63 'nsVersionComparator.h', 64 'nsWeakReference.h', 65 'nsXPTCUtils.h', 66 'PLDHashTable.h', 67] 68 69EXPORTS.mozilla += [ 70 'AppData.h', 71 'AutoRestore.h', 72 'BlockingResourceBase.h', 73 'CondVar.h', 74 'DeadlockDetector.h', 75 'EnumeratedArrayCycleCollection.h', 76 'FileUtils.h', 77 'GenericFactory.h', 78 'IntentionalCrash.h', 79 'Monitor.h', 80 'Mutex.h', 81 'Observer.h', 82 'ReentrantMonitor.h', 83] 84 85include('objs.mozbuild') 86 87UNIFIED_SOURCES += xpcom_gluens_src_cppsrcs 88UNIFIED_SOURCES += xpcom_glue_src_cppsrcs 89 90UNIFIED_SOURCES += [ 91 'GenericModule.cpp', 92 'nsStringAPI.cpp', 93] 94 95Library('xpcomglue_s') 96 97SDK_LIBRARY = True 98 99FORCE_STATIC_LIB = True 100 101if CONFIG['_MSC_VER']: 102 DEFINES['_USE_ANSI_CPP'] = True 103 # Don't include directives about which CRT to use 104 CFLAGS += ['-Zl'] 105 CXXFLAGS += ['-Zl'] 106 107LOCAL_INCLUDES += [ 108 '../build', 109 '../threads', 110] 111 112if CONFIG['ENABLE_TESTS']: 113 DIRS += ['tests/gtest'] 114 115# Include fallible for third party code using the xpcom glue 116USE_LIBS += [ 117 'fallible', 118] 119 120# Force to build a static library only 121NO_EXPAND_LIBS = True 122 123DIST_INSTALL = True 124