WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
110498
[GTK] Expose all dependencies to the gyp build
https://bugs.webkit.org/show_bug.cgi?id=110498
Summary
[GTK] Expose all dependencies to the gyp build
Martin Robinson
Reported
2013-02-21 12:16:38 PST
With the ease of adding new dependencies in mind, we should roll them into Configuration.gypi. This is a good moment to add all the dependencies from our configuration step as well. They're necessary to build WebCore.
Attachments
Patch
(14.21 KB, patch)
2013-02-21 12:50 PST
,
Martin Robinson
no flags
Details
Formatted Diff
Diff
Patch
(10.18 KB, patch)
2013-02-22 09:42 PST
,
Martin Robinson
dpranke
: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Martin Robinson
Comment 1
2013-02-21 12:50:27 PST
Created
attachment 189579
[details]
Patch
Dirk Pranke
Comment 2
2013-02-21 15:34:01 PST
Comment on
attachment 189579
[details]
Patch Doesn't this result in multiple copies of each dependency target in the sub-makefiles?
Martin Robinson
Comment 3
2013-02-21 15:48:21 PST
Comment on
attachment 189579
[details]
Patch It does seem to do that.
Martin Robinson
Comment 4
2013-02-21 16:04:33 PST
It seems like there are two options to avoid this. One is to continue to manage the dependency targets in two separate files again and the other is to also run Dependencies.gyp through the autoconf preprocessor.
Dirk Pranke
Comment 5
2013-02-21 16:35:45 PST
two separate files? can't you just list the dependencies in a one file? I'm not sure I understand the comment about running Dependencies.gyp through the autoconf processor, though. I'm guessing that's probably related (and maybe does make sense). Generally, we only put variable definitions and other settings in files that are passed in via -I, not actual targets (for the reason just cited, among others).
Martin Robinson
Comment 6
2013-02-21 16:47:31 PST
(In reply to
comment #5
)
> two separate files? can't you just list the dependencies in a one file? > > I'm not sure I understand the comment about running Dependencies.gyp through the autoconf processor, though. I'm guessing that's probably related (and maybe does make sense). > > Generally, we only put variable definitions and other settings in files that are passed in via -I, not actual targets (for the reason just cited, among others).
All the template fields in Configuration.gypi.in (looking like @FOO_CFLAGS@) are filled in during './configure' and the result is written to Configuration.gypi in the build directory. Since Configuration.gypi cannot contain targets in a sane way, we'll likely need to keep targets in a separate file -- Dependencies.gyp. I think that I chose to use the variables (<(FOO_CLFAGS) etc) directly because it would avoid having to add boilerplate across more than one file. There are some important benefits to using targets to represent dependencies, but it does increase the amount of boilerplate necessary to add the n+1.
Dirk Pranke
Comment 7
2013-02-21 17:24:08 PST
(In reply to
comment #6
)
> (In reply to
comment #5
) > > two separate files? can't you just list the dependencies in a one file? > > > > I'm not sure I understand the comment about running Dependencies.gyp through the autoconf processor, though. I'm guessing that's probably related (and maybe does make sense). > > > > Generally, we only put variable definitions and other settings in files that are passed in via -I, not actual targets (for the reason just cited, among others). > > All the template fields in Configuration.gypi.in (looking like @FOO_CFLAGS@) are filled in during './configure' and the result is written to Configuration.gypi in the build directory. Since Configuration.gypi cannot contain targets in a sane way, we'll likely need to keep targets in a separate file -- Dependencies.gyp. I think that I chose to use the variables (<(FOO_CLFAGS) etc) directly because it would avoid having to add boilerplate across more than one file. There are some important benefits to using targets to represent dependencies, but it does increase the amount of boilerplate necessary to add the n+1.
Ah, right, two files == configuration + dependencies.
Martin Robinson
Comment 8
2013-02-22 09:42:13 PST
Created
attachment 189784
[details]
Patch
Martin Robinson
Comment 9
2013-02-22 09:43:46 PST
This is a simplified patch that just fills in the gaps in terms of dependencies.
Dirk Pranke
Comment 10
2013-02-22 14:07:49 PST
Comment on
attachment 189784
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=189784&action=review
It does seem like generating Dependencies.gyp from a Dependencies.gyp.in might make things clearer and remove some of the duplication, but this is fine for now (and up to you).
> Source/WebKit/gtk/gyp/Dependencies.gyp:13 > +
nit: stylistically, we don't usually separate these blocks w/ blank lines.
Martin Robinson
Comment 11
2013-02-22 21:41:51 PST
Committed
r143835
: <
http://trac.webkit.org/changeset/143835
>
Martin Robinson
Comment 12
2013-02-22 21:43:10 PST
(In reply to
comment #10
)
> (From update of
attachment 189784
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=189784&action=review
> > It does seem like generating Dependencies.gyp from a Dependencies.gyp.in might make things clearer and remove some of the duplication, but this is fine for now (and up to you).
Thanks for the review! It's a little tricky right now, because things processed by configure should really end up in the build directory. That means we'd need to have some extra variables in Configuration.gypi (itself in the build directory) so that we can get the proper path for inclusion.
> > > Source/WebKit/gtk/gyp/Dependencies.gyp:13 > > + > > nit: stylistically, we don't usually separate these blocks w/ blank lines.
I've fixed this. :)
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug