summaryrefslogtreecommitdiffstats
path: root/Configurations/descrip.mms.tmpl
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2022-11-18 07:44:04 +0100
committerRichard Levitte <levitte@openssl.org>2022-11-18 08:19:43 +0100
commit3c4e250eafd789bb8ff905cd2ec9dddc7e1656d2 (patch)
treeb96fe8de16f495eb58ce9389674efa14a137f028 /Configurations/descrip.mms.tmpl
parent48cc4e0c2046624c28d431ac51cdfce1a6e6a597 (diff)
Fix more VMS inclusions
Including things in ../ssl/record/methods from sources in test/ presented another challenge for the current VMS C. This is compensated for with the usual whack-a-mole in Configurations/descrip.mms.tmpl. Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/19708)
Diffstat (limited to 'Configurations/descrip.mms.tmpl')
-rw-r--r--Configurations/descrip.mms.tmpl19
1 files changed, 13 insertions, 6 deletions
diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl
index 6b30db8766..85a3c778b7 100644
--- a/Configurations/descrip.mms.tmpl
+++ b/Configurations/descrip.mms.tmpl
@@ -209,12 +209,12 @@
@cnf_ldflags, '$(LDFLAGS)');
our $bin_ex_libs = join('', @cnf_ex_libs, '$(EX_LIBS)');
- # This is a horrible hack, but is needed because recursive inclusion of files
- # in different directories does not work well with VMS C. We try to help by
- # specifying extra relative directories. They must always be in Unix format,
- # relative to the directory where the .c file is located. The logic is that
- # any inclusion, merged with one of these relative directories, will find the
- # requested inclusion file.
+ # These are horrible hacks, but are needed because recursive inclusion of
+ # files in different directories does not work well with VMS C. We try to
+ # help by specifying extra relative directories. They must always be in Unix
+ # format, relative to the directory where the .c file is located. The logic
+ # is that any inclusion, merged with one of these relative directories, will
+ # find the requested inclusion file.
foreach (grep /\[\.crypto\.async\.arch\].*\.o$/, keys %{$unified_info{sources}}) {
my $obj = platform->obj($_);
push @{$unified_info{includes_extra}->{$obj}}, qw(../);
@@ -255,6 +255,13 @@
foreach (grep /\[\.test\].*?\.o$/, keys %{$unified_info{sources}}) {
my $obj = platform->obj($_);
push @{$unified_info{includes_extra}->{$obj}}, qw(../ssl ./helpers);
+ # Some of the sources in [.test] also include headers like
+ # "../ssl/record/methods/recmethod_local.h", which in turn might include
+ # "../../ssl_local.h", so these object files need yet another hack.
+ # We could make this specific to just the object files that are affected
+ # directly, but that would end up with more whack-a-mole of this sort, so
+ # nah, we do it broadly.
+ push @{$unified_info{includes_extra}->{$obj}}, qw(../ssl/record/methods);
}
foreach (grep /\[\.test\.helpers\].*?\.o$/, keys %{$unified_info{sources}}) {
my $obj = platform->obj($_);