2011-06-08 Lucas De Marchi <lucas.demarchi@profusion.mobi>
authordemarchi@webkit.org <demarchi@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 8 Jun 2011 13:19:43 +0000 (13:19 +0000)
committerdemarchi@webkit.org <demarchi@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 8 Jun 2011 13:19:43 +0000 (13:19 +0000)
        Reviewed by Kenneth Rohde Christiansen.

        [CMAKE] Never let a WTF_FEATURE defined to nothing
        https://bugs.webkit.org/show_bug.cgi?id=60820

        If a port doesn't want to give the user some configure options,
        nevertheless it would have to define this feature as OFF. Otherwise
        there's a build error because the generated cmakeconfig.h is not
        parsed correctly by ENABLE macro, which expects each feature to be
        either undefined or defined to TRUE/FALSE.

        * Source/cmake/WebKitFeatures.cmake: Use a variable with the same name
        of the feature, which allows CONFIGURE_FILE() to replace it in the new
        cmakeconfig.h.cmake.
        * Source/cmakeconfig.h.cmake: use #cmakedefine01 instead of #define
        with another variable. This way the feature will always be 0 or 1 and
        it will never be left undefined.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@88342 268f45cc-cd09-0410-ab3c-d52691b4dbfc

ChangeLog
Source/cmake/WebKitFeatures.cmake
Source/cmakeconfig.h.cmake

index ef4632a..9d7a572 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2011-06-08  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        [CMAKE] Never let a WTF_FEATURE defined to nothing
+        https://bugs.webkit.org/show_bug.cgi?id=60820
+
+        If a port doesn't want to give the user some configure options,
+        nevertheless it would have to define this feature as OFF. Otherwise
+        there's a build error because the generated cmakeconfig.h is not
+        parsed correctly by ENABLE macro, which expects each feature to be
+        either undefined or defined to TRUE/FALSE.
+
+        * Source/cmake/WebKitFeatures.cmake: Use a variable with the same name
+        of the feature, which allows CONFIGURE_FILE() to replace it in the new
+        cmakeconfig.h.cmake.
+        * Source/cmakeconfig.h.cmake: use #cmakedefine01 instead of #define
+        with another variable. This way the feature will always be 0 or 1 and
+        it will never be left undefined.
+
 2011-06-07  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
 
         Reviewed by Antonio Gomes.
 2011-06-07  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
 
         Reviewed by Antonio Gomes.
index 713b1a7..4cab5a3 100644 (file)
@@ -44,11 +44,11 @@ MACRO(WEBKIT_FEATURE _feature _description _type _args)
        LIST(APPEND WEBKIT_FEATURES ${_feature})
 
        IF (${_feature})
        LIST(APPEND WEBKIT_FEATURES ${_feature})
 
        IF (${_feature})
-               SET(${_feature}_VALUE 1)
+               SET(${_feature} 1)
                WEBKIT_SEPARATE_FEATURES(${_feature} 1 ${ARGN})
                LIST(APPEND FEATURE_DEFINES ${_feature})
        ELSE ()
                WEBKIT_SEPARATE_FEATURES(${_feature} 1 ${ARGN})
                LIST(APPEND FEATURE_DEFINES ${_feature})
        ELSE ()
-               SET(${_feature}_VALUE 0)
+               SET(${_feature} 0)
                WEBKIT_SEPARATE_FEATURES(${_feature} 0 ${ARGN})
        ENDIF ()
 ENDMACRO()
                WEBKIT_SEPARATE_FEATURES(${_feature} 0 ${ARGN})
        ENDIF ()
 ENDMACRO()
index 17d6c85..402c0e8 100644 (file)
@@ -4,42 +4,43 @@
 #define WEBKIT_USER_AGENT_MAJOR_VERSION @USER_AGENT_VERSION_MAJOR@
 #define WEBKIT_USER_AGENT_MINOR_VERSION @USER_AGENT_VERSION_MINOR@
 
 #define WEBKIT_USER_AGENT_MAJOR_VERSION @USER_AGENT_VERSION_MAJOR@
 #define WEBKIT_USER_AGENT_MINOR_VERSION @USER_AGENT_VERSION_MINOR@
 
