Title: [125411] trunk
Revision
125411
Author
[email protected]
Date
2012-08-13 05:07:36 -0700 (Mon, 13 Aug 2012)

Log Message

[Qt] Add gprof.prf to build WebKit with gprof enabled
https://bugs.webkit.org/show_bug.cgi?id=90283

Patch by Kwang Yul Seo <[email protected]> on 2012-08-13
Reviewed by Eric Seidel.

Source/WebCore:

No behavior change, so no new tests.

* WebCore.pri:
-ffunction-sections conflicts with -pg option, so don't use
-ffunction-sections option when gprof is enabled.

Source/WebKit/qt:

* tests/MIMESniffing/MIMESniffing.pro:
Don't build MIMESniffing.cpp because MIMESniffing test links
WebKitQt statically when gprof is enabled.

Tools:

* qmake/mkspecs/features/functions.prf:
gprof does not support profiling a shared library.
To profile WebKit, applications must link QtWebKit statically.

* qmake/mkspecs/features/gprof.prf: Added.
Add -pg option to both QMAKE_CXXFLAGS and QMAKE_LFLAGS.

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (125410 => 125411)


--- trunk/Source/WebCore/ChangeLog	2012-08-13 12:00:56 UTC (rev 125410)
+++ trunk/Source/WebCore/ChangeLog	2012-08-13 12:07:36 UTC (rev 125411)
@@ -1,3 +1,16 @@
+2012-08-13  Kwang Yul Seo  <[email protected]>
+
+        [Qt] Add gprof.prf to build WebKit with gprof enabled
+        https://bugs.webkit.org/show_bug.cgi?id=90283
+
+        Reviewed by Eric Seidel.
+
+        No behavior change, so no new tests.
+
+        * WebCore.pri:
+        -ffunction-sections conflicts with -pg option, so don't use
+        -ffunction-sections option when gprof is enabled.
+
 2012-08-13  Zan Dobersek  <[email protected]>
 
         Unreviewed build fix after r125408, removing another usage of SVG_FEATURES.

Modified: trunk/Source/WebCore/WebCore.pri (125410 => 125411)


--- trunk/Source/WebCore/WebCore.pri	2012-08-13 12:00:56 UTC (rev 125410)
+++ trunk/Source/WebCore/WebCore.pri	2012-08-13 12:07:36 UTC (rev 125411)
@@ -259,7 +259,11 @@
     LIBS_PRIVATE += -framework Carbon -framework AppKit
 }
 
-unix:!mac:*-g++*:QMAKE_CXXFLAGS += -ffunction-sections -fdata-sections
+# -ffunction-section conflicts with -pg option
+!contains(CONFIG, gprof) {
+    unix:!mac:*-g++*:QMAKE_CXXFLAGS += -ffunction-sections
+}
+unix:!mac:*-g++*:QMAKE_CXXFLAGS += -fdata-sections
 unix:!mac:*-g++*:QMAKE_LFLAGS += -Wl,--gc-sections
 linux*-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
 

Modified: trunk/Source/WebKit/qt/ChangeLog (125410 => 125411)


--- trunk/Source/WebKit/qt/ChangeLog	2012-08-13 12:00:56 UTC (rev 125410)
+++ trunk/Source/WebKit/qt/ChangeLog	2012-08-13 12:07:36 UTC (rev 125411)
@@ -1,3 +1,14 @@
+2012-08-13  Kwang Yul Seo  <[email protected]>
+
+        [Qt] Add gprof.prf to build WebKit with gprof enabled
+        https://bugs.webkit.org/show_bug.cgi?id=90283
+
+        Reviewed by Eric Seidel.
+
+        * tests/MIMESniffing/MIMESniffing.pro:
+        Don't build MIMESniffing.cpp because MIMESniffing test links
+        WebKitQt statically when gprof is enabled.
+
 2012-08-12  Loïc Yhuel  <[email protected]>
 
         [Qt] Make it possible to build without QtTest/QtPrintSupport

Modified: trunk/Source/WebKit/qt/tests/MIMESniffing/MIMESniffing.pro (125410 => 125411)


