/src/3rdparty/webkit/Source/JavaScriptCore/gyp/JavaScriptCore.gyp

https://bitbucket.org/ultra_iter/qt-vtl · Unknown · 228 lines · 228 code · 0 blank · 0 comment · 0 complexity · 64971fae454fc82adde0777d1ee22161 MD5 · raw file

  1. {
  2. 'includes': [
  3. '../../gyp/common.gypi',
  4. '../JavaScriptCore.gypi',
  5. ],
  6. 'configurations': {
  7. 'Production': {
  8. 'xcode_config_file': '<(project_dir)/Configurations/Base.xcconfig',
  9. },
  10. 'Profiling': {
  11. 'xcode_config_file': '<(project_dir)/Configurations/DebugRelease.xcconfig',
  12. 'xcode_settings': {
  13. 'STRIP_INSTALLED_PRODUCT': 'NO',
  14. },
  15. },
  16. 'Release': {
  17. 'xcode_config_file': '<(project_dir)/Configurations/DebugRelease.xcconfig',
  18. 'xcode_settings': {
  19. 'STRIP_INSTALLED_PRODUCT': 'NO',
  20. },
  21. },
  22. 'Debug': {
  23. 'xcode_config_file': '<(project_dir)/Configurations/DebugRelease.xcconfig',
  24. 'xcode_settings': {
  25. 'DEAD_CODE_STRIPPING': '$(DEAD_CODE_STRIPPING_debug)',
  26. 'DEBUG_DEFINES': '$(DEBUG_DEFINES_debug)',
  27. 'GCC_OPTIMIZATION_LEVEL': '$(GCC_OPTIMIZATION_LEVEL_debug)',
  28. 'STRIP_INSTALLED_PRODUCT': '$(STRIP_INSTALLED_PRODUCT_debug)',
  29. },
  30. },
  31. },
  32. 'variables': {
  33. 'javascriptcore_include_dirs': [
  34. '<(project_dir)',
  35. '<(project_dir)/icu',
  36. ],
  37. },
  38. 'target_defaults': {
  39. 'configurations': {
  40. 'Profiling': {},
  41. },
  42. },
  43. 'targets': [
  44. {
  45. 'target_name': 'JavaScriptCore',
  46. 'type': 'shared_library',
  47. 'dependencies': [
  48. 'Derived Sources',
  49. 'Update Version',
  50. ],
  51. 'include_dirs': [
  52. '<@(javascriptcore_include_dirs)',
  53. '<(PRODUCT_DIR)/DerivedSources/JavaScriptCore',
  54. ],
  55. 'configurations': {
  56. 'Production': {
  57. 'INSTALL_PATH': '$(BUILT_PRODUCTS_DIR)',
  58. },
  59. },
  60. 'sources': [
  61. '<@(javascriptcore_files)',
  62. '<@(javascriptcore_publicheader_files)',
  63. '<@(javascriptcore_privateheader_files)',
  64. '<@(javascriptcore_derived_source_files)',
  65. '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
  66. '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
  67. '/usr/lib/libicucore.dylib',
  68. '/usr/lib/libobjc.dylib',
  69. ],
  70. 'mac_framework_headers': [
  71. '<@(javascriptcore_publicheader_files)',
  72. ],
  73. 'mac_framework_private_headers': [
  74. '<@(javascriptcore_privateheader_files)',
  75. ],
  76. 'xcode_config_file': '<(project_dir)/Configurations/JavaScriptCore.xcconfig',
  77. 'sources/': [
  78. ['exclude', 'API/tests/'],
  79. ['exclude', 'ForwardingHeaders/'],
  80. ['exclude', '(?<!unicode)/icu/'],
  81. ['exclude', 'os-win32/'],
  82. ['exclude', 'qt/'],
  83. ['exclude', 'wtf/(android|brew|efl|gtk|haiku|qt|wince|wx)/'],
  84. ['exclude', 'wtf/unicode/brew/'],
  85. ['exclude', 'wtf/unicode/glib/'],
  86. ['exclude', 'wtf/unicode/qt4/'],
  87. ['exclude', 'wtf/unicode/wince/'],
  88. ['exclude', 'wtf/url/'],
  89. ['exclude', '/(gtk|glib|gobject)/.*\\.(cpp|h)$'],
  90. ['exclude', '(Default|Gtk|Chromium|None|Qt|Win|Wx|Symbian)\\.(cpp|mm|h)$'],
  91. ['exclude', 'GCActivityCallback\.cpp$'],
  92. ['exclude', 'BSTR[^/]*$'],
  93. ],
  94. 'postbuilds': [
  95. {
  96. 'postbuild_name': 'Check For Global Initializers',
  97. 'action': [
  98. 'sh', '<(project_dir)/gyp/run-if-exists.sh', '<(DEPTH)/../Tools/Scripts/check-for-global-initializers'
  99. ],
  100. },
  101. {
  102. 'postbuild_name': 'Check For Exit Time Destructors',
  103. 'action': [
  104. 'sh', '<(project_dir)/gyp/run-if-exists.sh', '<(DEPTH)/../Tools/Scripts/check-for-exit-time-destructors'
  105. ],
  106. },
  107. {
  108. 'postbuild_name': 'Check For Weak VTables and Externals',
  109. 'action': [
  110. 'sh', '<(project_dir)/gyp/run-if-exists.sh', '<(DEPTH)/../Tools/Scripts/check-for-weak-vtables-and-externals'
  111. ],
  112. },
  113. ],
  114. 'conditions': [
  115. ['OS=="mac"', {
  116. 'mac_bundle': 1,
  117. 'xcode_settings': {
  118. # FIXME: Remove these overrides once JavaScriptCore.xcconfig is
  119. # used only by this project.
  120. 'GCC_PREFIX_HEADER': '<(project_dir)/JavaScriptCorePrefix.h',
  121. 'INFOPLIST_FILE': '<(project_dir)/Info.plist',
  122. },
  123. }],
  124. ],
  125. },
  126. {
  127. 'target_name': 'Derived Sources',
  128. 'type': 'none',
  129. 'actions': [
  130. {
  131. 'action_name': 'Generate Derived Sources',
  132. 'inputs': [],
  133. 'outputs': [
  134. '<@(javascriptcore_derived_source_files)',
  135. ],
  136. 'action': [
  137. 'sh', 'generate-derived-sources.sh'
  138. ],
  139. },
  140. {
  141. 'action_name': 'Generate DTrace Header',
  142. 'inputs': [],
  143. 'outputs': [],
  144. 'action': [
  145. 'sh', '<(project_dir)/gyp/generate-dtrace-header.sh', '<(project_dir)'
  146. ]
  147. }
  148. ],
  149. },
  150. {
  151. 'target_name': 'Update Version',
  152. 'type': 'none',
  153. 'actions': [{
  154. 'action_name': 'Update Info.plist with version information',
  155. 'inputs': [],
  156. 'outputs': [],
  157. 'action': [
  158. 'sh', '<(project_dir)/gyp/update-info-plist.sh', '<(project_dir)/Info.plist'
  159. ]
  160. }],
  161. },
  162. {
  163. 'target_name': 'minidom',
  164. 'type': 'executable',
  165. 'dependencies': [
  166. 'JavaScriptCore',
  167. ],
  168. # FIXME: We should use a header map instead of listing these explicitly.
  169. 'include_dirs': [
  170. '<@(javascriptcore_include_dirs)',
  171. ],
  172. 'sources': [
  173. '<@(minidom_files)',
  174. '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
  175. ],
  176. 'copies': [{
  177. 'destination': '<(PRODUCT_DIR)',
  178. 'files': [
  179. '<@(minidom_support_files)',
  180. ],
  181. }],
  182. },
  183. {
  184. 'target_name': 'testapi',
  185. 'type': 'executable',
  186. 'dependencies': [
  187. 'JavaScriptCore',
  188. ],
  189. # FIXME: We should use a header map instead of listing these explicitly.
  190. 'include_dirs': [
  191. '<@(javascriptcore_include_dirs)',
  192. ],
  193. 'sources': [
  194. '<@(testapi_files)',
  195. '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
  196. ],
  197. 'copies': [{
  198. 'destination': '<(PRODUCT_DIR)',
  199. 'files': [
  200. '<@(testapi_support_files)',
  201. ],
  202. }],
  203. },
  204. {
  205. 'target_name': 'jsc',
  206. 'type': 'executable',
  207. 'dependencies': [
  208. 'JavaScriptCore',
  209. ],
  210. # FIXME: We should use a header map instead of listing these explicitly.
  211. 'include_dirs': [
  212. '<@(javascriptcore_include_dirs)',
  213. ],
  214. 'configurations': {
  215. 'Production': {
  216. 'xcode_settings': {
  217. 'INSTALL_PATH': '$(JAVASCRIPTCORE_FRAMEWORKS_DIR)/JavaScriptCore.framework/Resources',
  218. },
  219. },
  220. },
  221. 'sources': [
  222. '<@(jsc_files)',
  223. '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
  224. '/usr/lib/libedit.dylib',
  225. ],
  226. },
  227. ], # targets
  228. }