Commit 6a15d5b6 authored by Richard Levitte's avatar Richard Levitte
Browse files

UI: fix uitest for VMS



- On VMS, apps/apps.c depends on apps/vms_term_sock.c, so add it to
  the build
- On VMS, apps/*.c are compiled with default symbol settings,
  i.e. uppercased and truncated symbols, which differs from test
  programs.  Make sure uitest.c knows that with a few pragmas.

Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2218)
parent 027609f9
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -5,6 +5,9 @@
         my ($base, $files) = @_;
         return join(" ", map { "$base/$_" } split(/\s+/, $files));
     }
     our $apps_extra =
         $config{target} =~ /^vms-/ ? "../apps/vms_term_sock.c" : "";
     ""
-}
IF[{- !$disabled{tests} -}]
  PROGRAMS_NO_INST=\
@@ -316,7 +319,8 @@ IF[{- !$disabled{tests} -}]
    DEPEND[cipher_overhead_test]=../libcrypto ../libssl
  ENDIF

  SOURCE[uitest]=uitest.c testutil.c test_main_custom.c ../apps/apps.c ../apps/opt.c
  SOURCE[uitest]=uitest.c testutil.c test_main_custom.c \
    ../apps/apps.c ../apps/opt.c {- $apps_extra -}
  INCLUDE[uitest]=.. ../include
  DEPEND[uitest]=../libcrypto ../libssl

+17 −0
Original line number Diff line number Diff line
@@ -11,8 +11,25 @@
#include <string.h>
#include <openssl/opensslconf.h>
#include <openssl/err.h>

/*
 * We know that on VMS, the [.apps] object files are compiled with uppercased
 * symbols.  We must therefore follow suit, or there will be linking errors.
 * Additionally, the VMS build does stdio via a socketpair.
 */
#ifdef __VMS
# pragma names save
# pragma names uppercase, truncated

# include "../apps/vms_term_sock.h"
#endif

#include "../apps/apps.h"

#ifdef __VMS
# pragma names restore
#endif

#include "testutil.h"
#include "test_main_custom.h"