#### MinGW
"mingw" => {
inherit_from => [ asm("x86_asm"),
- sub { $config{no_shared} ? () : "x86_uplink" } ],
+ sub { $disabled{shared} ? () : "x86_uplink" } ],
cc => "gcc",
cflags => "-DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE -m32 -Wall",
debug_cflags => "-g -O0",
Together with the use of Text::Template, this can be used as
conditions based on something in the passed variables, for example:
- IF[{- $config{no_shared} -}]
+ IF[{- $disabled{shared} -}]
LIBS=libcrypto
SOURCE[libcrypto]=...
ELSE
# built.
sub dolib {
my $lib = shift;
- if (!$config{no_shared}) {
+ unless ($disabled{shared}) {
my %ordinals =
$unified_info{ordinals}->{$lib}
? (ordinals => $unified_info{ordinals}->{$lib}) : ();
{- join("\n ",
map { "COPY/PROT=W:R $_.OLB ossl_installroot:[LIB.'arch']" }
@{$unified_info{libraries}}) -}
- @ {- output_off() if $config{no_shared}; "" -} !
+ @ {- output_off() if $disabled{shared}; "" -} !
{- join("\n ",
map { "COPY/PROT=W:RE $_.EXE ossl_installroot:[LIB.'arch']" }
map { $unified_info{sharednames}->{$_} || () }
@{$unified_info{libraries}}) -}
- @ {- output_on() if $config{no_shared}; "" -} !
+ @ {- output_on() if $disabled{shared}; "" -} !
install_runtime : check_INSTALLTOP
@ WRITE SYS$OUTPUT "*** Installing runtime files"
WRITE CONFIG "our %config = ("
WRITE CONFIG " target => '{- $config{target} -}',"
WRITE CONFIG " version => '$(MAJOR).$(MINOR)',"
- WRITE CONFIG " no_shared => '","{- $config{no_shared} -}","',"
+ WRITE CONFIG " no_shared => '","{- $disabled{shared} -}","',"
WRITE CONFIG " INSTALLTOP => '$(INSTALLTOP)',"
WRITE CONFIG " OPENSSLDIR => '$(OPENSSLDIR)',"
WRITE CONFIG " pointersize => '","{- $target{pointersize} -}","',"
my $libn = basename($lib);
(my $mkdef_key = $libn) =~ s/^${osslprefix_q}lib//i;
my @deps = map {
- $config{no_shared} ? $_.".OLB"
+ $disabled{shared} ? $_.".OLB"
: $unified_info{sharednames}->{$_}.".EXE"; } @{$args{deps}};
my $deps = join(", -\n\t\t", @deps);
- my $shlib_target = $config{no_shared} ? "" : $target{shared_target};
+ my $shlib_target = $disabled{shared} ? "" : $target{shared_target};
my $ordinalsfile = defined($args{ordinals}) ? $args{ordinals}->[1] : "";
my $engine_opt = abs2rel(rel2abs(catfile($config{sourcedir},
"VMS", "engine.opt")),
(my $libn_nolib = $libn) =~ s/^lib//;
my @objs = map { "$_.OBJ" } @{$args{objs}};
my @deps = map {
- $config{no_shared} ? $_.".OLB"
+ $disabled{shared} ? $_.".OLB"
: $unified_info{sharednames}->{$_}.".EXE"; } @{$args{deps}};
my $deps = join(", -\n\t\t", @objs, @deps);
- my $shlib_target = $config{no_shared} ? "" : $target{shared_target};
+ my $shlib_target = $disabled{shared} ? "" : $target{shared_target};
my $engine_opt = abs2rel(rel2abs(catfile($config{sourcedir},
"VMS", "engine.opt")),
rel2abs($config{builddir}));
my $binn = basename($bin);
my @objs = map { "$_.OBJ" } @{$args{objs}};
my @deps = map {
- $config{no_shared} ? $_.".OLB"
+ $disabled{shared} ? $_.".OLB"
: $unified_info{sharednames}->{$_}.".EXE"; } @{$args{deps}};
my $deps = join(", -\n\t\t", @objs, @deps);
# The "[]" hack is because in .OPT files, each line inherits the
# removed. On some systems, they may therefore return the exact same
# string.
sub shlib {
- return () if $config{no_shared};
+ return () if $disabled{shared};
my $lib = shift;
return $unified_info{sharednames}->{$lib} . $shlibext;
}
sub shlib_simple {
- return () if $config{no_shared};
+ return () if $disabled{shared};
my $lib = shift;
if (windowsdll()) {
mv -f $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn.new \
$(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn; \
done
- @ : {- output_off() if $config{no_shared}; "" -}
+ @ : {- output_off() if $disabled{shared}; "" -}
@set -e; for s in $(SHLIB_INFO); do \
s1=`echo "$$s" | cut -f1 -d";"`; \
s2=`echo "$$s" | cut -f2 -d";"`; \
$(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2; \
: {- output_on() unless windowsdll(); "" -}; \
done
- @ : {- output_on() if $config{no_shared}; "" -}
+ @ : {- output_on() if $disabled{shared}; "" -}
@$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
@echo "install libcrypto.pc -> $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc"
@cp libcrypto.pc $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn"; \
$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn; \
done
- @ : {- output_off() if $config{no_shared}; "" -}
+ @ : {- output_off() if $disabled{shared}; "" -}
@set -e; for s in $(SHLIB_INFO); do \
s1=`echo "$$s" | cut -f1 -d";"`; \
s2=`echo "$$s" | cut -f2 -d";"`; \
$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2; \
: {- output_on() unless windowsdll(); "" -}; \
done
- @ : {- output_on() if $config{no_shared}; "" -}
+ @ : {- output_on() if $disabled{shared}; "" -}
@echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc"
@$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc
@echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libssl.pc"
# Helper function to figure out dependencies on libraries
# It takes a list of library names and outputs a list of dependencies
sub compute_lib_depends {
- if ($config{no_shared}) {
+ if ($disabled{shared}) {
return map { $_.$libext } @_;
}
$d = "." if $d eq $f;
(my $l = $f) =~ s/^lib//;
" -L$d -l$l" } @{$args{deps}});
- my $shlib_target = $config{no_shared} ? "" : $target{shared_target};
+ my $shlib_target = $disabled{shared} ? "" : $target{shared_target};
return <<"EOF";
$bin$exeext: $objs $deps
\$(RM) $bin$exeext
$config{baseaddr}="0xFB00000";
my $no_threads=0;
my $threads=0;
-$config{no_shared}=0; # but "no-shared" is default
my $zlib=1; # but "no-zlib" is default
my $no_rfc3779=0;
my $no_asm=0;
elsif (/^threads$/)
{ $no_threads = 1; }
elsif (/^shared$/)
- { $config{no_shared} = 1; }
+ { }
elsif (/^pic$/)
{ }
elsif (/^zlib$/)
if ($target{shared_target} eq "")
{
$no_shared_warn = 1
- if ((!$config{no_shared} || !$disabled{"dynamic-engine"})
+ if ((!$disabled{shared} || !$disabled{"dynamic-engine"})
&& !$config{fips});
- $config{no_shared} = 1;
+ $disabled{shared} = "no-shared-target";
$disabled{pic} = $disabled{shared} = $disabled{"dynamic-engine"} =
"no-shared-target";
}
push @{$unified_info{rawlines}}, @rawlines;
- if (!$config{no_shared}) {
+ unless ($disabled{shared}) {
# Check sharednames.
foreach (keys %sharednames) {
my $dest = cleanfile($buildd, $_, $blddir);
LIBS= libcrypto.a libssl.a
SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
SHARED_SSL=libssl$(SHLIB_EXT)
-SHARED_LIBS={- '$(SHARED_CRYPTO) $(SHARED_SSL)' if (!$config{no_shared}) -}
+SHARED_LIBS={- '$(SHARED_CRYPTO) $(SHARED_SSL)' unless $disabled{shared} -}
SHARED_CFLAG={- $target{shared_cflag} -}
SHARED_LDFLAG={- $target{shared_ldflag}
# Unlike other OSes (like Solaris, Linux, Tru64,
$ DEAS OSSL$SHARE'v'
$ DEAS OSSL$ENGINES'v'
$ DEAS OSSL$EXE'v'
-$ {- output_off() if $config{no_shared} -}
+$ {- output_off() if $disabled{shared} -}
$ {- join("\n\$ ", map { "DEAS $_'v'" } map { $unified_info{sharednames}->{$_} || () } @{$unified_info{libraries}}) -}
$ {- output_on() -}
$ IF P2 .NES. "NOALIASES"
$ DEAS OSSL$ENGINES
$ DEAS OSSL$EXE
$ DEAS OPENSSL
-$ {- output_off() if $config{no_shared} -}
+$ {- output_off() if $disabled{shared} -}
$ {- join("\n\$ ", map { "DEAS $_" } map { $unified_info{sharednames}->{$_} || () } @{$unified_info{libraries}}) -}
$ {- output_on() -}
$ ENDIF
$ DEF OSSL$SHARE'v' OSSL$INSTROOT:['arch'.LIB]
$ DEF OSSL$ENGINES'v' OSSL$INSTROOT:['arch'.ENGINES]
$ DEF OSSL$EXE'v' OSSL$INSTROOT:['arch'.EXE]
-$ {- output_off() if $config{no_shared} -}
+$ {- output_off() if $disabled{shared} -}
$ {- join("\n\$ ", map { "DEF $_'v' OSSL\$SHARE:$_" } map { $unified_info{sharednames}->{$_} || () } @{$unified_info{libraries}}) -}
$ {- output_on() -}
$ IF P2 .NES. "NOALIASES"
$ DEF OSSL$ENGINES OSSL$ENGINES'v'
$ DEF OSSL$EXE OSSL$EXE'v'
$ DEF OPENSSL OSSL$INCLUDE:[OPENSSL]
-$ {- output_off() if $config{no_shared} -}
+$ {- output_off() if $disabled{shared} -}
$ {- join("\n\$ ", map { "DEF $_ $_'v'" } map { $unified_info{sharednames}->{$_} || () } @{$unified_info{libraries}}) -}
$ {- output_on() -}
$ ENDIF