aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libmysql/cross-build.patch
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/libmysql/cross-build.patch
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/libmysql/cross-build.patch')
-rw-r--r--vcpkg/ports/libmysql/cross-build.patch162
1 files changed, 162 insertions, 0 deletions
diff --git a/vcpkg/ports/libmysql/cross-build.patch b/vcpkg/ports/libmysql/cross-build.patch
new file mode 100644
index 0000000..a91118b
--- /dev/null
+++ b/vcpkg/ports/libmysql/cross-build.patch
@@ -0,0 +1,162 @@
+diff --git a/cmake/os/Darwin.cmake b/cmake/os/Darwin.cmake
+index 725b9bd..289bb3d 100644
+--- a/cmake/os/Darwin.cmake
++++ b/cmake/os/Darwin.cmake
+@@ -31,13 +31,9 @@ ENDIF()
+ # We require at least XCode 10.0
+ IF(NOT FORCE_UNSUPPORTED_COMPILER)
+ IF(MY_COMPILER_IS_CLANG)
+- CHECK_C_SOURCE_RUNS("
+- int main()
+- {
+- return (__clang_major__ < 10);
+- }" HAVE_SUPPORTED_CLANG_VERSION)
+- IF(NOT HAVE_SUPPORTED_CLANG_VERSION)
+- MESSAGE(FATAL_ERROR "XCode 10.0 or newer is required!")
++ IF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10)
++ MESSAGE(FATAL_ERROR
++ "XCode 10.0 or newer is required! Compiler version was ${CMAKE_CXX_COMPILER_VERSION}")
+ ENDIF()
+ ELSE()
+ MESSAGE(FATAL_ERROR "Unsupported compiler!")
+diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt
+index 8e22453..2b63413 100644
+--- a/libmysql/CMakeLists.txt
++++ b/libmysql/CMakeLists.txt
+@@ -259,6 +259,7 @@ ELSEIF(FREEBSD)
+ MESSAGE(STATUS "BSD built in DNS SRV APIs")
+ ELSE()
+ FIND_LIBRARY(RESOLV_LIBRARY NAMES resolv)
++ FIND_LIBRARY(RESOLV_LIBRARY NAMES resolv PATHS ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES} NO_DEFAULT_PATH)
+ IF (RESOLV_LIBRARY)
+ LIST(APPEND LIBS_TO_LINK ${RESOLV_LIBRARY})
+ SET(HAVE_UNIX_DNS_SRV 1 PARENT_SCOPE)
+@@ -413,6 +414,7 @@ MYSQL_ADD_EXECUTABLE(libmysql_api_test
+ ${CMAKE_CURRENT_BINARY_DIR}/api_test.c
+ LINK_LIBRARIES libmysql ${LIBRT}
+ SKIP_INSTALL
++ EXCLUDE_FROM_ALL
+ )
+ # Clang/UBSAN needs this on some platforms.
+ SET_TARGET_PROPERTIES(libmysql_api_test PROPERTIES LINKER_LANGUAGE CXX)
+@@ -439,6 +441,6 @@ ADD_CUSTOM_COMMAND(
+ COMMAND libmysql_api_test
+ > ${CMAKE_CURRENT_BINARY_DIR}/libmysql_api_test.out
+ )
+-MY_ADD_CUSTOM_TARGET(run_libmysql_api_test ALL
++MY_ADD_CUSTOM_TARGET(run_libmysql_api_test
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/libmysql_api_test.out
+ )
+diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
+index 8e93387..d971acb 100644
+--- a/scripts/CMakeLists.txt
++++ b/scripts/CMakeLists.txt
+@@ -69,7 +69,6 @@ ADD_CUSTOM_COMMAND(
+
+ # Add target for the above to be built
+ MY_ADD_CUSTOM_TARGET(GenFixPrivs
+- ALL
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/mysql_fix_privilege_tables_sql.h
+ )
+
+diff --git a/scripts/sys_schema/CMakeLists.txt b/scripts/sys_schema/CMakeLists.txt
+index aaba357..a0e5265 100644
+--- a/scripts/sys_schema/CMakeLists.txt
++++ b/scripts/sys_schema/CMakeLists.txt
+@@ -221,7 +221,6 @@ MY_ADD_CUSTOM_TARGET(sql_commands
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/sql_commands.h)
+
+ MY_ADD_CUSTOM_TARGET(GenSysSchemaC
+- ALL
+ DEPENDS comp_sql sql_commands
+ COMMENT "Generating Sys Schema C code"
+ )
+diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt
+index 28cde40..be916cb 100644
+--- a/share/CMakeLists.txt
++++ b/share/CMakeLists.txt
+@@ -47,8 +47,12 @@ SET(dirs
+ ukrainian
+ )
+
+-FOREACH (dir ${dirs})
+- INSTALL(DIRECTORY ${CMAKE_BINARY_DIR}/${INSTALL_MYSQLSHAREDIR}/${dir}
++ set(src_dir ${CMAKE_BINARY_DIR}/share/libmysql)
++ if(CMAKE_CROSSCOMPILING)
++ set(src_dir ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql)
++ endif()
++ FOREACH (dir ${dirs})
++ INSTALL(DIRECTORY ${src_dir}/${dir}
+ DESTINATION ${INSTALL_MYSQLSHAREDIR}
+ COMPONENT Server
+ )
+diff --git a/strings/CMakeLists.txt b/strings/CMakeLists.txt
+index 665b35d..88f0743 100644
+--- a/strings/CMakeLists.txt
++++ b/strings/CMakeLists.txt
+@@ -69,6 +69,13 @@ SET(ZH_HANS_SRC_FILE ${CMAKE_SOURCE_DIR}/strings/lang_data/zh_hans.txt)
+ SET(ZH_HANS_DST_FILE ${CMAKE_BINARY_DIR}/strings/uca900_zh_tbls.cc)
+ SET(JA_HANS_SRC_FILE ${CMAKE_SOURCE_DIR}/strings/lang_data/ja_hans.txt)
+ SET(JA_HANS_DST_FILE ${CMAKE_BINARY_DIR}/strings/uca900_ja_tbls.cc)
++if(CMAKE_CROSSCOMPILING)
++ file(COPY
++ "${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/uca900_zh_tbls.cc"
++ "${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/uca900_ja_tbls.cc"
++ DESTINATION "${CMAKE_BINARY_DIR}/strings"
++ )
++else()
+ ADD_CUSTOM_COMMAND(OUTPUT ${ZH_HANS_DST_FILE}
+ ${JA_HANS_DST_FILE}
+ COMMAND uca9dump zh
+@@ -79,6 +86,8 @@ ADD_CUSTOM_COMMAND(OUTPUT ${ZH_HANS_DST_FILE}
+ --out_file=${JA_HANS_DST_FILE}
+ DEPENDS uca9dump ${ZH_HANS_SRC_FILE} ${JA_HANS_SRC_FILE}
+ )
++install(FILES "${ZH_HANS_DST_FILE}" "${JA_HANS_DST_FILE}" DESTINATION "share/libmysql/${PROJECT_VERSION}")
++endif()
+
+ SET_SOURCE_FILES_PROPERTIES(
+ ${JA_HANS_DST_FILE} ${ZH_HANS_DST_FILE}
+diff --git a/utilities/CMakeLists.txt b/utilities/CMakeLists.txt
+index da34524..dc397da 100644
+--- a/utilities/CMakeLists.txt
++++ b/utilities/CMakeLists.txt
+@@ -39,6 +39,21 @@ MYSQL_ADD_EXECUTABLE(comp_client_err
+ SKIP_INSTALL
+ )
+
++if(CMAKE_CROSSCOMPILING)
++ file(COPY
++ ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/include/mysql/mysqld_error.h
++ ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/mysqlclient_ername.h
++ ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/mysqld_ername.h
++ ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/mysqld_errmsg.h
++ DESTINATION ${PROJECT_BINARY_DIR}/include
++ )
++ file(COPY
++ ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/errmsg.sys
++ DESTINATION ${PROJECT_BINARY_DIR}/share/libmysql/english
++ )
++ add_custom_target(GenClientError)
++ add_custom_target(GenError)
++else()
+ ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/include/mysqlclient_ername.h
+ COMMAND comp_client_err
+ --in_file=${PROJECT_SOURCE_DIR}/include/errmsg.h
+@@ -97,6 +112,16 @@ MYSQL_ADD_EXECUTABLE(range_check_err
+ SKIP_INSTALL
+ )
+
++ install(
++ FILES
++ ${PROJECT_BINARY_DIR}/include/mysqlclient_ername.h
++ ${PROJECT_BINARY_DIR}/include/mysqld_ername.h
++ ${PROJECT_BINARY_DIR}/include/mysqld_errmsg.h
++ ${PROJECT_BINARY_DIR}/share/libmysql/english/errmsg.sys
++ DESTINATION share/libmysql/${PROJECT_VERSION}
++ )
++endif()
++
+ # Set InnoDB mutex type
+ ADD_DEFINITIONS(-DMUTEX_EVENT)
+