Commit 5c76e1e6 authored by Marko Mäkelä's avatar Marko Mäkelä

Merge 10.5 into 10.6

parents a3e3225c 3f8df011
...@@ -392,7 +392,7 @@ CHECK_PCRE() ...@@ -392,7 +392,7 @@ CHECK_PCRE()
ADD_SUBDIRECTORY(tpool) ADD_SUBDIRECTORY(tpool)
CHECK_SYSTEMD() CHECK_SYSTEMD()
IF(CMAKE_CROSSCOMPILING) IF(CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR)
SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build") SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build")
INCLUDE(${IMPORT_EXECUTABLES}) INCLUDE(${IMPORT_EXECUTABLES})
ENDIF() ENDIF()
...@@ -473,7 +473,7 @@ ADD_SUBDIRECTORY(scripts) ...@@ -473,7 +473,7 @@ ADD_SUBDIRECTORY(scripts)
ADD_SUBDIRECTORY(support-files) ADD_SUBDIRECTORY(support-files)
ADD_SUBDIRECTORY(extra/aws_sdk) ADD_SUBDIRECTORY(extra/aws_sdk)
IF(NOT CMAKE_CROSSCOMPILING) IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR)
SET(EXPORTED comp_err comp_sql factorial) SET(EXPORTED comp_err comp_sql factorial)
IF(NOT WITHOUT_SERVER) IF(NOT WITHOUT_SERVER)
SET(EXPORTED ${EXPORTED} gen_lex_hash gen_lex_token) SET(EXPORTED ${EXPORTED} gen_lex_hash gen_lex_token)
......
...@@ -134,6 +134,7 @@ IF(UNIX) ...@@ -134,6 +134,7 @@ IF(UNIX)
IF(NOT LIBRT) IF(NOT LIBRT)
MY_SEARCH_LIBS(clock_gettime rt LIBRT) MY_SEARCH_LIBS(clock_gettime rt LIBRT)
ENDIF() ENDIF()
set(THREADS_PREFER_PTHREAD_FLAG ON)
FIND_PACKAGE(Threads) FIND_PACKAGE(Threads)
SET(CMAKE_REQUIRED_LIBRARIES SET(CMAKE_REQUIRED_LIBRARIES
...@@ -670,7 +671,7 @@ int main() ...@@ -670,7 +671,7 @@ int main()
" HAVE_PTHREAD_YIELD_ZERO_ARG) " HAVE_PTHREAD_YIELD_ZERO_ARG)
IF(NOT STACK_DIRECTION) IF(NOT STACK_DIRECTION)
IF(CMAKE_CROSSCOMPILING) IF(CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR)
MESSAGE(FATAL_ERROR MESSAGE(FATAL_ERROR
"STACK_DIRECTION is not defined. Please specify -DSTACK_DIRECTION=1 " "STACK_DIRECTION is not defined. Please specify -DSTACK_DIRECTION=1 "
"or -DSTACK_DIRECTION=-1 when calling cmake.") "or -DSTACK_DIRECTION=-1 when calling cmake.")
......
...@@ -25,7 +25,7 @@ MAYBE_DISABLE_IPO(dbug) ...@@ -25,7 +25,7 @@ MAYBE_DISABLE_IPO(dbug)
ADD_EXECUTABLE(tests tests.c) ADD_EXECUTABLE(tests tests.c)
TARGET_LINK_LIBRARIES(tests dbug) TARGET_LINK_LIBRARIES(tests dbug)
IF(NOT CMAKE_CROSSCOMPILING) IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR)
ADD_EXECUTABLE(factorial my_main.c factorial.c) ADD_EXECUTABLE(factorial my_main.c factorial.c)
TARGET_LINK_LIBRARIES(factorial dbug) TARGET_LINK_LIBRARIES(factorial dbug)
ENDIF() ENDIF()
......
...@@ -104,6 +104,7 @@ endif ...@@ -104,6 +104,7 @@ endif
-DSYSTEM_TYPE="debian-$(DEB_HOST_GNU_SYSTEM)" \ -DSYSTEM_TYPE="debian-$(DEB_HOST_GNU_SYSTEM)" \
-DCMAKE_SYSTEM_PROCESSOR=$(DEB_HOST_ARCH) \ -DCMAKE_SYSTEM_PROCESSOR=$(DEB_HOST_ARCH) \
-DBUILD_CONFIG=mysql_release \ -DBUILD_CONFIG=mysql_release \
-DCONC_DEFAULT_CHARSET=utf8mb4 \
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \
-DPLUGIN_COLUMNSTORE=NO \ -DPLUGIN_COLUMNSTORE=NO \
-DIGNORE_AIO_CHECK=YES \ -DIGNORE_AIO_CHECK=YES \
......
...@@ -175,6 +175,40 @@ blhc: ...@@ -175,6 +175,40 @@ blhc:
- pkg-config --cflags --libs libmariadb - pkg-config --cflags --libs libmariadb
- pkg-config --cflags --libs mariadb - pkg-config --cflags --libs mariadb
- apt-get install -y --no-install-recommends g++ - apt-get install -y --no-install-recommends g++
- |
# Build a test binary that depends on libmysqlclient
cat > b933063.cpp <<EOF
#include <iostream>
#include <mysql/mysql.h>
#include <stdexcept>
int main()
{
MYSQL h;
if (!mysql_init(&h)
|| mysql_options(&h, MYSQL_READ_DEFAULT_GROUP, "")
// || mysql_options(&h, MYSQL_SET_CHARSET_NAME, "utf8mb4")
|| !mysql_real_connect(&h, "", "", NULL, "", 0, NULL, 0))
throw std::runtime_error(mysql_error(&h));
std::string q = "show variables like '%char%'";
if (mysql_real_query(&h, q.data(), q.size()))
throw std::runtime_error(mysql_error(&h));
MYSQL_RES* result = mysql_store_result(&h);
if (!result && mysql_errno(&h))
throw std::runtime_error(mysql_error(&h));
while (MYSQL_ROW row = mysql_fetch_row(result))
{
std::cout << row[0] << ": " << row[1] << "\n";
}
return 0;
}
EOF
apt-get install -y ./*.deb # Server must be installed for client to connect
echo "Testing -l mysqlclient"
g++ b933063.cpp -l mysqlclient && ./a.out | tee result
if grep --quiet latin result; then echo "ERROR: Charset latin found!"; exit 1; fi
echo "Testing -l mariadbclient"
g++ b933063.cpp -l mariadbclient && ./a.out | tee result
if grep --quiet latin result; then echo "ERROR: Charset latin found!"; exit 1; fi
.test-install-all-libs: &test-install-all-libs .test-install-all-libs: &test-install-all-libs
- apt-get install -y ./libmariadb3_*.deb ./libmariadb-dev_*.deb ./libmariadb-dev-compat_*.deb ./libmariadbd19_*.deb ./libmariadbd-dev_*.deb ./mariadb-common_*.deb - apt-get install -y ./libmariadb3_*.deb ./libmariadb-dev_*.deb ./libmariadb-dev-compat_*.deb ./libmariadbd19_*.deb ./libmariadbd-dev_*.deb ./mariadb-common_*.deb
......
...@@ -18,7 +18,7 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${ZLIB_INCLUDE_DIR}) ...@@ -18,7 +18,7 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${ZLIB_INCLUDE_DIR})
# Default install component for the files is Server here # Default install component for the files is Server here
SET(MYSQL_INSTALL_COMPONENT Server) SET(MYSQL_INSTALL_COMPONENT Server)
IF(NOT CMAKE_CROSSCOMPILING) IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR)
ADD_EXECUTABLE(comp_err comp_err.c) ADD_EXECUTABLE(comp_err comp_err.c)
TARGET_LINK_LIBRARIES(comp_err mysys) TARGET_LINK_LIBRARIES(comp_err mysys)
ENDIF() ENDIF()
......
...@@ -28,14 +28,14 @@ MACRO(INSTALL_LINK old new destination component) ...@@ -28,14 +28,14 @@ MACRO(INSTALL_LINK old new destination component)
) )
ENDMACRO() ENDMACRO()
IF(NOT CMAKE_CROSSCOMPILING) IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
ADD_EXECUTABLE(comp_sql comp_sql.c ../sql/sql_bootstrap.cc) ADD_EXECUTABLE(comp_sql comp_sql.c ../sql/sql_bootstrap.cc)
TARGET_LINK_LIBRARIES(comp_sql) TARGET_LINK_LIBRARIES(comp_sql)
ENDIF() ENDIF()
# Build mysql_fix_privilege_tables.sql (concatenate 3 sql scripts) # Build mysql_fix_privilege_tables.sql (concatenate 3 sql scripts)
IF(NOT WIN32 OR CMAKE_CROSSCOMPILING) IF(NOT WIN32 OR (CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR))
FIND_PROGRAM(CAT_EXECUTABLE cat DOC "path to the executable") FIND_PROGRAM(CAT_EXECUTABLE cat DOC "path to the executable")
MARK_AS_ADVANCED(CAT_EXECUTABLE) MARK_AS_ADVANCED(CAT_EXECUTABLE)
ENDIF() ENDIF()
......
...@@ -355,7 +355,7 @@ ELSE() ...@@ -355,7 +355,7 @@ ELSE()
COMPILE_FLAGS "-p ORA") COMPILE_FLAGS "-p ORA")
ENDIF() ENDIF()
IF(NOT CMAKE_CROSSCOMPILING) IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR)
ADD_EXECUTABLE(gen_lex_token gen_lex_token.cc ADD_EXECUTABLE(gen_lex_token gen_lex_token.cc
${CMAKE_CURRENT_BINARY_DIR}/sql_yacc.hh) ${CMAKE_CURRENT_BINARY_DIR}/sql_yacc.hh)
ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc) ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc)
...@@ -405,7 +405,7 @@ ADD_CUSTOM_TARGET(distclean ...@@ -405,7 +405,7 @@ ADD_CUSTOM_TARGET(distclean
) )
# Install initial database (default on windows, optional target elsewhere) # Install initial database (default on windows, optional target elsewhere)
IF(TARGET mariadbd AND NOT CMAKE_CROSSCOMPILING) IF(TARGET mariadbd AND (NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR))
IF(GENERATOR_IS_MULTI_CONFIG) IF(GENERATOR_IS_MULTI_CONFIG)
SET (CONFIG_PARAM -DCONFIG=${CMAKE_CFG_INTDIR}) SET (CONFIG_PARAM -DCONFIG=${CMAKE_CFG_INTDIR})
ENDIF() ENDIF()
......
...@@ -40,13 +40,6 @@ Created 11/11/1995 Heikki Tuuri ...@@ -40,13 +40,6 @@ Created 11/11/1995 Heikki Tuuri
#include "log0crypt.h" #include "log0crypt.h"
#include "srv0mon.h" #include "srv0mon.h"
#include "fil0pagecompress.h" #include "fil0pagecompress.h"
#ifdef UNIV_LINUX
/* include defs for CPU time priority settings */
#include <unistd.h>
#include <sys/syscall.h>
#include <sys/time.h>
#include <sys/resource.h>
#endif /* UNIV_LINUX */
#ifdef HAVE_LZO #ifdef HAVE_LZO
# include "lzo/lzo1x.h" # include "lzo/lzo1x.h"
#elif defined HAVE_SNAPPY #elif defined HAVE_SNAPPY
...@@ -2038,21 +2031,6 @@ static void buf_flush_page_cleaner() ...@@ -2038,21 +2031,6 @@ static void buf_flush_page_cleaner()
ut_ad(!srv_read_only_mode); ut_ad(!srv_read_only_mode);
ut_ad(buf_page_cleaner_is_active); ut_ad(buf_page_cleaner_is_active);
#ifdef UNIV_DEBUG_THREAD_CREATION
ib::info() << "page_cleaner thread running, id "
<< os_thread_get_curr_id();
#endif /* UNIV_DEBUG_THREAD_CREATION */
#ifdef UNIV_LINUX
/* linux might be able to set different setting for each thread.
worth to try to set high priority for the page cleaner thread */
const pid_t tid= static_cast<pid_t>(syscall(SYS_gettid));
setpriority(PRIO_PROCESS, tid, -20);
if (getpriority(PRIO_PROCESS, tid) != -20)
ib::info() << "If the mysqld execution user is authorized,"
" page cleaner thread priority can be changed."
" See the man page of setpriority().";
#endif /* UNIV_LINUX */
ulint last_pages= 0; ulint last_pages= 0;
timespec abstime; timespec abstime;
set_timespec(abstime, 1); set_timespec(abstime, 1);
......
...@@ -405,7 +405,7 @@ if(NOT ${GRN_WITH_MECAB} STREQUAL "no") ...@@ -405,7 +405,7 @@ if(NOT ${GRN_WITH_MECAB} STREQUAL "no")
set(MECAB_LIBRARIES libmecab) set(MECAB_LIBRARIES libmecab)
else() else()
set(GRN_MECAB_CONFIG "mecab-config" CACHE FILEPATH "mecab-config path") set(GRN_MECAB_CONFIG "mecab-config" CACHE FILEPATH "mecab-config path")
if(NOT CMAKE_CROSSCOMPILING) if(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR)
find_program(GRN_MECAB_CONFIG_ABSOLUTE_PATH "${GRN_MECAB_CONFIG}") find_program(GRN_MECAB_CONFIG_ABSOLUTE_PATH "${GRN_MECAB_CONFIG}")
endif() endif()
if(EXISTS "${GRN_MECAB_CONFIG_ABSOLUTE_PATH}") if(EXISTS "${GRN_MECAB_CONFIG_ABSOLUTE_PATH}")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment