thread_scheme => "(unknown)", # Assume we don't know
thread_defines => [],
- rmd160_asm_src => "",
- rc5_asm_src => "rc5_enc.c",
- wp_asm_src => "wp_block.c",
- cmll_asm_src => "camellia.c cmll_misc.c cmll_cbc.c",
- modes_asm_src => "",
- padlock_asm_src => "",
- chacha_asm_src => "chacha_enc.c",
- poly1305_asm_src => "",
- keccak1600_asm_src => "keccak1600.c",
-
unistd => "<unistd.h>",
shared_target => "",
shared_cflag => "",
build_scheme => [ "unified", "unix" ],
build_file => "Makefile",
- AR => "ar",
- ARFLAGS => "r",
+ AR => "(unused)",
+ ARFLAGS => "(unused)",
CC => "cc",
HASHBANGPERL => "/usr/bin/env perl",
RANLIB => sub { which("$config{cross_compile_prefix}ranlib")
defines =>
sub {
- my @defs = ();
+ my @defs = ( 'OPENSSL_BUILDING_OPENSSL' );
+ push @defs, "BROTLI" unless $disabled{brotli};
+ push @defs, "BROTLI_SHARED" unless $disabled{"brotli-dynamic"};
push @defs, "ZLIB" unless $disabled{zlib};
push @defs, "ZLIB_SHARED" unless $disabled{"zlib-dynamic"};
+ push @defs, "ZSTD" unless $disabled{zstd};
+ push @defs, "ZSTD_SHARED" unless $disabled{"zstd-dynamic"};
return [ @defs ];
},
includes =>
sub {
my @incs = ();
+ push @incs, $withargs{brotli_include}
+ if !$disabled{brotli} && $withargs{brotli_include};
push @incs, $withargs{zlib_include}
if !$disabled{zlib} && $withargs{zlib_include};
+ push @incs, $withargs{zstd_include}
+ if !$disabled{zstd} && $withargs{zstd_include};
return [ @incs ];
},
},
template => 1,
AR => "ar",
- ARFLAGS => "r",
+ ARFLAGS => "qc",
CC => "cc",
lflags =>
- sub { $withargs{zlib_lib} ? "-L".$withargs{zlib_lib} : () },
+ sub {
+ my @libs = ();
+ push(@libs, "-L".$withargs{zlib_lib}) if $withargs{zlib_lib};
+ push(@libs, "-L".$withargs{brotli_lib}) if $withargs{brotli_lib};
+ push(@libs, "-L".$withargs{zstd_lib}) if $withargs{zstd_lib};
+ return join(" ", @libs);
+ },
ex_libs =>
- sub { !defined($disabled{zlib})
- && defined($disabled{"zlib-dynamic"})
- ? "-lz" : () },
+ sub {
+ my @libs = ();
+ push(@libs, "-lz") if !defined($disabled{zlib}) && defined($disabled{"zlib-dynamic"});
+ if (!defined($disabled{brotli}) && defined($disabled{"brotli-dynamic"})) {
+ push(@libs, "-lbrotlienc");
+ push(@libs, "-lbrotlidec");
+ push(@libs, "-lbrotlicommon");
+ push(@libs, "-lm");
+ }
+ push(@libs, "-lzstd") if !defined($disabled{zstd}) && defined($disabled{"zstd-dynamic"});
+ return join(" ", @libs);
+ },
HASHBANGPERL => "/usr/bin/env perl", # Only Unix actually cares
RANLIB => sub { which("$config{cross_compile_prefix}ranlib")
? "ranlib" : "" },
},
ex_libs =>
sub {
+ my @libs = ();
unless ($disabled{zlib}) {
if (defined($disabled{"zlib-dynamic"})) {
- return $withargs{zlib_lib} // "ZLIB1";
+ push(@libs, $withargs{zlib_lib} // "ZLIB1");
+ }
+ }
+ unless ($disabled{zstd}) {
+ if (defined($disabled{"zstd-dynamic"})) {
+ push(@libs, $withargs{zstd_lib} // "libzstd");
+ }
+ }
+ unless ($disabled{brotli}) {
+ if (defined($disabled{"brotli-dynamic"})) {
+ my $path = "";
+ if (defined($withargs{brotli_lib})) {
+ $path = $withargs{brotli_lib} . "\\";
+ }
+ push(@libs, $path . "brotlicommon.lib");
+ push(@libs, $path . "brotlidec.lib");
+ push(@libs, $path . "brotlienc.lib");
}
}
- return ();
+ return join(" ", @libs);
},
- LD => "link",
- LDFLAGS => "/nologo",
- ldoutflag => "/out:",
- AR => "lib",
- ARFLAGS => "/nologo",
- aroutflag => "/out:",
- RC => "rc",
- rcoutflag => "/fo",
MT => "mt",
MTFLAGS => "-nologo",
mtinflag => "-manifest ",
perl_platform => 'VMS',
},
-
- x86_asm => {
- template => 1,
- rmd160_asm_src => "rmd-586.s",
- rc5_asm_src => "rc5-586.s",
- wp_asm_src => "wp_block.c wp-mmx.s",
- cmll_asm_src => "cmll-x86.s",
- modes_asm_src => "ghash-x86.s",
- padlock_asm_src => "e_padlock-x86.s",
- chacha_asm_src => "chacha-x86.s",
- poly1305_asm_src=> "poly1305-x86.s",
- },
- x86_elf_asm => {
- template => 1,
- inherit_from => [ "x86_asm" ],
- },
- x86_64_asm => {
- template => 1,
- wp_asm_src => "wp-x86_64.s",
- cmll_asm_src => "cmll-x86_64.s cmll_misc.c",
- modes_asm_src => "ghash-x86_64.s aesni-gcm-x86_64.s",
- padlock_asm_src => "e_padlock-x86_64.s",
- chacha_asm_src => "chacha-x86_64.s",
- poly1305_asm_src=> "poly1305-x86_64.s",
- keccak1600_asm_src => "keccak1600-x86_64.s",
- },
- ia64_asm => {
- template => 1,
- modes_asm_src => "ghash-ia64.s",
- chacha_asm_src => "chacha-ia64.S",
- poly1305_asm_src=> "asm/poly1305-ia64.S",
- },
- sparcv9_asm => {
- template => 1,
- cmll_asm_src => "camellia.c cmll_misc.c cmll_cbc.c cmllt4-sparcv9.S",
- modes_asm_src => "ghash-sparcv9.S",
- poly1305_asm_src=> "poly1305-sparcv9.S",
- },
- sparcv8_asm => {
- template => 1,
- },
- alpha_asm => {
- template => 1,
- modes_asm_src => "ghash-alpha.S",
- },
- mips32_asm => {
- template => 1,
- },
- mips64_asm => {
- inherit_from => [ "mips32_asm" ],
- template => 1,
- poly1305_asm_src=> "poly1305-mips.S",
- },
- s390x_asm => {
- template => 1,
- modes_asm_src => "ghash-s390x.S",
- chacha_asm_src => "chacha-s390x.S",
- poly1305_asm_src=> "poly1305-s390x.S",
- keccak1600_asm_src => "keccak1600-s390x.S",
- },
- armv4_asm => {
- template => 1,
- modes_asm_src => "ghash-armv4.S ghashv8-armx.S",
- chacha_asm_src => "chacha-armv4.S",
- poly1305_asm_src=> "poly1305-armv4.S",
- keccak1600_asm_src => "keccak1600-armv4.S",
- },
- aarch64_asm => {
- template => 1,
- modes_asm_src => "ghashv8-armx.S",
- chacha_asm_src => "chacha-armv8.S",
- poly1305_asm_src=> "poly1305-armv8.S",
- keccak1600_asm_src => "keccak1600-armv8.S",
- },
- parisc11_asm => {
- template => 1,
- modes_asm_src => "ghash-parisc.s",
- },
- parisc20_64_asm => {
- template => 1,
- inherit_from => [ "parisc11_asm" ],
- },
- ppc32_asm => {
- template => 1,
- modes_asm_src => "ghashp8-ppc.s",
- chacha_asm_src => "chacha-ppc.s",
- poly1305_asm_src=> "poly1305-ppc.s poly1305-ppcfp.s",
- },
- ppc64_asm => {
- inherit_from => [ "ppc32_asm" ],
- template => 1,
- keccak1600_asm_src => "keccak1600-ppc64.s",
- },
);