Explicitly specify builtin JS files dependency
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 18 Sep 2015 16:38:09 +0000 (16:38 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 18 Sep 2015 16:38:09 +0000 (16:38 +0000)
https://bugs.webkit.org/show_bug.cgi?id=149323

Reviewed by Alex Christensen.

JSCBuiltins.{h,cpp} in CMakeLists.txt and DerivedSources.make just depend on the builtins directory.
As a result, even if we modify builtins/*.js code, regenerating JSCBuiltins.{h,cpp} does not occur.
As the same to the cpp sources, let's list up the JS files explicitly.

* CMakeLists.txt:
* DerivedSources.make:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189968 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/CMakeLists.txt
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/DerivedSources.make

index b4a3ecb..7a8de3d 100644 (file)
@@ -1061,10 +1061,29 @@ add_custom_command(
     VERBATIM)
 
 # JSCBuiltins
+set(JavaScriptCore_BUILTINS_SOURCES
+    ${JAVASCRIPTCORE_DIR}/builtins/ArrayConstructor.js
+    ${JAVASCRIPTCORE_DIR}/builtins/ArrayIterator.prototype.js
+    ${JAVASCRIPTCORE_DIR}/builtins/Array.prototype.js
+    ${JAVASCRIPTCORE_DIR}/builtins/Function.prototype.js
+    ${JAVASCRIPTCORE_DIR}/builtins/GlobalObject.js
+    ${JAVASCRIPTCORE_DIR}/builtins/InspectorInstrumentationObject.js
+    ${JAVASCRIPTCORE_DIR}/builtins/InternalPromiseConstructor.js
+    ${JAVASCRIPTCORE_DIR}/builtins/Iterator.prototype.js
+    ${JAVASCRIPTCORE_DIR}/builtins/ModuleLoaderObject.js
+    ${JAVASCRIPTCORE_DIR}/builtins/ObjectConstructor.js
+    ${JAVASCRIPTCORE_DIR}/builtins/Operations.Promise.js
+    ${JAVASCRIPTCORE_DIR}/builtins/PromiseConstructor.js
+    ${JAVASCRIPTCORE_DIR}/builtins/Promise.prototype.js
+    ${JAVASCRIPTCORE_DIR}/builtins/ReflectObject.js
+    ${JAVASCRIPTCORE_DIR}/builtins/StringConstructor.js
+    ${JAVASCRIPTCORE_DIR}/builtins/StringIterator.prototype.js
+)
+
 add_custom_command(
    OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.h
    MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins
-   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/builtins
+   DEPENDS ${JavaScriptCore_BUILTINS_SOURCES}
    COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins --input-directory ${CMAKE_CURRENT_SOURCE_DIR}/builtins --output ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.cpp
    VERBATIM)
 
index 3dd3884..faea967 100644 (file)
@@ -1,3 +1,17 @@
+2015-09-18  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Explicitly specify builtin JS files dependency
+        https://bugs.webkit.org/show_bug.cgi?id=149323
+
+        Reviewed by Alex Christensen.
+
+        JSCBuiltins.{h,cpp} in CMakeLists.txt and DerivedSources.make just depend on the builtins directory.
+        As a result, even if we modify builtins/*.js code, regenerating JSCBuiltins.{h,cpp} does not occur.
+        As the same to the cpp sources, let's list up the JS files explicitly.
+
+        * CMakeLists.txt:
+        * DerivedSources.make:
+
 2015-09-18  Michael Saboff  <msaboff@apple.com>
 
         Remove register preservation and restoration stub code
index e367307..1015ddc 100644 (file)
@@ -75,8 +75,6 @@ all : \
 #
 
 # builtin functions
-.PHONY: JSCBuiltins
-
 PYTHON = python
 PERL = perl
 
@@ -87,12 +85,33 @@ else
 endif
 # --------
 
+.PHONY: JSCBuiltins
 JSCBuiltins: $(JavaScriptCore)/generate-js-builtins JSCBuiltins.h JSCBuiltins.cpp
-JSCBuiltins.h: $(JavaScriptCore)/generate-js-builtins $(JavaScriptCore)/builtins
+JSCBuiltins.h: $(JavaScriptCore)/generate-js-builtins $(JavaScriptCore)/builtins JSCBuiltinsSources
        $(PYTHON) $(JavaScriptCore)/generate-js-builtins --input-directory $(JavaScriptCore)/builtins --output $@
-                                                                                                                                                                
+
 JSCBuiltins.cpp: JSCBuiltins.h
 
+.PHONY: JSCBuiltinsSources
+JSCBuiltinsSources: \
+    $(JavaScriptCore)/builtins/ArrayConstructor.js \
+    $(JavaScriptCore)/builtins/ArrayIterator.prototype.js \
+    $(JavaScriptCore)/builtins/Array.prototype.js \
+    $(JavaScriptCore)/builtins/Function.prototype.js \
+    $(JavaScriptCore)/builtins/GlobalObject.js \
+    $(JavaScriptCore)/builtins/InspectorInstrumentationObject.js \
+    $(JavaScriptCore)/builtins/InternalPromiseConstructor.js \
+    $(JavaScriptCore)/builtins/Iterator.prototype.js \
+    $(JavaScriptCore)/builtins/ModuleLoaderObject.js \
+    $(JavaScriptCore)/builtins/ObjectConstructor.js \
+    $(JavaScriptCore)/builtins/Operations.Promise.js \
+    $(JavaScriptCore)/builtins/PromiseConstructor.js \
+    $(JavaScriptCore)/builtins/Promise.prototype.js \
+    $(JavaScriptCore)/builtins/ReflectObject.js \
+    $(JavaScriptCore)/builtins/StringConstructor.js \
+    $(JavaScriptCore)/builtins/StringIterator.prototype.js \
+#
+
 # lookup tables for classes
 
 %.lut.h: create_hash_table %.cpp