Changeset 142706 in webkit


Ignore:
Timestamp:
Feb 12, 2013 6:40:09 PM (11 years ago)
Author:
Martin Robinson
Message:

[GTK] Connect the gyp build to autoconf
https://bugs.webkit.org/show_bug.cgi?id=109360

Reviewed by Dirk Pranke.

Move Configuration.gypi to Configuration.gypi.in and allow autoconf to
fill in variables during a configuration phase. Also add some scripts
to support connecting autoconf up to the gyp build. This allows us
to have a very autotools-esque experience.

  • gyp/Configuration.gypi: Removed.
  • gyp/Configuration.gypi.in: Added. Fleshed out Configuration.gypi to include

dependency CFLAGS and LIBS directly from configure. Due to the way we are
generating the gyp build now, we also need to include an absolute path to
the build directory. Fixing bugs in gyp should allow us to avoid this in the
future.

  • gyp/Dependencies.gyp: Added this file which holds external dependency targets.

We could consider auto-generating this at some point.

  • gyp/JavaScriptCore.gyp: Remove references to the old Configuration.gypi.

It's now included via the command-line -I flag. Update to support the new
s/default/global/g terminology for variables.

  • gyp/WTF.gyp: Remove the dependency targets as this is now handled entirely

by autoconf.

  • gyp/autogen.sh: Added. Set up the build directory and kick off autoconf.
  • gyp/configure.ac: Added. An autoconf build that re-uses much of our

existing autoconf setup.

  • gyp/run-gyp: Added. Script for invoking gyp for out-of-tree builds.
