+## -*- mode: perl; -*-
## Standard openssl configuration targets.
##
## If you edit this file, run this command before committing
shared_extension => ".so",
},
+#### Solaros configirations
+ "solaris-common" => {
+ template => 1,
+ cflags => "-DFILIO_H",
+ lflags => "-lsocket -lnsl -ldl",
+ dso_scheme => "dlfcn",
+ shared_target => "solaris-shared",
+ shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ },
#### Solaris x86 with GNU C setups
"solaris-x86-gcc" => {
# -DOPENSSL_NO_INLINE_ASM switches off inline assembler. We have
# template it surrounds it with #APP #NO_APP comment pair which
# (at least Solaris 7_x86) /usr/ccs/bin/as fails to assemble
# with "Illegal mnemonic" error message.
- inherit_from => [ asm("x86_elf_asm") ],
+ inherit_from => [ "solaris-common", asm("x86_elf_asm") ],
cc => "gcc",
- cflags => "-march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM",
+ cflags => sub { join(" ","-march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM",@_) },
debug_cflags => "-O0 -g",
release_cflags => "-O3 -fomit-frame-pointer",
thread_cflag => "-pthread",
- lflags => "-lsocket -lnsl -ldl",
bn_ops => "BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}",
- dso_scheme => "dlfcn",
- shared_target => "solaris-shared",
shared_cflag => "-fPIC",
shared_ldflag => "-shared",
- shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
},
"solaris64-x86_64-gcc" => {
# -shared -static-libgcc might appear controversial, but modules
# code [thanks to inline assembler], I would actually recommend
# to consider using gcc shared build even with vendor compiler:-)
# <appro@fy.chalmers.se>
- inherit_from => [ asm("x86_64_asm") ],
+ inherit_from => [ "solaris-common", asm("x86_64_asm") ],
cc => "gcc",
- cflags => "-m64 -Wall -DL_ENDIAN",
+ cflags => sub { join(" ","-m64 -Wall -DL_ENDIAN",@_) },
debug_cflags => "-O0 -g",
release_cflags => "-O3",
thread_cflag => "-pthread",
- lflags => "-lsocket -lnsl -ldl",
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL",
perlasm_scheme => "elf",
- dso_scheme => "dlfcn",
- shared_target => "solaris-shared",
shared_cflag => "-fPIC",
shared_ldflag => "-m64 -shared -static-libgcc",
- shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
multilib => "/64",
},
#### Solaris x86 with Sun C setups
"solaris-x86-cc" => {
+ inherit_from => [ "solaris-common" ],
cc => "cc",
- cflags => "-xarch=generic -xstrconst -Xa -DL_ENDIAN",
+ cflags => sub { join(" ","-xarch=generic -xstrconst -Xa -DL_ENDIAN",@_) },
debug_cflags => "-g",
release_cflags => "-xO5 -xregs=frameptr -xdepend -xbuiltin",
thread_cflag => "-D_REENTRANT",
- lflags => "-lsocket -lnsl -ldl -mt -lpthread",
+ lflags => sub { join(" ",@_,"-mt -lpthread") },
bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR",
- dso_scheme => "dlfcn",
- shared_target => "solaris-shared",
shared_cflag => "-KPIC",
shared_ldflag => "-G -dy -z text",
- shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
},
"solaris64-x86_64-cc" => {
- inherit_from => [ asm("x86_64_asm") ],
+ inherit_from => [ "solaris-common", asm("x86_64_asm") ],
cc => "cc",
- cflags => "-xarch=generic64 -xstrconst -Xa -DL_ENDIAN",
+ cflags => sub { join(" ","-xarch=generic64 -xstrconst -Xa -DL_ENDIAN",@_) },
debug_cflags => "-g",
release_cflags => "-xO5 -xdepend -xbuiltin",
thread_cflag => "-D_REENTRANT",
- lflags => "-lsocket -lnsl -ldl -mt -lpthread",
+ lflags => sub { join(" ",@_,"-mt -lpthread") },
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL",
perlasm_scheme => "elf",
- dso_scheme => "dlfcn",
- shared_target => "solaris-shared",
shared_cflag => "-KPIC",
shared_ldflag => "-xarch=generic64 -G -dy -z text",
- shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
multilib => "/64",
},
#### SPARC Solaris with GNU C setups
"solaris-sparcv7-gcc" => {
+ inherit_from => [ "solaris-common" ],
cc => "gcc",
- cflags => "-Wall -DB_ENDIAN -DBN_DIV2W",
+ cflags => sub { join(" ","-Wall -DB_ENDIAN -DBN_DIV2W",@_) },
debug_cflags => "-O0 -g",
release_cflags => "-O3",
thread_cflag => "-pthread",
- lflags => "-lsocket -lnsl -ldl",
bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR",
- dso_scheme => "dlfcn",
- shared_target => "solaris-shared",
shared_cflag => "-fPIC",
shared_ldflag => "-shared",
- shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
},
"solaris-sparcv8-gcc" => {
inherit_from => [ "solaris-sparcv7-gcc", asm("sparcv8_asm") ],
},
"solaris-sparcv9-gcc" => {
# -m32 should be safe to add as long as driver recognizes
- # -mcpu=ultrasparc
+ # -mcpu=ultrasparc
inherit_from => [ "solaris-sparcv7-gcc", asm("sparcv9_asm") ],
- cc => "gcc",
cflags => sub { join(" ","-m32 -mcpu=ultrasparc",@_); },
debug_cflags => "-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -DPEDANTIC -O -g -pedantic -ansi -Wshadow -Wno-long-long -D__EXTENSIONS__",
- release_cflags => "-O3",
},
"solaris64-sparcv9-gcc" => {
inherit_from => [ "solaris-sparcv9-gcc" ],
- cc => "gcc",
- cflags => "-m64 -mcpu=ultrasparc -Wall -DB_ENDIAN",
+ cflags => sub { my $f=join(" ",@_); $f =~ s/\-m32/-m64/; $f; },
bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR",
shared_ldflag => "-m64 -shared",
multilib => "/64",
# 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" ],
cc => "cc",
- cflags => "-xstrconst -Xa -DB_ENDIAN -DBN_DIV2W",
+ cflags => sub { join(" ","-xstrconst -Xa -DB_ENDIAN -DBN_DIV2W",@_) },
debug_cflags => "-g -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL",
release_cflags => "-xO5 -xdepend",
thread_cflag => "-D_REENTRANT",
- lflags => "-lsocket -lnsl -ldl -mt -lpthread",
+ lflags => sub { join(" ",@_,"-mt -lpthread") },
bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR",
- dso_scheme => "dlfcn",
- shared_target => "solaris-shared",
shared_cflag => "-KPIC",
shared_ldflag => "-G -dy -z text",
- shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
},
####
"solaris-sparcv8-cc" => {
cc => "gcc",
cflags => "-mno-cygwin -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -march=i486 -Wall",
debug_cflags => "-g -O0",
- release_clags => "-O3 -fomit-frame-pointer",
+ release_cflags => "-O3 -fomit-frame-pointer",
thread_cflag => "-D_MT",
sys_id => "MINGW32",
lflags => "-lws2_32 -lgdi32 -lcrypt32",
cc => "gcc",
cflags => "-mno-cygwin -DL_ENDIAN -Wall -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE",
debug_cflags => "-g -O0",
- release_clags => "-O3",
+ release_cflags => "-O3",
thread_cflag => "-D_MT",
sys_id => "MINGW64",
lflags => "-lws2_32 -lgdi32 -lcrypt32",
cc => "gcc",
cflags => "-DTERMIOS -DL_ENDIAN -march=i486 -Wall",
debug_cflags => "-g -O0",
- release_clags => "-O3 -fomit-frame-pointer",
+ release_cflags => "-O3 -fomit-frame-pointer",
sys_id => "CYGWIN",
bn_ops => "BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}",
perlasm_scheme => "coff",
cc => "gcc",
cflags => "-DTERMIOS -DL_ENDIAN -Wall",
debug_cflags => "-g -O0",
- release_clags => "-O3",
+ release_cflags => "-O3",
sys_id => "CYGWIN",
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL",
perlasm_scheme => "mingw64",