summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorunknown <sasha@mysql.sashanet.com>2002-03-01 19:36:46 -0700
committerunknown <sasha@mysql.sashanet.com>2002-03-01 19:36:46 -0700
commit2c9879ca0cfd319e939835816cd4501b1d097b0a (patch)
treedd5cbc9c1cf52f454bd88e24e1401696ae7da26c /configure.in
parent80d375b1566da63bbfcaed6d4ab339ae4add5b04 (diff)
parent1dd4cf0295fcc176ff4ea314afb4ceb8910792ce (diff)
downloadmariadb-git-2c9879ca0cfd319e939835816cd4501b1d097b0a.tar.gz
merged from 3.23 to pull the LOAD DATA INFILE fix as rpl000001 was failing.
Let's hope this did not break anything. Will not push this one until Monty gets back BitKeeper/etc/logging_ok: auto-union Build-tools/Do-all-build-steps: Auto merged Build-tools/Do-compile: Auto merged Build-tools/Do-rpm: Auto merged Docs/manual.texi: Auto merged include/hash.h: Auto merged include/my_sys.h: Auto merged innobase/dict/dict0dict.c: Auto merged mysys/array.c: Auto merged mysys/hash.c: Auto merged mysys/mf_qsort.c: Auto merged sql/sql_base.cc: Auto merged sql/table.cc: Auto merged strings/Makefile.am: Auto merged client/mysql.cc: merged from 3.23 configure.in: merged from 3.23 mysql-test/mysql-test-run.sh: merged from 3.23 sql/mysqld.cc: merged from 3.23 support-files/mysql.spec.sh: merged from 3.23
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in42
1 files changed, 39 insertions, 3 deletions
diff --git a/configure.in b/configure.in
index f8f5d88369b..b93940c66ca 100644
--- a/configure.in
+++ b/configure.in
@@ -439,8 +439,27 @@ AC_ARG_WITH(other-libc,
#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 "
+#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
+ STATIC_NSS_FLAGS="-Wl,--start-group -lc -lnss_files -lnss_dns -lresolv \
+ -Wl,--end-group"
+ static_nss=1
+ else
+ # this is a dirty hack. We if we detect static nss glibc in the special
+ # location, we do not re-direct the linker to get libraries from there
+ # during check. The reason is that if we did, we would have to find a
+ # way to append the special static nss flags to LIBS every time we do
+ # any check - this is definitely feasible, but not worthwhile the risk
+ # of breaking other things. So for our purposes it would be sufficient
+ # to assume that whoever is using static NSS knows what he is doing and
+ # has sensible libraries in the regular location
+ LDFLAGS="$LDFLAGS -static -L$other_libc_lib "
+ fi
+
with_mysqld_ldflags="-all-static"
with_client_ldflags="-all-static"
NOINST_LDFLAGS="-all-static"
@@ -2114,11 +2133,17 @@ then
linked_client_targets="$linked_client_targets linked_libmysql_r_sources"
AC_DEFINE(THREAD_SAFE_CLIENT)
fi
+
+if test "$static_nss" = "1"
+then
+ CLIENT_LIBS="$CLIENT_LIBS $STATIC_NSS_FLAGS"
+fi
+
AC_SUBST(CLIENT_LIBS)
AC_SUBST(sql_client_dirs)
AC_SUBST(linked_client_targets)
-if test "$with_server" = "yes"
+if test "$with_server" = "yes" -o "$THREAD_SAFE_CLIENT" != "no"
then
AC_DEFINE(THREAD)
# Avoid _PROGRAMS names
@@ -2254,6 +2279,17 @@ EOF
LIBS="$MT_LD_ADD $LIBS"
fi
fi
+
+#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
+
+if test "$static_nss" = "1"
+then
+ LDFLAGS="$LDFLAGS -static -L$other_libc_lib "
+ LIBS="$LIBS $STATIC_NSS_FLAGS"
+fi
+
AC_SUBST(sql_server_dirs)
AC_SUBST(thread_dirs)
AC_SUBST(server_scripts)