Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Jan 2020 05:44:14 +0000 (UTC)
From:      Dima Panov <fluffy@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r521796 - in head/databases: percona57-client/files percona57-pam-for-mysql/files percona57-server/files
Message-ID:  <202001020544.0025iEDE004985@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: fluffy
Date: Thu Jan  2 05:44:14 2020
New Revision: 521796
URL: https://svnweb.freebsd.org/changeset/ports/521796

Log:
  databases/percona57-*: Fix build for i386
  
  Make build-script assume that FreeBSD's Clang doesn't
  have "atomic_*" functions builtin implemented on i386
  
  While here, allow to build on DragonFly BSD and
  drop "-fabi-version=2" from C/CXX flags
  
  Reported by:	pkg-fallout
  MFH:		2020Q1

Added:
  head/databases/percona57-client/files/patch-cmake_build__configurations_compiler__options.cmake   (contents, props changed)
  head/databases/percona57-client/files/patch-cmake_os_DragonFly.cmake   (contents, props changed)
  head/databases/percona57-pam-for-mysql/files/patch-cmake_build__configurations_compiler__options.cmake   (contents, props changed)
  head/databases/percona57-pam-for-mysql/files/patch-cmake_os_DragonFly.cmake   (contents, props changed)
  head/databases/percona57-pam-for-mysql/files/patch-cmake_os_FreeBSD.cmake
     - copied, changed from r521794, head/databases/percona57-client/files/patch-cmake_os_FreeBSD.cmake
  head/databases/percona57-server/files/patch-cmake_build__configurations_compiler__options.cmake   (contents, props changed)
  head/databases/percona57-server/files/patch-cmake_os_DragonFly.cmake   (contents, props changed)
Modified:
  head/databases/percona57-client/files/patch-cmake_os_FreeBSD.cmake
  head/databases/percona57-server/files/patch-cmake_os_FreeBSD.cmake

Added: head/databases/percona57-client/files/patch-cmake_build__configurations_compiler__options.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/percona57-client/files/patch-cmake_build__configurations_compiler__options.cmake	Thu Jan  2 05:44:14 2020	(r521796)
@@ -0,0 +1,20 @@
+--- cmake/build_configurations/compiler_options.cmake.orig	2016-08-25 11:52:06 UTC
++++ cmake/build_configurations/compiler_options.cmake
+@@ -29,7 +29,7 @@ IF(UNIX)  
+ 
+   # Default GCC flags
+   IF(CMAKE_COMPILER_IS_GNUCC)
+-    SET(COMMON_C_FLAGS               "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
++    SET(COMMON_C_FLAGS               "-g -fno-omit-frame-pointer -fno-strict-aliasing")
+     # Disable inline optimizations for valgrind testing to avoid false positives
+     IF(WITH_VALGRIND)
+       SET(COMMON_C_FLAGS             "-fno-inline ${COMMON_C_FLAGS}")
+@@ -42,7 +42,7 @@ IF(UNIX)  
+     SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}")
+   ENDIF()
+   IF(CMAKE_COMPILER_IS_GNUCXX)
+-    SET(COMMON_CXX_FLAGS               "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
++    SET(COMMON_CXX_FLAGS               "-g -fno-omit-frame-pointer -fno-strict-aliasing")
+     # GCC 6 has C++14 as default, set it explicitly to the old default.
+     EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion
+                     OUTPUT_VARIABLE GXX_VERSION)

