提交 8dd0ff1c 编写于 作者: R Richard Levitte

Configure et al: cleanups

Remove some config attributes that just duplicate values that are
already there in other attributes.

Remove the special runs of mkdef.pl and mkrc.pl from build file
templates, as these are now done via GENERATE statements in
build.info.

Remove all references to ordinal files from build file templates, as
these are now treated via the GENERATE statements in build.info.

Also remove -shared flags and similar that are there in shared-info.pl
anyway.  (in the case of darwin, it's mandatory, as -bundle and
-dynamiclib don't mix)
Reviewed-by: NAndy Polyakov <appro@openssl.org>
Reviewed-by: NRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4840)
上级 7a061312
......@@ -218,7 +218,7 @@ my %targets = (
bn_ops => "SIXTY_FOUR_BIT_LONG",
perlasm_scheme => "elf",
shared_cflag => "-fPIC",
shared_ldflag => "-m64 -shared -static-libgcc",
shared_ldflag => "-shared -static-libgcc",
multilib => "/64",
},
......@@ -243,12 +243,12 @@ my %targets = (
release => "-xO5 -xdepend -xbuiltin"),
threads("-D_REENTRANT")),
thread_scheme => "pthreads",
lflags => add("-xarch=generic64",threads("-mt")),
lflags => add(threads("-mt")),
ex_libs => add(threads("-lpthread")),
bn_ops => "SIXTY_FOUR_BIT_LONG",
perlasm_scheme => "elf",
shared_cflag => "-KPIC",
shared_ldflag => "-xarch=generic64 -G -dy -z text",
shared_ldflag => "-G -dy -z text",
multilib => "/64",
},
......@@ -278,7 +278,6 @@ my %targets = (
inherit_from => [ "solaris-sparcv9-gcc" ],
cflags => sub { my $f=join(" ",@_); $f =~ s/\-m32/-m64/; $f; },
bn_ops => "BN_LLONG RC4_CHAR",
shared_ldflag => "-m64 -shared",
multilib => "/64",
},
......@@ -311,9 +310,7 @@ my %targets = (
"solaris64-sparcv9-cc" => {
inherit_from => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ],
cflags => add_before("-xarch=v9"),
lflags => add_before("-xarch=v9"),
bn_ops => "BN_LLONG RC4_CHAR",
shared_ldflag => "-xarch=v9 -G -dy -z text",
multilib => "/64",
},
......@@ -332,7 +329,6 @@ my %targets = (
perlasm_scheme => "n32",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
shared_ldflag => "-mabi=n32",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "32",
},
......@@ -349,7 +345,6 @@ my %targets = (
perlasm_scheme => "n32",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
shared_ldflag => "-n32",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "32",
},
......@@ -367,7 +362,6 @@ my %targets = (
perlasm_scheme => "64",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
shared_ldflag => "-mabi=64",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "64",
},
......@@ -384,7 +378,6 @@ my %targets = (
perlasm_scheme => "64",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
shared_ldflag => "-64",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "64",
},
......@@ -489,7 +482,7 @@ my %targets = (
dso_scheme => "dlfcn",
shared_target => "hpux-shared",
shared_cflag => "+Z",
shared_ldflag => "+DD64 -b",
shared_ldflag => "-b",
shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)",
multilib => "/pa20_64",
},
......@@ -508,7 +501,7 @@ my %targets = (
dso_scheme => "dlfcn",
shared_target => "hpux-shared",
shared_cflag => "+Z",
shared_ldflag => "+DD32 -b",
shared_ldflag => "-b",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "/hpux32",
},
......@@ -525,7 +518,7 @@ my %targets = (
dso_scheme => "dlfcn",
shared_target => "hpux-shared",
shared_cflag => "+Z",
shared_ldflag => "+DD64 -b",
shared_ldflag => "-b",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "/hpux64",
},
......@@ -560,7 +553,7 @@ my %targets = (
dso_scheme => "dlfcn",
shared_target => "hpux-shared",
shared_cflag => "-fpic",
shared_ldflag => "-mlp64 -shared",
shared_ldflag => "-shared",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "/hpux64",
},
......@@ -641,14 +634,12 @@ my %targets = (
inherit_from => [ "linux-generic64", asm("ppc64_asm") ],
cflags => add("-m64 -DB_ENDIAN"),
perlasm_scheme => "linux64",
shared_ldflag => add("-m64"),
multilib => "64",
},
"linux-ppc64le" => {
inherit_from => [ "linux-generic64", asm("ppc64_asm") ],
cflags => add("-m64 -DL_ENDIAN"),
perlasm_scheme => "linux64le",
shared_ldflag => add("-m64"),
},
"linux-armv4" => {
......@@ -695,7 +686,6 @@ my %targets = (
cflags => add("-mabi=ilp32"),
bn_ops => "SIXTY_FOUR_BIT RC4_CHAR",
perlasm_scheme => "linux64",
shared_ldflag => add("-mabi=ilp32"),
},
"linux-mips32" => {
......@@ -704,7 +694,6 @@ my %targets = (
inherit_from => [ "linux-generic32", asm("mips32_asm") ],
cflags => add("-mabi=32 -DBN_DIV3W"),
perlasm_scheme => "o32",
shared_ldflag => add("-mabi=32"),
},
# mips32 and mips64 below refer to contemporary MIPS Architecture
# specifications, MIPS32 and MIPS64, rather than to kernel bitness.
......@@ -713,14 +702,12 @@ my %targets = (
cflags => add("-mabi=n32 -DBN_DIV3W"),
bn_ops => "SIXTY_FOUR_BIT RC4_CHAR",
perlasm_scheme => "n32",
shared_ldflag => add("-mabi=n32"),
multilib => "32",
},
"linux64-mips64" => {
inherit_from => [ "linux-generic64", asm("mips64_asm") ],
cflags => add("-mabi=64 -DBN_DIV3W"),
perlasm_scheme => "64",
shared_ldflag => add("-mabi=64"),
multilib => "64",
},
......@@ -751,7 +738,6 @@ my %targets = (
release => "-fomit-frame-pointer")),
bn_ops => "BN_LLONG",
perlasm_scheme => "elf",
shared_ldflag => add("-m32"),
},
"linux-x86-clang" => {
inherit_from => [ "linux-x86" ],
......@@ -764,7 +750,6 @@ my %targets = (
cflags => add("-m64 -DL_ENDIAN"),
bn_ops => "SIXTY_FOUR_BIT_LONG",
perlasm_scheme => "elf",
shared_ldflag => add("-m64"),
multilib => "64",
},
"linux-x86_64-clang" => {
......@@ -778,7 +763,6 @@ my %targets = (
cflags => add("-mx32 -DL_ENDIAN"),
bn_ops => "SIXTY_FOUR_BIT",
perlasm_scheme => "elf32",
shared_ldflag => add("-mx32"),
multilib => "x32",
},
......@@ -791,7 +775,6 @@ my %targets = (
inherit_from => [ "linux-generic64", asm("s390x_asm") ],
cflags => add("-m64 -DB_ENDIAN"),
perlasm_scheme => "64",
shared_ldflag => add("-m64"),
multilib => "64",
},
"linux32-s390x" => {
......@@ -815,7 +798,6 @@ my %targets = (
cflags => add("-m31 -Wa,-mzarch -DB_ENDIAN"),
bn_asm_src => sub { my $r=join(" ",@_); $r=~s|asm/s390x\.S|bn_asm.c|; $r; },
perlasm_scheme => "31",
shared_ldflag => add("-m31"),
multilib => "/highgprs",
},
......@@ -829,14 +811,12 @@ my %targets = (
# but -Wa,-Av8plus should do the trick no matter what.
inherit_from => [ "linux-generic32", asm("sparcv9_asm") ],
cflags => add("-m32 -mcpu=ultrasparc -Wa,-Av8plus -DB_ENDIAN -DBN_DIV2W"),
shared_ldflag => add("-m32"),
},
"linux64-sparcv9" => {
# GCC 3.1 is a requirement
inherit_from => [ "linux-generic64", asm("sparcv9_asm") ],
cflags => add("-m64 -mcpu=ultrasparc -DB_ENDIAN"),
bn_ops => "BN_LLONG RC4_CHAR",
shared_ldflag => add("-m64"),
multilib => "64",
},
......@@ -1203,7 +1183,7 @@ my %targets = (
perlasm_scheme => "aix64",
dso_scheme => "dlfcn",
shared_target => "aix-shared",
shared_ldflag => "-maix64 -shared -static-libgcc -Wl,-G",
shared_ldflag => "-shared -static-libgcc -Wl,-G",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
arflags => "-X64",
},
......@@ -1221,7 +1201,7 @@ my %targets = (
perlasm_scheme => "aix32",
dso_scheme => "dlfcn",
shared_target => "aix-shared",
shared_ldflag => "-q32 -G",
shared_ldflag => "-G",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
arflags => "-X 32",
},
......@@ -1239,7 +1219,7 @@ my %targets = (
perlasm_scheme => "aix64",
dso_scheme => "dlfcn",
shared_target => "aix-shared",
shared_ldflag => "-q64 -G",
shared_ldflag => "-G",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
arflags => "-X 64",
},
......@@ -1529,7 +1509,6 @@ my %targets = (
dso_scheme => "dlfcn",
shared_target => "cygwin-shared",
shared_cflag => "-D_WINDLL",
shared_ldflag => "-shared",
shared_extension => ".dll",
},
"Cygwin-x86_64" => {
......@@ -1545,7 +1524,6 @@ my %targets = (
dso_scheme => "dlfcn",
shared_target => "cygwin-shared",
shared_cflag => "-D_WINDLL",
shared_ldflag => "-shared",
shared_extension => ".dll",
},
# Backward compatibility for those using this target
......@@ -1584,7 +1562,6 @@ my %targets = (
ranlib => "ranlib -c",
shared_target => "darwin-shared",
shared_cflag => "-fPIC",
shared_ldflag => "-dynamiclib",
shared_extension => ".\$(SHLIB_VERSION_NUMBER).dylib",
},
# Option "freeze" such as -std=gnu9x can't negatively interfere
......@@ -1594,14 +1571,12 @@ my %targets = (
inherit_from => [ "darwin-common", asm("ppc32_asm") ],
cflags => add("-arch ppc -std=gnu9x -DB_ENDIAN -Wa,-force_cpusubtype_ALL"),
perlasm_scheme => "osx32",
shared_ldflag => "-arch ppc -dynamiclib",
},
"darwin64-ppc-cc" => {
inherit_from => [ "darwin-common", asm("ppc64_asm") ],
cflags => add("-arch ppc64 -std=gnu9x -DB_ENDIAN"),
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
perlasm_scheme => "osx64",
shared_ldflag => "-arch ppc64 -dynamiclib",
},
"darwin-i386-cc" => {
inherit_from => [ "darwin-common", asm("x86_asm") ],
......@@ -1609,14 +1584,12 @@ my %targets = (
release => "-fomit-frame-pointer")),
bn_ops => "BN_LLONG RC4_INT",
perlasm_scheme => "macosx",
shared_ldflag => "-arch i386 -dynamiclib",
},
"darwin64-x86_64-cc" => {
inherit_from => [ "darwin-common", asm("x86_64_asm") ],
cflags => add("-arch x86_64 -DL_ENDIAN -Wall"),
bn_ops => "SIXTY_FOUR_BIT_LONG",
perlasm_scheme => "macosx",
shared_ldflag => "-arch x86_64 -dynamiclib",
},
#### iPhoneOS/iOS
......@@ -1748,7 +1721,6 @@ my %targets = (
dso_scheme => sub { env('LIBSSL_dlfcn') },
shared_target => "linux-shared",
shared_cflag => "-fPIC",
shared_ldflag => "-shared",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
ranlib => sub { env('RANLIB') },
},
......@@ -1764,7 +1736,6 @@ my %targets = (
dso_scheme => sub { env('LIBSSL_dlfcn') },
shared_target => "linux-shared",
shared_cflag => "-fPIC",
shared_ldflag => "-shared",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
ranlib => sub { env('RANLIB') },
},
......
......@@ -123,16 +123,12 @@
my $lib = shift;
return "" if $cache{$lib};
unless ($disabled{shared} || $lib =~ /\.a$/) {
my %ordinals =
$unified_info{ordinals}->{$lib}
? (ordinals => $unified_info{ordinals}->{$lib}) : ();
$OUT .= libobj2shlib(shlib => $unified_info{sharednames}->{$lib},
lib => $lib,
objs => [ @{$unified_info{shared_sources}->{$lib}},
@{$unified_info{sources}->{$lib}} ],
deps => [ reducedepends(resolvedepends($lib)) ],
installed => is_installed($lib),
%ordinals);
installed => is_installed($lib));
foreach ((@{$unified_info{shared_sources}->{$lib}},
@{$unified_info{sources}->{$lib}})) {
# If this is somehow a compiled object, take care of it that way
......
......@@ -661,19 +661,11 @@ EOF
my $shlib = $args{shlib};
my $libd = dirname($lib);
my $libn = basename($lib);
(my $mkdef_key = $libn) =~ s/^${osslprefix_q}lib([^0-9]*)\d*/$1/i;
my @defs = grep { $_ =~ /\.opt$/ } @{$args{objs}};
my @deps = compute_lib_depends(@{$args{deps}});
die "More than one symbol vector" if scalar @defs > 1;
my $deps = join(", -\n\t\t", @defs, @deps);
my $shlib_target = $disabled{shared} ? "" : $target{shared_target};
my $ordinalsfile = defined($args{ordinals}) ? $args{ordinals}->[1] : "";
my $engine_opt = abs2rel(rel2abs(catfile($config{sourcedir},
"VMS", "engine.opt")),
rel2abs($config{builddir}));
my $mkdef_pl = abs2rel(rel2abs(catfile($config{sourcedir},
"util", "mkdef.pl")),
rel2abs($config{builddir}));
my $shared_def = join(",", map { "$_/OPT" } @defs);
my $translatesyms_pl = abs2rel(rel2abs(catfile($config{sourcedir},
"VMS", "translatesyms.pl")),
......
......@@ -500,7 +500,6 @@ EOF
my %args = @_;
my $lib = $args{lib};
my $shlib = $args{shlib};
(my $mkdef_key = $lib) =~ s/^lib//i;
my @objs = map { (my $x = $_) =~ s|\.o$|$objext|; $x }
grep { $_ =~ m|\.o$| }
@{$args{objs}};
......@@ -510,12 +509,6 @@ EOF
my $linklibs = join("", map { "$_\n" } @deps);
my $objs = join("\n", @objs);
my $deps = join(" ", @objs, @defs, @deps);
my $mkdef_pl = abs2rel(rel2abs(catfile($config{sourcedir},
"util", "mkdef.pl")),
rel2abs($config{builddir}));
my $mkrc_pl = abs2rel(rel2abs(catfile($config{sourcedir},
"util", "mkrc.pl")),
rel2abs($config{builddir}));
my $target = shlib_import($lib);
my $shared_def = join("", map { " /def:$_" } @defs);
return <<"EOF"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册