ex_libs => add("-lsocket -lnsl -ldl"),
dso_scheme => "dlfcn",
thread_scheme => "pthreads",
+ },
+#### Solaris common with Sun C setups
+ "solaris-common-cc" => {
+ inherit_from => [ "solaris-common" ],
+ template => 1,
shared_target => "solaris",
shared_ldflag => "-Wl,-Bsymbolic",
shared_defflag => "-Wl,-M,",
shared_sonameflag=> "-Wl,-h,",
},
+#### Solaris common with GNU C setups
+ "solaris-common-gcc" => {
+ inherit_from => [ "solaris-common" ],
+ template => 1,
+ shared_target => "solaris-gcc", # The rest is on shared_info.pl
+ },
#### Solaris x86 with GNU C setups
"solaris-x86-gcc" => {
# NB. GNU C has to be configured to use GNU assembler, and not
# /usr/ccs/bin/as. Failure to comply will result in compile
# failures [at least] in 32-bit build.
- inherit_from => [ "solaris-common" ],
+ inherit_from => [ "solaris-common-gcc" ],
CC => "gcc",
CFLAGS => add_before(picker(default => "-Wall",
debug => "-O0 -g",
# code [thanks to inline assembler], I would actually recommend
# to consider using gcc shared build even with vendor compiler:-)
# -- <appro@openssl.org>
- inherit_from => [ "solaris-common" ],
+ inherit_from => [ "solaris-common-gcc" ],
CC => "gcc",
CFLAGS => add_before(picker(default => "-Wall",
debug => "-O0 -g",
# Consider switching to solaris64-x86_64-gcc even here...
#
"solaris64-x86_64-cc" => {
- inherit_from => [ "solaris-common" ],
+ inherit_from => [ "solaris-common-cc" ],
CC => "cc",
CFLAGS => add_before(picker(debug => "-g",
release => "-xO5 -xdepend -xbuiltin")),
#### SPARC Solaris with GNU C setups
"solaris-sparcv7-gcc" => {
- inherit_from => [ "solaris-common" ],
+ inherit_from => [ "solaris-common-gcc" ],
CC => "gcc",
CFLAGS => add_before(picker(default => "-Wall",
debug => "-O0 -g",
# SC4.2 is ok, better than gcc even on bn as long as you tell it -xarch=v8
# SC5.0 note: Compiler common patch 107357-01 or later is required!
"solaris-sparcv7-cc" => {
- inherit_from => [ "solaris-common" ],
+ inherit_from => [ "solaris-common-cc" ],
CC => "cc",
CFLAGS => add_before(picker(debug => "-g",
release => "-xO5 -xdepend")),
shared_sonameflag => '-h ',
};
},
+ 'solaris-gcc-shared' => sub {
+ return $shared_info{'linux-shared'} if detect_gnu_ld();
+ return {
+ # Note: we should also have -shared here, but because some
+ # config targets define it with an added -static-libgcc
+ # following it, we don't want to change the order. This
+ # forces all solaris gcc config targets to define shared_ldflag
+ shared_ldflag => '-Wl,-Bsymbolic',
+ shared_defflag => "-Wl,-M,",
+ shared_sonameflag => "-Wl,-h,",
+ };
+ },
);