-#define ENABLE_AS_IMAGE @ENABLE_AS_IMAGE_VALUE@
-#define ENABLE_BLOB @ENABLE_BLOB_VALUE@
-#define ENABLE_CHANNEL_MESSAGING @ENABLE_CHANNEL_MESSAGING_VALUE@
-#define ENABLE_DATABASE @ENABLE_DATABASE_VALUE@
-#define ENABLE_DATAGRID @ENABLE_DATAGRID_VALUE@
-#define ENABLE_DATALIST @ENABLE_DATALIST_VALUE@
-#define ENABLE_DATA_TRANSFER_ITEMS @ENABLE_DATA_TRANSFER_ITEMS_VALUE@
-#define ENABLE_DOM_STORAGE @ENABLE_DOM_STORAGE_VALUE@
-#define ENABLE_EVENTSOURCE @ENABLE_EVENTSOURCE_VALUE@
-#define ENABLE_FAST_MOBILE_SCROLLING @ENABLE_FAST_MOBILE_SCROLLING_VALUE@
-#define ENABLE_FILTERS @ENABLE_FILTERS_VALUE@
-#define ENABLE_FTPDIR @ENABLE_FTPDIR_VALUE@
-#define ENABLE_GEOLOCATION @ENABLE_GEOLOCATION_VALUE@
-#define ENABLE_GLIB_SUPPORT @ENABLE_GLIB_SUPPORT_VALUE@
-#define ENABLE_ICONDATABASE @ENABLE_ICONDATABASE_VALUE@
-#define ENABLE_INSPECTOR @ENABLE_INSPECTOR_VALUE@
-#define ENABLE_JAVASCRIPT_DEBUGGER @ENABLE_JAVASCRIPT_DEBUGGER_VALUE@
-#define ENABLE_JIT @ENABLE_JIT_VALUE@
-#define ENABLE_MATHML @ENABLE_MATHML_VALUE@
-#define ENABLE_NETSCAPE_PLUGIN_API @ENABLE_NETSCAPE_PLUGIN_API_VALUE@
-#define ENABLE_NOTIFICATIONS @ENABLE_NOTIFICATIONS_VALUE@
-#define ENABLE_OFFLINE_WEB_APPLICATIONS @ENABLE_OFFLINE_WEB_APPLICATIONS_VALUE@
-#define ENABLE_ORIENTATION_EVENTS @ENABLE_ORIENTATION_EVENTS_VALUE@
-#define ENABLE_PROGRESS_TAG @ENABLE_PROGRESS_TAG_VALUE@
-#define ENABLE_SHARED_WORKERS @ENABLE_SHARED_WORKERS_VALUE@
-#define ENABLE_SVG @ENABLE_SVG_VALUE@
-#define ENABLE_SVG_ANIMATION @ENABLE_SVG_ANIMATION_VALUE@
-#define ENABLE_SVG_FONTS @ENABLE_SVG_FONTS_VALUE@
-#define ENABLE_SVG_FOREIGN_OBJECT @ENABLE_SVG_FOREIGN_OBJECT_VALUE@
-#define ENABLE_SVG_USE @ENABLE_SVG_USE_VALUE@
-#define ENABLE_TOUCH_EVENTS @ENABLE_TOUCH_EVENTS_VALUE@
-#define ENABLE_VIDEO @ENABLE_VIDEO_VALUE@
-#define ENABLE_WEB_SOCKETS @ENABLE_WEB_SOCKETS_VALUE@
-#define ENABLE_WORKERS @ENABLE_WORKERS_VALUE@
-#define ENABLE_XHTMLMP @ENABLE_XHTMLMP_VALUE@
-#define ENABLE_XPATH @ENABLE_XPATH_VALUE@
-#define ENABLE_XSLT @ENABLE_XSLT_VALUE@
+
+#cmakedefine01 ENABLE_AS_IMAGE
+#cmakedefine01 ENABLE_BLOB
+#cmakedefine01 ENABLE_CHANNEL_MESSAGING
+#cmakedefine01 ENABLE_DATABASE
+#cmakedefine01 ENABLE_DATAGRID
+#cmakedefine01 ENABLE_DATALIST
+#cmakedefine01 ENABLE_DATA_TRANSFER_ITEMS
+#cmakedefine01 ENABLE_DOM_STORAGE
+#cmakedefine01 ENABLE_EVENTSOURCE
+#cmakedefine01 ENABLE_FAST_MOBILE_SCROLLING
+#cmakedefine01 ENABLE_FILTERS
+#cmakedefine01 ENABLE_FTPDIR
+#cmakedefine01 ENABLE_GEOLOCATION
+#cmakedefine01 ENABLE_GLIB_SUPPORT
+#cmakedefine01 ENABLE_ICONDATABASE
+#cmakedefine01 ENABLE_INSPECTOR
+#cmakedefine01 ENABLE_JAVASCRIPT_DEBUGGER
+#cmakedefine01 ENABLE_JIT
+#cmakedefine01 ENABLE_MATHML
+#cmakedefine01 ENABLE_NETSCAPE_PLUGIN_API
+#cmakedefine01 ENABLE_NOTIFICATIONS
+#cmakedefine01 ENABLE_OFFLINE_WEB_APPLICATIONS
+#cmakedefine01 ENABLE_ORIENTATION_EVENTS
+#cmakedefine01 ENABLE_PROGRESS_TAG
+#cmakedefine01 ENABLE_SHARED_WORKERS
+#cmakedefine01 ENABLE_SVG
+#cmakedefine01 ENABLE_SVG_ANIMATION
+#cmakedefine01 ENABLE_SVG_FONTS
+#cmakedefine01 ENABLE_SVG_FOREIGN_OBJECT
+#cmakedefine01 ENABLE_SVG_USE
+#cmakedefine01 ENABLE_TOUCH_EVENTS
+#cmakedefine01 ENABLE_VIDEO
+#cmakedefine01 ENABLE_WEB_SOCKETS
+#cmakedefine01 ENABLE_WORKERS
+#cmakedefine01 ENABLE_XHTMLMP
+#cmakedefine01 ENABLE_XPATH
+#cmakedefine01 ENABLE_XSLT
 
 #endif /* CMAKECONFIG_H */
 
 #endif /* CMAKECONFIG_H */