RESOLVED FIXED 118872
Mac port should run bison as part of ANGLE build process
https://bugs.webkit.org/show_bug.cgi?id=118872
Summary Mac port should run bison as part of ANGLE build process
Alex Christensen
Reported 2013-07-18 16:40:40 PDT
Updating ANGLE is a pain because we have to run an older version of bison before we commit changes to prevent GPLv3 files from being included in WebKit. If this were part of the build process, we wouldn't have to worry about this step. My DerivedSources.make currently runs bison twice, but it works. I'm not a make expert, which is why my DerivedSources.make looks so simple. Simplicity is a virtue.
Attachments
Patch (11.86 KB, patch)
2013-07-18 16:42 PDT, Alex Christensen
no flags
Patch (301.33 KB, patch)
2013-07-18 16:57 PDT, Alex Christensen
no flags
Patch (21.47 KB, patch)
2013-07-18 17:03 PDT, Alex Christensen
no flags
Patch (21.31 KB, patch)
2013-07-19 13:15 PDT, Alex Christensen
no flags
Patch (22.84 KB, patch)
2013-07-19 13:28 PDT, Alex Christensen
no flags
Patch (22.65 KB, patch)
2013-07-19 14:35 PDT, Alex Christensen
no flags
Patch (22.44 KB, patch)
2013-07-23 16:24 PDT, Alex Christensen
no flags
Alex Christensen
Comment 1 2013-07-18 16:42:03 PDT
Alex Christensen
Comment 2 2013-07-18 16:57:34 PDT
EFL EWS Bot
Comment 3 2013-07-18 17:01:16 PDT
EFL EWS Bot
Comment 4 2013-07-18 17:02:04 PDT
Alex Christensen
Comment 5 2013-07-18 17:03:30 PDT
Alex Christensen
Comment 6 2013-07-18 17:05:26 PDT
It looks like efl is not generating these files as part of the build process, either. I don't think anybody (besides Mac after this patch) is generating ExpressionParser.cpp or Tokenizer.cpp.
Mark Rowe (bdash)
Comment 7 2013-07-19 00:59:09 PDT
There's a ton of duplication in that Makefile. A lot of it could be removed if you transformed it to something like so: SEARCH_PATH = $(ANGLE)/src/compiler $(ANGLE)/src/compiler/preprocessor vpath %.l $(SEARCH_PATH) vpath %.y $(SEARCH_PATH) FLEX = flex --noline --nounistd BISON = bison --no-lines --skeleton=yacc.c all : glslang_lex.cpp glslang_tab.h glslang_tab.cpp ExpressionParser.cpp Tokenizer.cpp glslang_tab%h glslang_tab%cpp : glslang.y $(eval OUTPUT = $(basename $@)) $(BISON) --defines=$(OUTPUT).h --output=$(OUTPUT).cpp $< ExpressionParser.cpp : ExpressionParser.y $(BISON) --output=$@ $< glslang_lex.cpp : glslang.l $(FLEX) --outfile=$@ $< Tokenizer.cpp : Tokenizer.l $(FLEX) --outfile=$@ $< Most of the remaining duplication only exists because of the strange naming conventions of the files in question, but I'm guessing that updating those will cause more hassle than it's worth. The makefile also needs a license header.
Mark Rowe (bdash)
Comment 8 2013-07-19 01:00:48 PDT
Comment on attachment 207036 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=207036&action=review Marking as r- based on feedback above. > Source/ThirdParty/ANGLE/ChangeLog:4 > + ANGLE has 5 files that are generated. These should generated as part of the build process to make updating easier. > + https://bugs.webkit.org/show_bug.cgi?id=118872 The first line here could be more succinct. Something like "Generate derived files in ANGLE at build time rather than when updating from upstream."
Alex Christensen
Comment 9 2013-07-19 13:15:05 PDT
Alex Christensen
Comment 10 2013-07-19 13:28:02 PDT
Mark Rowe (bdash)
Comment 11 2013-07-19 14:11:44 PDT
Comment on attachment 207140 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=207140&action=review r=me with the two minor issues. > Source/ThirdParty/ANGLE/ChangeLog:8 > + * ANGLE.xcodeproj/project.pbxproj: Made Derived Sources target which calls DerivedSources.make, moved generated files into Derived Sources group. It'd be good to wrap this line somewhere so it's not dramatically longer than the rest of the lines in this file. > Source/ThirdParty/ANGLE/DerivedSources.make:15 > +# documentation and/or other materials provided with the distribution. > +# 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of > +# its contributors may be used to endorse or promote products derived > +# from this software without specific prior written permission. > +# This is an old version of an old license we used to use. Take a look at Source/WebCore/LICENSE-APPLE for the current license.
Alex Christensen
Comment 12 2013-07-19 14:35:40 PDT
WebKit Commit Bot
Comment 13 2013-07-19 15:06:07 PDT
Comment on attachment 207146 [details] Patch Clearing flags on attachment: 207146 Committed r152929: <http://trac.webkit.org/changeset/152929>
WebKit Commit Bot
Comment 14 2013-07-19 15:06:10 PDT
All reviewed patches have been landed. Closing bug.
Dean Jackson
Comment 15 2013-07-20 15:23:25 PDT
Alex Christensen
Comment 16 2013-07-23 16:24:43 PDT
Alex Christensen
Comment 17 2013-07-24 14:20:27 PDT
Note You need to log in before you can comment on or make changes to this bug.