113498266Sopenharmony_ci$! File: GENERATE_CONFIG_H_CURL.COM
213498266Sopenharmony_ci$!
313498266Sopenharmony_ci$! Curl like most open source products uses a variant of a config.h file.
413498266Sopenharmony_ci$! Depending on the curl version, this could be config.h or curl_config.h.
513498266Sopenharmony_ci$!
613498266Sopenharmony_ci$! For GNV based builds, the configure script is run and that produces
713498266Sopenharmony_ci$! a [curl_]config.h file.  Configure scripts on VMS generally do not
813498266Sopenharmony_ci$! know how to do everything, so there is also a [-.lib]config-vms.h file
913498266Sopenharmony_ci$! that has VMS specific code that compensates for bugs in some of the
1013498266Sopenharmony_ci$! VMS shared images.
1113498266Sopenharmony_ci$!
1213498266Sopenharmony_ci$! This generates a [curl_]config.h file and also a config_vms.h file,
1313498266Sopenharmony_ci$! which is used to supplement that file.  Note that the config_vms.h file
1413498266Sopenharmony_ci$! and the [.lib]config-vms.h file do two different tasks and that the
1513498266Sopenharmony_ci$! filenames are slightly different.
1613498266Sopenharmony_ci$!
1713498266Sopenharmony_ci$! Copyright (C) John Malmberg
1813498266Sopenharmony_ci$!
1913498266Sopenharmony_ci$! Permission to use, copy, modify, and/or distribute this software for any
2013498266Sopenharmony_ci$! purpose with or without fee is hereby granted, provided that the above
2113498266Sopenharmony_ci$! copyright notice and this permission notice appear in all copies.
2213498266Sopenharmony_ci$!
2313498266Sopenharmony_ci$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
2413498266Sopenharmony_ci$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
2513498266Sopenharmony_ci$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
2613498266Sopenharmony_ci$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
2713498266Sopenharmony_ci$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
2813498266Sopenharmony_ci$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
2913498266Sopenharmony_ci$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
3013498266Sopenharmony_ci$!
3113498266Sopenharmony_ci$! SPDX-License-Identifier: ISC
3213498266Sopenharmony_ci$!
3313498266Sopenharmony_ci$!=========================================================================
3413498266Sopenharmony_ci$!
3513498266Sopenharmony_ci$! Allow arguments to be grouped together with comma or separated by spaces
3613498266Sopenharmony_ci$! Do no know if we will need more than 8.
3713498266Sopenharmony_ci$args = "," + p1 + "," + p2 + "," + p3 + "," + p4 + ","
3813498266Sopenharmony_ci$args = args + p5 + "," + p6 + "," + p7 + "," + p8 + ","
3913498266Sopenharmony_ci$!
4013498266Sopenharmony_ci$! Provide lower case version to simplify parsing.
4113498266Sopenharmony_ci$args_lower = f$edit(args, "LOWERCASE")
4213498266Sopenharmony_ci$!
4313498266Sopenharmony_ci$args_len = f$length(args)
4413498266Sopenharmony_ci$!
4513498266Sopenharmony_ci$if (f$getsyi("HW_MODEL") .lt. 1024)
4613498266Sopenharmony_ci$then
4713498266Sopenharmony_ci$   arch_name = "VAX"
4813498266Sopenharmony_ci$else
4913498266Sopenharmony_ci$   arch_name = ""
5013498266Sopenharmony_ci$   arch_name = arch_name + f$edit(f$getsyi("ARCH_NAME"), "UPCASE")
5113498266Sopenharmony_ci$   if (arch_name .eqs. "") then arch_name = "UNK"
5213498266Sopenharmony_ci$endif
5313498266Sopenharmony_ci$!
5413498266Sopenharmony_ci$!
5513498266Sopenharmony_ci$nossl = 0
5613498266Sopenharmony_ci$nohpssl = 1
5713498266Sopenharmony_ci$hpssl = 0
5813498266Sopenharmony_ci$libidn = 0
5913498266Sopenharmony_ci$libssh2 = 0
6013498266Sopenharmony_ci$noldap = 0
6113498266Sopenharmony_ci$nozlib = 0
6213498266Sopenharmony_ci$nokerberos = 0
6313498266Sopenharmony_ci$!
6413498266Sopenharmony_ci$! First check to see if SSL is disabled.
6513498266Sopenharmony_ci$!---------------------------------------
6613498266Sopenharmony_ci$if f$locate(",nossl,", args_lower) .lt. args_len then nossl = 1
6713498266Sopenharmony_ci$if .not. nossl
6813498266Sopenharmony_ci$then
6913498266Sopenharmony_ci$!
7013498266Sopenharmony_ci$!  ssl$* logicals means HP ssl is present
7113498266Sopenharmony_ci$!----------------------------------------
7213498266Sopenharmony_ci$   if f$trnlnm("ssl$root") .nes. ""
7313498266Sopenharmony_ci$   then
7413498266Sopenharmony_ci$	nohpssl = 0
7513498266Sopenharmony_ci$	hpssl = 1
7613498266Sopenharmony_ci$   endif
7713498266Sopenharmony_ci$!
7813498266Sopenharmony_ci$!  HP defines OPENSSL as SSL$INCLUDE as a convenience for linking.
7913498266Sopenharmony_ci$!  As it is a violation of VMS standards for this to be provided,
8013498266Sopenharmony_ci$!  some sites may have removed it, but if present, assume that
8113498266Sopenharmony_ci$!  it indicates which OpenSSL to use.
8213498266Sopenharmony_ci$!------------------------------------
8313498266Sopenharmony_ci$   openssl_lnm = f$trnlnm("OPENSSL")
8413498266Sopenharmony_ci$   if (openssl_lnm .nes. "SYS$INCLUDE")
8513498266Sopenharmony_ci$   then
8613498266Sopenharmony_ci$!	Non HP SSL is installed, default to use it.
8713498266Sopenharmony_ci$	nohpssl = 1
8813498266Sopenharmony_ci$	hpssl = 0
8913498266Sopenharmony_ci$   endif
9013498266Sopenharmony_ci$!
9113498266Sopenharmony_ci$!  Now check to see if hpssl has been specifically disabled
9213498266Sopenharmony_ci$!----------------------------------------------------------
9313498266Sopenharmony_ci$   if f$locate(",nohpssl,", args_lower) .lt. args_len
9413498266Sopenharmony_ci$   then
9513498266Sopenharmony_ci$	nohpssl = 1
9613498266Sopenharmony_ci$	hpssl = 0
9713498266Sopenharmony_ci$   endif
9813498266Sopenharmony_ci$!
9913498266Sopenharmony_ci$!  Finally check to see if hp ssl has been specifically included.
10013498266Sopenharmony_ci$!----------------------------------------------------------------
10113498266Sopenharmony_ci$   if f$locate(",nohpssl,", args_lower) .lt. args_len
10213498266Sopenharmony_ci$   then
10313498266Sopenharmony_ci$	nohpssl = 1
10413498266Sopenharmony_ci$	hpssl = 0
10513498266Sopenharmony_ci$   endif
10613498266Sopenharmony_ci$endif
10713498266Sopenharmony_ci$!
10813498266Sopenharmony_ci$! Did someone port LIBIDN in the GNV compatible way?
10913498266Sopenharmony_ci$!------------------------------------------------------
11013498266Sopenharmony_ci$if f$trnlnm("GNV$LIBIDNSHR") .nes. ""
11113498266Sopenharmony_ci$then
11213498266Sopenharmony_ci$   write sys$output "NOTICE:  A LIBIDN port has been detected."
11313498266Sopenharmony_ci$   write sys$output " This port of curl for VMS has not been tested with it."
11413498266Sopenharmony_ci$   if f$locate(",libidn,", args_lower) .lt. args_len
11513498266Sopenharmony_ci$   then
11613498266Sopenharmony_ci$	libidn = 1
11713498266Sopenharmony_ci$   endif
11813498266Sopenharmony_ci$   if .not. libidn
11913498266Sopenharmony_ci$   then
12013498266Sopenharmony_ci$	write sys$output " LIBIDN support is not enabled."
12113498266Sopenharmony_ci$	write sys$output "Run with the ""libidn"" parameter to attempt to use."
12213498266Sopenharmony_ci$   else
12313498266Sopenharmony_ci$	write sys$output " Untested LIBIDN support requested."
12413498266Sopenharmony_ci$   endif
12513498266Sopenharmony_ci$endif
12613498266Sopenharmony_ci$!
12713498266Sopenharmony_ci$! Did someone port LIBSSH2 in the GNV compatible way?
12813498266Sopenharmony_ci$!------------------------------------------------------
12913498266Sopenharmony_ci$if f$trnlnm("GNV$LIBSSH2SHR") .nes. ""
13013498266Sopenharmony_ci$then
13113498266Sopenharmony_ci$   write sys$output "NOTICE:  A LIBSSH2 port has been detected."
13213498266Sopenharmony_ci$   write sys$output " This port of curl for VMS has not been tested with it."
13313498266Sopenharmony_ci$   if f$locate(",libssh2,", args_lower) .lt. args_len
13413498266Sopenharmony_ci$   then
13513498266Sopenharmony_ci$	libssh2 = 1
13613498266Sopenharmony_ci$   endif
13713498266Sopenharmony_ci$   if .not. libssh2
13813498266Sopenharmony_ci$   then
13913498266Sopenharmony_ci$	write sys$output " LIBSSH2 support is not enabled."
14013498266Sopenharmony_ci$	write sys$output "Run with the ""libssh2"" parameter to attempt to use."
14113498266Sopenharmony_ci$   else
14213498266Sopenharmony_ci$	write sys$output " Untested LIBSSH2 support requested."
14313498266Sopenharmony_ci$   endif
14413498266Sopenharmony_ci$endif
14513498266Sopenharmony_ci$!
14613498266Sopenharmony_ci$! LDAP suppressed?
14713498266Sopenharmony_ci$if f$locate(",noldap,", args_lower) .lt. args_len
14813498266Sopenharmony_ci$then
14913498266Sopenharmony_ci$   noldap = 1
15013498266Sopenharmony_ci$endif
15113498266Sopenharmony_ci$if f$search("SYS$SHARE:LDAP$SHR.EXE") .eqs. ""
15213498266Sopenharmony_ci$then
15313498266Sopenharmony_ci$   noldap = 1
15413498266Sopenharmony_ci$endif
15513498266Sopenharmony_ci$!
15613498266Sopenharmony_ci$if f$locate(",nokerberos,", args_lower) .lt. args_len then nokerberos = 1
15713498266Sopenharmony_ci$if .not. nokerberos
15813498266Sopenharmony_ci$then
15913498266Sopenharmony_ci$!  If kerberos is installed: sys$share:gss$rtl.exe exists.
16013498266Sopenharmony_ci$   if f$search("sys$shsare:gss$rtl.exe") .eqs. ""
16113498266Sopenharmony_ci$   then
16213498266Sopenharmony_ci$	nokerberos = 1
16313498266Sopenharmony_ci$   endif
16413498266Sopenharmony_ci$endif
16513498266Sopenharmony_ci$!
16613498266Sopenharmony_ci$!
16713498266Sopenharmony_ci$! Is GNV compatible LIBZ present?
16813498266Sopenharmony_ci$!------------------------------------------------------
16913498266Sopenharmony_ci$if f$trnlnm("GNV$LIBZSHR") .nes. ""
17013498266Sopenharmony_ci$then
17113498266Sopenharmony_ci$   if f$locate(",nozlib,", args_lower) .lt. args_len
17213498266Sopenharmony_ci$   then
17313498266Sopenharmony_ci$	nozlib = 1
17413498266Sopenharmony_ci$   endif
17513498266Sopenharmony_ci$!   if .not. nozlib
17613498266Sopenharmony_ci$!   then
17713498266Sopenharmony_ci$!	write sys$output " GNV$LIBZSHR support is enabled."
17813498266Sopenharmony_ci$!   else
17913498266Sopenharmony_ci$!	write sys$output " GNV$LIBZSHR support is disabled by nozlib."
18013498266Sopenharmony_ci$!   endif
18113498266Sopenharmony_ci$else
18213498266Sopenharmony_ci$   nozlib = 1
18313498266Sopenharmony_ci$endif
18413498266Sopenharmony_ci$!
18513498266Sopenharmony_ci$!
18613498266Sopenharmony_ci$! Start the configuration file.
18713498266Sopenharmony_ci$! Need to do a create and then an append to make the file have the
18813498266Sopenharmony_ci$! typical file attributes of a VMS text file.
18913498266Sopenharmony_ci$create sys$disk:[curl.lib]config_vms.h
19013498266Sopenharmony_ci$open/append cvh sys$disk:[curl.lib]config_vms.h
19113498266Sopenharmony_ci$!
19213498266Sopenharmony_ci$! Write the defines to prevent multiple includes.
19313498266Sopenharmony_ci$! These are probably not needed in this case,
19413498266Sopenharmony_ci$! but are best practice to put on all header files.
19513498266Sopenharmony_ci$write cvh "#ifndef __CONFIG_VMS_H__"
19613498266Sopenharmony_ci$write cvh "#define __CONFIG_VMS_H__"
19713498266Sopenharmony_ci$write cvh ""
19813498266Sopenharmony_ci$write cvh "/* Define cpu-machine-OS */"
19913498266Sopenharmony_ci$!
20013498266Sopenharmony_ci$! Curl uses an OS macro to set the build environment.
20113498266Sopenharmony_ci$!----------------------------------------------------
20213498266Sopenharmony_ci$! Now the DCL builds usually say xxx-HP-VMS and configure scripts
20313498266Sopenharmony_ci$! may put DEC or COMPAQ or HP for the middle part.
20413498266Sopenharmony_ci$!
20513498266Sopenharmony_ci$write cvh "#if defined(__alpha)"
20613498266Sopenharmony_ci$write cvh "#define OS ""ALPHA-HP-VMS"""
20713498266Sopenharmony_ci$write cvh "#elif defined(__vax)"
20813498266Sopenharmony_ci$write cvh "#define OS ""VAX-HP-VMS"""
20913498266Sopenharmony_ci$write cvh "#elif defined(__ia64)"
21013498266Sopenharmony_ci$write cvh "#define OS ""IA64-HP-VMS""
21113498266Sopenharmony_ci$write cvh "#else"
21213498266Sopenharmony_ci$write cvh "#define OS ""UNKNOWN-HP-VMS""
21313498266Sopenharmony_ci$write cvh "#endif"
21413498266Sopenharmony_ci$write cvh ""
21513498266Sopenharmony_ci$!
21613498266Sopenharmony_ci$! We are now setting this on the GNV build, so also do this
21713498266Sopenharmony_ci$! for compatibility.
21813498266Sopenharmony_ci$write cvh "/* Location of default ca path */"
21913498266Sopenharmony_ci$write cvh "#define curl_ca_path ""gnv$curl_ca_path"""
22013498266Sopenharmony_ci$!
22113498266Sopenharmony_ci$! NTLM_WB_ENABLED requires fork() but configure does not know this
22213498266Sopenharmony_ci$! We have to disable this in the configure command line.
22313498266Sopenharmony_ci$! config_h.com finds that configure defaults to it being enabled so
22413498266Sopenharmony_ci$! reports it.  So we need to turn it off here.
22513498266Sopenharmony_ci$!
22613498266Sopenharmony_ci$write cvh "#ifdef NTLM_WB_ENABLED"
22713498266Sopenharmony_ci$write cvh "#undef NTLM_WB_ENABLED"
22813498266Sopenharmony_ci$write cvh "#endif"
22913498266Sopenharmony_ci$!
23013498266Sopenharmony_ci$! The config_h.com finds a bunch of default disable commands in
23113498266Sopenharmony_ci$! configure and will incorrectly disable these options.  The config_h.com
23213498266Sopenharmony_ci$! is a generic procedure and it would break more things to try to fix it
23313498266Sopenharmony_ci$! to special case it for curl.  So we will fix it here.
23413498266Sopenharmony_ci$!
23513498266Sopenharmony_ci$! We do them all here, even the ones that config_h.com currently gets correct.
23613498266Sopenharmony_ci$!
23713498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_COOKIES"
23813498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_COOKIES"
23913498266Sopenharmony_ci$write cvh "#endif"
24013498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_DICT"
24113498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_DICT"
24213498266Sopenharmony_ci$write cvh "#endif"
24313498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_FILE"
24413498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_FILE"
24513498266Sopenharmony_ci$write cvh "#endif"
24613498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_FTP"
24713498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_FTP"
24813498266Sopenharmony_ci$write cvh "#endif"
24913498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_GOPHER"
25013498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_GOPHER"
25113498266Sopenharmony_ci$write cvh "#endif"
25213498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_HTTP"
25313498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_HTTP"
25413498266Sopenharmony_ci$write cvh "#endif"
25513498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_IMAP"
25613498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_IMAP"
25713498266Sopenharmony_ci$write cvh "#endif"
25813498266Sopenharmony_ci$if .not. noldap
25913498266Sopenharmony_ci$then
26013498266Sopenharmony_ci$   write cvh "#ifdef CURL_DISABLE_LDAP"
26113498266Sopenharmony_ci$   write cvh "#undef CURL_DISABLE_LDAP"
26213498266Sopenharmony_ci$   write cvh "#endif"
26313498266Sopenharmony_ci$   if .not. nossl
26413498266Sopenharmony_ci$   then
26513498266Sopenharmony_ci$	write cvh "#ifdef CURL_DISABLE_LDAPS"
26613498266Sopenharmony_ci$	write cvh "#undef CURL_DISABLE_LDAPS"
26713498266Sopenharmony_ci$	write cvh "#endif"
26813498266Sopenharmony_ci$   endif
26913498266Sopenharmony_ci$endif
27013498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_LIBCURL_OPTION"
27113498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_LIBCURL_OPTION"
27213498266Sopenharmony_ci$write cvh "#endif"
27313498266Sopenharmony_ci$write cvh "#ifndef __VAX"
27413498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_NTLM"
27513498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_NTLM"
27613498266Sopenharmony_ci$write cvh "#endif"
27713498266Sopenharmony_ci$write cvh "#else"
27813498266Sopenharmony_ci$! NTLM needs long long or int64 support, missing from DECC C.
27913498266Sopenharmony_ci$write cvh "#ifdef __DECC
28013498266Sopenharmony_ci$write cvh "#ifndef CURL_DISABLE_NTLM"
28113498266Sopenharmony_ci$write cvh "#define CURL_DISABLE_NTLM 1"
28213498266Sopenharmony_ci$write cvh "#endif"
28313498266Sopenharmony_ci$write cvh "#endif"
28413498266Sopenharmony_ci$write cvh "#endif"
28513498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_POP3"
28613498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_POP3"
28713498266Sopenharmony_ci$write cvh "#endif"
28813498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_PROXY"
28913498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_PROXY"
29013498266Sopenharmony_ci$write cvh "#endif"
29113498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_RTSP"
29213498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_RTSP"
29313498266Sopenharmony_ci$write cvh "#endif"
29413498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_SMTP"
29513498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_SMTP"
29613498266Sopenharmony_ci$write cvh "#endif"
29713498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_TELNET"
29813498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_TELNET"
29913498266Sopenharmony_ci$write cvh "#endif"
30013498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_TFTP"
30113498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_TFTP"
30213498266Sopenharmony_ci$write cvh "#endif"
30313498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_POP3"
30413498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_POP3"
30513498266Sopenharmony_ci$write cvh "#endif"
30613498266Sopenharmony_ci$if .not. nossl
30713498266Sopenharmony_ci$then
30813498266Sopenharmony_ci$   write cvh "#ifdef CURL_DISABLE_TLS_SRP"
30913498266Sopenharmony_ci$   write cvh "#undef CURL_DISABLE_TLS_SRP"
31013498266Sopenharmony_ci$   write cvh "#endif"
31113498266Sopenharmony_ci$!
31213498266Sopenharmony_ci$endif
31313498266Sopenharmony_ci$write cvh "#ifdef CURL_DISABLE_VERBOSE_STRINGS"
31413498266Sopenharmony_ci$write cvh "#undef CURL_DISABLE_VERBOSE_STRINGS"
31513498266Sopenharmony_ci$write cvh "#endif"
31613498266Sopenharmony_ci$!
31713498266Sopenharmony_ci$! configure defaults to USE_*, a real configure on VMS chooses different.
31813498266Sopenharmony_ci$write cvh "#ifdef USE_ARES"
31913498266Sopenharmony_ci$write cvh "#undef USE_ARES"
32013498266Sopenharmony_ci$write cvh "#endif"
32113498266Sopenharmony_ci$write cvh "#ifdef USE_WOLFSSL"
32213498266Sopenharmony_ci$write cvh "#undef USE_WOLFSSL"
32313498266Sopenharmony_ci$write cvh "#endif"
32413498266Sopenharmony_ci$write cvh "#ifdef USE_GNUTLS"
32513498266Sopenharmony_ci$write cvh "#undef USE_GNUTLS"
32613498266Sopenharmony_ci$write cvh "#endif"
32713498266Sopenharmony_ci$write cvh "#ifdef USE_LIBRTMP"
32813498266Sopenharmony_ci$write cvh "#undef USE_LIBRTMP"
32913498266Sopenharmony_ci$write cvh "#endif"
33013498266Sopenharmony_ci$write cvh "#ifdef USE_MANUAL"
33113498266Sopenharmony_ci$write cvh "#undef USE_MANUAL"
33213498266Sopenharmony_ci$write cvh "#endif"
33313498266Sopenharmony_ci$write cvh "#ifdef USE_NGHTTP2"
33413498266Sopenharmony_ci$write cvh "#undef USE_NGHTTP2"
33513498266Sopenharmony_ci$write cvh "#endif"
33613498266Sopenharmony_ci$write cvh "#ifdef USE_OPENLDAP"
33713498266Sopenharmony_ci$write cvh "#undef USE_OPENLDAP"
33813498266Sopenharmony_ci$write cvh "#endif"
33913498266Sopenharmony_ci$write cvh "#ifdef USE_THREADS_POSIX"
34013498266Sopenharmony_ci$write cvh "#undef USE_THREADS_POSIX"
34113498266Sopenharmony_ci$write cvh "#endif"
34213498266Sopenharmony_ci$write cvh "#ifdef USE_TLS_SRP"
34313498266Sopenharmony_ci$write cvh "#undef USE_TLS_SRP"
34413498266Sopenharmony_ci$write cvh "#endif"
34513498266Sopenharmony_ci$write cvh "#ifdef USE_UNIX_SOCKETS"
34613498266Sopenharmony_ci$write cvh "#undef USE_UNIX_SOCKETS"
34713498266Sopenharmony_ci$write cvh "#endif"
34813498266Sopenharmony_ci$!
34913498266Sopenharmony_ci$write cvh "#ifndef HAVE_OLD_GSSMIT"
35013498266Sopenharmony_ci$write cvh "#define gss_nt_service_name GSS_C_NT_HOSTBASED_SERVICE"
35113498266Sopenharmony_ci$write cvh "#endif"
35213498266Sopenharmony_ci$!
35313498266Sopenharmony_ci$!
35413498266Sopenharmony_ci$! Note:
35513498266Sopenharmony_ci$! The CURL_EXTERN_SYMBOL is used for platforms that need the compiler
35613498266Sopenharmony_ci$! to know about universal symbols.  VMS does not need this support so
35713498266Sopenharmony_ci$! we do not set it here.
35813498266Sopenharmony_ci$!
35913498266Sopenharmony_ci$!
36013498266Sopenharmony_ci$! I can not figure out where the C compiler is finding the ALLOCA.H file
36113498266Sopenharmony_ci$! in the text libraries, so CONFIG_H.COM can not find it either.
36213498266Sopenharmony_ci$! Usually the header file name is the module name in the text library.
36313498266Sopenharmony_ci$! It does not appear to hurt anything to not find header file, so we
36413498266Sopenharmony_ci$! are not overriding it here.
36513498266Sopenharmony_ci$!
36613498266Sopenharmony_ci$!
36713498266Sopenharmony_ci$! Check to see if OpenSSL is present.
36813498266Sopenharmony_ci$!----------------------------------
36913498266Sopenharmony_ci$ssl_include = f$trnlnm("OPENSSL")
37013498266Sopenharmony_ci$if ssl_include .eqs. ""
37113498266Sopenharmony_ci$then
37213498266Sopenharmony_ci$    ssl_include = f$trnlnm("ssl$include")
37313498266Sopenharmony_ci$endif
37413498266Sopenharmony_ci$if ssl_include .eqs. "" then nossl = 1
37513498266Sopenharmony_ci$!
37613498266Sopenharmony_ci$if .not. nossl
37713498266Sopenharmony_ci$then
37813498266Sopenharmony_ci$!
37913498266Sopenharmony_ci$   write cvh "#ifndef USE_OPENSSL"
38013498266Sopenharmony_ci$   write cvh "#define USE_OPENSSL 1"
38113498266Sopenharmony_ci$   write cvh "#endif"
38213498266Sopenharmony_ci$   if arch_name .eqs. "VAX"
38313498266Sopenharmony_ci$   then
38413498266Sopenharmony_ci$       old_mes = f$environment("message")
38513498266Sopenharmony_ci$       set message/notext/nofaci/noseve/noident
38613498266Sopenharmony_ci$       search/output=nla0: ssl$include:*.h CONF_MFLAGS_IGNORE_MISSING_FILE
38713498266Sopenharmony_ci$       status = $severity
38813498266Sopenharmony_ci$       set message'old_mes'
38913498266Sopenharmony_ci$       if status .nes. "1"
39013498266Sopenharmony_ci$       then
39113498266Sopenharmony_ci$           write cvh "#define VMS_OLD_SSL 1"
39213498266Sopenharmony_ci$       endif
39313498266Sopenharmony_ci$   endif
39413498266Sopenharmony_ci$endif
39513498266Sopenharmony_ci$!
39613498266Sopenharmony_ci$!
39713498266Sopenharmony_ci$! LibIDN not ported to VMS at this time.
39813498266Sopenharmony_ci$! This is for international domain name support.
39913498266Sopenharmony_ci$! Allow explicit experimentation.
40013498266Sopenharmony_ci$if libidn
40113498266Sopenharmony_ci$then
40213498266Sopenharmony_ci$   write cvh "#define HAVE_IDNA_STRERROR 1"
40313498266Sopenharmony_ci$   write cvh "#define HAVE_IDNA_FREE 1"
40413498266Sopenharmony_ci$   write cvh "#define HAVE_IDNA_FREE_H 1"
40513498266Sopenharmony_ci$   write cvh "#define HAVE_LIBIDN 1"
40613498266Sopenharmony_ci$else
40713498266Sopenharmony_ci$   write cvh "#ifdef HAVE_LIBIDN"
40813498266Sopenharmony_ci$   write cvh "#undef HAVE_LIBIDN"
40913498266Sopenharmony_ci$   write cvh "#endif"
41013498266Sopenharmony_ci$endif
41113498266Sopenharmony_ci$!
41213498266Sopenharmony_ci$!
41313498266Sopenharmony_ci$! LibSSH2 not ported to VMS at this time.
41413498266Sopenharmony_ci$! Allow explicit experimentation.
41513498266Sopenharmony_ci$if libssh2
41613498266Sopenharmony_ci$then
41713498266Sopenharmony_ci$   write cvh "#define HAVE_LIBSSH2_EXIT 1"
41813498266Sopenharmony_ci$   write cvh "#define HAVE_LIBSSH2_INIT 1"
41913498266Sopenharmony_ci$   write cvh "#define HAVE_LIBSSH2_SCP_SEND64 1"
42013498266Sopenharmony_ci$   write cvh "#define HAVE_LIBSSH2_SESSION_HANDSHAKE 1"
42113498266Sopenharmony_ci$   write cvh "#define HAVE_LIBSSH2_VERSION 1
42213498266Sopenharmony_ci$!
42313498266Sopenharmony_ci$   write cvh "#ifndef USE_LIBSSH2"
42413498266Sopenharmony_ci$   write cvh "#define USE_LIBSSH2 1"
42513498266Sopenharmony_ci$   write cvh "#endif"
42613498266Sopenharmony_ci$else
42713498266Sopenharmony_ci$   write cvh "#ifdef USE_LIBSSH2"
42813498266Sopenharmony_ci$   write cvh "#undef USE_LIBSSH2"
42913498266Sopenharmony_ci$   write cvh "#endif"
43013498266Sopenharmony_ci$endif
43113498266Sopenharmony_ci$!
43213498266Sopenharmony_ci$!
43313498266Sopenharmony_ci$!
43413498266Sopenharmony_ci$if .not. nozlib
43513498266Sopenharmony_ci$then
43613498266Sopenharmony_ci$   write cvh "#define HAVE_LIBZ 1"
43713498266Sopenharmony_ci$endif
43813498266Sopenharmony_ci$!
43913498266Sopenharmony_ci$!
44013498266Sopenharmony_ci$! Suppress a message in curl_gssapi.c compile.
44113498266Sopenharmony_ci$write cvh "#pragma message disable notconstqual"
44213498266Sopenharmony_ci$!
44313498266Sopenharmony_ci$! Close out the file
44413498266Sopenharmony_ci$!
44513498266Sopenharmony_ci$write cvh ""
44613498266Sopenharmony_ci$write cvh "#endif /* __CONFIG_VMS_H__ */"
44713498266Sopenharmony_ci$close cvh
44813498266Sopenharmony_ci$!
44913498266Sopenharmony_ci$all_exit:
45013498266Sopenharmony_ci$exit
451