[CMake] Prevent potential warning when determining $architecture
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 18 Mar 2019 18:07:30 +0000 (18:07 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 18 Mar 2019 18:07:30 +0000 (18:07 +0000)
https://bugs.webkit.org/show_bug.cgi?id=195891

Patch by Xan Lopez <xan@igalia.com> on 2019-03-18
Reviewed by Michael Catanzaro.

It's possible for generateBuildSystemForCMakeProject to be called
before determineArchitecture() is ever called. This will make the
first eq check with $architecture to be bogus (and print a
warning). Change that to an eq check with architecture(), which
implicitly calls determineArchitecture() if needed, and change all
the other similar cases in the method in the same way to prevent
future bugs like this one.

* Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject):

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

Tools/ChangeLog
Tools/Scripts/webkitdirs.pm

index c91690e..df215d7 100644 (file)
@@ -1,3 +1,21 @@
+2019-03-18  Xan Lopez  <xan@igalia.com>
+
+        [CMake] Prevent potential warning when determining $architecture
+        https://bugs.webkit.org/show_bug.cgi?id=195891
+
+        Reviewed by Michael Catanzaro.
+
+        It's possible for generateBuildSystemForCMakeProject to be called
+        before determineArchitecture() is ever called. This will make the
+        first eq check with $architecture to be bogus (and print a
+        warning). Change that to an eq check with architecture(), which
+        implicitly calls determineArchitecture() if needed, and change all
+        the other similar cases in the method in the same way to prevent
+        future bugs like this one.
+
+        * Scripts/webkitdirs.pm:
+        (generateBuildSystemFromCMakeProject):
+
 2019-03-18  Adrian Perez de Castro  <aperez@igalia.com>
 
         [WPE] Tarballs generated with “make dist” cannot build documentation
index 7700e02..7f5628c 100755 (executable)
@@ -2262,7 +2262,7 @@ sub generateBuildSystemFromCMakeProject
     # Some ports have production mode, but build-webkit should always use developer mode.
     push @args, "-DDEVELOPER_MODE=ON" if isGtk() || isJSCOnly() || isWPE() || isWinCairo();
 
-    if ($architecture eq "x86_64" && shouldBuild32Bit()) {
+    if (architecture() eq "x86_64" && shouldBuild32Bit()) {
         # CMAKE_LIBRARY_ARCHITECTURE is needed to get the right .pc
         # files in Debian-based systems, for the others
         # CMAKE_PREFIX_PATH will get us /usr/lib, which should be the
@@ -2278,8 +2278,8 @@ sub generateBuildSystemFromCMakeProject
 
     # Compiler options to keep floating point values consistent
     # between 32-bit and 64-bit architectures.
-    determineArchitecture();
-    if ($architecture eq "i686" && !isCrossCompilation() && !isAnyWindows()) {
+    if ((architecture() eq "i686" || (architecture() eq "x86_64" && shouldBuild32Bit())) && !isCrossCompilation() && !isAnyWindows()) {
+        $ENV{'CFLAGS'} = "-march=pentium4 -msse2 -mfpmath=sse " . ($ENV{'CFLAGS'} || "");
         $ENV{'CXXFLAGS'} = "-march=pentium4 -msse2 -mfpmath=sse " . ($ENV{'CXXFLAGS'} || "");
     }