# -*- Mode: perl -*- my %targets=( DEFAULTS => { template => 1, cflags => "", cppflags => "", lflags => "", defines => [], includes => [], lib_cflags => "", lib_cppflags => "", lib_defines => [], thread_scheme => "(unknown)", # Assume we don't know thread_defines => [], unistd => "", shared_target => "", shared_cflag => "", shared_defines => [], shared_ldflag => "", shared_rcflag => "", #### Defaults for the benefit of the config targets who don't inherit #### a BASE and assume Unix defaults #### THESE WILL DISAPPEAR IN OpenSSL 1.2 build_scheme => [ "unified", "unix" ], build_file => "Makefile", AR => "ar", ARFLAGS => "r", CC => "cc", HASHBANGPERL => "/usr/bin/env perl", RANLIB => sub { which("$config{cross_compile_prefix}ranlib") ? "ranlib" : "" }, RC => "windres", #### THESE WILL BE ENABLED IN OpenSSL 1.2 #HASHBANGPERL => "PERL", # Only Unix actually cares }, BASE_common => { template => 1, enable => [], disable => [], defines => sub { my @defs = (); push @defs, "ZLIB" unless $disabled{zlib}; push @defs, "ZLIB_SHARED" unless $disabled{"zlib-dynamic"}; return [ @defs ]; }, includes => sub { my @incs = (); push @incs, $withargs{zlib_include} if !$disabled{zlib} && $withargs{zlib_include}; return [ @incs ]; }, }, BASE_unix => { inherit_from => [ "BASE_common" ], template => 1, AR => "ar", ARFLAGS => "r", CC => "cc", lflags => sub { $withargs{zlib_lib} ? "-L".$withargs{zlib_lib} : () }, ex_libs => sub { !defined($disabled{zlib}) && defined($disabled{"zlib-dynamic"}) ? "-lz" : () }, HASHBANGPERL => "/usr/bin/env perl", # Only Unix actually cares RANLIB => sub { which("$config{cross_compile_prefix}ranlib") ? "ranlib" : "" }, RC => "windres", build_scheme => [ "unified", "unix" ], build_file => "Makefile", perl_platform => 'Unix', }, BASE_Windows => { inherit_from => [ "BASE_common" ], template => 1, lib_defines => sub { my @defs = (); unless ($disabled{"zlib-dynamic"}) { my $zlib = $withargs{zlib_lib} // "ZLIB1"; push @defs, 'LIBZ=' . (quotify("perl", $zlib))[0]; } return [ @defs ]; }, ex_libs => sub { unless ($disabled{zlib}) { if (defined($disabled{"zlib-dynamic"})) { return $withargs{zlib_lib} // "ZLIB1"; } } return (); }, LD => "link", LDFLAGS => "/nologo", ldoutflag => "/out:", AR => "lib", ARFLAGS => "/nologo", aroutflag => "/out:", RC => "rc", rcoutflag => "/fo", MT => "mt", MTFLAGS => "-nologo", mtinflag => "-manifest ", mtoutflag => "-outputresource:", build_file => "makefile", build_scheme => [ "unified", "windows" ], perl_platform => 'Windows', }, BASE_VMS => { inherit_from => [ "BASE_common" ], template => 1, includes => add(sub { my @incs = (); # GNV$ZLIB_INCLUDE is the standard logical name for later # zlib incarnations. push @incs, 'GNV$ZLIB_INCLUDE:' if !$disabled{zlib} && !$withargs{zlib_include}; return [ @incs ]; }), build_file => "descrip.mms", build_scheme => [ "unified", "VMS" ], perl_platform => 'VMS', }, x86_asm => { template => 1, }, x86_elf_asm => { template => 1, inherit_from => [ "x86_asm" ], }, x86_64_asm => { template => 1, }, ia64_asm => { template => 1, }, sparcv9_asm => { template => 1, }, sparcv8_asm => { template => 1, }, alpha_asm => { template => 1, }, mips32_asm => { template => 1, }, mips64_asm => { inherit_from => [ "mips32_asm" ], template => 1, }, s390x_asm => { template => 1, }, armv4_asm => { template => 1, }, aarch64_asm => { template => 1, }, parisc11_asm => { template => 1, }, parisc20_64_asm => { template => 1, inherit_from => [ "parisc11_asm" ], }, ppc32_asm => { template => 1, }, ppc64_asm => { inherit_from => [ "ppc32_asm" ], template => 1, }, );