summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in56
1 files changed, 42 insertions, 14 deletions
diff --git a/configure.in b/configure.in
index bb9cb17d418..758e6bac450 100644
--- a/configure.in
+++ b/configure.in
@@ -38,7 +38,7 @@ for i in $AVAILABLE_LANGUAGES
do
AVAILABLE_LANGUAGES_ERRORS="$AVAILABLE_LANGUAGES_ERRORS $i/errmsg.sys"
echo "$i/errmsg.sys: $i/errmsg.txt
- \$(top_builddir)/extra/comp_err $i/errmsg.txt $i/errmsg.sys" \
+ \$(top_builddir)/extra/comp_err \$^ $i/errmsg.sys" \
>> $AVAILABLE_LANGUAGES_ERRORS_RULES
done
@@ -126,6 +126,20 @@ AC_PROG_CC
AC_PROG_CXX
AC_PROG_CPP
+# Print version of CC and CXX compiler (if they support --version)
+CC_VERSION=`$CC --version`
+if test $? -eq "0"
+then
+ AC_MSG_CHECKING("C Compiler version");
+ AC_MSG_RESULT("$CC $CC_VERSION")
+fi
+CXX_VERSION=`$CXX --version`
+if test $? -eq "0"
+then
+ AC_MSG_CHECKING("C++ compiler version");
+ AC_MSG_RESULT("$CXX $CXX_VERSION")
+fi
+
# Fix for sgi gcc / sgiCC which tries to emulate gcc
if test "$CC" = "sgicc"
then
@@ -307,6 +321,19 @@ then
# Disable exceptions as they seams to create problems with gcc and threads.
# mysqld doesn't use run-time-type-checking, so we disable it.
CXXFLAGS="$CXXFLAGS -fno-implicit-templates -fno-exceptions -fno-rtti"
+
+ # If you are using 'gcc' 3.0 (not g++) to compile C++ programs,
+ # we will gets some problems when linking static programs.
+ # The following code is used to fix this problem.
+
+ if test "$CXX" = "gcc"
+ then
+ if $CXX -v 2>&1 | grep 'version 3' > /dev/null 2>&1
+ then
+ CXXFLAGS="$CXXFLAGS -DUSE_MYSYS_NEW"
+ CXXLDFLAGS="$CXXLDFLAGS -Wl,--defsym -Wl,__cxa_pure_virtual=0"
+ fi
+ fi
fi
# Avoid bug in fcntl on some versions of linux
@@ -435,16 +462,17 @@ AC_ARG_WITH(other-libc,
enable_shared="no"
all_is_static="yes"
CFLAGS="$CFLAGS -I$other_libc_include"
+ # There seems to be a feature in gcc that treats system and libc headers
+ # silently 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. Note that this option only works with
+ # new versions of gcc (2.95.x and above)
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
static_nss=
if test -f "$other_libc_lib/libnss_files.a"
then
- # libc has been compiled with --enable-static-nss
- # we need special flags, but we will have to add those later
+ # libc has been compiled with --enable-static-nss
+ # we need special flags, but we will have to add those later
STATIC_NSS_FLAGS="-Wl,--start-group -lc -lnss_files -lnss_dns -lresolv \
-Wl,--end-group"
static_nss=1
@@ -460,12 +488,12 @@ AC_ARG_WITH(other-libc,
LDFLAGS="$LDFLAGS -static -L$other_libc_lib "
fi
+ # 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.
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=
@@ -1558,9 +1586,9 @@ ac_save_CXXFLAGS="$CXXFLAGS"
AC_CACHE_CHECK([style of gethost* routines], mysql_cv_gethost_style,
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
-#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++
+# 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"
@@ -2289,7 +2317,7 @@ EOF
fi
fi
-#IMPORTANT - do not modify LIBS past this line - this hack is the only way
+# IMPORTANT - do not modify LIBS past this line - this hack is the only way
# I know to add the static NSS magic if we have static NSS libraries with
# glibc - Sasha