--- trunk/Source/WebKit/qt/tests/MIMESniffing/MIMESniffing.pro	2012-08-13 12:00:56 UTC (rev 125410)
+++ trunk/Source/WebKit/qt/tests/MIMESniffing/MIMESniffing.pro	2012-08-13 12:07:36 UTC (rev 125411)
@@ -2,7 +2,10 @@
 TARGET = MIMESniffing
 CONFIG += console
 
-SOURCES += ../../../../WebCore/platform/network/MIMESniffing.cpp
+!contains(CONFIG, gprof) {
+    SOURCES += ../../../../WebCore/platform/network/MIMESniffing.cpp
+}
+
 HEADERS += \
     ../../../../WebCore/platform/network/MIMESniffing.h \
     TestData.h

Modified: trunk/Tools/ChangeLog (125410 => 125411)


--- trunk/Tools/ChangeLog	2012-08-13 12:00:56 UTC (rev 125410)
+++ trunk/Tools/ChangeLog	2012-08-13 12:07:36 UTC (rev 125411)
@@ -1,3 +1,17 @@
+2012-08-13  Kwang Yul Seo  <[email protected]>
+
+        [Qt] Add gprof.prf to build WebKit with gprof enabled
+        https://bugs.webkit.org/show_bug.cgi?id=90283
+
+        Reviewed by Eric Seidel.
+
+        * qmake/mkspecs/features/functions.prf:
+        gprof does not support profiling a shared library.
+        To profile WebKit, applications must link QtWebKit statically.
+
+        * qmake/mkspecs/features/gprof.prf: Added.
+        Add -pg option to both QMAKE_CXXFLAGS and QMAKE_LFLAGS.
+
 2012-08-13  KwangYong Choi  <[email protected]>
 
         [TestNetscapePlugin][X11] Additional key up event handler routine is required

Modified: trunk/Tools/qmake/mkspecs/features/functions.prf (125410 => 125411)


--- trunk/Tools/qmake/mkspecs/features/functions.prf	2012-08-13 12:00:56 UTC (rev 125410)
+++ trunk/Tools/qmake/mkspecs/features/functions.prf	2012-08-13 12:07:36 UTC (rev 125411)
@@ -260,11 +260,15 @@
             POST_TARGETDEPS += $${path}$${QMAKE_DIR_SEP}lib$${target}.a
         }
 
-        # The following line is to prevent qmake from adding jscore to libQtWebKit's prl dependencies.
-        # The compromise we have to accept by disabling explicitlib is to drop support to link QtWebKit
-        # statically in applications (which isn't used often because, among other things, of licensing obstacles).
-        CONFIG -= explicitlib
-        CONFIG -= staticlib
+        # gprof does not support profiling a shared library.
+        # To profile WebKit, applications must link QtWebKit statically.
+        !contains(CONFIG, gprof) {
+            # The following line is to prevent qmake from adding jscore to libQtWebKit's prl dependencies.
+            # The compromise we have to accept by disabling explicitlib is to drop support to link QtWebKit
+            # statically in applications (which isn't used often because, among other things, of licensing obstacles).
+            CONFIG -= explicitlib
+            CONFIG -= staticlib
+        }
     }
 
     export(LIBS)

Added: trunk/Tools/qmake/mkspecs/features/gprof.prf (0 => 125411)


--- trunk/Tools/qmake/mkspecs/features/gprof.prf	                        (rev 0)
+++ trunk/Tools/qmake/mkspecs/features/gprof.prf	2012-08-13 12:07:36 UTC (rev 125411)
@@ -0,0 +1,11 @@
+# -------------------------------------------------------------------
+# This optional feature file adds rules that make running gprof
+# on QtWebKit easier.
+#
+# See 'Tools/qmake/README' for an overview of the build system
+# -------------------------------------------------------------------
+
+!contains(CONFIG,no_webkit2): error("WebKit2 is not supported with gprof")
+
+QMAKE_CXXFLAGS += -pg
+QMAKE_LFLAGS += -pg
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to