Location:
trunk/Source/WebKit/gtk
Files:
5 added
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/gtk/ChangeLog

    r142595 r142706  
     12013-02-12  Martin Robinson  <mrobinson@igalia.com>
     2
     3        2013-02-10  Martin Robinson  <mrobinson@igalia.com>
     4
     5        [GTK] Connect the gyp build to autoconf
     6        https://bugs.webkit.org/show_bug.cgi?id=109360
     7
     8        Reviewed by Dirk Pranke.
     9
     10        Move Configuration.gypi to Configuration.gypi.in and allow autoconf to
     11        fill in variables during a configuration phase. Also add some scripts
     12        to support connecting autoconf up to the gyp build. This allows us
     13        to have a very autotools-esque experience.
     14
     15        * gyp/Configuration.gypi: Removed.
     16        * gyp/Configuration.gypi.in: Added. Fleshed out Configuration.gypi to include
     17        dependency CFLAGS and LIBS directly from configure. Due to the way we are
     18        generating the gyp build now, we also need to include an absolute path to
     19        the build directory. Fixing bugs in gyp should allow us to avoid this in the
     20        future.
     21        * gyp/Dependencies.gyp: Added this file which holds external dependency targets.
     22        We could consider auto-generating this at some point.
     23        * gyp/JavaScriptCore.gyp: Remove references to the old Configuration.gypi.
     24        It's now included via the command-line -I flag. Update to support the new
     25        s/default/global/g terminology for variables.
     26        * gyp/WTF.gyp: Remove the dependency targets as this is now handled entirely
     27        by autoconf.
     28        * gyp/autogen.sh: Added. Set up the build directory and kick off autoconf.
     29        * gyp/configure.ac: Added. An autoconf build that re-uses much of our
     30        existing autoconf setup.
     31        * gyp/run-gyp: Added. Script for invoking gyp for out-of-tree builds.
     32
    1332013-02-12  Huang Dongsung  <luxtella@company100.net>
    234
  • trunk/Source/WebKit/gtk/gyp/JavaScriptCore.gyp

    r142298 r142706  
    11{
    22  'includes': [
    3     'Configuration.gypi',
    43    '../../../JavaScriptCore/JavaScriptCore.gypi',
    54  ],
     
    2928    ],
    3029  },
     30  'target_defaults' : {
     31      'cflags' : [ '<@(global_cflags)', ],
     32      'defines': [ '<@(global_defines)' ],
     33  },
    3134  'targets': [
    3235    {
     
    3437        'dependencies': [
    3538          'WTF.gyp:wtf',
    36           'WTF.gyp:glib',
    37           'WTF.gyp:icu'
    3839        ],
    3940        'type': 'executable',
     
    4344      ],
    4445      'include_dirs': [ '<@(javascriptcore_includes)' ],
    45       'defines': [ '<@(default_defines)' ],
    4646      'actions': [
    4747        {
     
    6969        'dependencies': [
    7070          'WTF.gyp:wtf',
    71           'LLIntOffsetExtractor'
     71          'LLIntOffsetExtractor',
     72          'Dependencies.gyp:glib',
     73          'Dependencies.gyp:icu',
    7274        ],
     75        'product_extension': 'so.<@(javascriptcore_soname_version)',
     76        'product_name': 'javascriptcoregtk-<@(api_version)',
     77        'cflags': [ '-fPIC', ],
    7378        'include_dirs': [ '<@(javascriptcore_includes)' ],
    74         'product_extension': 'so.<@(javascriptcore_soname_version)',
    75         'product_name': 'javascriptcoregtk-<@(library_version)',
    7679        'sources': [
    7780          '<@(javascriptcore_yarr_files)',
     
    9093          ],
    9194        },
    92         'defines': [ '<@(default_defines)' ],
    93         'cflags': [ '-fPIC' ],
    9495      'actions': [
    9596        {
     
    124125        'sources': [ '<@(jsc_files)' ],
    125126        'include_dirs': [ '<@(javascriptcore_includes)' ],
    126         'defines': [ '<@(default_defines)' ],
    127127    },
    128128    {
     
    131131        'type': 'executable',
    132132        'sources': [ '<@(minidom_files)' ],
    133         'include_dirs': [ '<@(javascriptcore_includes)' ],
    134         'defines': [ '<@(default_defines)' ],
     133        'include_dirs': [ '<@(javascriptcore_includes)', ],
    135134    },
    136135  ]
  • trunk/Source/WebKit/gtk/gyp/WTF.gyp

    r142298 r142706  
    11{
    22  'includes': [
    3     'Configuration.gypi',
    43    '../../../WTF/WTF.gypi',
    54  ],
     5  'target_defaults' : {
     6      'cflags' : [ '<@(global_cflags)', ],
     7      'defines': [ '<@(global_defines)' ],
     8  },
    69  'targets': [
    7     {
    8       'target_name': 'glib',
    9       'type': 'none',
    10       'variables': {
    11         'glib_packages': 'gmodule-2.0 gobject-2.0 gthread-2.0 gio-2.0',
    12       },
    13       'direct_dependent_settings': {
    14          'cflags': [ '<!@(pkg-config --cflags <(glib_packages))', ],
    15          'link_settings': {
    16            'ldflags': [ '<!@(pkg-config --libs-only-L --libs-only-other <(glib_packages))', ],
    17            'libraries': [ '<!@(pkg-config --libs-only-l <(glib_packages))', ],
    18          },
    19        },
    20     },
    21     {
    22       'target_name': 'icu',
    23       'type': 'none',
    24       'direct_dependent_settings': {
    25         'cflags': [ '<!@(icu-config --cppflags)', ],
    26         'link_settings': {
    27           'ldflags': [ '<!@(icu-config --ldflags-libsonly)', ],
    28         },
    29        },
    30     },
    3110    {
    3211      'target_name': 'wtf',
    3312      'type': 'static_library',
    34       'dependencies': [ 'glib', 'icu' ],
     13      'dependencies': [
     14        'Dependencies.gyp:glib',
     15        'Dependencies.gyp:icu',
     16       ],
    3517      'include_dirs': [
    3618        '<(Source)/WTF',
     
    5436        ['exclude', '(Default|Wchar|Mac|None|Qt|Win|Wx|Efl)\\.(cpp|mm)$'],
    5537      ],
    56       'direct_dependent_settings': {
     38      'cflags' : [ '-fPIC', ],
     39      'all_dependent_settings': {
     40        'cflags' : [
     41          '<(global_cflags)',
     42         ],
    5743        'include_dirs': [
    5844          '<(Source)/WTF',
    5945          '<(Source)/WTF/wtf',
    6046        ],
     47      },
     48      'direct_dependent_settings': {
    6149        'ldflags': [ '-pthread' ],
    6250      },
    63       'cflags': [ '-fPIC' ],
    64       'defines': [ '<@(default_defines)' ],
    6551    },
    6652  ]
Note: See TracChangeset for help on using the changeset viewer.