our $osslprefix = 'OSSL$';
(our $osslprefix_q = $osslprefix) =~ s/\$/\\\$/;
+ our $sover = sprintf "%02d%02d", $config{shlib_major}, $config{shlib_minor};
+ our $osslver = sprintf "%02d%02d", split(/\./, $config{version});
+
our $sourcedir = $config{sourcedir};
our $builddir = $config{builddir};
sub sourcefile {
DESTDIR=
# Do not edit this manually. Use Configure --prefix=DIR to change this!
-INSTALLTOP={- (my $x = $config{version}) =~ s|\.|_|g;
- our $installtop =
- catdir($config{prefix}) || "SYS\$COMMON:[OPENSSL-$x]";
+INSTALLTOP={- our $installtop =
+ catdir($config{prefix}) || "SYS\$COMMON:[OPENSSL]";
$installtop -}
SYSTARTUP={- catdir($installtop, '[.SYS$STARTUP]'); -}
# This is the standard central area to store certificates, private keys...
OPENSSLDIR={- catdir($config{openssldir}) ||
$config{prefix} ? catdir($config{prefix},"COMMON")
: "SYS\$COMMON:[OPENSSL-COMMON]" -}
-# Where installed engines reside
-ENGINESDIR={- $osslprefix -}ENGINES:
+# The same, but for C
+OPENSSLDIR_C={- $osslprefix -}DATAROOT:[000000]
+# Where installed engines reside, for C
+ENGINESDIR_C={- $osslprefix -}ENGINES{- $sover.$target{pointer_size} -}:
CC= {- $target{cc} -}
-CFLAGS= /DEFINE=({- join(",", @{$target{defines}}, @{$config{defines}},"OPENSSLDIR=\"\"\"\$(OPENSSLDIR)\"\"\"","ENGINESDIR=\"\"\"\$(ENGINESDIR)\"\"\"") -}) {- $target{cflags} -} {- $config{cflags} -}
+CFLAGS= /DEFINE=({- join(",", @{$target{defines}}, @{$config{defines}},"OPENSSLDIR=\"\"\"\$(OPENSSLDIR_C)\"\"\"","ENGINESDIR=\"\"\"\$(ENGINESDIR_C)\"\"\"") -}) {- $target{cflags} -} {- $config{cflags} -}
CFLAGS_Q=$(CFLAGS)
DEPFLAG= /DEFINE=({- join(",", @{$config{depdefines}}) -})
LDFLAGS= {- $target{lflags} -}
depend
build_libs : build_generated, build_libs_nodep, depend
-build_libs_nodep : $(LIBS)
+build_libs_nodep : $(LIBS), $(SHLIBS)
build_engines : build_generated, build_engines_nodep, depend
build_engines_nodep : $(ENGINES)
build_apps : build_generated, build_apps_nodep, depend
@ IF "$(DESTDIR)" .EQS. "" THEN -
PIPE ( WRITE SYS$OUTPUT "Installation complete" ; -
WRITE SYS$OUTPUT "" ; -
- WRITE SYS$OUTPUT "Run @$(INSTALLTOP)openssl_startup to set up logical names" ; -
- WRITE SYS$OUTPUT "then run @$(INSTALLTOP)openssl_setup to define commands" ; -
+ WRITE SYS$OUTPUT "Run @$(SYSTARTUP)openssl_startup{- $osslver -} to set up logical names" ; -
+ WRITE SYS$OUTPUT "then run @$(SYSTARTUP)openssl_utils{- $osslver -} to define commands" ; -
WRITE SYS$OUTPUT "" )
@ IF "$(DESTDIR)" .NES. "" THEN -
PIPE ( WRITE SYS$OUTPUT "Staging installation complete" ; -
WRITE SYS$OUTPUT "ends up in $(OPENSSLDIR)" ; -
WRITE SYS$OUTPUT "" ; -
WRITE SYS$OUTPUT "When in its final destination," ; -
- WRITE SYS$OUTPUT "Run @$(SYSTARTUP)openssl_startup to set up logical names" ; -
- WRITE SYS$OUTPUT "then run @$(SYSTARTUP)openssl_utils to define commands" ; -
+ WRITE SYS$OUTPUT "Run @$(SYSTARTUP)openssl_startup{- $osslver -} to set up logical names" ; -
+ WRITE SYS$OUTPUT "then run @$(SYSTARTUP)openssl_utils{- $osslver -} to define commands" ; -
WRITE SYS$OUTPUT "" )
+check_install :
+ spawn/nolog @ossl_installroot:[SYSTEST]openssl_ivp{- $osslver -}.com
+
uninstall : uninstall_docs uninstall_sw
# Because VMS wants the generation number (or *) to delete files, we can't
# Install helper targets #############################################
-install_sw : all install_dev install_engines install_runtime install_startup
+install_sw : all install_dev install_engines install_runtime install_startup install_ivp
-uninstall_sw : uninstall_dev uninstall_engines uninstall_runtime uninstall_startup
+uninstall_sw : uninstall_dev uninstall_engines uninstall_runtime uninstall_startup uninstall_ivp
install_docs : install_html_docs
@ WRITE SYS$OUTPUT "*** Installing runtime files"
@ ! Install the main program
- CREATE/DIR ossl_installroot:[EXE.'arch']
- COPY/PROT=W:RE [.APPS]openssl.EXE ossl_installroot:[EXE.'arch']
+ COPY/PROT=W:RE [.APPS]openssl.EXE -
+ ossl_installroot:[EXE.'arch']openssl{- $osslver -}.EXE
@ ! Install scripts
- - CREATE/DIR ossl_installroot:[EXE]
COPY/PROT=W:RE $(BIN_SCRIPTS) ossl_installroot:[EXE]
@ ! {- output_on() if $disabled{apps}; "" -}
install_engines : check_INSTALLTOP
@ {- output_off() unless scalar @{$unified_info{engines}}; "" -} !
@ WRITE SYS$OUTPUT "*** Installing engines"
- - CREATE/DIR ossl_installroot:[ENGINES.'arch']
+ - CREATE/DIR ossl_installroot:[ENGINES{- $sover.$target{pointer_size} -}.'arch']
{- join("\n ",
- map { "COPY/PROT=W:RE $_.EXE ossl_installroot:[ENGINES.'arch']" }
+ map { "COPY/PROT=W:RE $_.EXE ossl_installroot:[ENGINES$sover$target{pointer_size}.'arch']" }
grep(!m|ossltest$|i, @{$unified_info{engines}})) -}
@ {- output_on() unless scalar @{$unified_info{engines}}; "" -} !
install_startup : [.VMS]openssl_startup.com [.VMS]openssl_shutdown.com -
- check_INSTALLTOP
+ [.VMS]openssl_utils.com, check_INSTALLTOP
- CREATE/DIR ossl_installroot:[SYS$STARTUP]
- COPY/PROT=W:RE -
- [.VMS]openssl_startup.com,openssl_startup.com -
- ossl_installroot:[SYS$STARTUP]
- COPY/PROT=W:RE -
- [.VMS]openssl_startup.com,openssl_shutdown.com -
- ossl_installroot:[SYS$STARTUP]
- COPY/PROT=W:RE -
- {- sourcefile("VMS", "openssl_utils.com") -} -
- ossl_installroot:[SYS$STARTUP]
+ COPY/PROT=W:RE [.VMS]openssl_startup.com -
+ ossl_installroot:[SYS$STARTUP]openssl_startup{- $osslver -}.com
+ COPY/PROT=W:RE [.VMS]openssl_shutdown.com -
+ ossl_installroot:[SYS$STARTUP]openssl_shutdown{- $osslver -}.com
+ COPY/PROT=W:RE [.VMS]openssl_utils.com -
+ ossl_installroot:[SYS$STARTUP]openssl_utils{- $osslver -}.com
+
+install_ivp : [.VMS]openssl_ivp.com check_INSTALLTOP
+ - CREATE/DIR ossl_installroot:[SYSTEST]
+ COPY/PROT=W:RE [.VMS]openssl_ivp.com -
+ ossl_installroot:[SYSTEST]openssl_ivp{- $osslver -}.com
[.VMS]openssl_startup.com : vmsconfig.pm {- sourcefile("VMS", "openssl_startup.com.in") -}
- CREATE/DIR [.VMS]
{- sourcefile("VMS", "openssl_startup.com.in") -} -
> [.VMS]openssl_startup.com
+[.VMS]openssl_utils.com : vmsconfig.pm {- sourcefile("VMS", "openssl_utils.com.in") -}
+ - CREATE/DIR [.VMS]
+ $(PERL) "-I." "-Mvmsconfig" {- sourcefile("util", "dofile.pl") -} -
+ {- sourcefile("VMS", "openssl_utils.com.in") -} -
+ > [.VMS]openssl_utils.com
+
[.VMS]openssl_shutdown.com : vmsconfig.pm {- sourcefile("VMS", "openssl_shutdown.com.in") -}
- CREATE/DIR [.VMS]
$(PERL) "-I." "-Mvmsconfig" {- sourcefile("util", "dofile.pl") -} -
{- sourcefile("VMS", "openssl_shutdown.com.in") -} -
> [.VMS]openssl_shutdown.com
+[.VMS]openssl_ivp.com : vmsconfig.pm {- sourcefile("VMS", "openssl_ivp.com.in") -}
+ - CREATE/DIR [.VMS]
+ $(PERL) "-I." "-Mvmsconfig" {- sourcefile("util", "dofile.pl") -} -
+ {- sourcefile("VMS", "openssl_ivp.com.in") -} -
+ > [.VMS]openssl_ivp.com
+
vmsconfig.pm : configdata.pm
OPEN/WRITE/SHARE=READ CONFIG []vmsconfig.pm
WRITE CONFIG "package vmsconfig;"
WRITE CONFIG "our @ISA = qw(Exporter);"
WRITE CONFIG "our @EXPORT = qw(%config %target %withargs %unified_info %disabled);"
WRITE CONFIG "our %config = ("
- WRITE CONFIG " target => '{- $config{target} -}',"
- WRITE CONFIG " version => '$(MAJOR).$(MINOR)',"
+ WRITE CONFIG " target => '","{- $config{target} -}","',"
+ WRITE CONFIG " version => '","{- $config{version} -}","',"
+ WRITE CONFIG " shlib_major => '","{- $config{shlib_major} -}","',"
+ WRITE CONFIG " shlib_minor => '","{- $config{shlib_minor} -}","',"
WRITE CONFIG " no_shared => '","{- $disabled{shared} -}","',"
WRITE CONFIG " INSTALLTOP => '$(INSTALLTOP)',"
WRITE CONFIG " OPENSSLDIR => '$(OPENSSLDIR)',"
- WRITE CONFIG " pointersize => '","{- $target{pointersize} -}","',"
- WRITE CONFIG " shared_libs => ["
- {- $disabled{shared}
- ? "\@ !"
- : join("\n ", map { "WRITE CONFIG \" '$_'," } map { $unified_info{sharednames}->{$_} || () } @{$unified_info{libraries}})
- -}
- WRITE CONFIG " ],"
+ WRITE CONFIG " pointer_size => '","{- $target{pointer_size} -}","',"
WRITE CONFIG ");"
WRITE CONFIG "our %target = ();"
WRITE CONFIG "our %disabled = ();"
my $shlib = $args{shlib};
my $libd = dirname($lib);
my $libn = basename($lib);
- (my $mkdef_key = $libn) =~ s/^${osslprefix_q}lib//i;
+ (my $mkdef_key = $libn) =~ s/^${osslprefix_q}lib([^0-9]*)\d*/$1/i;
my @deps = map {
$disabled{shared} ? $_.".OLB"
: $unified_info{sharednames}->{$_}.".EXE"; } @{$args{deps}};
@{$args{objs}}));
return <<"EOF";
$lib.OLB : $objs
- LIBRARY/CREATE/OBJECT $lib
+ LIBRARY/CREATE/OBJECT $lib.OLB
$fill_lib
- PURGE $lib.OLB
EOF