Title: [183738] trunk/Source/_javascript_Core
Revision
183738
Author
[email protected]
Date
2015-05-04 01:22:19 -0700 (Mon, 04 May 2015)

Log Message

[cmake] Fix generate-js-builtins related incremental build issue
https://bugs.webkit.org/show_bug.cgi?id=144094

Reviewed by Michael Saboff.

* CMakeLists.txt: Generated JSCBuiltins.<cpp|h> should depend on Source/_javascript_Core/builtins directory.
Pass input directory to generate-js-builtins instead of Source/_javascript_Core/builtins/*.js.
* DerivedSources.make:
Pass input directory to generate-js-builtins instead of Source/_javascript_Core/builtins/*.js.
* generate-js-builtins: Accept input files and input directory too.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/CMakeLists.txt (183737 => 183738)


--- trunk/Source/_javascript_Core/CMakeLists.txt	2015-05-04 07:52:00 UTC (rev 183737)
+++ trunk/Source/_javascript_Core/CMakeLists.txt	2015-05-04 08:22:19 UTC (rev 183738)
@@ -1104,12 +1104,11 @@
     VERBATIM)
 
 # JSCBuiltins
-file(GLOB JSCBuiltins_js_files "${CMAKE_CURRENT_SOURCE_DIR}/builtins/*.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 ${JSCBuiltins_js_files}
-   COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins ${JSCBuiltins_js_files} ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.cpp
+   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/builtins
+   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)
 
 list(APPEND _javascript_Core_SOURCES

Modified: trunk/Source/_javascript_Core/ChangeLog (183737 => 183738)


--- trunk/Source/_javascript_Core/ChangeLog	2015-05-04 07:52:00 UTC (rev 183737)
+++ trunk/Source/_javascript_Core/ChangeLog	2015-05-04 08:22:19 UTC (rev 183738)
@@ -1,3 +1,16 @@
+2015-05-04  Csaba Osztrogonác  <[email protected]>
+
+        [cmake] Fix generate-js-builtins related incremental build issue
+        https://bugs.webkit.org/show_bug.cgi?id=144094
+
+        Reviewed by Michael Saboff.
+
+        * CMakeLists.txt: Generated JSCBuiltins.<cpp|h> should depend on Source/_javascript_Core/builtins directory.
+        Pass input directory to generate-js-builtins instead of Source/_javascript_Core/builtins/*.js.
+        * DerivedSources.make:
+        Pass input directory to generate-js-builtins instead of Source/_javascript_Core/builtins/*.js.
+        * generate-js-builtins: Accept input files and input directory too.
+
 2015-05-03  Simon Fraser  <[email protected]>
 
         Make some static data const

Modified: trunk/Source/_javascript_Core/DerivedSources.make (183737 => 183738)


--- trunk/Source/_javascript_Core/DerivedSources.make	2015-05-04 07:52:00 UTC (rev 183737)
+++ trunk/Source/_javascript_Core/DerivedSources.make	2015-05-04 08:22:19 UTC (rev 183738)
@@ -80,8 +80,8 @@
 # --------
 
 JSCBuiltins: $(_javascript_Core)/generate-js-builtins JSCBuiltins.h JSCBuiltins.cpp
-JSCBuiltins.h: $(_javascript_Core)/generate-js-builtins $(_javascript_Core)/builtins/*.js
-	$(PYTHON) $^ $@
+JSCBuiltins.h: $(_javascript_Core)/generate-js-builtins $(_javascript_Core)/builtins
+	$(PYTHON) $(_javascript_Core)/generate-js-builtins --input-directory $(_javascript_Core)/builtins --output $@
 																				 
 JSCBuiltins.cpp: JSCBuiltins.h
 

Modified: trunk/Source/_javascript_Core/generate-js-builtins (183737 => 183738)


--- trunk/Source/_javascript_Core/generate-js-builtins	2015-05-04 07:52:00 UTC (rev 183737)
+++ trunk/Source/_javascript_Core/generate-js-builtins	2015-05-04 08:22:19 UTC (rev 183738)
@@ -22,6 +22,7 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+import argparse
 import filecmp
 import fnmatch
 import os
@@ -31,6 +32,12 @@
 import datetime
 import json
 
+parser = argparse.ArgumentParser()
+parser.add_argument('input_file', nargs='*', help='Input JS files which builtins generated from')
+parser.add_argument('--input-directory', help='All JS files will be used as input from this directory.')
+parser.add_argument('--output', help='path to output cpp or h file')
+args = parser.parse_args()
+
 copyrightText = """ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -151,13 +158,14 @@
     return mangledName
 
 builtins = []
+copyrights = []
+(output_base, _) = os.path.splitext(args.output)
 
-baseName = sys.argv[-1]
-builtin_definitions = sys.argv[1:-1]
-(output_base, _) = os.path.splitext(sys.argv[-1])
+if args.input_directory:
+    for file in os.listdir(args.input_directory):
+        args.input_file.append(os.path.join(args.input_directory, file))
 
-copyrights = []
-for file in builtin_definitions:
+for file in args.input_file:
     if fnmatch.fnmatch(file, '*.js'):
         (baseName, functions, objectCopyrights) = generateCode(file)
         copyrights.extend(objectCopyrights)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to