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>
This commit is contained in:
parent
921de151d2
commit
b54e35f6cd
@ -448,12 +448,19 @@ EOF
|
|||||||
my $srcs =
|
my $srcs =
|
||||||
join(", ",
|
join(", ",
|
||||||
map { abs2rel(rel2abs($_), rel2abs($forward)) } @{$args{srcs}});
|
map { abs2rel(rel2abs($_), rel2abs($forward)) } @{$args{srcs}});
|
||||||
my $incs =
|
my $incs_on = "\@ !";
|
||||||
"/INCLUDE=(".join(",",
|
my $incs_off = "\@ !";
|
||||||
map {
|
my $incs = "";
|
||||||
file_name_is_absolute($_)
|
if (@{$args{incs}}) {
|
||||||
? $_ : catdir($backward,$_)
|
$incs_on =
|
||||||
} @{$args{incs}}).")";
|
"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 $before = $unified_info{before}->{$obj.".OBJ"} || "\@ !";
|
||||||
my $after = $unified_info{after}->{$obj.".OBJ"} || "\@ !";
|
my $after = $unified_info{after}->{$obj.".OBJ"} || "\@ !";
|
||||||
my $depbuild = $disabled{makedepend} ? ""
|
my $depbuild = $disabled{makedepend} ? ""
|
||||||
@ -463,7 +470,9 @@ EOF
|
|||||||
$obj.OBJ : $deps
|
$obj.OBJ : $deps
|
||||||
${before}
|
${before}
|
||||||
SET DEFAULT $forward
|
SET DEFAULT $forward
|
||||||
|
$incs_on
|
||||||
\$(CC) \$(CFLAGS)${incs}${depbuild} /OBJECT=${objd}${objn}.OBJ /REPOSITORY=$backward $srcs
|
\$(CC) \$(CFLAGS)${incs}${depbuild} /OBJECT=${objd}${objn}.OBJ /REPOSITORY=$backward $srcs
|
||||||
|
$incs_off
|
||||||
SET DEFAULT $backward
|
SET DEFAULT $backward
|
||||||
${after}
|
${after}
|
||||||
\@ PIPE ( \$(PERL) -e "use File::Compare qw/compare_text/; my \$x = compare_text(""$obj.MMS"",""$obj.tmp-MMS""); exit(0x10000000 + (\$x == 0));" || -
|
\@ PIPE ( \$(PERL) -e "use File::Compare qw/compare_text/; my \$x = compare_text(""$obj.MMS"",""$obj.tmp-MMS""); exit(0x10000000 + (\$x == 0));" || -
|
||||||
|
15
NOTES.VMS
15
NOTES.VMS
@ -5,8 +5,8 @@
|
|||||||
Requirement details
|
Requirement details
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
In addition to the requirements listed in INSTALL, these are required
|
In addition to the requirements and instructions listed in INSTALL,
|
||||||
as well:
|
this are required as well:
|
||||||
|
|
||||||
* At least ODS-5 disk organization for source and build.
|
* At least ODS-5 disk organization for source and build.
|
||||||
Installation can be done on any existing disk organization.
|
Installation can be done on any existing disk organization.
|
||||||
@ -22,6 +22,17 @@
|
|||||||
a different ANSI C compiler may require some work.
|
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
|
Checking the distribution
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user