moz.build 2.8 KB

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