1*6236dae4SAndroid Build Coastguard Worker$! build_curl-config_script.com 2*6236dae4SAndroid Build Coastguard Worker$! 3*6236dae4SAndroid Build Coastguard Worker$! This generates the curl-config. script from the curl-config.in file. 4*6236dae4SAndroid Build Coastguard Worker$! 5*6236dae4SAndroid Build Coastguard Worker$! Copyright (C) John Malmberg 6*6236dae4SAndroid Build Coastguard Worker$! 7*6236dae4SAndroid Build Coastguard Worker$! Permission to use, copy, modify, and/or distribute this software for any 8*6236dae4SAndroid Build Coastguard Worker$! purpose with or without fee is hereby granted, provided that the above 9*6236dae4SAndroid Build Coastguard Worker$! copyright notice and this permission notice appear in all copies. 10*6236dae4SAndroid Build Coastguard Worker$! 11*6236dae4SAndroid Build Coastguard Worker$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 12*6236dae4SAndroid Build Coastguard Worker$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 13*6236dae4SAndroid Build Coastguard Worker$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 14*6236dae4SAndroid Build Coastguard Worker$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15*6236dae4SAndroid Build Coastguard Worker$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16*6236dae4SAndroid Build Coastguard Worker$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 17*6236dae4SAndroid Build Coastguard Worker$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18*6236dae4SAndroid Build Coastguard Worker$! 19*6236dae4SAndroid Build Coastguard Worker$! SPDX-License-Identifier: ISC 20*6236dae4SAndroid Build Coastguard Worker$! 21*6236dae4SAndroid Build Coastguard Worker$!=========================================================================== 22*6236dae4SAndroid Build Coastguard Worker$! 23*6236dae4SAndroid Build Coastguard Worker$! Skip this if the curl-config. already exists. 24*6236dae4SAndroid Build Coastguard Worker$ if f$search("[--]curl-config.") .nes. "" then goto all_exit 25*6236dae4SAndroid Build Coastguard Worker$! 26*6236dae4SAndroid Build Coastguard Worker$ if (f$getsyi("HW_MODEL") .lt. 1024) 27*6236dae4SAndroid Build Coastguard Worker$ then 28*6236dae4SAndroid Build Coastguard Worker$ arch_name = "VAX" 29*6236dae4SAndroid Build Coastguard Worker$ else 30*6236dae4SAndroid Build Coastguard Worker$ arch_name = "" 31*6236dae4SAndroid Build Coastguard Worker$ arch_name = arch_name + f$edit(f$getsyi("ARCH_NAME"), "UPCASE") 32*6236dae4SAndroid Build Coastguard Worker$ if (arch_name .eqs. "") then arch_name = "UNK" 33*6236dae4SAndroid Build Coastguard Worker$ endif 34*6236dae4SAndroid Build Coastguard Worker$! 35*6236dae4SAndroid Build Coastguard Worker$ x_prefix = "/usr" 36*6236dae4SAndroid Build Coastguard Worker$ x_exec_prefix = "/usr" 37*6236dae4SAndroid Build Coastguard Worker$ x_includedir = "${prefix}/include" 38*6236dae4SAndroid Build Coastguard Worker$ x_cppflag_curl_staticlib = "-DCURL_STATICLIB" 39*6236dae4SAndroid Build Coastguard Worker$ x_enabled_shared = "no" 40*6236dae4SAndroid Build Coastguard Worker$ x_curl_ca_bundle = "" 41*6236dae4SAndroid Build Coastguard Worker$ x_cc = "cc" 42*6236dae4SAndroid Build Coastguard Worker$ x_support_features = "SSL IPv6 libz NTLM" 43*6236dae4SAndroid Build Coastguard Worker$ x_support_protocols1 = "DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS LDAP" 44*6236dae4SAndroid Build Coastguard Worker$ x_support_protocols2 = " LDAPS POP3 POP3S RTSP SMTP SMTPS TELNET TFTP" 45*6236dae4SAndroid Build Coastguard Worker$ x_support_protocols = x_support_protocols1 + x_support_protocols2 46*6236dae4SAndroid Build Coastguard Worker$ x_curlversion = "0.0.0.0" 47*6236dae4SAndroid Build Coastguard Worker$ x_versionnum = "" 48*6236dae4SAndroid Build Coastguard Worker$ x_libdir = "${prefix}/lib" 49*6236dae4SAndroid Build Coastguard Worker$ x_require_lib_deps = "" 50*6236dae4SAndroid Build Coastguard Worker$ x_enable_static = "" 51*6236dae4SAndroid Build Coastguard Worker$ x_ldflags = "" 52*6236dae4SAndroid Build Coastguard Worker$ part1 = "-L/usr/lib -L/SSL_LIB -lssl -lcrypto -lz" 53*6236dae4SAndroid Build Coastguard Worker$ if arch_name .eqs. "VAX" 54*6236dae4SAndroid Build Coastguard Worker$ then 55*6236dae4SAndroid Build Coastguard Worker$ x_libcurl_libs = part1 56*6236dae4SAndroid Build Coastguard Worker$ else 57*6236dae4SAndroid Build Coastguard Worker$ x_libcurl_libs = part1 + " -lgssapi" 58*6236dae4SAndroid Build Coastguard Worker$ endif 59*6236dae4SAndroid Build Coastguard Worker$ x_libext = "a" 60*6236dae4SAndroid Build Coastguard Worker$! 61*6236dae4SAndroid Build Coastguard Worker$! Get the version number 62*6236dae4SAndroid Build Coastguard Worker$!----------------------- 63*6236dae4SAndroid Build Coastguard Worker$ i = 0 64*6236dae4SAndroid Build Coastguard Worker$ open/read/error=version_loop_end vhf [--.include.curl]curlver.h 65*6236dae4SAndroid Build Coastguard Worker$ version_loop: 66*6236dae4SAndroid Build Coastguard Worker$ read/end=version_loop_end vhf line_in 67*6236dae4SAndroid Build Coastguard Worker$ if line_in .eqs. "" then goto version_loop 68*6236dae4SAndroid Build Coastguard Worker$ if f$locate("#define LIBCURL_VERSION ", line_in) .eq. 0 69*6236dae4SAndroid Build Coastguard Worker$ then 70*6236dae4SAndroid Build Coastguard Worker$ x_curlversion = f$element(2," ", line_in) - """" - """" 71*6236dae4SAndroid Build Coastguard Worker$ i = i + 1 72*6236dae4SAndroid Build Coastguard Worker$ endif 73*6236dae4SAndroid Build Coastguard Worker$ if f$locate("#define LIBCURL_VERSION_NUM ", line_in) .eq. 0 74*6236dae4SAndroid Build Coastguard Worker$ then 75*6236dae4SAndroid Build Coastguard Worker$ x_versionnum = f$element(2," ", line_in) - """" - """" 76*6236dae4SAndroid Build Coastguard Worker$ i = i + 1 77*6236dae4SAndroid Build Coastguard Worker$ endif 78*6236dae4SAndroid Build Coastguard Worker$ if i .lt 2 then goto version_loop 79*6236dae4SAndroid Build Coastguard Worker$ version_loop_end: 80*6236dae4SAndroid Build Coastguard Worker$ close vhf 81*6236dae4SAndroid Build Coastguard Worker$! 82*6236dae4SAndroid Build Coastguard Worker$ kit_type = "V" 83*6236dae4SAndroid Build Coastguard Worker$ if f$locate("-", x_curlversion) .lt. f$length(x_curlversion) 84*6236dae4SAndroid Build Coastguard Worker$ then 85*6236dae4SAndroid Build Coastguard Worker$ kit_type = "D" 86*6236dae4SAndroid Build Coastguard Worker$ x_prefix = "/beta" 87*6236dae4SAndroid Build Coastguard Worker$ x_exec_prefix = "/beta" 88*6236dae4SAndroid Build Coastguard Worker$ endif 89*6236dae4SAndroid Build Coastguard Worker$! 90*6236dae4SAndroid Build Coastguard Worker$ if kit_type .nes. "D" 91*6236dae4SAndroid Build Coastguard Worker$ then 92*6236dae4SAndroid Build Coastguard Worker$ part1 = " echo "" '--prefix=/usr' '--exec-prefix=/usr' " 93*6236dae4SAndroid Build Coastguard Worker$ else 94*6236dae4SAndroid Build Coastguard Worker$ part1 = " echo "" '--prefix=/beta' '--exec_prefix=/beta' " 95*6236dae4SAndroid Build Coastguard Worker$ endif 96*6236dae4SAndroid Build Coastguard Worker$ if arch_name .eqs. "VAX" 97*6236dae4SAndroid Build Coastguard Worker$ then 98*6236dae4SAndroid Build Coastguard Worker$ part3 = "" 99*6236dae4SAndroid Build Coastguard Worker$ else 100*6236dae4SAndroid Build Coastguard Worker$ part3 = "'--with-gssapi' " 101*6236dae4SAndroid Build Coastguard Worker$ endif 102*6236dae4SAndroid Build Coastguard Worker$ part2 = "'--disable-dependency-tracking' '--disable-libtool-lock' " 103*6236dae4SAndroid Build Coastguard Worker$ part4 = "'--disable-ntlm-wb' '--with-ca-path=gnv$curl_ca_path'""" 104*6236dae4SAndroid Build Coastguard Worker$! 105*6236dae4SAndroid Build Coastguard Worker$ x_configure_options = part1 + part2 + part3 + part4 106*6236dae4SAndroid Build Coastguard Worker$! 107*6236dae4SAndroid Build Coastguard Worker$! 108*6236dae4SAndroid Build Coastguard Worker$ open/read/error=read_loop_end c_c_in sys$disk:[--]curl-config.in 109*6236dae4SAndroid Build Coastguard Worker$ create sys$disk:[--]curl-config. 110*6236dae4SAndroid Build Coastguard Worker$ open/append c_c_out sys$disk:[--]curl-config. 111*6236dae4SAndroid Build Coastguard Worker$read_loop: 112*6236dae4SAndroid Build Coastguard Worker$ read/end=read_loop_end c_c_in line_in 113*6236dae4SAndroid Build Coastguard Worker$ line_in_len = f$length(line_in) 114*6236dae4SAndroid Build Coastguard Worker$ if f$locate("@", line_in) .ge. line_in_len 115*6236dae4SAndroid Build Coastguard Worker$ then 116*6236dae4SAndroid Build Coastguard Worker$ write c_c_out line_in 117*6236dae4SAndroid Build Coastguard Worker$ goto read_loop 118*6236dae4SAndroid Build Coastguard Worker$ endif 119*6236dae4SAndroid Build Coastguard Worker$ i = 0 120*6236dae4SAndroid Build Coastguard Worker$ line_out = "" 121*6236dae4SAndroid Build Coastguard Worker$sub_loop: 122*6236dae4SAndroid Build Coastguard Worker$ ! Replace between pairs of @ by alternating the elements. 123*6236dae4SAndroid Build Coastguard Worker$ ! If mis-matched pairs, do not substitute anything. 124*6236dae4SAndroid Build Coastguard Worker$ section1 = f$element(i, "@", line_in) 125*6236dae4SAndroid Build Coastguard Worker$ if section1 .eqs. "@" 126*6236dae4SAndroid Build Coastguard Worker$ then 127*6236dae4SAndroid Build Coastguard Worker$ goto sub_loop_end 128*6236dae4SAndroid Build Coastguard Worker$ endif 129*6236dae4SAndroid Build Coastguard Worker$ i = i + 1 130*6236dae4SAndroid Build Coastguard Worker$ section2 = f$element(i, "@", line_in) 131*6236dae4SAndroid Build Coastguard Worker$ if section2 .eqs. "@" 132*6236dae4SAndroid Build Coastguard Worker$ then 133*6236dae4SAndroid Build Coastguard Worker$ goto sub_loop_end 134*6236dae4SAndroid Build Coastguard Worker$ endif 135*6236dae4SAndroid Build Coastguard Worker$ i = i + 1 136*6236dae4SAndroid Build Coastguard Worker$ section3 = f$element(i, "@", line_in) 137*6236dae4SAndroid Build Coastguard Worker$ if section3 .eqs. "@" 138*6236dae4SAndroid Build Coastguard Worker$ then 139*6236dae4SAndroid Build Coastguard Worker$ if line_out .eqs. "" then line_out = line_in 140*6236dae4SAndroid Build Coastguard Worker$ goto sub_loop_end 141*6236dae4SAndroid Build Coastguard Worker$ endif 142*6236dae4SAndroid Build Coastguard Worker$ line_out = line_out + section1 143*6236dae4SAndroid Build Coastguard Worker$ if f$type(x_'section2') .eqs. "STRING" 144*6236dae4SAndroid Build Coastguard Worker$ then 145*6236dae4SAndroid Build Coastguard Worker$ line_out = line_out + x_'section2' 146*6236dae4SAndroid Build Coastguard Worker$ endif 147*6236dae4SAndroid Build Coastguard Worker$ goto sub_loop 148*6236dae4SAndroid Build Coastguard Worker$sub_loop_end: 149*6236dae4SAndroid Build Coastguard Worker$ write c_c_out line_out 150*6236dae4SAndroid Build Coastguard Worker$ goto read_loop 151*6236dae4SAndroid Build Coastguard Worker$read_loop_end: 152*6236dae4SAndroid Build Coastguard Worker$ close c_c_in 153*6236dae4SAndroid Build Coastguard Worker$ close c_c_out 154