diff options
author | sasha@mysql.sashanet.com <> | 2001-04-02 19:01:15 -0600 |
---|---|---|
committer | sasha@mysql.sashanet.com <> | 2001-04-02 19:01:15 -0600 |
commit | f754012ad08a6cf9988e6cd2c647670c4c65573d (patch) | |
tree | cc9f61f71666e0b4b3f190526b4d8f1641274e5d /configure.in | |
parent | 620010abfca24b5304e906d3515a8be9e16d5851 (diff) | |
download | mariadb-git-f754012ad08a6cf9988e6cd2c647670c4c65573d.tar.gz |
got --with-other-libc to work, finally
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 45 |
1 files changed, 40 insertions, 5 deletions
diff --git a/configure.in b/configure.in index c665962b22c..42e492e9d64 100644 --- a/configure.in +++ b/configure.in @@ -4,7 +4,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(sql/mysqld.cc) AC_CANONICAL_SYSTEM # The Docs Makefile.am parses this line! -AM_INIT_AUTOMAKE(mysql, 3.23.36) +AM_INIT_AUTOMAKE(mysql, 3.23.37) AM_CONFIG_HEADER(config.h) PROTOCOL_VERSION=10 @@ -390,6 +390,38 @@ then AC_MSG_ERROR([MySQL requiers a ANSI C compiler (and a C++ compiler). Try gcc. See the Installation chapter in the Reference Manual.]) fi +NOINST_LDFLAGS= + +AC_ARG_WITH(other-libc, + [ --with-other-libc=/path/to/other/libc/dir Link against libc and other standard libraries installed in the specified non-standard location overriding default. Originally added to be able to link against glibc 2.2 without making the user upgrade the standard libc installation ], + [ + other_libc_include="$withval/include" + other_libc_lib="$withval/lib" + with_other_libc="yes" + enable_shared="no" + all_is_static="yes" + CFLAGS="$CFLAGS -I$other_libc_include" + CXXFLAGS="$CXXFLAGS -fpermissive -I$other_libc_include" +#There seems to be a feature in gcc that treats system and libc headers +#leniently when they violatate ANSI C++ standard, but it is strict otherwise +#since gcc cannot now recognize that our headers are libc, we work around +#by telling it to be permissive + LDFLAGS="$LDFLAGS -static -L$other_libc_lib " + with_mysqld_ldflags="-all-static" + with_client_ldflags="-all-static" + NOINST_LDFLAGS="-all-static" +#when linking against custom libc installed separately, we want to force all +#binary builds to be static, including the build done by configure itself +#to test for system features + ], + [ + other_libc_include= + other_libc_lib= + with_other_libc="no" + ] +) +AC_SUBST(NOINST_LDFLAGS) + AC_ARG_WITH(server-suffix, [ --with-server-suffix Append value to the version string.], # I heard that 'cut' isn't portable. Isn't there a better way? @@ -1162,7 +1194,7 @@ fi AC_SUBST(COMPILATION_COMMENT) AC_MSG_CHECKING("need of special linking flags") -if test "$IS_LINUX" = "true" +if test "$IS_LINUX" = "true" -a "$all_is_static" != "yes" then LDFLAGS="$LDFLAGS -rdynamic" AC_MSG_RESULT("-rdynamic") @@ -1317,7 +1349,10 @@ ac_save_CXXFLAGS="$CXXFLAGS" AC_CACHE_CHECK([style of gethost* routines], mysql_cv_gethost_style, AC_LANG_SAVE AC_LANG_CPLUSPLUS -if test "$ac_cv_prog_gxx" = "yes" +#do not treat warnings as errors if we are linking agaist other libc +#this is to work around gcc not being permissive on non-system includes +#with respect to ANSI C++ +if test "$ac_cv_prog_gxx" = "yes" -a "$with_other_libc" = "no" then CXXFLAGS="$CXXFLAGS -Werror" fi @@ -1349,7 +1384,7 @@ ac_save_CXXFLAGS="$CXXFLAGS" AC_CACHE_CHECK([style of gethostname_r routines], mysql_cv_gethostname_style, AC_LANG_SAVE AC_LANG_CPLUSPLUS -if test "$ac_cv_prog_gxx" = "yes" +if test "$ac_cv_prog_gxx" = "yes" -a "$with_other_libc" = "no" then CXXFLAGS="$CXXFLAGS -Werror" fi @@ -1380,7 +1415,7 @@ ac_save_CXXFLAGS="$CXXFLAGS" AC_CACHE_CHECK([3 argument to gethostname_r routines], mysql_cv_gethostname_arg, AC_LANG_SAVE AC_LANG_CPLUSPLUS -if test "$ac_cv_prog_gxx" = "yes" +if test "$ac_cv_prog_gxx" = "yes" -a "$with_other_libc" = "no" then CXXFLAGS="$CXXFLAGS -Werror" fi |