ports/databases/mysql80-server/files/patch-cmake_os_FreeBSD.cmake
Mahdi Mokhtari 017db20ddf databases/mysql80-{client, server}: Update ports to latest version 8.0.13
This update fixes several issues including CVEs.
Bug-fixes:
	- Return better error messages for OpenSSL errors
	- Incorrect copying of an integer value by X Plugin caused an
	    error relating to misaligned memory access
Improvement:
	- Important Change: X Protocol now provides a connection pooling option

Upstream notes: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-13

While here, fix the build with GCC-based architectures too (ported from fix on MySQL57)

Sponsored by:	The FreeBSD Foundation
2019-01-13 23:24:27 +00:00

31 lines
1.1 KiB
CMake

--- cmake/os/FreeBSD.cmake.orig 2018-10-04 05:48:22 UTC
+++ cmake/os/FreeBSD.cmake
@@ -30,6 +30,20 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER)
IF(NOT HAVE_SUPPORTED_CLANG_VERSION)
MESSAGE(FATAL_ERROR "Clang 3.3 or newer is required!")
ENDIF()
+ 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()
ELSE()
MESSAGE(FATAL_ERROR "Unsupported compiler!")
ENDIF()
@@ -38,4 +52,6 @@ ENDIF()
# Should not be needed any more, but kept for easy resurrection if needed
# #Legacy option, maybe not needed anymore , taken as is from autotools build
# ADD_DEFINITIONS(-DNET_RETRY_COUNT=1000000)
-
+# For GCC maybe it's also good idea to use
+# ADD_DEFINITIONS(-D_GNU_SOURCE)
+