Added: head/databases/percona57-client/files/patch-cmake_os_DragonFly.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/percona57-client/files/patch-cmake_os_DragonFly.cmake	Thu Jan  2 05:44:14 2020	(r521796)
@@ -0,0 +1,27 @@
+--- cmake/os/DragonFly.cmake.orig	2016-04-14 10:16:17 UTC
++++ cmake/os/DragonFly.cmake
+@@ -0,0 +1,24 @@
++INCLUDE(CheckCSourceRuns)
++
++# We require at least GCC 4.4 or Clang 3.3.
++IF(NOT FORCE_UNSUPPORTED_COMPILER)
++  IF(CMAKE_COMPILER_IS_GNUCC)
++    EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion
++                    OUTPUT_VARIABLE GCC_VERSION)
++    IF(GCC_VERSION VERSION_LESS 4.4)
++      MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!")
++    ENDIF()
++  ELSEIF(CMAKE_C_COMPILER_ID MATCHES "Clang")
++    CHECK_C_SOURCE_RUNS("
++      int main()
++      {
++        return (__clang_major__ < 3) ||
++               (__clang_major__ == 3 && __clang_minor__ < 3);
++      }" HAVE_SUPPORTED_CLANG_VERSION)
++    IF(NOT HAVE_SUPPORTED_CLANG_VERSION)
++      MESSAGE(FATAL_ERROR "Clang 3.3 or newer is required!")
++    ENDIF()
++  ELSE()
++    MESSAGE(FATAL_ERROR "Unsupported compiler!")
++  ENDIF()
++ENDIF()

Modified: head/databases/percona57-client/files/patch-cmake_os_FreeBSD.cmake
==============================================================================
--- head/databases/percona57-client/files/patch-cmake_os_FreeBSD.cmake	Thu Jan  2 04:35:57 2020	(r521795)
+++ head/databases/percona57-client/files/patch-cmake_os_FreeBSD.cmake	Thu Jan  2 05:44:14 2020	(r521796)
@@ -1,11 +1,25 @@
---- cmake/os/FreeBSD.cmake.orig	2018-09-27 09:15:26 UTC
+--- cmake/os/FreeBSD.cmake.orig	2018-10-04 05:48:22 UTC
 +++ cmake/os/FreeBSD.cmake
-@@ -30,8 +30,6 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER)
+@@ -37,8 +37,20 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER)
      IF(NOT HAVE_SUPPORTED_CLANG_VERSION)
        MESSAGE(FATAL_ERROR "Clang 3.3 or newer is required!")
      ENDIF()
 -  ELSE()
 -    MESSAGE(FATAL_ERROR "Unsupported compiler!")
++    CHECK_C_SOURCE_RUNS("
++      int main()
++      {
++        return (__clang_major__ >= 4);
++      }" I386_ATOMIC_BUILTINS)
++    IF((CMAKE_SYSTEM_PROCESSOR MATCHES "i386") AND (NOT I386_ATOMIC_BUILTINS))
++      SET(HAVE_GCC_ATOMIC_BUILTINS CACHE  INTERNAL "")
++    ENDIF()
++  ELSEIF(CMAKE_COMPILER_IS_GNUCC)
++    EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion
++                    OUTPUT_VARIABLE GCC_VERSION)
++    IF(GCC_VERSION VERSION_LESS 4.4)
++      MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!")
++    ENDIF()
    ENDIF()
  ENDIF()
  

Added: head/databases/percona57-pam-for-mysql/files/patch-cmake_build__configurations_compiler__options.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/percona57-pam-for-mysql/files/patch-cmake_build__configurations_compiler__options.cmake	Thu Jan  2 05:44:14 2020	(r521796)
@@ -0,0 +1,20 @@
+--- cmake/build_configurations/compiler_options.cmake.orig	2016-08-25 11:52:06 UTC
++++ cmake/build_configurations/compiler_options.cmake
+@@ -29,7 +29,7 @@ IF(UNIX)  
+ 
+   # Default GCC flags
+   IF(CMAKE_COMPILER_IS_GNUCC)
+-    SET(COMMON_C_FLAGS               "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
++    SET(COMMON_C_FLAGS               "-g -fno-omit-frame-pointer -fno-strict-aliasing")
+     # Disable inline optimizations for valgrind testing to avoid false positives
+     IF(WITH_VALGRIND)
+       SET(COMMON_C_FLAGS             "-fno-inline ${COMMON_C_FLAGS}")
+@@ -42,7 +42,7 @@ IF(UNIX)  
+     SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}")
+   ENDIF()
+   IF(CMAKE_COMPILER_IS_GNUCXX)
+-    SET(COMMON_CXX_FLAGS               "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
++    SET(COMMON_CXX_FLAGS               "-g -fno-omit-frame-pointer -fno-strict-aliasing")
+     # GCC 6 has C++14 as default, set it explicitly to the old default.
+     EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion
+                     OUTPUT_VARIABLE GXX_VERSION)

