diff --git a/packages/databases/mysql/package.mk b/packages/databases/mysql/package.mk index 9a5c8dc54a..0c557dfa0b 100644 --- a/packages/databases/mysql/package.mk +++ b/packages/databases/mysql/package.mk @@ -43,23 +43,22 @@ post_unpack() { sed -i '/^IF(NOT BOOST_MINOR_VERSION.*$/,/^ENDIF()$/d' $ROOT/$PKG_BUILD/cmake/boost.cmake } -configure_host() { - cmake -DCMAKE_PREFIX_PATH=$ROOT/$TOOLCHAIN/ \ - -DCMAKE_BUILD_TYPE=Release \ - -DWITHOUT_SERVER=OFF \ - -DWITH_EMBEDDED_SERVER=OFF \ - -DWITH_INNOBASE_STORAGE_ENGINE=OFF \ - -DWITH_PARTITION_STORAGE_ENGINE=OFF \ - -DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF \ - -DWITH_EXTRA_CHARSETS=none \ - -DWITH_EDITLINE=bundled \ - -DWITH_LIBEVENT=bundled \ - -DDOWNLOAD_BOOST=0 \ - -DLOCAL_BOOST_DIR=$(get_build_dir boost) \ - -DWITH_UNIT_TESTS=OFF \ - -DWITH_ZLIB=bundled \ - .. -} +PKG_CMAKE_OPTS_HOST="-DCMAKE_BUILD_TYPE=Release \ + -DSTACK_DIRECTION=-1 \ + -DHAVE_LLVM_LIBCPP_EXITCODE=0 \ + -DHAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE_EXITCODE=0 \ + -DWITHOUT_SERVER=OFF \ + -DWITH_EMBEDDED_SERVER=OFF \ + -DWITH_INNOBASE_STORAGE_ENGINE=OFF \ + -DWITH_PARTITION_STORAGE_ENGINE=OFF \ + -DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF \ + -DWITH_EXTRA_CHARSETS=none \ + -DWITH_EDITLINE=bundled \ + -DWITH_LIBEVENT=bundled \ + -DDOWNLOAD_BOOST=0 \ + -DLOCAL_BOOST_DIR=$(get_build_dir boost) \ + -DWITH_UNIT_TESTS=OFF \ + -DWITH_ZLIB=bundled" make_host() { make comp_err @@ -78,40 +77,32 @@ makeinstall_host() { cp -P scripts/comp_sql $ROOT/$TOOLCHAIN/bin } -configure_target() { - cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \ - -DCMAKE_PREFIX_PATH=$SYSROOT_PREFIX/usr \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DINSTALL_INCLUDEDIR=include/mysql \ - -DCMAKE_BUILD_TYPE=Release \ - -DFEATURE_SET=classic \ - -DDISABLE_SHARED=ON \ - -DENABLE_DTRACE=OFF \ - -DWITH_EMBEDDED_SERVER=OFF \ - -DWITH_INNOBASE_STORAGE_ENGINE=OFF \ - -DWITH_PARTITION_STORAGE_ENGINE=OFF \ - -DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF \ - -DWITH_EXTRA_CHARSETS=all \ - -DWITH_UNIT_TESTS=OFF \ - -DWITHOUT_SERVER=ON \ - -DWITH_EDITLINE=bundled \ - -DWITH_LIBEVENT=bundled \ - -DWITH_ZLIB=system \ - -DWITH_SSL=$SYSROOT_PREFIX/usr \ - -DDOWNLOAD_BOOST=0 \ - -DLOCAL_BOOST_DIR=$(get_build_dir boost) \ - -DSTACK_DIRECTION=1 \ - -DHAVE_LLVM_LIBCPP=1 \ - -DCMAKE_C_FLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer -fno-delete-null-pointer-checks" \ - -DCMAKE_CXX_FLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-delete-null-pointer-checks" \ - .. -} +PKG_CMAKE_OPTS_TARGET="-DINSTALL_INCLUDEDIR=include/mysql \ + -DCMAKE_BUILD_TYPE=Release \ + -DFEATURE_SET=classic \ + -DDISABLE_SHARED=ON \ + -DENABLE_DTRACE=OFF \ + -DWITH_EMBEDDED_SERVER=OFF \ + -DWITH_INNOBASE_STORAGE_ENGINE=OFF \ + -DWITH_PARTITION_STORAGE_ENGINE=OFF \ + -DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF \ + -DWITH_EXTRA_CHARSETS=all \ + -DWITH_UNIT_TESTS=OFF \ + -DWITHOUT_SERVER=ON \ + -DWITH_EDITLINE=bundled \ + -DWITH_LIBEVENT=bundled \ + -DWITH_ZLIB=system \ + -DWITH_SSL=$SYSROOT_PREFIX/usr \ + -DDOWNLOAD_BOOST=0 \ + -DLOCAL_BOOST_DIR=$(get_build_dir boost) \ + -DSTACK_DIRECTION=1 \ + -DHAVE_LLVM_LIBCPP=1" post_makeinstall_target() { sed -i "s|pkgincludedir=.*|pkgincludedir=\'$SYSROOT_PREFIX/usr/include/mysql\'|" scripts/mysql_config sed -i "s|pkglibdir=.*|pkglibdir=\'$SYSROOT_PREFIX/usr/lib/mysql\'|" scripts/mysql_config cp scripts/mysql_config $SYSROOT_PREFIX/usr/bin ln -sf $SYSROOT_PREFIX/usr/bin/mysql_config $ROOT/$TOOLCHAIN/bin/mysql_config - + rm -rf $INSTALL } diff --git a/packages/databases/mysql/patches/mysql-0003-compile-comp_err-even-when-crosscompiling.patch b/packages/databases/mysql/patches/mysql-0003-compile-comp_err-even-when-crosscompiling.patch new file mode 100644 index 0000000000..350f3b813e --- /dev/null +++ b/packages/databases/mysql/patches/mysql-0003-compile-comp_err-even-when-crosscompiling.patch @@ -0,0 +1,18 @@ +diff -Naur a/extra/CMakeLists.txt b/extra/CMakeLists.txt +--- a/extra/CMakeLists.txt 2016-09-21 23:16:59.458308368 -0700 ++++ b/extra/CMakeLists.txt 2016-09-21 23:17:34.187663318 -0700 +@@ -28,11 +28,9 @@ + # Default install component for the files is Server here + SET(MYSQL_INSTALL_COMPONENT Server) + +-IF(NOT CMAKE_CROSSCOMPILING) +- ADD_EXECUTABLE(comp_err comp_err.c) +- TARGET_LINK_LIBRARIES(comp_err mysys mysys_ssl) +- SET_TARGET_PROPERTIES(comp_err PROPERTIES LINKER_LANGUAGE CXX) +-ENDIF() ++ADD_EXECUTABLE(comp_err comp_err.c) ++TARGET_LINK_LIBRARIES(comp_err mysys mysys_ssl) ++SET_TARGET_PROPERTIES(comp_err PROPERTIES LINKER_LANGUAGE CXX) + + IF (BUILD_BUNDLED_LZ4) + ADD_CONVENIENCE_LIBRARY(lz4_lib diff --git a/packages/databases/mysql/patches/mysql-0004-compile-comp_sql-even-when-crosscompiling.patch b/packages/databases/mysql/patches/mysql-0004-compile-comp_sql-even-when-crosscompiling.patch new file mode 100644 index 0000000000..e1514dbf94 --- /dev/null +++ b/packages/databases/mysql/patches/mysql-0004-compile-comp_sql-even-when-crosscompiling.patch @@ -0,0 +1,17 @@ +diff -Naur a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt +--- a/scripts/CMakeLists.txt 2016-09-21 23:16:59.461308398 -0700 ++++ b/scripts/CMakeLists.txt 2016-09-21 23:23:50.606510539 -0700 +@@ -14,11 +14,8 @@ + # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + # Build comp_sql - used for embedding SQL in C or C++ programs +-IF(NOT CMAKE_CROSSCOMPILING) +- ADD_EXECUTABLE(comp_sql comp_sql.c) +- TARGET_LINK_LIBRARIES(comp_sql) +-ENDIF() +- ++ADD_EXECUTABLE(comp_sql comp_sql.c) ++TARGET_LINK_LIBRARIES(comp_sql) + + # Build mysql_fix_privilege_tables.sql (concatenate 2 sql scripts) + IF(NOT WIN32 OR CMAKE_CROSSCOMPILING)