diff options
author | Björn Jacke <bj@sernet.de> | 2010-05-05 20:17:39 +0200 |
---|---|---|
committer | Björn Jacke <bj@sernet.de> | 2010-05-05 21:38:08 +0200 |
commit | 1969b4acc3fd7c124e288d0495b9b4665d4b42db (patch) | |
tree | 7645d99e56570ccf2ea06afd5a2fb7872d792e8f | |
parent | d8ba02b73d53863d604ccbe0a4391d7b38590c1c (diff) | |
download | samba-1969b4acc3fd7c124e288d0495b9b4665d4b42db.tar.gz samba-1969b4acc3fd7c124e288d0495b9b4665d4b42db.tar.bz2 samba-1969b4acc3fd7c124e288d0495b9b4665d4b42db.zip |
s3:configure: not simply check for "ld" but for the linker used by $CC
this hopefully fixes Solaris' gcc build which uses the system ld by default.
All in all we should clean up most of the compiler and linker flags depending
on the actual compilers and linkers we use. Only some tweaks are OS-specific.
A cleanup in this area should be done along with the move to a new build
system (whensoever that will be ...).
-rw-r--r-- | source3/configure.in | 10 | ||||
-rw-r--r-- | source3/m4/aclocal.m4 | 4 |
2 files changed, 7 insertions, 7 deletions
diff --git a/source3/configure.in b/source3/configure.in index 9a190cc872..30d8a435f9 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -209,15 +209,14 @@ AC_SAMBA_PERL([true], [merged_build_possible=no]) AC_CHECK_TOOL(AR, ar) -dnl Check if we use GNU ld -LD=ld +dnl Check if we (actually our C compiler!) use GNU ld AC_PROG_LD_GNU dnl Certain versions of GNU ld the default is not to have the dnl --allow-shlib-undefined flag defined. This causes a stackload of dnl warnings when building modules. if test "$ac_cv_prog_gnu_ld" = "yes"; then - ac_cv_gnu_ld_version=`$LD -v 2>/dev/null | head -1` + ac_cv_gnu_ld_version=`$CC -Wl,-v /dev/null 2>/dev/null | head -1` AC_MSG_CHECKING(GNU ld release date) changequote(,)dnl ac_cv_gnu_ld_date=`echo $ac_cv_gnu_ld_version | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'` @@ -1553,16 +1552,17 @@ DSO_EXPORTS="" ;; *solaris*) AC_DEFINE(SUNOS5,1,[Whether the host os is solaris]) BLDSHARED="true" - LDSHFLAGS="-G" - SONAMEFLAG="-h " if test "${GCC}" = "yes"; then PICFLAG="-fPIC" SONAMEFLAG="-Wl,-soname=" if test "${ac_cv_prog_gnu_ld}" = "yes"; then DYNEXP="-Wl,-E" fi + # TODO: need to add $CFLAGS here for explicit 64-bit builds? + LDSHFLAGS="-shared" else PICFLAG="-KPIC" + SONAMEFLAG="-h " ## ${CFLAGS} added for building 64-bit shared ## libs using Sun's Compiler LDSHFLAGS="-G \${CFLAGS}" diff --git a/source3/m4/aclocal.m4 b/source3/m4/aclocal.m4 index bdad6fa6e5..77224874f3 100644 --- a/source3/m4/aclocal.m4 +++ b/source3/m4/aclocal.m4 @@ -363,9 +363,9 @@ EOF dnl Copied from libtool.m4 AC_DEFUN(AC_PROG_LD_GNU, -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, +[AC_CACHE_CHECK([if the linker used by compiler is GNU ld], ac_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then +if $CC -Wl,-v /dev/null 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then ac_cv_prog_gnu_ld=yes else ac_cv_prog_gnu_ld=no |