fail configure on --enable-shared if -Bsymbolic-functions doesn't work
authorRich Felker <dalias@aerifal.cx>
Tue, 10 Jun 2014 16:11:12 +0000 (12:11 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 10 Jun 2014 16:11:12 +0000 (12:11 -0400)
previously, a warning was issued in this case no matter what, even if
--disable-shared was used. now, the default for --enable-shared is
changed from "yes" to "auto", and the warning is issued by default,
but becomes an error if --enable-shared is used, and the test is
suppressed completely if --disable-shared is used.

configure

index 03c193d..0cff13d 100755 (executable)
--- a/configure
+++ b/configure
@@ -123,7 +123,7 @@ target=
 optimize=auto
 debug=no
 warnings=no
-shared=yes
+shared=auto
 static=yes
 wrapper=auto
 
@@ -412,12 +412,15 @@ fi
 tryflag CFLAGS_AUTO -fno-stack-protector
 tryldflag LDFLAGS_AUTO -Wl,--hash-style=both
 
+test "$shared" = "no" || {
 # Disable dynamic linking if ld is broken and can't do -Bsymbolic-functions
 LDFLAGS_DUMMY=
 tryldflag LDFLAGS_DUMMY -Wl,-Bsymbolic-functions || {
+test "$shared" = "yes" && fail "$0: error: linker cannot build shared library"
 printf "warning: disabling dynamic linking support\n"
 shared=no
 }
+}
 
 # Find compiler runtime library
 test -z "$LIBCC" && tryldflag LIBCC -lgcc && tryldflag LIBCC -lgcc_eh