Changeset 183738 in webkit


Ignore:
Timestamp:
May 4, 2015 1:22:19 AM (9 years ago)
Author:
Csaba Osztrogonác
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/JavaScriptCore/builtins directory.

Pass input directory to generate-js-builtins instead of Source/JavaScriptCore/builtins/*.js.

  • DerivedSources.make:

Pass input directory to generate-js-builtins instead of Source/JavaScriptCore/builtins/*.js.

  • generate-js-builtins: Accept input files and input directory too.
Location:
trunk/Source/JavaScriptCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/CMakeLists.txt

    r183724 r183738  
    11051105
    11061106# JSCBuiltins
    1107 file(GLOB JSCBuiltins_js_files "${CMAKE_CURRENT_SOURCE_DIR}/builtins/*.js")
    11081107add_custom_command(
    11091108   OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.h
    11101109   MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins
    1111    DEPENDS ${JSCBuiltins_js_files}
    1112    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
     1110   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/builtins
     1111   COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins --input-directory ${CMAKE_CURRENT_SOURCE_DIR}/builtins --output ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.cpp
    11131112   VERBATIM)
    11141113
  • trunk/Source/JavaScriptCore/ChangeLog

    r183734 r183738  
     12015-05-04  Csaba Osztrogonác  <ossy@webkit.org>
     2
     3        [cmake] Fix generate-js-builtins related incremental build issue
     4        https://bugs.webkit.org/show_bug.cgi?id=144094
     5
     6        Reviewed by Michael Saboff.
     7
     8        * CMakeLists.txt: Generated JSCBuiltins.<cpp|h> should depend on Source/JavaScriptCore/builtins directory.
     9        Pass input directory to generate-js-builtins instead of Source/JavaScriptCore/builtins/*.js.
     10        * DerivedSources.make:
     11        Pass input directory to generate-js-builtins instead of Source/JavaScriptCore/builtins/*.js.
     12        * generate-js-builtins: Accept input files and input directory too.
     13
    1142015-05-03  Simon Fraser  <simon.fraser@apple.com>
    215
  • trunk/Source/JavaScriptCore/DerivedSources.make

    r182915 r183738  
    8181
    8282JSCBuiltins: $(JavaScriptCore)/generate-js-builtins JSCBuiltins.h JSCBuiltins.cpp
    83 JSCBuiltins.h: $(JavaScriptCore)/generate-js-builtins $(JavaScriptCore)/builtins/*.js
    84         $(PYTHON) $^ $@
     83JSCBuiltins.h: $(JavaScriptCore)/generate-js-builtins $(JavaScriptCore)/builtins
     84        $(PYTHON) $(JavaScriptCore)/generate-js-builtins --input-directory $(JavaScriptCore)/builtins --output $@
    8585                                                                                                                                                                 
    8686JSCBuiltins.cpp: JSCBuiltins.h
  • trunk/Source/JavaScriptCore/generate-js-builtins

    r183581 r183738  
    2323# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    2424
     25import argparse
    2526import filecmp
    2627import fnmatch
     
    3132import datetime
    3233import json
     34
     35parser = argparse.ArgumentParser()
     36parser.add_argument('input_file', nargs='*', help='Input JS files which builtins generated from')
     37parser.add_argument('--input-directory', help='All JS files will be used as input from this directory.')
     38parser.add_argument('--output', help='path to output cpp or h file')
     39args = parser.parse_args()
    3340
    3441copyrightText = """ *
     
    152159
    153160builtins = []
    154 
    155 baseName = sys.argv[-1]
    156 builtin_definitions = sys.argv[1:-1]
    157 (output_base, _) = os.path.splitext(sys.argv[-1])
    158 
    159161copyrights = []
    160 for file in builtin_definitions:
     162(output_base, _) = os.path.splitext(args.output)
     163
     164if args.input_directory:
     165    for file in os.listdir(args.input_directory):
     166        args.input_file.append(os.path.join(args.input_directory, file))
     167
     168for file in args.input_file:
    161169    if fnmatch.fnmatch(file, '*.js'):
    162170        (baseName, functions, objectCopyrights) = generateCode(file)
Note: See TracChangeset for help on using the changeset viewer.