WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-96358-20120912085603.patch (text/plain), 6.11 KB, created by
Simon Hausmann
on 2012-09-11 23:54:17 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Simon Hausmann
Created:
2012-09-11 23:54:17 PDT
Size:
6.11 KB
patch
obsolete
>Subversion Revision: 128266 >diff --git a/Source/ThirdParty/ANGLE/ChangeLog b/Source/ThirdParty/ANGLE/ChangeLog >index faed94e6915291140a08d04a76a7539653c72d91..9d66a9212f5ffceb245cdf2856a240e0aae65969 100644 >--- a/Source/ThirdParty/ANGLE/ChangeLog >+++ b/Source/ThirdParty/ANGLE/ChangeLog >@@ -1,3 +1,16 @@ >+2012-09-11 Simon Hausmann <simon.hausmann@nokia.com> >+ >+ [Qt] Build on Windows requires bison/flex in PATH >+ https://bugs.webkit.org/show_bug.cgi?id=96358 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Use MAKEFILE_NOOP_COMMAND instead of the \n\t trick to generate a dummy command. Otherwise >+ the PATH prepend trick will break because it generates a command line along the lines of >+ (set PATH="...") && with just that trailing ampersand pair. >+ >+ * DerivedSources.pri: >+ > 2012-09-10 Dean Jackson <dino@apple.com> > > [Apple] Install plist for Apple Open Source build system >diff --git a/Source/ThirdParty/ANGLE/DerivedSources.pri b/Source/ThirdParty/ANGLE/DerivedSources.pri >index 791e5273514e73ad650abc7c55b3c0ab54f5e67e..04ae8c1c33ffeab99e3ef6caad307f624b473076 100644 >--- a/Source/ThirdParty/ANGLE/DerivedSources.pri >+++ b/Source/ThirdParty/ANGLE/DerivedSources.pri >@@ -31,7 +31,7 @@ anglebison_decl.variable_out = GENERATED_FILES > GENERATORS += anglebison_decl > > anglebison_impl.input = ANGLE_BISON_SOURCES >-anglebison_impl.commands = $$escape_expand(\\n) >+anglebison_impl.commands = $$MAKEFILE_NOOP_COMMAND > anglebison_impl.depends = $$GENERATED_SOURCES_DESTDIR/${QMAKE_FILE_BASE}_tab.h > anglebison_impl.output = ${QMAKE_FILE_BASE}_tab.cpp > GENERATORS += anglebison_impl >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 2de565eeb7148d9c114a939b88b559b226316198..99c559802cb5eaca2fdb050d692fc40b6d7e6ba5 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,27 @@ >+2012-09-11 Simon Hausmann <simon.hausmann@nokia.com> >+ >+ [Qt] Build on Windows requires bison/flex in PATH >+ https://bugs.webkit.org/show_bug.cgi?id=96358 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ The build requires flex, bison, etc. and they need to be in the PATH when building. On Mac OS X >+ and Linux that is rarely a problem given how easily available the tools are. On Windows however >+ a separate installation of various GNU tools is required as the operating system doesn't come with >+ them. To make the development more convenient, Qt 5 provides a copy of the most essential tools in >+ the gnuwin32 directory of the qt5.git top-level repository. >+ >+ This patch tries to detect the presence of those tools and prepends them to the PATH if found. >+ >+ This is required in preparation for the elimination of qt5/qtwebkit.pri, which currently expands >+ PATH before calling build-webkit. It it also required for the upcoming introduction of win_flex >+ as dependency over flex, which can be done with less hassle when qt5's gnuwin32 directory has been >+ updated with the new tool. >+ >+ * Scripts/webkitdirs.pm: >+ (checkRequiredSystemConfig): >+ * qmake/mkspecs/features/default_post.prf: >+ > 2012-09-11 Ryuan Choi <ryuan.choi@samsung.com> > > [CMAKE] Supply feature defines to CodeGeneratorTestRunner. >diff --git a/Tools/Scripts/webkitdirs.pm b/Tools/Scripts/webkitdirs.pm >index 5c0e8d3b8e7b8d4067f37aafbd46720ba48a5d1b..bdcbe0bfdaf93f1ad845caa2252627bf7fcbdf74 100755 >--- a/Tools/Scripts/webkitdirs.pm >+++ b/Tools/Scripts/webkitdirs.pm >@@ -1542,8 +1542,21 @@ sub checkRequiredSystemConfig > print "*************************************************************\n"; > } > } elsif (isGtk() or isQt() or isWx() or isEfl()) { >- my @cmds = qw(flex bison gperf); >+ my @cmds = qw(bison gperf); >+ if (isQt() and isWindows()) { >+ push @cmds, "win_flex"; >+ } else { >+ push @cmds, "flex"; >+ } > my @missing = (); >+ my $oldPath = $ENV{PATH}; >+ if (isQt() and isWindows()) { >+ chomp(my $gnuWin32Dir = `$qmakebin -query QT_HOST_DATA`); >+ $gnuWin32Dir = File::Spec->catfile($gnuWin32Dir, "..", "gnuwin32", "bin"); >+ if (-d "$gnuWin32Dir") { >+ $ENV{PATH} = $gnuWin32Dir . ";" . $ENV{PATH}; >+ } >+ } > foreach my $cmd (@cmds) { > push @missing, $cmd if not commandExists($cmd); > } >@@ -1552,6 +1565,9 @@ sub checkRequiredSystemConfig > my $list = join ", ", @missing; > die "ERROR: $list missing but required to build WebKit.\n"; > } >+ if (isQt() and isWindows()) { >+ $ENV{PATH} = $oldPath; >+ } > } > # Win32 and other platforms may want to check for minimum config > } >diff --git a/Tools/qmake/mkspecs/features/default_post.prf b/Tools/qmake/mkspecs/features/default_post.prf >index f3e604c8ea14d1aa0914e31c7cedcbbda208ca6c..911550d2126f24611efbb9953ca3dbb31bd376fc 100644 >--- a/Tools/qmake/mkspecs/features/default_post.prf >+++ b/Tools/qmake/mkspecs/features/default_post.prf >@@ -68,6 +68,17 @@ contains(TEMPLATE, derived) { > > CONFIG -= debug_and_release > >+ # A lot of our code generators require GNU tools, readily available >+ # on Linux and Mac OS X. On Windows we do have a convenience copy in >+ # Qt5's top-level repository, so let's add that to the PATH if we can >+ # find it. >+ win32 { >+ GNUTOOLS=$$[QT_HOST_DATA]/../gnuwin32/bin >+ exists($$GNUTOOLS/gperf.exe) { >+ GNUTOOLS = "(set $$escape_expand(\\\")PATH=$$toSystemPath($$GNUTOOLS);%PATH%$$escape_expand(\\\"))" >+ } >+ } >+ > for(generator, GENERATORS) { > eval($${generator}.CONFIG = target_predeps no_link) > eval($${generator}.dependency_type = TYPE_C) >@@ -79,6 +90,11 @@ contains(TEMPLATE, derived) { > script = $$eval($${generator}.script) > eval($${generator}.depends += $$script) > >+ commands = $$eval($${generator}.commands) >+ !isEmpty(commands):!isEmpty(GNUTOOLS) { >+ eval($${generator}.commands = $${GNUTOOLS} && $$val_escape($${generator}.commands)) >+ } >+ > !isEmpty($${generator}.input) { > # Compiler-style generator > QMAKE_EXTRA_COMPILERS += $$generator
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 96358
:
163292
|
163305
|
163526