summaryrefslogtreecommitdiffstats
path: root/Configure
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-02-05 11:47:14 +0100
committerRichard Levitte <levitte@openssl.org>2016-02-06 17:57:19 +0100
commitc86ddbe61323e371f6ac88728581481a1aa6f0e6 (patch)
tree1cc940589c78f16480486d89223fb2a2775ac470 /Configure
parentb438f0ed8f3ff1df59698b868e7bdbdaa215e7e1 (diff)
Enhance and clear the support of linker flags
Some time ago, we had a ex_libs configuration setting that could be divided into lflags and ex_libs. These got divided in two settings, lflags and ex_libs, and the former was interpreted to be general linking flags. Unfortunately, that conclusion wasn't entirely accurate. Most of those linking were meant to end up in a very precise position on the linking command line, just before the spec of libraries the linking depends on. Back to the drawing board, we're diving things further, now having lflags, which are linking flags that aren't depending on command line position, plib_lflags, which are linking flags that should show up just before the spec of libraries to depend on, and finally ex_libs, which is the spec of extra libraries to depend on. Also, documentation is changed in Configurations/README. This was previously forgotten. Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure12
1 files changed, 10 insertions, 2 deletions
diff --git a/Configure b/Configure
index 56fa31a079..0595e71745 100755
--- a/Configure
+++ b/Configure
@@ -820,7 +820,8 @@ $config{openssldir} = catdir($config{prefix}, $config{openssldir})
# Allow environment CC to override compiler...
$target{cc} = $ENV{CC} || $target{cc};
-# For cflags, lflags and ex_libs, add the debug_ or release_ attributes
+# For cflags, lflags, plib_lflags and ex_libs, add the debug_ or release_
+# attributes.
# Do it in such a way that no spurious space is appended (hence the grep).
$config{cflags} = join(" ",
grep { $_ ne "" } ($target{cflags},
@@ -828,6 +829,9 @@ $config{cflags} = join(" ",
$config{lflags} = join(" ",
grep { $_ ne "" } ($target{lflags},
$target{$build_prefix."lflags"}));
+$config{plib_lflags} = join(" ",
+ grep { $_ ne "" } ($target{plib_lflags},
+ $target{$build_prefix."plib_lflags"}));
$config{ex_libs} = join(" ",
grep { $_ ne "" } ($target{ex_libs},
$target{$build_prefix."ex_libs"}));
@@ -1653,7 +1657,8 @@ EOF
print "IsMK1MF =", ($target{build_scheme}->[0] eq "mk1mf" ? "yes" : "no"), "\n";
print "CC =$target{cc}\n";
print "CFLAG =$config{cflags}\n";
-print "LFLAGS =$config{lflags}\n";
+print "LFLAG =$config{lflags}\n";
+print "PLIB_LFLAG =$config{plib_lflags}\n";
print "EX_LIBS =$config{ex_libs}\n";
print "CPUID_OBJ =$target{cpuid_obj}\n";
print "BN_ASM =$target{bn_obj}\n";
@@ -2116,10 +2121,13 @@ sub print_table_entry
"unistd",
"ld",
"lflags",
+ "plib_lflags",
"ex_libs",
"debug_lflags",
+ "debug_plib_lflags",
"debug_ex_libs",
"release_lflags",
+ "release_plib_lflags",
"release_ex_libs",
"bn_ops",
"cpuid_obj",