*************** *** 388,402 **** if expr "$target_os" : "[[Ll]]inux.*" > /dev/null then MYSQLD_DEFAULT_SWITCHES="--skip-locking" ! IS_LINUX="true" AC_MSG_RESULT("yes"); else MYSQLD_DEFAULT_SWITCHES="" ! IS_LINUX="false" AC_MSG_RESULT("no"); fi AC_SUBST(MYSQLD_DEFAULT_SWITCHES) ! AC_SUBST(IS_LINUX) dnl Find paths to some shell programs AC_PATH_PROG(LN, ln, ln) --- 388,403 ---- if expr "$target_os" : "[[Ll]]inux.*" > /dev/null then MYSQLD_DEFAULT_SWITCHES="--skip-locking" ! TARGET_LINUX="true" AC_MSG_RESULT("yes"); + AC_DEFINE([TARGET_OS_LINUX], [1], [Whether we build for Linux]) else MYSQLD_DEFAULT_SWITCHES="" ! TARGET_LINUX="false" AC_MSG_RESULT("no"); fi AC_SUBST(MYSQLD_DEFAULT_SWITCHES) ! AC_SUBST(TARGET_LINUX) dnl Find paths to some shell programs AC_PATH_PROG(LN, ln, ln) *************** *** 576,582 **** # (this is true on the MySQL build machines to avoid NSS problems) # ! if test "$IS_LINUX" = "true" -a "$static_nss" = "" then tmp=`nm /usr/lib/libc.a | grep _nss_files_getaliasent_r` if test -n "$tmp" --- 577,583 ---- # (this is true on the MySQL build machines to avoid NSS problems) # ! if test "$TARGET_LINUX" = "true" -a "$static_nss" = "" then tmp=`nm /usr/lib/libc.a | grep _nss_files_getaliasent_r` if test -n "$tmp" *************** *** 827,833 **** ]) AC_SUBST(WRAPLIBS) ! if test "$IS_LINUX" = "true"; then AC_MSG_CHECKING([for atomic operations]) AC_LANG_SAVE --- 828,834 ---- ]) AC_SUBST(WRAPLIBS) ! if test "$TARGET_LINUX" = "true"; then AC_MSG_CHECKING([for atomic operations]) AC_LANG_SAVE *************** *** 870,876 **** [ 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" then have_libiberty= have_libbfd= my_save_LIBS="$LIBS" --- 871,877 ---- [ USE_PSTACK=no ]) pstack_libs= pstack_dirs= ! 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" *************** *** 1239,1301 **** # Hack for DEC-UNIX (OSF1) if test "$with_named_thread" = "no" -a "$with_mit_threads" = "no" then ! # Look for LinuxThreads. ! AC_MSG_CHECKING("LinuxThreads") ! grepres=`grep Linuxthreads /usr/include/pthread.h 2>/dev/null | wc -l` ! getconfres=`which getconf >/dev/null && getconf GNU_LIBPTHREAD_VERSION | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ |grep LINUXTHREADS | wc -l || echo 0` ! if test "$grepres" -gt 0 -o "$getconfres" -gt 0 then ! AC_MSG_RESULT("Found") ! AC_DEFINE(HAVE_LINUXTHREADS) ! # Linux 2.0 sanity check ! AC_TRY_COMPILE([#include ], [int a = sched_get_priority_min(1);], , ! AC_MSG_ERROR([Syntax error in sched.h. Change _P to __P in the /usr/include/sched.h file. See the Installation chapter in the Reference Manual])) ! # RedHat 5.0 does not work with dynamic linking of this. -static also ! # gives a speed increase in linux so it does not hurt on other systems. ! with_named_thread="-lpthread" ! else ! AC_MSG_RESULT("Not found") ! # If this is a linux machine we should barf ! AC_MSG_CHECKING("NPTL") ! if test "$IS_LINUX" = "true" ! then ! getconfres=`which getconf >/dev/null && getconf GNU_LIBPTHREAD_VERSION | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ |grep NPTL | wc -l || echo 0` ! if test "$getconfres" -gt 0 then ! AC_DEFINE(HAVE_LINUXTHREADS) dnl All this code predates NPTL, so "have linuxthreads" is a poor name. ! with_named_thread="-lpthread" else ! AC_MSG_ERROR([This is a Linux system and neither Linuxthreads nor NPTL were ! found. Please install Linuxthreads 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") ! 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) ! 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) ! AC_DEFINE(HAVE_DEC_3_2_THREADS) ! with_osf32_threads="yes" ! MYSQLD_DEFAULT_SWITCHES="--skip-thread-priority" ! AC_MSG_RESULT("yes") ! else ! AC_MSG_RESULT("no") ! fi ! fi ! fi ! fi fi --- 1240,1337 ---- # Hack for DEC-UNIX (OSF1) 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 in header file comment") ! res=`grep Linuxthreads /usr/include/pthread.h 2>/dev/null | wc -l` ! if test "$res" -gt 0 ! then ! AC_MSG_RESULT("Found") ! AC_DEFINE([HAVE_LINUXTHREADS], [1], ! [Whether we are using Xavier Leroy's LinuxThreads]) ! # Linux 2.0 sanity check ! AC_TRY_COMPILE([#include ], [int a = sched_get_priority_min(1);], , ! AC_MSG_ERROR([Syntax error in sched.h. Change _P to __P in the /usr/include/sched.h file. See the Installation chapter in the Reference Manual])) ! # RedHat 5.0 does not work with dynamic linking of this. -static also ! # gives a speed increase in linux so it does not hurt on other systems. ! with_named_thread="-lpthread" ! else ! AC_MSG_RESULT("Not found") ! # If this is a linux machine we should barf ! 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_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 ], ! [ (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" ! ! if test "$with_named_thread" = "no" -a "$with_mit_threads" = "no" ! then ! AC_MSG_CHECKING("DEC threads") ! 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) ! 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) ! AC_DEFINE(HAVE_DEC_3_2_THREADS) ! with_osf32_threads="yes" ! MYSQLD_DEFAULT_SWITCHES="--skip-thread-priority" ! AC_MSG_RESULT("yes") ! else ! AC_MSG_RESULT("no") ! fi ! fi fi *************** *** 1720,1726 **** 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" then LDFLAGS="$LDFLAGS -rdynamic" AC_MSG_RESULT("-rdynamic") --- 1756,1762 ---- AC_SUBST(COMPILATION_COMMENT) AC_MSG_CHECKING("need of special linking flags") ! if test "$TARGET_LINUX" = "true" -a "$ac_cv_prog_gcc" = "yes" -a "$all_is_static" != "yes" then LDFLAGS="$LDFLAGS -rdynamic" AC_MSG_RESULT("-rdynamic") *************** *** 1873,1878 **** tell atod memcpy memmove \ setupterm strcasecmp sighold vidattr lrand48 localtime_r \ sigset sigthreadmask pthread_sigmask pthread_setprio pthread_setprio_np \ pthread_setschedparam pthread_attr_setprio pthread_attr_setschedparam \ pthread_attr_create pthread_getsequence_np pthread_attr_setstacksize \ pthread_attr_getstacksize pthread_key_delete \ --- 1909,1915 ---- tell atod memcpy memmove \ setupterm strcasecmp sighold vidattr lrand48 localtime_r \ sigset sigthreadmask pthread_sigmask pthread_setprio pthread_setprio_np \ + sigaction sigemptyset sigaddset \ pthread_setschedparam pthread_attr_setprio pthread_attr_setschedparam \ pthread_attr_create pthread_getsequence_np pthread_attr_setstacksize \ pthread_attr_getstacksize pthread_key_delete \ *************** *** 1884,1890 **** # Sanity check: We chould not have any fseeko symbol unless # large_file_support=yes AC_CHECK_FUNCS(fseeko, ! [if test "$large_file_support" = no -a "$IS_LINUX" = "true"; then AC_MSG_ERROR("Found fseeko symbol but large_file_support is not enabled!"); fi] --- 1921,1927 ---- # Sanity check: We chould not have any fseeko symbol unless # large_file_support=yes AC_CHECK_FUNCS(fseeko, ! [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]