Loading acinclude.m4 +1 −1 Original line number Diff line number Diff line Loading @@ -1005,7 +1005,7 @@ AC_DEFUN([MYSQL_FIND_OPENSSL], [ if test -z "$OPENSSL_LIB" -o -z "$OPENSSL_INCLUDE" ; then echo "Could not find an installation of OpenSSL" if test -n "$OPENSSL_LIB" ; then if test "$IS_LINUX" = "true"; then if test "$TARGET_LINUX" = "true"; then echo "Looks like you've forgotten to install OpenSSL development RPM" fi fi Loading configure.in +94 −61 Original line number Diff line number Diff line Loading @@ -410,15 +410,16 @@ AC_MSG_CHECKING("if we should use 'skip-locking' as default for $target_os") if expr "$target_os" : "[[Ll]]inux.*" > /dev/null then MYSQLD_DEFAULT_SWITCHES="--skip-locking" IS_LINUX="true" AC_MSG_RESULT("yes"); TARGET_LINUX="true" AC_MSG_RESULT("yes") AC_DEFINE([TARGET_OS_LINUX], [1], [Whether we build for Linux]) else MYSQLD_DEFAULT_SWITCHES="" IS_LINUX="false" AC_MSG_RESULT("no"); TARGET_LINUX="false" AC_MSG_RESULT("no") fi AC_SUBST(MYSQLD_DEFAULT_SWITCHES) AC_SUBST(IS_LINUX) AC_SUBST(TARGET_LINUX) dnl Find paths to some shell programs AC_PATH_PROG(LN, ln, ln) Loading Loading @@ -607,7 +608,7 @@ AC_SUBST(NOINST_LDFLAGS) # (this is true on the MySQL build machines to avoid NSS problems) # if test "$IS_LINUX" = "true" -a "$static_nss" = "" if test "$TARGET_LINUX" = "true" -a "$static_nss" = "" then tmp=`nm /usr/lib/libc.a | grep _nss_files_getaliasent_r` if test -n "$tmp" Loading Loading @@ -841,7 +842,7 @@ struct request_info *req; ]) AC_SUBST(WRAPLIBS) if test "$IS_LINUX" = "true"; then if test "$TARGET_LINUX" = "true"; then AC_MSG_CHECKING([for atomic operations]) atom_ops= Loading Loading @@ -885,7 +886,7 @@ int main() [ USE_PSTACK=no ]) pstack_libs= pstack_dirs= if test "$USE_PSTACK" = yes -a "$IS_LINUX" = "true" -a "$BASE_MACHINE_TYPE" = "i386" -a "$with_mit_threads" = "no" if test "$USE_PSTACK" = yes -a "$TARGET_LINUX" = "true" -a "$BASE_MACHINE_TYPE" = "i386" -a "$with_mit_threads" = "no" then have_libiberty= have_libbfd= my_save_LIBS="$LIBS" Loading Loading @@ -1266,11 +1267,36 @@ esac # We have to check libc last because else it fails on Solaris 2.6 with_posix_threads="no" # Hack for DEC-UNIX (OSF1) # Search thread lib on Linux if test "$with_named_thread" = "no" -a "$with_mit_threads" = "no" then AC_MSG_CHECKING("Linux threads") if test "$TARGET_LINUX" = "true" then AC_MSG_RESULT("starting") # use getconf to check glibc contents AC_MSG_CHECKING("getconf GNU_LIBPTHREAD_VERSION") case `getconf GNU_LIBPTHREAD_VERSION | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ` in NPTL* ) AC_MSG_RESULT("NPTL") AC_DEFINE([HAVE_NPTL], [1], [NPTL threads implementation]) with_named_thread="-lpthread" ;; LINUXTHREADS* ) AC_MSG_RESULT("Linuxthreads") AC_DEFINE([HAVE_LINUXTHREADS], [1], [Whether we are using Xavier Leroy's LinuxThreads]) with_named_thread="-lpthread" ;; * ) AC_MSG_RESULT("unknown") ;; esac if test "$with_named_thread" = "no" then # old method, check headers # Look for LinuxThreads. AC_MSG_CHECKING("LinuxThreads") AC_MSG_CHECKING("LinuxThreads in header file comment") res=`grep Linuxthreads /usr/include/pthread.h 2>/dev/null | wc -l` if test "$res" -gt 0 then Loading @@ -1286,41 +1312,48 @@ then else AC_MSG_RESULT("Not found") # If this is a linux machine we should barf if test "$IS_LINUX" = "true" then AC_MSG_ERROR([This is a linux system and Linuxthreads was not found. On linux Linuxthreads should be used. Please install Linuxthreads (or a new glibc) and try again. See the Installation chapter in the Reference Manual for more information.]) AC_MSG_ERROR([This is a Linux system without a working getconf, and Linuxthreads was not found. Please install it (or a new glibc) and try again. See the Installation chapter in the Reference Manual for more information.]) fi else AC_MSG_CHECKING("DEC threads") AC_MSG_RESULT("no need to check headers") fi AC_MSG_CHECKING("for pthread_create in -lpthread"); ac_save_LIBS="$LIBS" LIBS="$LIBS -lpthread" AC_TRY_LINK( [#include <pthread.h>], [ (void) pthread_create((pthread_t*) 0,(pthread_attr_t*) 0, 0, 0); ], AC_MSG_RESULT("yes"), [ AC_MSG_RESULT("no") AC_MSG_ERROR([ This is a Linux system claiming to support threads, either Linuxthreads or NPTL, but linking a test program failed. Please install one of these (or a new glibc) and try again. See the Installation chapter in the Reference Manual for more information.]) ] ) LIBS="$ac_save_LIBS" else AC_MSG_RESULT("no") fi # "$TARGET_LINUX" fi # "$with_named_thread" = "no" -a "$with_mit_threads" = "no" # Hack for DEC-UNIX (OSF1 -> Tru64) if test "$with_named_thread" = "no" -a "$with_mit_threads" = "no" then AC_MSG_CHECKING("DEC threads post OSF/1 3.2") if test -f /usr/shlib/libpthread.so -a -f /usr/lib/libmach.a -a -f /usr/ccs/lib/cmplrs/cc/libexc.a then with_named_thread="-lpthread -lmach -lexc" CFLAGS="$CFLAGS -D_REENTRANT" CXXFLAGS="$CXXFLAGS -D_REENTRANT" AC_DEFINE(HAVE_DEC_THREADS, [1], [Whether we are using DEC threads]) AC_DEFINE(HAVE_DEC_THREADS, [1], [Whether we are using DEC threads]) AC_MSG_RESULT("yes") else AC_MSG_RESULT("no") AC_MSG_CHECKING("DEC 3.2 threads") if test -f /usr/shlib/libpthreads.so -a -f /usr/lib/libmach.a -a -f /usr/ccs/lib/cmplrs/cc/libexc.a then with_named_thread="-lpthreads -lmach -lc_r" AC_DEFINE(HAVE_DEC_THREADS, [1]) AC_DEFINE([HAVE_DEC_3_2_THREADS], [1], [Whether we are using OSF1 DEC threads on 3.2]) with_osf32_threads="yes" MYSQLD_DEFAULT_SWITCHES="--skip-thread-priority" AC_MSG_RESULT("yes") else AC_MSG_RESULT("no") fi fi fi fi fi fi # DEC threads fi # "$with_named_thread" = "no" -a "$with_mit_threads" = "no" dnl This is needed because -lsocket has to come after the thread Loading Loading @@ -1738,7 +1771,7 @@ fi AC_SUBST(COMPILATION_COMMENT) AC_MSG_CHECKING("need of special linking flags") if test "$IS_LINUX" = "true" -a "$ac_cv_prog_gcc" = "yes" -a "$all_is_static" != "yes" if test "$TARGET_LINUX" = "true" -a "$ac_cv_prog_gcc" = "yes" -a "$all_is_static" != "yes" then LDFLAGS="$LDFLAGS -rdynamic" AC_MSG_RESULT("-rdynamic") Loading Loading @@ -1957,7 +1990,7 @@ CFLAGS="$ORG_CFLAGS" # Sanity check: We chould not have any fseeko symbol unless # large_file_support=yes AC_CHECK_FUNC(fseeko, [if test "$large_file_support" = no -a "$IS_LINUX" = "true"; [if test "$large_file_support" = no -a "$TARGET_LINUX" = "true"; then AC_MSG_ERROR("Found fseeko symbol but large_file_support is not enabled!"); fi] Loading include/my_global.h +5 −4 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ /* Fix problem with S_ISLNK() on Linux */ #if defined(HAVE_LINUXTHREADS) #if defined(TARGET_OS_LINUX) #undef _GNU_SOURCE #define _GNU_SOURCE 1 #endif Loading @@ -107,6 +107,7 @@ #undef THREAD #undef HAVE_mit_thread #undef HAVE_LINUXTHREADS #undef HAVE_NPTL #undef HAVE_UNIXWARE7_THREADS #endif Loading Loading @@ -214,13 +215,13 @@ C_MODE_START int __cxa_pure_virtual() {\ #endif /* In Linux-alpha we have atomic.h if we are using gcc */ #if defined(HAVE_LINUXTHREADS) && defined(__GNUC__) && defined(__alpha__) && (__GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 95)) && !defined(HAVE_ATOMIC_ADD) #if defined(TARGET_OS_LINUX) && defined(__GNUC__) && defined(__alpha__) && (__GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 95)) && !defined(HAVE_ATOMIC_ADD) #define HAVE_ATOMIC_ADD #define HAVE_ATOMIC_SUB #endif /* In Linux-ia64 including atomic.h will give us an error */ #if (defined(HAVE_LINUXTHREADS) && defined(__GNUC__) && (defined(__ia64__)||defined(__powerpc64__))) || !defined(THREAD) #if (defined(TARGET_OS_LINUX) && defined(__GNUC__) && (defined(__ia64__)||defined(__powerpc64__))) || !defined(THREAD) #undef HAVE_ATOMIC_ADD #undef HAVE_ATOMIC_SUB #endif Loading Loading @@ -755,7 +756,7 @@ typedef unsigned long uint32; /* Short for unsigned integer >= 32 bits */ error "Neither int or long is of 4 bytes width" #endif #if !defined(HAVE_ULONG) && !defined(HAVE_LINUXTHREADS) && !defined(__USE_MISC) #if !defined(HAVE_ULONG) && !defined(TARGET_OS_LINUX) && !defined(__USE_MISC) typedef unsigned long ulong; /* Short for unsigned long */ #endif #ifndef longlong_defined Loading myisam/Makefile.am +1 −1 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ SUFFIXES = .sh -e 's!@''FIND_PROC''@!@FIND_PROC@!' \ -e 's!@''MYSQLD_DEFAULT_SWITCHES''@!@MYSQLD_DEFAULT_SWITCHES@!' \ -e 's!@''MYSQL_UNIX_ADDR''@!@MYSQL_UNIX_ADDR@!' \ -e 's!@''IS_LINUX''@!@IS_LINUX@!' \ -e 's!@''TARGET_LINUX''@!@TARGET_LINUX@!' \ -e "s!@""CONF_COMMAND""@!@CONF_COMMAND@!" \ -e 's!@''MYSQLD_USER''@!@MYSQLD_USER@!' \ -e 's!@''sysconfdir''@!@sysconfdir@!' \ Loading mysys/thr_mutex.c +1 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ /* This makes a wrapper for mutex handling to make it easier to debug mutex */ #include <my_global.h> #if defined(HAVE_LINUXTHREADS) && !defined (__USE_UNIX98) #if defined(TARGET_OS_LINUX) && !defined (__USE_UNIX98) #define __USE_UNIX98 /* To get rw locks under Linux */ #endif #if defined(THREAD) && defined(SAFE_MUTEX) Loading Loading
acinclude.m4 +1 −1 Original line number Diff line number Diff line Loading @@ -1005,7 +1005,7 @@ AC_DEFUN([MYSQL_FIND_OPENSSL], [ if test -z "$OPENSSL_LIB" -o -z "$OPENSSL_INCLUDE" ; then echo "Could not find an installation of OpenSSL" if test -n "$OPENSSL_LIB" ; then if test "$IS_LINUX" = "true"; then if test "$TARGET_LINUX" = "true"; then echo "Looks like you've forgotten to install OpenSSL development RPM" fi fi Loading
configure.in +94 −61 Original line number Diff line number Diff line Loading @@ -410,15 +410,16 @@ AC_MSG_CHECKING("if we should use 'skip-locking' as default for $target_os") if expr "$target_os" : "[[Ll]]inux.*" > /dev/null then MYSQLD_DEFAULT_SWITCHES="--skip-locking" IS_LINUX="true" AC_MSG_RESULT("yes"); TARGET_LINUX="true" AC_MSG_RESULT("yes") AC_DEFINE([TARGET_OS_LINUX], [1], [Whether we build for Linux]) else MYSQLD_DEFAULT_SWITCHES="" IS_LINUX="false" AC_MSG_RESULT("no"); TARGET_LINUX="false" AC_MSG_RESULT("no") fi AC_SUBST(MYSQLD_DEFAULT_SWITCHES) AC_SUBST(IS_LINUX) AC_SUBST(TARGET_LINUX) dnl Find paths to some shell programs AC_PATH_PROG(LN, ln, ln) Loading Loading @@ -607,7 +608,7 @@ AC_SUBST(NOINST_LDFLAGS) # (this is true on the MySQL build machines to avoid NSS problems) # if test "$IS_LINUX" = "true" -a "$static_nss" = "" if test "$TARGET_LINUX" = "true" -a "$static_nss" = "" then tmp=`nm /usr/lib/libc.a | grep _nss_files_getaliasent_r` if test -n "$tmp" Loading Loading @@ -841,7 +842,7 @@ struct request_info *req; ]) AC_SUBST(WRAPLIBS) if test "$IS_LINUX" = "true"; then if test "$TARGET_LINUX" = "true"; then AC_MSG_CHECKING([for atomic operations]) atom_ops= Loading Loading @@ -885,7 +886,7 @@ int main() [ USE_PSTACK=no ]) pstack_libs= pstack_dirs= if test "$USE_PSTACK" = yes -a "$IS_LINUX" = "true" -a "$BASE_MACHINE_TYPE" = "i386" -a "$with_mit_threads" = "no" if test "$USE_PSTACK" = yes -a "$TARGET_LINUX" = "true" -a "$BASE_MACHINE_TYPE" = "i386" -a "$with_mit_threads" = "no" then have_libiberty= have_libbfd= my_save_LIBS="$LIBS" Loading Loading @@ -1266,11 +1267,36 @@ esac # We have to check libc last because else it fails on Solaris 2.6 with_posix_threads="no" # Hack for DEC-UNIX (OSF1) # Search thread lib on Linux if test "$with_named_thread" = "no" -a "$with_mit_threads" = "no" then AC_MSG_CHECKING("Linux threads") if test "$TARGET_LINUX" = "true" then AC_MSG_RESULT("starting") # use getconf to check glibc contents AC_MSG_CHECKING("getconf GNU_LIBPTHREAD_VERSION") case `getconf GNU_LIBPTHREAD_VERSION | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ` in NPTL* ) AC_MSG_RESULT("NPTL") AC_DEFINE([HAVE_NPTL], [1], [NPTL threads implementation]) with_named_thread="-lpthread" ;; LINUXTHREADS* ) AC_MSG_RESULT("Linuxthreads") AC_DEFINE([HAVE_LINUXTHREADS], [1], [Whether we are using Xavier Leroy's LinuxThreads]) with_named_thread="-lpthread" ;; * ) AC_MSG_RESULT("unknown") ;; esac if test "$with_named_thread" = "no" then # old method, check headers # Look for LinuxThreads. AC_MSG_CHECKING("LinuxThreads") AC_MSG_CHECKING("LinuxThreads in header file comment") res=`grep Linuxthreads /usr/include/pthread.h 2>/dev/null | wc -l` if test "$res" -gt 0 then Loading @@ -1286,41 +1312,48 @@ then else AC_MSG_RESULT("Not found") # If this is a linux machine we should barf if test "$IS_LINUX" = "true" then AC_MSG_ERROR([This is a linux system and Linuxthreads was not found. On linux Linuxthreads should be used. Please install Linuxthreads (or a new glibc) and try again. See the Installation chapter in the Reference Manual for more information.]) AC_MSG_ERROR([This is a Linux system without a working getconf, and Linuxthreads was not found. Please install it (or a new glibc) and try again. See the Installation chapter in the Reference Manual for more information.]) fi else AC_MSG_CHECKING("DEC threads") AC_MSG_RESULT("no need to check headers") fi AC_MSG_CHECKING("for pthread_create in -lpthread"); ac_save_LIBS="$LIBS" LIBS="$LIBS -lpthread" AC_TRY_LINK( [#include <pthread.h>], [ (void) pthread_create((pthread_t*) 0,(pthread_attr_t*) 0, 0, 0); ], AC_MSG_RESULT("yes"), [ AC_MSG_RESULT("no") AC_MSG_ERROR([ This is a Linux system claiming to support threads, either Linuxthreads or NPTL, but linking a test program failed. Please install one of these (or a new glibc) and try again. See the Installation chapter in the Reference Manual for more information.]) ] ) LIBS="$ac_save_LIBS" else AC_MSG_RESULT("no") fi # "$TARGET_LINUX" fi # "$with_named_thread" = "no" -a "$with_mit_threads" = "no" # Hack for DEC-UNIX (OSF1 -> Tru64) if test "$with_named_thread" = "no" -a "$with_mit_threads" = "no" then AC_MSG_CHECKING("DEC threads post OSF/1 3.2") if test -f /usr/shlib/libpthread.so -a -f /usr/lib/libmach.a -a -f /usr/ccs/lib/cmplrs/cc/libexc.a then with_named_thread="-lpthread -lmach -lexc" CFLAGS="$CFLAGS -D_REENTRANT" CXXFLAGS="$CXXFLAGS -D_REENTRANT" AC_DEFINE(HAVE_DEC_THREADS, [1], [Whether we are using DEC threads]) AC_DEFINE(HAVE_DEC_THREADS, [1], [Whether we are using DEC threads]) AC_MSG_RESULT("yes") else AC_MSG_RESULT("no") AC_MSG_CHECKING("DEC 3.2 threads") if test -f /usr/shlib/libpthreads.so -a -f /usr/lib/libmach.a -a -f /usr/ccs/lib/cmplrs/cc/libexc.a then with_named_thread="-lpthreads -lmach -lc_r" AC_DEFINE(HAVE_DEC_THREADS, [1]) AC_DEFINE([HAVE_DEC_3_2_THREADS], [1], [Whether we are using OSF1 DEC threads on 3.2]) with_osf32_threads="yes" MYSQLD_DEFAULT_SWITCHES="--skip-thread-priority" AC_MSG_RESULT("yes") else AC_MSG_RESULT("no") fi fi fi fi fi fi # DEC threads fi # "$with_named_thread" = "no" -a "$with_mit_threads" = "no" dnl This is needed because -lsocket has to come after the thread Loading Loading @@ -1738,7 +1771,7 @@ fi AC_SUBST(COMPILATION_COMMENT) AC_MSG_CHECKING("need of special linking flags") if test "$IS_LINUX" = "true" -a "$ac_cv_prog_gcc" = "yes" -a "$all_is_static" != "yes" if test "$TARGET_LINUX" = "true" -a "$ac_cv_prog_gcc" = "yes" -a "$all_is_static" != "yes" then LDFLAGS="$LDFLAGS -rdynamic" AC_MSG_RESULT("-rdynamic") Loading Loading @@ -1957,7 +1990,7 @@ CFLAGS="$ORG_CFLAGS" # Sanity check: We chould not have any fseeko symbol unless # large_file_support=yes AC_CHECK_FUNC(fseeko, [if test "$large_file_support" = no -a "$IS_LINUX" = "true"; [if test "$large_file_support" = no -a "$TARGET_LINUX" = "true"; then AC_MSG_ERROR("Found fseeko symbol but large_file_support is not enabled!"); fi] Loading
include/my_global.h +5 −4 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ /* Fix problem with S_ISLNK() on Linux */ #if defined(HAVE_LINUXTHREADS) #if defined(TARGET_OS_LINUX) #undef _GNU_SOURCE #define _GNU_SOURCE 1 #endif Loading @@ -107,6 +107,7 @@ #undef THREAD #undef HAVE_mit_thread #undef HAVE_LINUXTHREADS #undef HAVE_NPTL #undef HAVE_UNIXWARE7_THREADS #endif Loading Loading @@ -214,13 +215,13 @@ C_MODE_START int __cxa_pure_virtual() {\ #endif /* In Linux-alpha we have atomic.h if we are using gcc */ #if defined(HAVE_LINUXTHREADS) && defined(__GNUC__) && defined(__alpha__) && (__GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 95)) && !defined(HAVE_ATOMIC_ADD) #if defined(TARGET_OS_LINUX) && defined(__GNUC__) && defined(__alpha__) && (__GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 95)) && !defined(HAVE_ATOMIC_ADD) #define HAVE_ATOMIC_ADD #define HAVE_ATOMIC_SUB #endif /* In Linux-ia64 including atomic.h will give us an error */ #if (defined(HAVE_LINUXTHREADS) && defined(__GNUC__) && (defined(__ia64__)||defined(__powerpc64__))) || !defined(THREAD) #if (defined(TARGET_OS_LINUX) && defined(__GNUC__) && (defined(__ia64__)||defined(__powerpc64__))) || !defined(THREAD) #undef HAVE_ATOMIC_ADD #undef HAVE_ATOMIC_SUB #endif Loading Loading @@ -755,7 +756,7 @@ typedef unsigned long uint32; /* Short for unsigned integer >= 32 bits */ error "Neither int or long is of 4 bytes width" #endif #if !defined(HAVE_ULONG) && !defined(HAVE_LINUXTHREADS) && !defined(__USE_MISC) #if !defined(HAVE_ULONG) && !defined(TARGET_OS_LINUX) && !defined(__USE_MISC) typedef unsigned long ulong; /* Short for unsigned long */ #endif #ifndef longlong_defined Loading
myisam/Makefile.am +1 −1 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ SUFFIXES = .sh -e 's!@''FIND_PROC''@!@FIND_PROC@!' \ -e 's!@''MYSQLD_DEFAULT_SWITCHES''@!@MYSQLD_DEFAULT_SWITCHES@!' \ -e 's!@''MYSQL_UNIX_ADDR''@!@MYSQL_UNIX_ADDR@!' \ -e 's!@''IS_LINUX''@!@IS_LINUX@!' \ -e 's!@''TARGET_LINUX''@!@TARGET_LINUX@!' \ -e "s!@""CONF_COMMAND""@!@CONF_COMMAND@!" \ -e 's!@''MYSQLD_USER''@!@MYSQLD_USER@!' \ -e 's!@''sysconfdir''@!@sysconfdir@!' \ Loading
mysys/thr_mutex.c +1 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ /* This makes a wrapper for mutex handling to make it easier to debug mutex */ #include <my_global.h> #if defined(HAVE_LINUXTHREADS) && !defined (__USE_UNIX98) #if defined(TARGET_OS_LINUX) && !defined (__USE_UNIX98) #define __USE_UNIX98 /* To get rw locks under Linux */ #endif #if defined(THREAD) && defined(SAFE_MUTEX) Loading