Added: head/databases/percona57-pam-for-mysql/files/patch-cmake_os_DragonFly.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/percona57-pam-for-mysql/files/patch-cmake_os_DragonFly.cmake	Thu Jan  2 05:44:14 2020	(r521796)
@@ -0,0 +1,27 @@
+--- cmake/os/DragonFly.cmake.orig	2016-04-14 10:16:17 UTC
++++ cmake/os/DragonFly.cmake
+@@ -0,0 +1,24 @@
++INCLUDE(CheckCSourceRuns)
++
++# We require at least GCC 4.4 or Clang 3.3.
++IF(NOT FORCE_UNSUPPORTED_COMPILER)
++  IF(CMAKE_COMPILER_IS_GNUCC)
++    EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion
++                    OUTPUT_VARIABLE GCC_VERSION)
++    IF(GCC_VERSION VERSION_LESS 4.4)
++      MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!")
++    ENDIF()
++  ELSEIF(CMAKE_C_COMPILER_ID MATCHES "Clang")
++    CHECK_C_SOURCE_RUNS("
++      int main()
++      {
++        return (__clang_major__ < 3) ||
++               (__clang_major__ == 3 && __clang_minor__ < 3);
++      }" HAVE_SUPPORTED_CLANG_VERSION)
++    IF(NOT HAVE_SUPPORTED_CLANG_VERSION)
++      MESSAGE(FATAL_ERROR "Clang 3.3 or newer is required!")
++    ENDIF()
++  ELSE()
++    MESSAGE(FATAL_ERROR "Unsupported compiler!")
++  ENDIF()
++ENDIF()

Copied and modified: head/databases/percona57-pam-for-mysql/files/patch-cmake_os_FreeBSD.cmake (from r521794, head/databases/percona57-client/files/patch-cmake_os_FreeBSD.cmake)
==============================================================================
--- head/databases/percona57-client/files/patch-cmake_os_FreeBSD.cmake	Thu Jan  2 02:56:26 2020	(r521794, copy source)
+++ head/databases/percona57-pam-for-mysql/files/patch-cmake_os_FreeBSD.cmake	Thu Jan  2 05:44:14 2020	(r521796)
@@ -1,11 +1,25 @@
---- cmake/os/FreeBSD.cmake.orig	2018-09-27 09:15:26 UTC
+--- cmake/os/FreeBSD.cmake.orig	2018-10-04 05:48:22 UTC
 +++ cmake/os/FreeBSD.cmake
-@@ -30,8 +30,6 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER)
+@@ -37,8 +37,20 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER)
      IF(NOT HAVE_SUPPORTED_CLANG_VERSION)
        MESSAGE(FATAL_ERROR "Clang 3.3 or newer is required!")
      ENDIF()
 -  ELSE()
 -    MESSAGE(FATAL_ERROR "Unsupported compiler!")
++    CHECK_C_SOURCE_RUNS("
++      int main()
++      {
++        return (__clang_major__ >= 4);
++      }" I386_ATOMIC_BUILTINS)
++    IF((CMAKE_SYSTEM_PROCESSOR MATCHES "i386") AND (NOT I386_ATOMIC_BUILTINS))
++      SET(HAVE_GCC_ATOMIC_BUILTINS CACHE  INTERNAL "")
++    ENDIF()
++  ELSEIF(CMAKE_COMPILER_IS_GNUCC)
++    EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion
++                    OUTPUT_VARIABLE GCC_VERSION)
++    IF(GCC_VERSION VERSION_LESS 4.4)
++      MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!")
++    ENDIF()
    ENDIF()
  ENDIF()
  

