Changeset 143381 in webkit


Ignore:
Timestamp:
Feb 19, 2013 1:53:57 PM (11 years ago)
Author:
Martin Robinson
Message:

[GTK] Improve gyp build JavaScriptCore code generation
https://bugs.webkit.org/show_bug.cgi?id=109969

Reviewed by Dirk Pranke.

Switch away from using DerivedSources.make when building JavaScriptCore generated
sources. This bring a couple advantages, such as building the sources in parallel,
but requires us to list the generated sources more than once.

Location:
trunk/Source/JavaScriptCore
Files:
1 added
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r143366 r143381  
     12013-02-15  Martin Robinson  <mrobinson@igalia.com>
     2
     3        [GTK] Improve gyp build JavaScriptCore code generation
     4        https://bugs.webkit.org/show_bug.cgi?id=109969
     5
     6        Reviewed by Dirk Pranke.
     7
     8        Switch away from using DerivedSources.make when building JavaScriptCore generated
     9        sources. This bring a couple advantages, such as building the sources in parallel,
     10        but requires us to list the generated sources more than once.
     11
     12        * JavaScriptCore.gyp/JavaScriptCoreGTK.gyp: Add rules for generating JavaScriptCore sources.
     13        * JavaScriptCore.gyp/generate-derived-sources.sh: Added.
     14        * JavaScriptCore.gyp/redirect-stdout.sh: Added.
     15
    1162013-02-19  Sheriff Bot  <webkit.review.bot@gmail.com>
    217
  • trunk/Source/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCoreGTK.gyp

    r143093 r143381  
    7171    },
    7272    {
     73      'target_name': 'GenerateLUTs',
     74      'type': 'none',
     75      'sources': [
     76          '../runtime/ArrayConstructor.cpp',
     77          '../runtime/ArrayPrototype.cpp',
     78          '../runtime/BooleanPrototype.cpp',
     79          '../runtime/DateConstructor.cpp',
     80          '../runtime/DatePrototype.cpp',
     81          '../runtime/ErrorPrototype.cpp',
     82          '../runtime/JSONObject.cpp',
     83          '../runtime/JSGlobalObject.cpp',
     84          '../runtime/MathObject.cpp',
     85          '../runtime/NamePrototype.cpp',
     86          '../runtime/NumberConstructor.cpp',
     87          '../runtime/NumberPrototype.cpp',
     88          '../runtime/ObjectConstructor.cpp',
     89          '../runtime/ObjectPrototype.cpp',
     90          '../runtime/RegExpConstructor.cpp',
     91          '../runtime/RegExpPrototype.cpp',
     92          '../runtime/RegExpObject.cpp',
     93          '../runtime/StringConstructor.cpp',
     94          '../runtime/StringPrototype.cpp',
     95      ],
     96      'rules' : [
     97        {
     98          'rule_name': 'GenerateLUT',
     99          'extension': 'cpp',
     100          'inputs': [ '<(JavaScriptCore)/create_hash_table', ],
     101          'outputs': [
     102            '<(PRODUCT_DIR)/DerivedSources/JavaScriptCore/<(RULE_INPUT_ROOT).lut.h',
     103          ],
     104          'action': [
     105            './redirect-stdout.sh',
     106            '<(PRODUCT_DIR)/DerivedSources/JavaScriptCore/<(RULE_INPUT_ROOT).lut.h',
     107            'perl', '<@(_inputs)', '<(RULE_INPUT_PATH)', '-i',
     108          ],
     109        }
     110      ],
     111      'actions': [
     112        {
     113          'action_name': 'GenerateLexerLUT',
     114          'inputs': [
     115              '<(JavaScriptCore)/create_hash_table',
     116              '<(JavaScriptCore)/parser/Keywords.table',
     117           ],
     118          'outputs': [ '<(PRODUCT_DIR)/DerivedSources/JavaScriptCore/Lexer.lut.h', ],
     119          'action': [
     120            './redirect-stdout.sh',
     121            '<(PRODUCT_DIR)/DerivedSources/JavaScriptCore/Lexer.lut.h',
     122            'perl', '<@(_inputs)',
     123          ],
     124        },
     125      ],
     126    },
     127    {
    73128      'target_name': 'libjavascriptcoregtk',
    74129        'type': 'shared_library',
    75130        'dependencies': [
    76           '<(Source)/WTF/WTF.gyp/WTFGTK.gyp:wtf',
    77           'LLIntOffsetExtractor',
    78131          '<(Dependencies):glib',
    79132          '<(Dependencies):icu',
     133          '<(Source)/WTF/WTF.gyp/WTFGTK.gyp:wtf',
     134          'GenerateLUTs',
     135          'LLIntOffsetExtractor',
    80136        ],
    81137        'product_extension': 'so.<@(javascriptcore_soname_version)',
     
    95151      'actions': [
    96152        {
    97           'action_name': 'Generate Derived Sources',
    98           'inputs': [
    99             '<(JavaScriptCore)/DerivedSources.make',
    100             'generate-derived-sources.sh',
    101           ],
    102           'outputs': [
    103             '<@(javascriptcore_derived_source_files)',
    104           ],
    105           'action': ['sh', 'generate-derived-sources.sh', '<@(project_dir)', '<(PRODUCT_DIR)/DerivedSources/JavaScriptCore'],
    106         },
    107         {
    108153          'action_name': 'llintassembly_header_generation',
    109154          'inputs': [
     
    116161          ],
    117162          'action': ['ruby', '<@(_inputs)', '<@(_outputs)'],
     163        },
     164        {
     165          'action_name': 'GenerateRegExpJitTables',
     166          'inputs': [ '<(JavaScriptCore)/create_regex_tables', ],
     167          'outputs': [ '<(PRODUCT_DIR)/DerivedSources/JavaScriptCore/RegExpJitTables.h', ],
     168          'action': [
     169            './redirect-stdout.sh',
     170            '<(PRODUCT_DIR)/DerivedSources/JavaScriptCore/RegExpJitTables.h',
     171            'python', '<@(_inputs)'
     172          ],
     173        },
     174        {
     175          'action_name': 'GenerateKeywordLookup',
     176          'inputs': [
     177            '<(JavaScriptCore)/KeywordLookupGenerator.py',
     178            '<(JavaScriptCore)/parser/Keywords.table',
     179          ],
     180          'outputs': [ '<(PRODUCT_DIR)/DerivedSources/JavaScriptCore/KeywordLookup.h', ],
     181          'action': [
     182            './redirect-stdout.sh',
     183            '<(PRODUCT_DIR)/DerivedSources/JavaScriptCore/KeywordLookup.h',
     184            'python', '<@(_inputs)'
     185          ],
    118186        },
    119187      ],
Note: See TracChangeset for help on using the changeset viewer.