r22035: Introduce HOSTLD which is needed to link the asn1 compiler when cross
authorJames Peach <jpeach@samba.org>
Mon, 2 Apr 2007 17:23:23 +0000 (17:23 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:49:43 +0000 (14:49 -0500)
compiling.
(This used to be commit 976343821b99b04725c9fddee42dbcd0261c2d51)

source4/build/m4/check_ld.m4
source4/build/smb_build/makefile.pm

index f7202b63eb1c2b78c854d27b7143d5c27a5c27c7..60b59bd653d03d540921563311d8ee29fc24545c 100644 (file)
@@ -36,6 +36,17 @@ SHLIBEXT="so"
 SONAMEFLAG=""
 PICFLAG=""
 
+# allow for --with-hostld=gcc
+AC_ARG_WITH(hostld,[  --with-hostld=linker    choose host linker],
+[HOSTLD=$withval],
+[
+if test z"$cross_compiling" = "yes"; then
+       HOSTLD='$(HOSTCC)'
+else
+       HOSTLD='$(LD)'
+fi
+])
+
 AC_MSG_CHECKING([ability to build shared libraries])
 
 # and these are for particular systems
@@ -144,6 +155,8 @@ AC_MSG_RESULT([$LD])
 AC_MSG_CHECKING([LDFLAGS])
 AC_MSG_RESULT([$LDFLAGS])
 
+AC_SUBST(HOSTLD)
+
 AC_MSG_CHECKING([STLD])
 AC_MSG_RESULT([$STLD])
 AC_MSG_CHECKING([STLD_FLAGS])
index 43391d8775797b1b68d52f935b7baa3a9c73cdd0..926d83f0f7604af2e1cc188cca3944c381945441 100644 (file)
@@ -141,6 +141,9 @@ INSTALL_LINK_FLAGS=$extra_link_flags
 LD=$self->{config}->{LD} 
 LDFLAGS=$self->{config}->{LDFLAGS} -L$libdir
 
+HOSTLD=$self->{config}->{HOSTLD}
+# It's possible that we ought to have HOSTLD_LDFLAGS as well
+
 STLD=$self->{config}->{STLD}
 STLD_FLAGS=$self->{config}->{STLD_FLAGS}
 
@@ -387,11 +390,23 @@ sub Binary($$)
 $self->output(<< "__EOD__"
 $installdir/$ctx->{BINARY}: \$($ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST) \$($ctx->{TYPE}_$ctx->{NAME}_FULL_OBJ_LIST)
        \@echo Linking \$\@
+__EOD__
+       );
+
+       if ($ctx->{"USE_HOSTCC"} =~ m/yes/i) {
+               $self->output(<< "__EOD__"
+       \@\$(HOSTLD) \$(LDFLAGS) -o \$\@ \$(INSTALL_LINK_FLAGS) \\
+               \$\($ctx->{TYPE}_$ctx->{NAME}_LINK_FLAGS)
+__EOD__
+               );
+       } else {
+               $self->output(<< "__EOD__"
        \@\$(LD) \$(LDFLAGS) -o \$\@ \$(INSTALL_LINK_FLAGS) \\
                \$\($ctx->{TYPE}_$ctx->{NAME}_LINK_FLAGS) 
 
 __EOD__
-);
+               );
+       }
 }
 
 sub Manpage($$)