diff options
author | Daniel De Graaf <danieldg@inspircd.org> | 2010-07-02 11:27:17 -0400 |
---|---|---|
committer | Daniel De Graaf <danieldg@inspircd.org> | 2010-07-02 11:27:24 -0400 |
commit | 03166a7d11b54cee1fa71ad1299e09689455efcc (patch) | |
tree | 7cdc84da4261428729efa0f24262b7a93232665d /make/unit-cc.pl | |
parent | 4ced25a01fd50f459afece228816d0135d41be9c (diff) |
Change argument order of LDLIBS to work properly with -Wl,--as-needed
Diffstat (limited to 'make/unit-cc.pl')
-rwxr-xr-x | make/unit-cc.pl | 11 |
1 files changed, 7 insertions, 4 deletions
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; } |