mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 15:48:49 -05:00
VMS: Updates for 0740-0D1220
lib/setup-vms.h : VAX HP OpenSSL port is ancient, needs help. More defines to set symbols to uppercase. src/tool_main.c : Fix parameter to vms_special_exit() call. packages/vms/ : backup_gnv_curl_src.com : Fix the error message to have the correct package. build_curl-config_script.com : Rewrite to be more accurate. build_libcurl_pc.com : Use tool_version.h now. build_vms.com : Fix to handle lib/vtls directory. curl_gnv_build_steps.txt : Updated build procedure documentation. generate_config_vms_h_curl.com : * VAX does not support 64 bit ints, so no NTLM support for now. * VAX HP SSL port is ancient, needs some help. * Disable NGHTTP2 for now, not ported to VMS. * Disable UNIX_SOCKETS, not available on VMS yet. * HP GSSAPI port does not have gss_nt_service_name. gnv_link_curl.com : Update for new curl structure. pcsi_product_gnv_curl.com : Set up to optionally do a complete build.
This commit is contained in:
parent
6f1f5a7506
commit
f9cf3de70b
@ -7,7 +7,7 @@
|
||||
* | (__| |_| | _ <| |___
|
||||
* \___|\___/|_| \_\_____|
|
||||
*
|
||||
* Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
* Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
*
|
||||
* This software is licensed as described in the file COPYING, which
|
||||
* you should have received as part of this distribution. The terms
|
||||
@ -203,6 +203,19 @@ char * unix_path;
|
||||
#define CRYPTO_cleanup_all_ex_data CRYPTO_CLEANUP_ALL_EX_DATA
|
||||
#define CRYPTO_free CRYPTO_FREE
|
||||
#define CRYPTO_malloc CRYPTO_MALLOC
|
||||
#define CONF_modules_load_file CONF_MODULES_LOAD_FILE
|
||||
#ifdef __VAX
|
||||
# ifdef VMS_OLD_SSL
|
||||
/* Ancient OpenSSL on VAX/VMS missing this constant */
|
||||
# define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10
|
||||
# undef CONF_modules_load_file
|
||||
static int CONF_modules_load_file(const char *filename,
|
||||
const char *appname,
|
||||
unsigned long flags) {
|
||||
return 1;
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
#define DES_ecb_encrypt DES_ECB_ENCRYPT
|
||||
#define DES_set_key DES_SET_KEY
|
||||
#define DES_set_odd_parity DES_SET_ODD_PARITY
|
||||
@ -228,6 +241,7 @@ char * unix_path;
|
||||
#define EVP_PKEY_free EVP_PKEY_FREE
|
||||
#define EVP_cleanup EVP_CLEANUP
|
||||
#define GENERAL_NAMES_free GENERAL_NAMES_FREE
|
||||
#define i2d_X509_PUBKEY I2D_X509_PUBKEY
|
||||
#define MD4_Final MD4_FINAL
|
||||
#define MD4_Init MD4_INIT
|
||||
#define MD4_Update MD4_UPDATE
|
||||
@ -274,6 +288,7 @@ char * unix_path;
|
||||
#define SSL_get_peer_cert_chain SSL_GET_PEER_CERT_CHAIN
|
||||
#define SSL_get_peer_certificate SSL_GET_PEER_CERTIFICATE
|
||||
#define SSL_get_privatekey SSL_GET_PRIVATEKEY
|
||||
#define SSL_get_session SSL_GET_SESSION
|
||||
#define SSL_get_shutdown SSL_GET_SHUTDOWN
|
||||
#define SSL_get_verify_result SSL_GET_VERIFY_RESULT
|
||||
#define SSL_library_init SSL_LIBRARY_INIT
|
||||
@ -291,7 +306,23 @@ char * unix_path;
|
||||
#define SSLv23_client_method SSLV23_CLIENT_METHOD
|
||||
#define SSLv3_client_method SSLV3_CLIENT_METHOD
|
||||
#define TLSv1_client_method TLSV1_CLIENT_METHOD
|
||||
#define UI_create_method UI_CREATE_METHOD
|
||||
#define UI_destroy_method UI_DESTROY_METHOD
|
||||
#define UI_get0_user_data UI_GET0_USER_DATA
|
||||
#define UI_get_input_flags UI_GET_INPUT_FLAGS
|
||||
#define UI_get_string_type UI_GET_STRING_TYPE
|
||||
#define UI_create_method UI_CREATE_METHOD
|
||||
#define UI_destroy_method UI_DESTROY_METHOD
|
||||
#define UI_method_get_closer UI_METHOD_GET_CLOSER
|
||||
#define UI_method_get_opener UI_METHOD_GET_OPENER
|
||||
#define UI_method_get_reader UI_METHOD_GET_READER
|
||||
#define UI_method_get_writer UI_METHOD_GET_WRITER
|
||||
#define UI_method_set_closer UI_METHOD_SET_CLOSER
|
||||
#define UI_method_set_opener UI_METHOD_SET_OPENER
|
||||
#define UI_method_set_reader UI_METHOD_SET_READER
|
||||
#define UI_method_set_writer UI_METHOD_SET_WRITER
|
||||
#define UI_OpenSSL UI_OPENSSL
|
||||
#define UI_set_result UI_SET_RESULT
|
||||
#define X509V3_EXT_print X509V3_EXT_PRINT
|
||||
#define X509_EXTENSION_get_critical X509_EXTENSION_GET_CRITICAL
|
||||
#define X509_EXTENSION_get_object X509_EXTENSION_GET_OBJECT
|
||||
|
@ -1,10 +1,8 @@
|
||||
$! File: build_libcurl_pc.com
|
||||
$! build_curl-config_script.com
|
||||
$!
|
||||
$! $Id:$
|
||||
$! This generates the curl-config. script from the curl-config.in file.
|
||||
$!
|
||||
$! Build the curl-config file from the config_curl.in file
|
||||
$!
|
||||
$! Copyright 2013, John Malmberg
|
||||
$! Copyright 2014, John Malmberg
|
||||
$!
|
||||
$! Permission to use, copy, modify, and/or distribute this software for any
|
||||
$! purpose with or without fee is hereby granted, provided that the above
|
||||
@ -19,44 +17,13 @@ $! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
|
||||
$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
$!
|
||||
$!
|
||||
$! 15-Jun-2013 J. Malmberg
|
||||
$! 16-Dec-2014 J. Malmberg
|
||||
$!
|
||||
$!===========================================================================
|
||||
$!
|
||||
$! Skip this if the curl-config. already exists.
|
||||
$ if f$search("[--]curl-config.") .nes. "" then goto all_exit
|
||||
$!
|
||||
$! Need to know the kit type.
|
||||
$ kit_name = f$trnlnm("GNV_PCSI_KITNAME")
|
||||
$ if kit_name .eqs. ""
|
||||
$ then
|
||||
$ write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
|
||||
$ goto all_exit
|
||||
$ endif
|
||||
$!
|
||||
$!
|
||||
$! Parse the kit name into components.
|
||||
$!---------------------------------------
|
||||
$ producer = f$element(0, "-", kit_name)
|
||||
$ base = f$element(1, "-", kit_name)
|
||||
$ product = f$element(2, "-", kit_name)
|
||||
$ mmversion = f$element(3, "-", kit_name)
|
||||
$ majorver = f$extract(0, 3, mmversion)
|
||||
$ minorver = f$extract(3, 2, mmversion)
|
||||
$ updatepatch = f$element(4, "-", kit_name)
|
||||
$ if updatepatch .eqs. "-" then updatepatch = ""
|
||||
$!
|
||||
$! kit type of "D" means a daily build
|
||||
$ kit_type = f$edit(f$extract(0, 1, majorver), "upcase")
|
||||
$!
|
||||
$ cfg_file_in = "[--]curl-config.in"
|
||||
$!
|
||||
$ if f$search(cfg_file_in) .eqs. ""
|
||||
$ then
|
||||
$ write sys$output "Can not find curl-config.in."
|
||||
$ goto all_exit
|
||||
$ endif
|
||||
$!
|
||||
$ if (f$getsyi("HW_MODEL") .lt. 1024)
|
||||
$ then
|
||||
$ arch_name = "VAX"
|
||||
@ -66,223 +33,122 @@ $ arch_name = arch_name + f$edit(f$getsyi("ARCH_NAME"), "UPCASE")
|
||||
$ if (arch_name .eqs. "") then arch_name = "UNK"
|
||||
$ endif
|
||||
$!
|
||||
$ x_prefix = "/usr"
|
||||
$ x_exec_prefix = "/usr"
|
||||
$ x_includedir = "${prefix}/include"
|
||||
$ x_cppflag_curl_staticlib = "-DCURL_STATICLIB"
|
||||
$ x_enabled_shared = "no"
|
||||
$ x_curl_ca_bundle = ""
|
||||
$ x_cc = "cc"
|
||||
$ x_support_features = "SSL IPv6 libz NTLM"
|
||||
$ x_support_protocols1 = "DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS LDAP"
|
||||
$ x_support_protocols2 = " LDAPS POP3 POP3S RTSP SMTP SMTPS TELNET TFTP"
|
||||
$ x_support_protocols = x_support_protocols1 + x_support_protocols2
|
||||
$ x_curlversion = "0.0.0.0"
|
||||
$ x_versionnum = ""
|
||||
$ x_libdir = "${prefix}/lib"
|
||||
$ x_require_lib_deps = ""
|
||||
$ x_enable_static = ""
|
||||
$ x_ldflags = ""
|
||||
$ part1 = "-L/usr/lib -L/SSL_LIB -lssl -lcrypto -lz"
|
||||
$ if arch_name .eqs. "VAX"
|
||||
$ then
|
||||
$ x_libcurl_libs = part1
|
||||
$ else
|
||||
$ x_libcurl_libs = part1 + " -lgssapi"
|
||||
$ endif
|
||||
$ x_libext = "a"
|
||||
$!
|
||||
$ curl_version = "0.0.0"
|
||||
$ open/read vf [--.include.curl]curlver.h
|
||||
$version_loop:
|
||||
$ read vf/end=version_loop_end line_in
|
||||
$! Get the version number
|
||||
$!-----------------------
|
||||
$ i = 0
|
||||
$ open/read/error=version_loop_end vhf [--.include.curl]curlver.h
|
||||
$ version_loop:
|
||||
$ read/end=version_loop_end vhf line_in
|
||||
$ if line_in .eqs. "" then goto version_loop
|
||||
$ key = f$element(0, " ", line_in)
|
||||
$ if key .nes. "#define" then goto version_loop
|
||||
$ name = f$element(1, " ", line_in)
|
||||
$ if name .eqs. "LIBCURL_VERSION"
|
||||
$ if f$locate("#define LIBCURL_VERSION ", line_in) .eq. 0
|
||||
$ then
|
||||
$ curl_version = f$element(2, " ", line_in) - """" - """"
|
||||
$ goto version_loop
|
||||
$ x_curlversion = f$element(2," ", line_in) - """" - """"
|
||||
$ i = i + 1
|
||||
$ endif
|
||||
$ if name .eqs. "LIBCURL_VERSION_NUM"
|
||||
$ if f$locate("#define LIBCURL_VERSION_NUM ", line_in) .eq. 0
|
||||
$ then
|
||||
$ version_num_hex = f$element(2, " ", line_in)
|
||||
$ version_num = version_num_hex - "0x"
|
||||
$ goto version_loop
|
||||
$ x_versionnum = f$element(2," ", line_in) - """" - """"
|
||||
$ i = i + 1
|
||||
$ endif
|
||||
$version_loop_end:
|
||||
$ close vf
|
||||
$ if i .lt 2 then goto version_loop
|
||||
$ version_loop_end:
|
||||
$ close vhf
|
||||
$!
|
||||
$!
|
||||
$ create [--]curl-config.
|
||||
$ open/append pco [--]curl-config.
|
||||
$ open/read pci 'cfg_file_in'
|
||||
$cfg_file_loop:
|
||||
$ read pci/end=cfg_file_loop_end line_in
|
||||
$!
|
||||
$! blank lines
|
||||
$ if line_in .eqs. ""
|
||||
$ kit_type = "V"
|
||||
$ if f$locate("-", x_curlversion) .lt. f$length(x_curlversion)
|
||||
$ then
|
||||
$ write pco ""
|
||||
$ goto cfg_file_loop
|
||||
$ kit_type = "D"
|
||||
$ x_prefix = "/beta"
|
||||
$ x_exec_prefix = "/beta"
|
||||
$ endif
|
||||
$!
|
||||
$! comment lines
|
||||
$ key = f$extract(0, 1, line_in)
|
||||
$ if key .eqs. "#"
|
||||
$ if kit_type .nes. "D"
|
||||
$ then
|
||||
$ write pco line_in
|
||||
$ goto cfg_file_loop
|
||||
$ part1 = " echo "" '--prefix=/usr' '--exec-prefix=/usr' "
|
||||
$ else
|
||||
$ part1 = " echo "" '--prefix=/beta' '--exec_prefix=/beta' "
|
||||
$ endif
|
||||
$ if arch_name .eqs. "VAX"
|
||||
$ then
|
||||
$ part3 = ""
|
||||
$ else
|
||||
$ part3 = "'--with-gssapi' "
|
||||
$ endif
|
||||
$ part2 = "'--disable-dependency-tracking' '--disable-libtool-lock' "
|
||||
$ part4 = "'--disable-ntlm-wb' '--with-ca-path=gnv$curl_ca_path'"""
|
||||
$!
|
||||
$! No substitution line
|
||||
$ line_in_len = f$length(line_in)
|
||||
$ if f$locate("@", line_in) .ge. line_in_len
|
||||
$ then
|
||||
$ write pco line_in
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ x_configure_options = part1 + part2 + part3 + part4
|
||||
$!
|
||||
$ if f$locate("@prefix@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ if kit_type .nes. "D"
|
||||
$ then
|
||||
$ write pco "prefix=/usr"
|
||||
$ else
|
||||
$ write pco "prefix=/beta"
|
||||
$ endif
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("@exec_prefix@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ if kit_type .nes. "D"
|
||||
$ then
|
||||
$ write pco "exec_prefix=/usr"
|
||||
$ else
|
||||
$ write pco "exec_prefix=/beta"
|
||||
$ endif
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("=@includedir@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ write pco "includedir=$(prefix}/include"
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("X@includedir@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ write pco " if test ""X$(prefix}/include""; then"
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("I@includedir@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ write pco " echo "${CPPFLAG_CURL_STATICLIB}-I$(prefix}/include"
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("@CPPFLAG_CURL_STATICLIB@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ write pco "cppflag_curl_staticlib=-DCURL_STATICLIB"
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("@ENABLE_SHARED@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ write pco " echo no"
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("@CURL_CA_BUNDLE@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ write pco " echo """""
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("@CC@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ write pco " echo ""cc"""
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("@SUPPORT_FEATURES@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ if arch_name .eqs. "VAX"
|
||||
$ then
|
||||
$ write pco " for feature in SSL libz NTLM ""; do"
|
||||
$ else
|
||||
$ write pco " for feature in SSL IPv6 libz NTLM ""; do"
|
||||
$ endif
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("@SUPPORT_PROTOCOLS@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ proto1 = "DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS"
|
||||
$ proto2 = " LDAP LDAPS POP3 POP3S RTSP SMTP SMTPS TELNET TFTP"
|
||||
$ proto = proto1 + proto2
|
||||
$ write pco " for protocol in " + proto + "; do"
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("libcurl @CURLVERSION@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ write pco " echo libcurl ''curl_version'"
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("existing @CURLVERSION@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ line_start = -
|
||||
" echo ""requested version $checkfor is newer than existing"
|
||||
$ write pco "''line_start' ''curl_version'"""
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("`echo @versionnum@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ write pco " numuppercase=`echo ''version_num' | tr 'a-f' 'A-F'`"
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate(" echo @versionnum@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ write pco " echo ''version_num'"
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("X@libdir@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ part1 = " if test ""$(exec_prefix}/lib"" != ""X/usr/lib"""
|
||||
$ part2 = "-a ""X$(exec_prefix}/lib"" != ""X/usr/lib64""; then"
|
||||
$ write pco part1,part2
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("L@libdir@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ write pco " CURLLIBDIR=""$(exec_prefix}/lib """
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("@REQUIRE_LIB_DEPS@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ write pco " if test "Xyes" = "Xyes"; then"
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("@LIBCURL_LIBS@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ if arch_name .eqs. "VAX"
|
||||
$ then
|
||||
$ write pco " echo ${CURLLIBDIR}-lssl -lcrypto -lz"
|
||||
$ else
|
||||
$ write pco " echo ${CURLLIBDIR}-lssl -lcrypto -lgssapi -lz"
|
||||
$ endif
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("@ENABLE_STATIC@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ write pco " if test "Xyes" != "Xno" ; then"
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("@LIBCURL_LIBS@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ part1 = " echo ${exec_prefix}/lib/libcurl.a"
|
||||
$ part2 = "-L/usr/lib -L/SSL_LIB"
|
||||
$ if arch_name .eqs. "VAX"
|
||||
$ then
|
||||
$ write pco "''part1' ''part2' -lssl -lcrypto -lz"
|
||||
$ else
|
||||
$ write pco "''part1' ''part2' -lssl -lcrypto -lgssapi -lz"
|
||||
$ endif
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$ if f$locate("@CONFIGURE_OPTIONS@", line_in) .lt line_in_len
|
||||
$ then
|
||||
$ if kit_type .nes. "D"
|
||||
$ then
|
||||
$ part1 = " echo "" '--prefix=/usr' '--exec-prefix=/usr' "
|
||||
$ else
|
||||
$ part1 = " echo "" '--prefix=/beta' '--exec_prefix=/beta' "
|
||||
$ endif
|
||||
$ if arch_name .eqs. "VAX"
|
||||
$ then
|
||||
$ part3 = ""
|
||||
$ else
|
||||
$ part3 = "'--with-gssapi' "
|
||||
$ endif
|
||||
$ part2 = "'--disable-dependency-tracking' '--disable-libtool-lock' "
|
||||
$ part4 = "'--disable-ntlm-wb' '--with-ca-path=gnv$curl_ca_path'"""
|
||||
$!
|
||||
$ write pco part1,part2,part3,part4
|
||||
$!
|
||||
$ goto cfg_file_loop
|
||||
$ endif
|
||||
$!
|
||||
$pc_file_loop_end:
|
||||
$ close pco
|
||||
$ close pci
|
||||
$!
|
||||
$all_exit:
|
||||
$ exit
|
||||
$ open/read/error=read_loop_end c_c_in sys$disk:[--]curl-config.in
|
||||
$ create sys$disk:[--]curl-config.
|
||||
$ open/append c_c_out sys$disk:[--]curl-config.
|
||||
$read_loop:
|
||||
$ read/end=read_loop_end c_c_in line_in
|
||||
$ line_in_len = f$length(line_in)
|
||||
$ if f$locate("@", line_in) .ge. line_in_len
|
||||
$ then
|
||||
$ write c_c_out line_in
|
||||
$ goto read_loop
|
||||
$ endif
|
||||
$ i = 0
|
||||
$ line_out = ""
|
||||
$sub_loop:
|
||||
$ ! Replace between pairs of @ by alternating the elements.
|
||||
$ ! If mis-matched pairs, do not substitute anything.
|
||||
$ section1 = f$element(i, "@", line_in)
|
||||
$ if section1 .eqs. "@"
|
||||
$ then
|
||||
$ goto sub_loop_end
|
||||
$ endif
|
||||
$ i = i + 1
|
||||
$ section2 = f$element(i, "@", line_in)
|
||||
$ if section2 .eqs. "@"
|
||||
$ then
|
||||
$ goto sub_loop_end
|
||||
$ endif
|
||||
$ i = i + 1
|
||||
$ section3 = f$element(i, "@", line_in)
|
||||
$ if section3 .eqs. "@"
|
||||
$ then
|
||||
$ if line_out .eqs. "" then line_out = line_in
|
||||
$ goto sub_loop_end
|
||||
$ endif
|
||||
$ line_out = line_out + section1
|
||||
$ if f$type(x_'section2') .eqs. "STRING"
|
||||
$ then
|
||||
$ line_out = line_out + x_'section2'
|
||||
$ endif
|
||||
$ goto sub_loop
|
||||
$sub_loop_end:
|
||||
$ write c_c_out line_out
|
||||
$ goto read_loop
|
||||
$read_loop_end:
|
||||
$ close c_c_in
|
||||
$ close c_c_out
|
||||
|
@ -76,7 +76,7 @@ $ endif
|
||||
$!
|
||||
$!
|
||||
$ curl_version = "0.0.0"
|
||||
$ open/read vf [--.src]version.h
|
||||
$ open/read vf [--.src]tool_version.h
|
||||
$version_loop:
|
||||
$ read vf/end=version_loop_end line_in
|
||||
$ if line_in .eqs. "" then goto version_loop
|
||||
|
@ -40,7 +40,7 @@ $! VAX must always use DFLOAT
|
||||
$! NOLARGE Disable large-file support if large file support available.
|
||||
$! (Non-VAX, VMS >= V7.2.)
|
||||
$! NOLDAP Disable LDAP support if LDAP is available.
|
||||
$! NOKERBEROS Disable Kerberos support if Kerberos is not available.
|
||||
$! NOKERBEROS Disable Kerberos support if Kerberos is available.
|
||||
$! LIST Create C compiler listings and linker maps.
|
||||
$! /list/show=(expan,includ)/machine
|
||||
$! FULLLIST Full detailed listing.
|
||||
@ -148,6 +148,9 @@ $! * 3 spaces after $ for second level. Line start + 4.
|
||||
$! * 7 spaces after $ for third level. Line start + 8.
|
||||
$! * Each level after that indents 4 characters.
|
||||
$! * then/else/endif same indentation as if statement.
|
||||
$! 17-Nov-2014, Michael Steve
|
||||
$! Modified build to handle new location of the VTLS lib
|
||||
$! source within zip archive. Not a pretty fix.
|
||||
$!
|
||||
$!===========================================================================
|
||||
$!
|
||||
@ -677,8 +680,6 @@ $! Form CC qualifiers.
|
||||
$!
|
||||
$ cc_defs = "/define = (''cc_defs')"
|
||||
$ cc_qual2 = cc_qual2 + " /object = ''objdir'"
|
||||
$ cc_qual2 = cc_qual2 + " /include = ([-.lib], [-.src],"
|
||||
$ cc_qual2 = cc_qual2 + " [-.packages.vms], [-.packages.vms.''arch_name'])"
|
||||
$ cc_qual2 = cc_qual2 + "/nested_include_directory=none"
|
||||
$!
|
||||
$ 'vo_c' "CC opts:", -
|
||||
@ -806,7 +807,6 @@ $! set nover
|
||||
$ endif
|
||||
$!
|
||||
$!
|
||||
$!
|
||||
$ on control_y then goto Common_Exit
|
||||
$!
|
||||
$ set default 'proc_dev_dir'
|
||||
@ -819,10 +819,21 @@ $ if curl_sys_zlibinc .nes. ""
|
||||
$ then
|
||||
$ sys_inc = sys_inc + ",''curl_sys_zlibinc'"
|
||||
$ endif
|
||||
$! Build LIB
|
||||
$ cc_include = "/include=([-.lib],[-.lib.vtls],[-.packages.vms]"
|
||||
$ cc_include = cc_include + ",[-.packages.vms.''arch_name'])"
|
||||
$ call build "[--.lib]" "*.c" "''objdir'CURLLIB.OLB" "amigaos, nwlib, nwos"
|
||||
$ if ($status .eq. ctrl_y) then goto Common_Exit
|
||||
$! Build VTLS
|
||||
$ cc_include = "/include=([--.lib.vtls],[--.lib],[--.src]"
|
||||
$ cc_include = cc_include + ",[--.packages.vms],[--.packages.vms.''arch_name'])"
|
||||
$ call build "[--.lib.vtls]" "*.c" "''objdir'CURLLIB.OLB" "amigaos, nwlib, nwos"
|
||||
$! Build SRC
|
||||
$ cc_include = "/include=([-.src],[-.lib],[-.lib.vtls]"
|
||||
$ cc_include = cc_include + ",[-.packages.vms],[-.packages.vms.''arch_name'])"
|
||||
$ call build "[--.src]" "*.c" "''objdir'CURLSRC.OLB"
|
||||
$ if ($status .eq. ctrl_y) then goto Common_Exit
|
||||
$! Build MSG
|
||||
$ call build "[]" "*.msg" "''objdir'CURLSRC.OLB"
|
||||
$ if ($status .eq. ctrl_y) then goto Common_Exit
|
||||
$!
|
||||
@ -920,7 +931,7 @@ $ on control_y then goto EndLoop ! SS$_CONTROLY
|
||||
$ sts = 1 ! SS$_NORMAL.
|
||||
$! set noon
|
||||
$ set default 'p1'
|
||||
$ search = p2
|
||||
$ search = "sys$disk:" + p2
|
||||
$ reset = f$search("reset")
|
||||
$ if f$search( p3) .eqs. ""
|
||||
$ then
|
||||
@ -994,6 +1005,7 @@ $ define/user decc$system_include 'sys_inc'
|
||||
$ CC 'cc_defs' -
|
||||
'cc_qual1' -
|
||||
'cc_qual2' -
|
||||
'cc_include' -
|
||||
'file'
|
||||
$ else
|
||||
$ cmd_msg = "MESSAGE " + msg_qual
|
||||
|
@ -58,7 +58,7 @@ LCL_ROOT:,VMS_ROOT:,SRC_ROOT:
|
||||
For the make install process to work, it must have write access to the
|
||||
directories referenced by the GNU: logical name.
|
||||
|
||||
In future releases of GNV, and with GNV Bash 4.2.45 installed, this name
|
||||
In future releases of GNV, and with GNV Bash 4.3.30 installed, this name
|
||||
should be GNV$GNU:
|
||||
|
||||
As directly updating those directories would probably be disruptive to other
|
||||
@ -99,10 +99,6 @@ Note to builders:
|
||||
GNV currently has a bug where configure scripts take a long time to run.
|
||||
Some of the configure steps take a while to complete, and on a 600 Mhz
|
||||
DS10 with IDE disks, taking an hour to run the CURL configure is normal.
|
||||
The bug appears to be in the SED for GNV 2.1.3 and GNV 3.0.1 where it
|
||||
is taking far longer than it should to do I/O. In addition, there are
|
||||
reports that the SED in GNV 3.0.1 is broken so the SED from GNV 2.1.3
|
||||
should be used instead.
|
||||
|
||||
The following messages can be ignored and may get fixed in a future version
|
||||
of GNV. The GNV$*.OPT files are used to find the libraries as many have
|
||||
@ -119,12 +115,50 @@ u unimplemented switch - ignored
|
||||
|
||||
|
||||
With these search lists set up and the properly, curl can be built by
|
||||
setting your default to PRJ_ROOT:[curl.packages.vms] where the * is
|
||||
replaced by the actual version of curl, and then issuing the command:
|
||||
setting your default to PRJ_ROOT:[curl.packages.vms] and then issuing
|
||||
either the command:
|
||||
|
||||
$ @pcsi_product_gnv_curl.com
|
||||
|
||||
or
|
||||
|
||||
$ @build_gnv_curl.com.
|
||||
|
||||
This command procedure does the following:
|
||||
The GNV configure procedure takes considerably longer than the DCL build
|
||||
procecure takes. It is of use for testing the GNV build environment, and
|
||||
may not have been kept up to date.
|
||||
|
||||
The pcsi_product_gnv_curl.com needs the following logical names which
|
||||
are described in the section below:
|
||||
|
||||
gnv_pcsi_producer
|
||||
gnv_pcsi_producer_full_name
|
||||
stage_root
|
||||
vms_root1 (Optional if vms_root is on a NFS volume)
|
||||
src_root1 (Optional if src_root is on a NFS volume)
|
||||
|
||||
The pcsi_product_gnv_curl.com is described in more detail below. It does
|
||||
the following steps. The build steps are only done if they are needed to
|
||||
allow using either DCL or GNV based building procedures.
|
||||
|
||||
$ @build_vms list
|
||||
|
||||
$ @gnv_link_curl.com
|
||||
|
||||
$ @build_gnv_curl_release_notes.com
|
||||
|
||||
$ @backup_gnv_curl_src.com
|
||||
|
||||
$ @build_gnv_curl_pcsi_desc.com
|
||||
|
||||
$ @build_gnv_curl_pcsi_text.com
|
||||
|
||||
$ @stage_curl_install remove
|
||||
$ @stage_curl_install
|
||||
|
||||
Then builds the kit.
|
||||
|
||||
The build_gnv_curl.com command procedure does the following:
|
||||
|
||||
$ @setup_gnv_curl_build.com
|
||||
|
||||
@ -140,7 +174,8 @@ This command procedure does the following:
|
||||
|
||||
$ purge new_gnu:[*...]/log
|
||||
|
||||
To clean up after a build to start over, the following commands are used:
|
||||
To clean up after a GNV based build to start over, the following commands are
|
||||
used:
|
||||
|
||||
$ bash
|
||||
bash$ cd ../..
|
||||
|
@ -277,6 +277,18 @@ $endif
|
||||
$write cvh "#ifdef CURL_DISABLE_LIBCURL_OPTION"
|
||||
$write cvh "#undef CURL_DISABLE_LIBCURL_OPTION"
|
||||
$write cvh "#endif"
|
||||
$write cvh "#ifndef __VAX"
|
||||
$write cvh "#ifdef CURL_DISABLE_NTLM"
|
||||
$write cvh "#undef CURL_DISABLE_NTLM"
|
||||
$write cvh "#endif"
|
||||
$write cvh "#else"
|
||||
$! NTLM needs long long or int64 support, missing from DECC C.
|
||||
$write cvh "#ifdef __DECC
|
||||
$write cvh "#ifndef CURL_DISABLE_NTLM"
|
||||
$write cvh "#define CURL_DISABLE_NTLM 1"
|
||||
$write cvh "#endif"
|
||||
$write cvh "#endif"
|
||||
$write cvh "#endif"
|
||||
$write cvh "#ifdef CURL_DISABLE_POP3"
|
||||
$write cvh "#undef CURL_DISABLE_POP3"
|
||||
$write cvh "#endif"
|
||||
@ -334,6 +346,9 @@ $write cvh "#endif"
|
||||
$write cvh "#ifdef USE_MANUAL"
|
||||
$write cvh "#undef USE_MANUAL"
|
||||
$write cvh "#endif"
|
||||
$write cvh "#ifdef USE_NGHTTP2"
|
||||
$write cvh "#undef USE_NGHTTP2"
|
||||
$write cvh "#endif"
|
||||
$write cvh "#ifdef USE_NSS"
|
||||
$write cvh "#undef USE_NSS"
|
||||
$write cvh "#endif"
|
||||
@ -352,10 +367,17 @@ $write cvh "#endif"
|
||||
$write cvh "#ifdef USE_TLS_SRP"
|
||||
$write cvh "#undef USE_TLS_SRP"
|
||||
$write cvh "#endif"
|
||||
$write cvh "#ifdef USE_UNIX_SOCKETS"
|
||||
$write cvh "#undef USE_UNIX_SOCKETS"
|
||||
$write cvh "#endif"
|
||||
$write cvh "#ifdef USE_WINDOWS_SSPI"
|
||||
$write cvh "#undef USE_WINDOWS_SSPI"
|
||||
$write cvh "#endif"
|
||||
$!
|
||||
$write cvh "#ifndef HAVE_OLD_GSSMIT"
|
||||
$write cvh "#define gss_nt_service_name GSS_C_NT_HOSTBASED_SERVICE"
|
||||
$write cvh "#endif"
|
||||
$!
|
||||
$!
|
||||
$! Note:
|
||||
$! The CURL_EXTERN_SYMBOL is used for platforms that need the compiler
|
||||
@ -388,6 +410,18 @@ $ write cvh "#endif"
|
||||
$ write cvh "#ifndef USE_SSLEAY"
|
||||
$ write cvh "#define USE_SSLEAY 1"
|
||||
$ write cvh "#endif"
|
||||
$ if arch_name .eqs. "VAX"
|
||||
$ then
|
||||
$ old_mes = f$enviroment("message")
|
||||
$ set message/notext/nofaci/noseve/noident
|
||||
$ search/output=nla0: ssl$include:*.h CONF_MFLAGS_IGNORE_MISSING_FILE
|
||||
$ status = $severity
|
||||
$ set message'old_mes'
|
||||
$ if status .nes. "1"
|
||||
$ then
|
||||
$ write cvh "#define VMS_OLD_SSL 1"
|
||||
$ endif
|
||||
$ endif
|
||||
$endif
|
||||
$!
|
||||
$!
|
||||
@ -406,6 +440,7 @@ $ write cvh "#undef HAVE_LIBIDN"
|
||||
$ write cvh "#endif"
|
||||
$endif
|
||||
$!
|
||||
$!
|
||||
$! LibSSH2 not ported to VMS at this time.
|
||||
$! Allow explicit experimentation.
|
||||
$if libssh2
|
||||
@ -428,6 +463,7 @@ $ write cvh "#endif"
|
||||
$endif
|
||||
$!
|
||||
$!
|
||||
$!
|
||||
$if .not. nozlib
|
||||
$then
|
||||
$ write cvh "#define HAVE_LIBZ 1"
|
||||
@ -435,6 +471,9 @@ $ write cvh "#define HAVE_ZLIB_H 1"
|
||||
$endif
|
||||
$!
|
||||
$!
|
||||
$! Suppress a message in curl_gssapi.c compile.
|
||||
$write cvh "#pragma message disable notconstqual"
|
||||
$!
|
||||
$! Close out the file
|
||||
$!
|
||||
$write cvh ""
|
||||
|
@ -354,7 +354,6 @@ $ endif
|
||||
$!
|
||||
$gnv_libcurl_share = "''default_dir'gnv$libcurl.exe"
|
||||
$!
|
||||
$set ver
|
||||
$ if f$search(gnv_libcurl_share) .eqs. ""
|
||||
$ then
|
||||
$ if arch_name .nes. "VAX"
|
||||
@ -420,19 +419,17 @@ $ curl_dsf = "[.src]curl.dsf"
|
||||
$ curl_main = "[.packages.vms.''arch_name']tool_main.obj"
|
||||
$ curl_src = "[.packages.vms.''arch_name']curlsrc.olb"
|
||||
$ curl_lib = "[.packages.vms.''arch_name']curllib.olb"
|
||||
$ strtoofft = "strtoofft"
|
||||
$ strdup = "strdup"
|
||||
$ rawstr = "rawstr"
|
||||
$ nonblock = "nonblock"
|
||||
$ warnless = "warnless"
|
||||
$!
|
||||
$! Extended parse style requires special quoting
|
||||
$!
|
||||
$ if (arch_name .nes. "VAX") .and. (parse_style .eqs. "EXTENDED")
|
||||
$ then
|
||||
$ strtoofft = """strtoofft"""
|
||||
$ strdup = """strdup"""
|
||||
$ rawstr = """rawstr"""
|
||||
$ nonblock = """nonblock"""
|
||||
$ warnless = """warnless"""
|
||||
$ endif
|
||||
$ if f$search(curl_exe) .eqs. ""
|
||||
$ then
|
||||
@ -440,7 +437,7 @@ $ define/user gnv$libcurl 'gnv_libcurl_share'
|
||||
$ link'ldebug'/exe='curl_exe'/dsf='curl_dsf' -
|
||||
'curl_main','curl_src'/lib, -
|
||||
'curl_lib'/library/include=-
|
||||
('strtoofft', 'strdup', 'rawstr', 'nonblock'),-
|
||||
('rawstr','nonblock','warnless'),-
|
||||
gnv_packages_vms:curlmsg.obj,-
|
||||
sys$input:/opt
|
||||
gnv$libcurl/share
|
||||
@ -448,7 +445,7 @@ gnv_packages_vms:curl_crtl_init.obj
|
||||
$ endif
|
||||
$ endif
|
||||
$!
|
||||
$set nover
|
||||
$!
|
||||
$!
|
||||
$! in6addr_missing so skip building:
|
||||
$! [.server]sws.o
|
||||
|
@ -61,6 +61,32 @@ $! Make sure that the kit name is up to date for this build
|
||||
$!----------------------------------------------------------
|
||||
$ @MAKE_PCSI_CURL_KIT_NAME.COM
|
||||
$!
|
||||
$!
|
||||
$! Make sure that the image is built
|
||||
$!----------------------------------
|
||||
$ arch_name = f$edit(f$getsyi("arch_name"),"UPCASE")
|
||||
$ if f$search("[--.src]curl.exe") .eqs. ""
|
||||
$ then
|
||||
$ build_it = 1
|
||||
$ libfile = "[.packages.vms.''arch_name']curllib.olb"
|
||||
$ if f$search(libfile) .nes. ""
|
||||
$ then
|
||||
$ build_it = 0
|
||||
$ else
|
||||
$ ! GNV based build
|
||||
$ libfile = "[.lib.^.libs]libcurl.a"
|
||||
$ if f$search(libfile) .nes. ""
|
||||
$ then
|
||||
$ build_it = 0;
|
||||
$ endif
|
||||
$ endif
|
||||
$ if build_it .eq. 1
|
||||
$ then
|
||||
$ @build_vms list
|
||||
$ endif
|
||||
$ @gnv_link_curl.com
|
||||
$ endif
|
||||
$!
|
||||
$! Make sure that the release note file name is up to date
|
||||
$!---------------------------------------------------------
|
||||
$ @BUILD_GNV_CURL_RELEASE_NOTES.COM
|
||||
@ -107,6 +133,8 @@ $ else
|
||||
$ version = "''mmversion'"
|
||||
$ endif
|
||||
$!
|
||||
$ @stage_curl_install remove
|
||||
$ @stage_curl_install
|
||||
$!
|
||||
$! Move to the base directories
|
||||
$ set def [--]
|
||||
@ -114,6 +142,7 @@ $ current_default = f$environment("DEFAULT")
|
||||
$ my_dir = f$parse(current_default,,,"DIRECTORY") - "[" - "<" - ">" - "]"
|
||||
$!
|
||||
$!
|
||||
$!
|
||||
$ source = "''default_dir'"
|
||||
$ src1 = "new_gnu:[usr.bin],"
|
||||
$ src2 = "new_gnu:[usr.include.curl],"
|
||||
@ -128,7 +157,6 @@ $ gnu_src = src1 + src2 + src3 + src4 + src5 + src6 + src7 + src8 + src9
|
||||
$!
|
||||
$!
|
||||
$ base = ""
|
||||
$ arch_name = f$edit(f$getsyi("arch_name"),"UPCASE")
|
||||
$ if arch_name .eqs. "ALPHA" then base = "AXPVMS"
|
||||
$ if arch_name .eqs. "IA64" then base = "I64VMS"
|
||||
$ if arch_name .eqs. "VAX" then base = "VAXVMS"
|
||||
|
@ -266,7 +266,7 @@ int main(int argc, char *argv[])
|
||||
#endif
|
||||
|
||||
#ifdef __VMS
|
||||
vms_special_exit(res, vms_show);
|
||||
vms_special_exit(result, vms_show);
|
||||
#else
|
||||
return (int)result;
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user