Added: head/databases/percona57-server/files/patch-cmake_build__configurations_compiler__options.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/percona57-server/files/patch-cmake_build__configurations_compiler__options.cmake	Thu Jan  2 05:44:14 2020	(r521796)
@@ -0,0 +1,20 @@
+--- cmake/build_configurations/compiler_options.cmake.orig	2016-08-25 11:52:06 UTC
++++ cmake/build_configurations/compiler_options.cmake
+@@ -29,7 +29,7 @@ IF(UNIX)  
+ 
+   # Default GCC flags
+   IF(CMAKE_COMPILER_IS_GNUCC)
+-    SET(COMMON_C_FLAGS               "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
++    SET(COMMON_C_FLAGS               "-g -fno-omit-frame-pointer -fno-strict-aliasing")
+     # Disable inline optimizations for valgrind testing to avoid false positives
+     IF(WITH_VALGRIND)
+       SET(COMMON_C_FLAGS             "-fno-inline ${COMMON_C_FLAGS}")
+@@ -42,7 +42,7 @@ IF(UNIX)  
+     SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}")
+   ENDIF()
+   IF(CMAKE_COMPILER_IS_GNUCXX)
+-    SET(COMMON_CXX_FLAGS               "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
++    SET(COMMON_CXX_FLAGS               "-g -fno-omit-frame-pointer -fno-strict-aliasing")
+     # GCC 6 has C++14 as default, set it explicitly to the old default.
+     EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion
+                     OUTPUT_VARIABLE GXX_VERSION)

Added: head/databases/percona57-server/files/patch-cmake_os_DragonFly.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/percona57-server/files/patch-cmake_os_DragonFly.cmake	Thu Jan  2 05:44:14 2020	(r521796)
@@ -0,0 +1,27 @@
+--- cmake/os/DragonFly.cmake.orig	2016-04-14 10:16:17 UTC
++++ cmake/os/DragonFly.cmake
+@@ -0,0 +1,24 @@
++INCLUDE(CheckCSourceRuns)
++
++# We require at least GCC 4.4 or Clang 3.3.
++IF(NOT FORCE_UNSUPPORTED_COMPILER)
++  IF(CMAKE_COMPILER_IS_GNUCC)
++    EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion
++                    OUTPUT_VARIABLE GCC_VERSION)
++    IF(GCC_VERSION VERSION_LESS 4.4)
++      MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!")
++    ENDIF()
++  ELSEIF(CMAKE_C_COMPILER_ID MATCHES "Clang")
++    CHECK_C_SOURCE_RUNS("
++      int main()
++      {
++        return (__clang_major__ < 3) ||
++               (__clang_major__ == 3 && __clang_minor__ < 3);
++      }" HAVE_SUPPORTED_CLANG_VERSION)
++    IF(NOT HAVE_SUPPORTED_CLANG_VERSION)
++      MESSAGE(FATAL_ERROR "Clang 3.3 or newer is required!")
++    ENDIF()
++  ELSE()
++    MESSAGE(FATAL_ERROR "Unsupported compiler!")
++  ENDIF()
++ENDIF()

Modified: head/databases/percona57-server/files/patch-cmake_os_FreeBSD.cmake
==============================================================================
--- head/databases/percona57-server/files/patch-cmake_os_FreeBSD.cmake	Thu Jan  2 04:35:57 2020	(r521795)
+++ head/databases/percona57-server/files/patch-cmake_os_FreeBSD.cmake	Thu Jan  2 05:44:14 2020	(r521796)
@@ -1,11 +1,25 @@
---- cmake/os/FreeBSD.cmake.orig	2018-12-16 19:27:57 UTC
+--- cmake/os/FreeBSD.cmake.orig	2018-10-04 05:48:22 UTC
 +++ cmake/os/FreeBSD.cmake
-@@ -30,8 +30,6 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER)
+@@ -37,8 +37,20 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER)
      IF(NOT HAVE_SUPPORTED_CLANG_VERSION)
        MESSAGE(FATAL_ERROR "Clang 3.3 or newer is required!")
      ENDIF()
 -  ELSE()
 -    MESSAGE(FATAL_ERROR "Unsupported compiler!")
++    CHECK_C_SOURCE_RUNS("
++      int main()
++      {
++        return (__clang_major__ >= 4);
++      }" I386_ATOMIC_BUILTINS)
++    IF((CMAKE_SYSTEM_PROCESSOR MATCHES "i386") AND (NOT I386_ATOMIC_BUILTINS))
++      SET(HAVE_GCC_ATOMIC_BUILTINS CACHE  INTERNAL "")
++    ENDIF()
++  ELSEIF(CMAKE_COMPILER_IS_GNUCC)
++    EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion
++                    OUTPUT_VARIABLE GCC_VERSION)
++    IF(GCC_VERSION VERSION_LESS 4.4)
++      MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!")
++    ENDIF()
    ENDIF()
  ENDIF()
  



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202001020544.0025iEDE004985>