Skip to content

Instantly share code, notes, and snippets.

@mdcallag
Created November 30, 2022 15:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mdcallag/8b30a439c84d289c3a5006595eb561d2 to your computer and use it in GitHub Desktop.
Save mdcallag/8b30a439c84d289c3a5006595eb561d2 to your computer and use it in GitHub Desktop.
Patch 5.6.51 to compile on Ubuntu 22.04
--- orig/cmake/ssl.cmake 2022-11-30 03:01:29.031914085 +0000
+++ hack/cmake/ssl.cmake 2021-01-05 10:19:59.000000000 +0000
@@ -93,67 +93,6 @@
UNSET(HAVE_SHA512_DIGEST_LENGTH CACHE)
ENDMACRO()
-# Fetch OpenSSL version number.
-# OpenSSL < 3:
-# #define OPENSSL_VERSION_NUMBER 0x1000103fL
-# Encoded as MNNFFPPS: major minor fix patch status
-#
-# OpenSSL 3:
-# #define OPENSSL_VERSION_NUMBER
-# ( (OPENSSL_VERSION_MAJOR<<28)
-# |(OPENSSL_VERSION_MINOR<<20)
-# |(OPENSSL_VERSION_PATCH<<4)
-# |_OPENSSL_VERSION_PRE_RELEASE )
-MACRO(FIND_OPENSSL_VERSION)
- FOREACH(version_part
- OPENSSL_VERSION_MAJOR
- OPENSSL_VERSION_MINOR
- OPENSSL_VERSION_PATCH
- )
- FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" ${version_part}
- REGEX "^#[\t ]*define[\t ]+${version_part}[\t ]+([0-9]+).*")
- STRING(REGEX REPLACE
- "^.*${version_part}[\t ]+([0-9]+).*" "\\1"
- ${version_part} "${${version_part}}")
- ENDFOREACH()
- IF(OPENSSL_VERSION_MAJOR VERSION_EQUAL 3)
- # OpenSSL 3
- SET(OPENSSL_FIX_VERSION "${OPENSSL_VERSION_PATCH}")
- MESSAGE(STATUS "VERSION_MAJOR is 3 so set FIX_VERSION to ${OPENSSL_FIX_VERSION}")
- ELSE()
- # Verify version number. Version information looks like:
- # #define OPENSSL_VERSION_NUMBER 0x1000103fL
- # Encoded as MNNFFPPS: major minor fix patch status
- FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
- OPENSSL_VERSION_NUMBER
- REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
- )
- STRING(REGEX REPLACE
- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
- OPENSSL_VERSION_MAJOR "${OPENSSL_VERSION_NUMBER}"
- )
- STRING(REGEX REPLACE
- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9]([0-9][0-9]).*$" "\\1"
- OPENSSL_VERSION_MINOR "${OPENSSL_VERSION_NUMBER}"
- )
- STRING(REGEX REPLACE
- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9]([0-9][0-9]).*$" "\\1"
- OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
- )
- ENDIF()
- SET(OPENSSL_MAJOR_VERSION ${OPENSSL_VERSION_MAJOR})
- SET(OPENSSL_MINOR_VERSION ${OPENSSL_VERSION_MINOR})
- SET(OPENSSL_VERSION "${OPENSSL_VERSION_MAJOR}.${OPENSSL_VERSION_MINOR}.${OPENSSL_FIX_VERSION}")
- SET(OPENSSL_VERSION ${OPENSSL_VERSION} CACHE INTERNAL "")
- MESSAGE(STATUS "OPENSSL_VERSION (${WITH_SSL}) is ${OPENSSL_VERSION}")
-
- #SET(OPENSSL_MAJOR_MINOR_FIX_VERSION "${OPENSSL_VERSION_MAJOR}")
- #STRING_APPEND(OPENSSL_MAJOR_MINOR_FIX_VERSION ".${OPENSSL_VERSION_MINOR}")
- #STRING_APPEND(OPENSSL_MAJOR_MINOR_FIX_VERSION ".${OPENSSL_FIX_VERSION}")
- #MESSAGE(STATUS
- # "OPENSSL_VERSION (${WITH_SSL}) is ${OPENSSL_MAJOR_MINOR_FIX_VERSION}")
-ENDMACRO(FIND_OPENSSL_VERSION)
-
# MYSQL_CHECK_SSL
#
# Provides the following configure options:
@@ -230,15 +169,33 @@
ENDIF()
IF(OPENSSL_INCLUDE_DIR)
- FIND_OPENSSL_VERSION()
+ # Verify version number. Version information looks like:
+ # #define OPENSSL_VERSION_NUMBER 0x1000103fL
+ # Encoded as MNNFFPPS: major minor fix patch status
+ FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
+ OPENSSL_VERSION_NUMBER
+ REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
+ )
+ STRING(REGEX REPLACE
+ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
+ OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_NUMBER}"
+ )
+ STRING(REGEX REPLACE
+ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9]([0-9][0-9]).*$" "\\1"
+ OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_NUMBER}"
+ )
+ STRING(REGEX REPLACE
+ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9]([0-9][0-9]).*$" "\\1"
+ OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
+ )
ENDIF()
-
IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
ADD_DEFINITIONS(-DHAVE_TLSv13)
ENDIF()
IF(OPENSSL_INCLUDE_DIR AND
OPENSSL_LIBRARY AND
- CRYPTO_LIBRARY
+ CRYPTO_LIBRARY AND
+ OPENSSL_MAJOR_VERSION STREQUAL "1"
)
SET(OPENSSL_FOUND TRUE)
ELSE()
--- orig/cmake/build_configurations/compiler_options.cmake 2022-11-30 03:24:09.056988925 +0000
+++ hack/cmake/build_configurations/compiler_options.cmake 2021-01-05 10:19:59.000000000 +0000
@@ -47,7 +47,7 @@
IF(GXX_VERSION VERSION_EQUAL 6.0 OR GXX_VERSION VERSION_GREATER 6.0)
SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -std=gnu++03")
ENDIF()
- SET(COMMON_CXX_FLAGS "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing --std=c++11")
+ SET(COMMON_CXX_FLAGS "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
# Disable inline optimizations for valgrind testing to avoid false positives
IF(WITH_VALGRIND)
SET(COMMON_CXX_FLAGS "-fno-inline ${COMMON_CXX_FLAGS}")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment