From 03166a7d11b54cee1fa71ad1299e09689455efcc Mon Sep 17 00:00:00 2001 From: Daniel De Graaf Date: Fri, 2 Jul 2010 11:27:17 -0400 Subject: Change argument order of LDLIBS to work properly with -Wl,--as-needed --- make/unit-cc.pl | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'make') diff --git a/make/unit-cc.pl b/make/unit-cc.pl index 30b536343..fbe36c4d2 100755 --- a/make/unit-cc.pl +++ b/make/unit-cc.pl @@ -41,7 +41,7 @@ sub do_static_find { } sub do_static_link { - my $execstr = "$ENV{RUNLD} -o $out $ENV{CORELDFLAGS} $ENV{LDLIBS}"; + my $execstr = "$ENV{RUNLD} -o $out $ENV{CORELDFLAGS}"; for (@ARGV) { if (/\.cmd$/) { open F, '<', $_; @@ -53,12 +53,13 @@ sub do_static_link { $execstr .= ' '.$_; } } + $execstr .= ' '.$ENV{LDLIBS}; print "$execstr\n" if $verbose; exec $execstr; } sub do_core_link { - my $execstr = "$ENV{RUNLD} -o $out $ENV{CORELDFLAGS} $ENV{LDLIBS} @_"; + my $execstr = "$ENV{RUNLD} -o $out $ENV{CORELDFLAGS} @_ $ENV{LDLIBS}"; print "$execstr\n" if $verbose; exec $execstr; } @@ -73,6 +74,7 @@ sub do_compile { my ($do_compile, $do_link, $file) = @_; my $flags = ''; + my $libs = ''; my $binary = $ENV{RUNCC}; if ($do_compile) { $flags = $ENV{CXXFLAGS}; @@ -87,12 +89,13 @@ sub do_compile { } if ($do_link) { - $flags = join ' ', $flags, $ENV{PICLDFLAGS}, getlinkerflags($file); + $flags = join ' ', $flags, $ENV{PICLDFLAGS}; + $libs = join ' ', getlinkerflags($file); } else { $flags .= ' -c'; } - my $execstr = "$binary -o $out $flags $file"; + my $execstr = "$binary -o $out $flags $file $libs"; print "$execstr\n" if $verbose; exec $execstr; } -- cgit v1.2.3