WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
15614
[GTK] qmake based backends don't build on OS X
https://bugs.webkit.org/show_bug.cgi?id=15614
Summary
[GTK] qmake based backends don't build on OS X
Sven Herzberg
Reported
2007-10-22 04:57:42 PDT
The QT and GTK backends require qmake to output makefiles instead of xcode projects. I reported this as a bug at Trolltech, but they told me to set the spec for qmake correctly. I'm going to attach a patch for this (the binary that Trolltech delivers has got this issue, qmake built from source works out of the box). This was the output for the QT build, but with the patch from
bug 15229
GTK+ should work as well (in fact, I'm updating the patch for that other bug now on MacOS X. Here's the output from the build I attempted with the qt backend (but applies to the GTK backend as well). Patch follows. $ ./build-webkit --qt Updating /Users/herzi/Source/webkit-qt/WebKitBuild/Release/libWebKitSystemInterface.a Updating /Users/herzi/Source/webkit-qt/WebKitBuild/Release/usr/local/include/WebKitSystemInterface.h Calling 'qmake -r OUTPUT_DIR=/Users/herzi/Source/webkit-qt/WebKitBuild/Release CONFIG+=qt-port /Users/herzi/Source/webkit-qt/WebKit.pro CONFIG+=release CONFIG-=debug' in /Users/herzi/Source/webkit-qt/WebKitBuild/Release ... Reading /Users/herzi/Source/webkit-qt/WebKitQt/Plugins/Plugins.pro [/Users/herzi/Source/webkit-qt/WebKitBuild/Release//WebKitQt/Plugins] Reading /Users/herzi/Source/webkit-qt/JavaScriptCore/pcre/dftables.pro [/Users/herzi/Source/webkit-qt/WebKitBuild/Release//JavaScriptCore/pcre] Reading /Users/herzi/Source/webkit-qt/WebCore/WebCore.pro [/Users/herzi/Source/webkit-qt/WebKitBuild/Release//WebCore] Reading /Users/herzi/Source/webkit-qt/JavaScriptCore/kjs/testkjs.pro [/Users/herzi/Source/webkit-qt/WebKitBuild/Release//JavaScriptCore/kjs] Reading /Users/herzi/Source/webkit-qt/WebKitQt/QtLauncher/QtLauncher.pro [/Users/herzi/Source/webkit-qt/WebKitBuild/Release//WebKitQt/QtLauncher] Reading /Users/herzi/Source/webkit-qt/WebKitTools/DumpRenderTree/DumpRenderTree.qtproj/DumpRenderTree.pro [/Users/herzi/Source/webkit-qt/WebKitBuild/Release//WebKitTools/DumpRenderTree/DumpRenderTree.qtproj] WARNING: Ignored (not found) '/Users/herzi/Source/webkit-qt/WebKitQt/Plugins/qtwebico.xcodeproj' WARNING: Ignored (not found) '/Users/herzi/Source/webkit-qt/JavaScriptCore/pcre/dftables.xcodeproj' WARNING: Ignored (not found) '/Users/herzi/Source/webkit-qt/WebCore/QtWebKit.xcodeproj' WARNING: Ignored (not found) '/Users/herzi/Source/webkit-qt/JavaScriptCore/kjs/testkjs.xcodeproj' WARNING: Ignored (not found) '/Users/herzi/Source/webkit-qt/WebKitQt/QtLauncher/QtLauncher.xcodeproj' WARNING: Ignored (not found) '/Users/herzi/Source/webkit-qt/WebKitTools/DumpRenderTree/DumpRenderTree.qtproj/DumpRenderTree.xcodeproj' make: *** No targets specified and no makefile found. Stop.
Attachments
Proposed patch
(914 bytes, patch)
2007-10-22 05:31 PDT
,
Sven Herzberg
no flags
Details
Formatted Diff
Diff
stderr (without patch)
(2.95 KB, application/octet-stream)
2007-10-22 06:49 PDT
,
Sven Herzberg
no flags
Details
stderr (with patch v2)
(4.60 KB, application/octet-stream)
2007-10-22 07:00 PDT
,
Sven Herzberg
no flags
Details
Proposed patch (v2)
(7.64 KB, patch)
2007-10-22 07:01 PDT
,
Sven Herzberg
no flags
Details
Formatted Diff
Diff
Proposed patch (v3)
(1.07 KB, patch)
2007-10-22 07:09 PDT
,
Sven Herzberg
no flags
Details
Formatted Diff
Diff
Proposed patch (v4)
(2.34 KB, patch)
2007-10-24 03:46 PDT
,
Sven Herzberg
no flags
Details
Formatted Diff
Diff
Proposed patch (v4)
(1.80 KB, patch)
2007-10-24 03:48 PDT
,
Sven Herzberg
no flags
Details
Formatted Diff
Diff
Show Obsolete
(5)
View All
Add attachment
proposed patch, testcase, etc.
Sven Herzberg
Comment 1
2007-10-22 05:31:10 PDT
Created
attachment 16791
[details]
Proposed patch
Mark Rowe (bdash)
Comment 2
2007-10-22 06:21:02 PDT
The Qt port at least has worked fine for me with qmake on Mac OS X. It is not entirely clear what the problem you're describing is.
Sven Herzberg
Comment 3
2007-10-22 06:26:45 PDT
The problem is that it doesn't work out of the box with the precompiled qmake from trolltech's dmg:
http://trolltech.com/developer/downloads/qt/mac
Holger Freyther
Comment 4
2007-10-22 06:37:46 PDT
(In reply to
comment #1
)
> Created an attachment (id=16791) [edit] > Proposed patch >
Looks fine. I would appreciate if QMAKESPEC would not be overwritten if it is already set. E.g. I could cross compile on my mac for any other system. Also I wonder if isOSX() wasn't changed to return false when building for Qt/Gtk+....
Mark Rowe (bdash)
Comment 5
2007-10-22 06:40:27 PDT
It was.
Sven Herzberg
Comment 6
2007-10-22 06:49:44 PDT
Created
attachment 16794
[details]
stderr (without patch) This is the output without the patch
Sven Herzberg
Comment 7
2007-10-22 07:00:48 PDT
Created
attachment 16795
[details]
stderr (with patch v2)
Sven Herzberg
Comment 8
2007-10-22 07:01:27 PDT
Created
attachment 16796
[details]
Proposed patch (v2) Including proposed changes
Sven Herzberg
Comment 9
2007-10-22 07:09:06 PDT
Created
attachment 16797
[details]
Proposed patch (v3) Updated the branch to reduce the diff size
Sven Herzberg
Comment 10
2007-10-22 07:33:58 PDT
I'm still not completely happy with this patch. * if isOSX() would be only the platform-detection and not yet the backend, it would be more consistent, I guess * isQuartz() could be a replacement for the current appearances of isOSX() or * adding isDarwin() (and using it within the osOSX() test as well) would be less intrusive
Sven Herzberg
Comment 11
2007-10-24 03:46:07 PDT
Created
attachment 16832
[details]
Proposed patch (v4) Updated to latest HEAD and included the isDarwin() changes
Sven Herzberg
Comment 12
2007-10-24 03:48:53 PDT
Created
attachment 16833
[details]
Proposed patch (v4) Still the same, but with color-escapes...
Mark Rowe (bdash)
Comment 13
2007-10-24 22:12:28 PDT
Landed in
r27015
.
Mark Rowe (bdash)
Comment 14
2007-10-24 23:03:01 PDT
George Staikos wasn't happy with this change so he removed the "isQt()" portion of the check. From discussions on IRC I'm still not really clear *why* he was so unhappy with it, but it seems that if we were to add an additional check to verify that the qmake spec that will be used is the troublesome mac-xcode one before setting it then he would be ok with it. That would make the condition roughly: if ((isGtk() || isQt()) && isDarwin() && !$ENV{QMAKESPEC} && qmakeSpecIsMacXcode()) I had a quick look and wasn't sure how to determine what the default QMAKESPEC value is, other than the awkward approach of : readlink $(qmake -query QMAKE_MKSPECS)/default I'm reopening this bug even though this is fixed from the Gtk point of view as the original report talked about Qt primarily.
Mark Rowe (bdash)
Comment 15
2007-10-24 23:30:20 PDT
George says there is currently no way to query the default QMAKESPEC. He has filed a feature request so it will hopefully be available in a future version of qmake, but in the meantime the readlink-based approach will work for our specific Mac OS X only scenario.
Darin Adler
Comment 16
2007-10-28 14:36:26 PDT
Comment on
attachment 16833
[details]
Proposed patch (v4) Clearing the review flag since this patch was landed.
Alp Toker
Comment 17
2008-02-04 02:50:20 PST
This issue is fixed. (Sounds like it's not considered a bug for Qt.) Closing it.
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