# targets; b) performance-critical 32-bit assembly modules implement
# even PA-RISC 2.0-specific code paths, which are chosen at run-time,
# thus adequate performance is provided even with PA-RISC 1.1 build.
- "hpux-parisc-gcc" => {
+ "hpux-common" => {
inherit_from => [ "BASE_unix" ],
+ template => 1,
+ defines => add("_XOPEN_SOURCE", "_XOPEN_SOURCE_EXTENDED",
+ "_HPUX_ALT_XOPEN_SOCKET_API"),
+ lib_cppflags => "-DB_ENDIAN",
+ thread_scheme => "pthreads",
+ dso_scheme => "dlfcn", # overridden in 32-bit PA-RISC builds
+ shared_target => "hpux-shared",
+ },
+ "hpux-parisc-gcc" => {
+ inherit_from => [ "hpux-common" ],
CC => "gcc",
CFLAGS => picker(debug => "-O0 -g",
release => "-O3"),
cflags => add(threads("-pthread")),
- lib_cppflags => "-DB_ENDIAN -DBN_DIV2W",
- ex_libs => add("-Wl,+s -ldld", threads("-pthread")),
- bn_ops => "BN_LLONG",
- thread_scheme => "pthreads",
+ lib_cppflags => add("-DBN_DIV2W"),
+ ex_libs => add("-ldld", threads("-pthread")),
+ bn_ops => "BN_LLONG RC4_CHAR",
dso_scheme => "dl",
- shared_target => "hpux-shared",
shared_cflag => "-fPIC",
shared_ldflag => "-shared",
shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)",
multilib => "/pa1.1",
},
"hpux64-parisc2-gcc" => {
- inherit_from => [ "BASE_unix", asm("parisc20_64_asm") ],
+ inherit_from => [ "hpux-common", asm("parisc20_64_asm") ],
CC => "gcc",
CFLAGS => combine(picker(debug => "-O0 -g",
release => "-O3")),
- cppflags => threads("-D_REENTRANT"),
- lib_cppflags => "-DB_ENDIAN",
- ex_libs => add("-ldl"),
+ cflags => add(threads("-pthread")),
+ ex_libs => add("-ldl", threads("-pthread")),
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
- thread_scheme => "pthreads",
- dso_scheme => "dlfcn",
- shared_target => "hpux-shared",
shared_cflag => "-fpic",
shared_ldflag => "-shared",
shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)",
# More attempts at unified 10.X and 11.X targets for HP C compiler.
"hpux-parisc-cc" => {
- inherit_from => [ "BASE_unix" ],
+ inherit_from => [ "hpux-common" ],
CC => "cc",
CFLAGS => picker(debug => "+O0 +d -g",
release => "+O3"),
cflags => "+Optrs_strongly_typed -Ae +ESlit",
cppflags => threads("-D_REENTRANT"),
- lib_cppflags => "-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY",
- ex_libs => add("-Wl,+s -ldld",threads("-lpthread")),
+ lib_cppflags => add("-DBN_DIV2W -DMD32_XARRAY"),
+ ex_libs => add("-ldld", threads("-lpthread")),
bn_ops => "RC4_CHAR",
- thread_scheme => "pthreads",
dso_scheme => "dl",
- shared_target => "hpux-shared",
shared_cflag => "+Z",
shared_ldflag => "-b",
shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)",
multilib => "/pa1.1",
},
"hpux64-parisc2-cc" => {
- inherit_from => [ "BASE_unix", asm("parisc20_64_asm") ],
+ inherit_from => [ "hpux-common", asm("parisc20_64_asm") ],
CC => "cc",
CFLAGS => picker(debug => "+O0 +d -g",
release => "+O3") ,
cflags => "+DD64 +Optrs_strongly_typed -Ae +ESlit",
cppflags => threads("-D_REENTRANT") ,
- lib_cppflags => "-DB_ENDIAN -DMD32_XARRAY",
- ex_libs => add("-ldl",threads("-lpthread")),
+ lib_cppflags => add("-DMD32_XARRAY"),
+ ex_libs => add("-ldl", threads("-lpthread")),
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
- thread_scheme => "pthreads",
- dso_scheme => "dlfcn",
- shared_target => "hpux-shared",
shared_cflag => "+Z",
shared_ldflag => "-b",
shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)",
# HP/UX IA-64 targets
"hpux-ia64-cc" => {
- inherit_from => [ "BASE_unix", asm("ia64_asm") ],
+ inherit_from => [ "hpux-common", asm("ia64_asm") ],
CC => "cc",
CFLAGS => picker(debug => "+O0 +d -g",
release => "+O2"),
cflags => "-Ae +DD32 +Olit=all -z",
cppflags => add(threads("-D_REENTRANT")),
- lib_cppflags => "-DB_ENDIAN",
- ex_libs => add("-ldl",threads("-lpthread")),
+ ex_libs => add("-ldl", threads("-lpthread")),
bn_ops => "SIXTY_FOUR_BIT",
- thread_scheme => "pthreads",
- dso_scheme => "dlfcn",
- shared_target => "hpux-shared",
shared_cflag => "+Z",
shared_ldflag => "-b",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "/hpux32",
},
"hpux64-ia64-cc" => {
- inherit_from => [ "BASE_unix", asm("ia64_asm") ],
+ inherit_from => [ "hpux-common", asm("ia64_asm") ],
CC => "cc",
CFLAGS => picker(debug => "+O0 +d -g",
release => "+O3"),
cflags => "-Ae +DD64 +Olit=all -z",
cppflags => threads("-D_REENTRANT"),
- lib_cppflags => "-DB_ENDIAN",
ex_libs => add("-ldl", threads("-lpthread")),
bn_ops => "SIXTY_FOUR_BIT_LONG",
- thread_scheme => "pthreads",
- dso_scheme => "dlfcn",
- shared_target => "hpux-shared",
shared_cflag => "+Z",
shared_ldflag => "-b",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
},
# GCC builds...
"hpux-ia64-gcc" => {
- inherit_from => [ "BASE_unix", asm("ia64_asm") ],
+ inherit_from => [ "hpux-common", asm("ia64_asm") ],
CC => "gcc",
CFLAGS => picker(debug => "-O0 -g",
release => "-O3"),
cflags => add(threads("-pthread")),
- lib_cppflags => "-DB_ENDIAN",
ex_libs => add("-ldl", threads("-pthread")),
bn_ops => "SIXTY_FOUR_BIT",
- thread_scheme => "pthreads",
- dso_scheme => "dlfcn",
- shared_target => "hpux-shared",
shared_cflag => "-fpic",
shared_ldflag => "-shared",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "/hpux32",
},
"hpux64-ia64-gcc" => {
- inherit_from => [ "BASE_unix", asm("ia64_asm") ],
+ inherit_from => [ "hpux-common", asm("ia64_asm") ],
CC => "gcc",
CFLAGS => picker(debug => "-O0 -g",
release => "-O3"),
cflags => combine("-mlp64", threads("-pthread")),
- lib_cppflags => "-DB_ENDIAN",
ex_libs => add("-ldl", threads("-pthread")),
bn_ops => "SIXTY_FOUR_BIT_LONG",
- thread_scheme => "pthreads",
- dso_scheme => "dlfcn",
- shared_target => "hpux-shared",
shared_cflag => "-fpic",
shared_ldflag => "-shared",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
thread_scheme => "(unknown)",
},
-# QNX
- "qnx4" => {
- inherit_from => [ "BASE_unix" ],
- CC => "cc",
- CFLAGS => "",
- lib_cppflags => "-DL_ENDIAN -DTERMIO",
- thread_scheme => "(unknown)",
- },
- "QNX6" => {
- inherit_from => [ "BASE_unix" ],
- CC => "gcc",
- ex_libs => add("-lsocket"),
- dso_scheme => "dlfcn",
- shared_target => "bsd-gcc-shared",
- shared_cflag => "-fPIC",
- shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
- },
- "QNX6-i386" => {
- inherit_from => [ "BASE_unix", asm("x86_elf_asm") ],
- CC => "gcc",
- CFLAGS => "-O2 -Wall",
- lib_cppflags => "-DL_ENDIAN",
- ex_libs => add("-lsocket"),
- dso_scheme => "dlfcn",
- shared_target => "bsd-gcc-shared",
- shared_cflag => "-fPIC",
- shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
- },
-
#### SCO/Caldera targets.
#
# Originally we had like unixware-*, unixware-*-pentium, unixware-*-p6, etc.
sub {
($disabled{shared} ? "" : "/MD");
})),
- defines => add(picker(debug => [ "DEBUG", "_DEBUG" ])),
+ defines => add(picker(default => [], # works as type cast
+ debug => [ "DEBUG", "_DEBUG" ])),
lib_cflags => add(sub { $disabled{shared} ? "/MT /Zl" : () }),
# Following might/should appears controversial, i.e. defining
# /MDd without evaluating $disabled{shared}. It works in