diff options
author | Richard Levitte <levitte@openssl.org> | 2016-03-23 19:27:08 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-03-23 19:58:12 +0100 |
commit | b54e35f6cd9a9de3962daa0112e33bd178c49f6d (patch) | |
tree | d40a4132774806924ef8ffbd6b20271329f6caea | |
parent | 921de151d2052c794cf6ad82fe76da92717577f7 (diff) |
VMS: compensate for command line length limits with a logical name
Sometimes, you might end up with a rather long compile line due to
excessively long /INCLUDE directories. Compensate for it by making
a temporary logical name with them and using said logical name as
/INCLUDE argument.
A note was added to NOTES.VMS regarding these limitations.
Reviewed-by: Rich Salz <rsalz@openssl.org>
-rw-r--r-- | Configurations/descrip.mms.tmpl | 21 | ||||
-rw-r--r-- | NOTES.VMS | 15 |
2 files changed, 28 insertions, 8 deletions
diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index 32c8d1a3ac..b2ae059468 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -448,12 +448,19 @@ EOF my $srcs = join(", ", map { abs2rel(rel2abs($_), rel2abs($forward)) } @{$args{srcs}}); - my $incs = - "/INCLUDE=(".join(",", - map { - file_name_is_absolute($_) - ? $_ : catdir($backward,$_) - } @{$args{incs}}).")"; + my $incs_on = "\@ !"; + my $incs_off = "\@ !"; + my $incs = ""; + if (@{$args{incs}}) { + $incs_on = + "DEFINE tmp_includes " + .join(",-\n\t\t\t", map { + file_name_is_absolute($_) + ? $_ : catdir($backward,$_) + } @{$args{incs}}); + $incs_off = "DEASSIGN tmp_includes"; + $incs = " /INCLUDE=(tmp_includes:)"; + } my $before = $unified_info{before}->{$obj.".OBJ"} || "\@ !"; my $after = $unified_info{after}->{$obj.".OBJ"} || "\@ !"; my $depbuild = $disabled{makedepend} ? "" @@ -463,7 +470,9 @@ EOF $obj.OBJ : $deps ${before} SET DEFAULT $forward + $incs_on \$(CC) \$(CFLAGS)${incs}${depbuild} /OBJECT=${objd}${objn}.OBJ /REPOSITORY=$backward $srcs + $incs_off SET DEFAULT $backward ${after} \@ PIPE ( \$(PERL) -e "use File::Compare qw/compare_text/; my \$x = compare_text(""$obj.MMS"",""$obj.tmp-MMS""); exit(0x10000000 + (\$x == 0));" || - @@ -5,8 +5,8 @@ Requirement details ------------------- - In addition to the requirements listed in INSTALL, these are required - as well: + In addition to the requirements and instructions listed in INSTALL, + this are required as well: * At least ODS-5 disk organization for source and build. Installation can be done on any existing disk organization. @@ -22,6 +22,17 @@ a different ANSI C compiler may require some work. + About MMS and DCL + ----------------- + + MMS has certain limitations when it comes to line length, and DCL has + certain limitations when it comes to total command length. We do + what we can to mitigate, but there is the possibility that it's not + enough. Should you run into issues, a very simple solution is to set + yourself up a few logical names for the directory trees you're going + to use. + + Checking the distribution ------------------------- |