configure.in
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:6k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. dnl Process this file with autoconf to produce a configure script.
  2. AC_INIT(libmysql.c)
  3. dnl The version number should be autogenerated from the toplevel configure.in
  4. AM_INIT_AUTOMAKE(libmysql, 3.23.11-alpha)
  5. AM_CONFIG_HEADER(my_config.h)
  6. dnl Checks for programs.
  7. AC_PROG_CC
  8. AC_PROG_LN_S
  9. AC_PROG_RANLIB
  10. # We use libtool
  11. AM_PROG_LIBTOOL
  12. dnl Checks for header files.
  13. AC_HEADER_STDC
  14. AC_CHECK_HEADERS(sgtty.h sys/ioctl.h)
  15. # Maybe some can be removed but I got sick of adding them on at a time
  16. # /David
  17. AC_CHECK_HEADERS(fcntl.h float.h floatingpoint.h ieeefp.h limits.h 
  18.  memory.h pwd.h select.h 
  19.  stdlib.h stddef.h 
  20.  strings.h string.h synch.h sys/mman.h sys/socket.h 
  21.  sys/timeb.h sys/types.h sys/un.h sys/vadvise.h sys/wait.h term.h 
  22.  unistd.h utime.h sys/utime.h termio.h termios.h sched.h crypt.h alloca.h)
  23. dnl Checks for typedefs, structures, and compiler characteristics.
  24. AC_C_CONST
  25. AC_C_INLINE
  26. AC_CHECK_SIZEOF(char, 1)
  27. if test "$ac_cv_sizeof_char" -eq 0
  28. then
  29.   AC_MSG_ERROR([No size for char type.
  30. A likely cause for this could be that there isn't any static libraries
  31. installed. You can verify this by checking if you have libm.a in /lib,
  32. /usr/lib or some other standard place.  If this is the problem,
  33. install the static libraries and try again.  If this isn't the
  34. problem, examine config.log for possible errors.  If you want to
  35. report this include ALL system information and include at least the
  36. last 20 rows from config.log!])
  37. fi
  38. AC_CHECK_SIZEOF(int, 4)
  39. if test "$ac_cv_sizeof_int" -eq 0
  40. then
  41.   AC_MSG_ERROR("No size for int type.")
  42. fi
  43. AC_CHECK_SIZEOF(long, 4)
  44. if test "$ac_cv_sizeof_long" -eq 0
  45. then
  46.   AC_MSG_ERROR("No size for long type.")
  47. fi
  48. AC_CHECK_SIZEOF(long long, 8)
  49. if test "$ac_cv_sizeof_long_long" -eq 0
  50. then
  51.   AC_MSG_ERROR("MySQL needs a long long type.")
  52. fi
  53. AC_TYPE_SIZE_T
  54. AC_HEADER_TIME
  55. AC_TYPE_UID_T
  56. # Do the system files define ulong
  57. MYSQL_CHECK_ULONG
  58. # Do the system files define uchar
  59. MYSQL_CHECK_UCHAR
  60. # Do the system files define uint
  61. MYSQL_CHECK_UINT
  62. #---START: Used in for client configure
  63. # Check base type of last arg to accept
  64. MYSQL_TYPE_ACCEPT
  65. #---END:
  66. dnl Checks for library functions.
  67. AC_TYPE_SIGNAL
  68. # Standard MySQL list
  69. AC_CHECK_FUNCS(alarm bmove 
  70.  chsize ftruncate rint finite fpsetmask fpresetsticky
  71.  cuserid fcntl fconvert  
  72.  getrusage getpwuid getcwd getrlimit getwd index locking longjmp 
  73.  perror pread realpath rename 
  74.  socket strnlen madvise 
  75.  strtoul strtoull snprintf tempnam thr_setconcurrency 
  76.  gethostbyaddr_r gethostbyname_r getpwnam 
  77.  bfill bzero bcmp strstr strpbrk strerror
  78.  tell atod memcpy memmove 
  79.  setupterm strcasecmp sighold 
  80.  vidattr setupterm lrand48 localtime_r 
  81.  sigset sigthreadmask pthread_sigmask pthread_setprio pthread_setprio_np 
  82.  pthread_setschedparam pthread_attr_setprio pthread_attr_setschedparam 
  83.  pthread_attr_create pthread_getsequence_np pthread_attr_setstacksize 
  84.  pthread_condattr_create rwlock_init 
  85.  crypt dlopen dlerror fchmod getpass getpassphrase)
  86. # This is special for libmysql
  87. AC_CHECK_FUNCS(strtok_r)
  88. #---START: Used in for client configure
  89. # Check definition of gethostbyname_r (glibc2.0.100 is different from Solaris)
  90. ac_save_CXXFLAGS="$CXXFLAGS"
  91. AC_CACHE_CHECK([style of gethostname_r routines], mysql_cv_gethostname_style,
  92. AC_LANG_SAVE
  93. AC_LANG_CPLUSPLUS
  94. if test "$ac_cv_prog_gxx" = "yes"
  95. then
  96.   CXXFLAGS="$CXXFLAGS -Werror"
  97. fi
  98. AC_TRY_COMPILE(
  99. [#ifndef SCO
  100. #define _REENTRANT
  101. #endif
  102. #include <pthread.h>
  103. #include <sys/types.h>
  104. #include <sys/socket.h>
  105. #include <netinet/in.h>
  106. #include <arpa/inet.h>
  107. #include <netdb.h>],
  108. [int skr;
  109.  int res = gethostbyname_r((const char *) 0,
  110.   (struct hostent*) 0, (char*) 0, 0, (struct hostent **) 0, &skr);],
  111. mysql_cv_gethostname_style=glibc2, mysql_cv_gethostname_style=other))
  112. AC_LANG_RESTORE
  113. CXXFLAGS="$ac_save_CXXFLAGS"
  114. if test "$mysql_cv_gethostname_style" = "glibc2"
  115. then
  116.   AC_DEFINE(HAVE_GLIBC2_STYLE_GETHOSTBYNAME_R)
  117. fi
  118. if test "$with_mit_threads" = "no"
  119. then
  120.   # Check definition of pthread_getspecific
  121.   AC_CACHE_CHECK("args to pthread_getspecific", mysql_cv_getspecific_args,
  122.   AC_TRY_COMPILE(
  123. [#ifndef SCO
  124. #define _REENTRANT
  125. #endif
  126. #define _POSIX_PTHREAD_SEMANTICS 
  127. #include <pthread.h> ],
  128. [ void *pthread_getspecific(pthread_key_t key);
  129. pthread_getspecific((pthread_key_t) NULL); ],
  130. mysql_cv_getspecific_args=POSIX, mysql_cv_getspecific_args=other))
  131.   if test "$mysql_cv_getspecific_args" = "other"
  132.   then
  133.     AC_DEFINE(HAVE_NONPOSIX_PTHREAD_GETSPECIFIC)
  134.   fi
  135.   # Check definition of pthread_mutex_init
  136.   AC_CACHE_CHECK("args to pthread_mutex_init", mysql_cv_mutex_init_args,
  137.   AC_TRY_COMPILE(
  138. [#ifndef SCO
  139. #define _REENTRANT
  140. #endif
  141. #define _POSIX_PTHREAD_SEMANTICS 
  142. #include <pthread.h> ],
  143.   pthread_mutexattr_t attr;
  144.   pthread_mutex_t mp;
  145.   pthread_mutex_init(&mp,&attr); ],
  146. mysql_cv_mutex_init_args=POSIX, mysql_cv_mutex_init_args=other))
  147.   if test "$mysql_cv_mutex_init_args" = "other"
  148.   then
  149.     AC_DEFINE(HAVE_NONPOSIX_PTHREAD_MUTEX_INIT)
  150.   fi
  151. fi
  152. #---END:
  153. #---START: Used in for client configure
  154. # Check definition of readdir_r
  155. AC_CACHE_CHECK("args to readdir_r", mysql_cv_readdir_r,
  156. AC_TRY_LINK(
  157. [#ifndef SCO
  158. #define _REENTRANT
  159. #endif
  160. #define _POSIX_PTHREAD_SEMANTICS 
  161. #include <pthread.h>
  162. #include <dirent.h>],
  163. [ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result);
  164. readdir_r((DIR *) NULL, (struct dirent *) NULL, (struct dirent **) NULL); ],
  165. mysql_cv_readdir_r=POSIX, mysql_cv_readdir_r=other))
  166. if test "$mysql_cv_readdir_r" = "POSIX"
  167. then
  168.   AC_DEFINE(HAVE_READDIR_R)
  169. fi
  170. # Check definition av posix sigwait()
  171. AC_CACHE_CHECK("style of sigwait", mysql_cv_sigwait,
  172. AC_TRY_LINK(
  173. [#ifndef SCO
  174. #define _REENTRANT
  175. #endif
  176. #define _POSIX_PTHREAD_SEMANTICS 
  177. #include <pthread.h>
  178. #include <signal.h>],
  179. [#ifndef _AIX
  180. sigset_t set;
  181. int sig;
  182. sigwait(&set,&sig);
  183. #endif],
  184. mysql_cv_sigwait=POSIX, mysql_cv_sigwait=other))
  185. if test "$mysql_cv_sigwait" = "POSIX"
  186. then
  187.   AC_DEFINE(HAVE_SIGWAIT)
  188. fi
  189. if test "$mysql_cv_sigwait" != "POSIX"
  190. then
  191. unset mysql_cv_sigwait
  192. # Check definition av posix sigwait()
  193. AC_CACHE_CHECK("style of sigwait", mysql_cv_sigwait,
  194. AC_TRY_LINK(
  195. [#ifndef SCO
  196. #define _REENTRANT
  197. #endif
  198. #define _POSIX_PTHREAD_SEMANTICS 
  199. #include <pthread.h>
  200. #include <signal.h>],
  201. [sigset_t set;
  202. int sig;
  203. sigwait(&set);],
  204. mysql_cv_sigwait=NONPOSIX, mysql_cv_sigwait=other))
  205. if test "$mysql_cv_sigwait" = "NONPOSIX"
  206. then
  207.   AC_DEFINE(HAVE_NONPOSIX_SIGWAIT)
  208. fi
  209. fi
  210. #---END:
  211. AC_OUTPUT(Makefile)