1$! File: build_libcurl_pc.com 2$! 3$! Build the libcurl.pc file from the libcurl.pc.in file 4$! 5$! Copyright (C) John Malmberg 6$! 7$! Permission to use, copy, modify, and/or distribute this software for any 8$! purpose with or without fee is hereby granted, provided that the above 9$! copyright notice and this permission notice appear in all copies. 10$! 11$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 12$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 13$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 14$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 17$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18$! 19$! SPDX-License-Identifier: ISC 20$! 21$!=========================================================================== 22$! 23$! Skip this if the libcurl.pc already exists. 24$ if f$search("[--]libcurl.pc") .nes. "" then goto all_exit 25$! 26$! Need to know the kit type. 27$ kit_name = f$trnlnm("GNV_PCSI_KITNAME") 28$ if kit_name .eqs. "" 29$ then 30$ write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run." 31$ goto all_exit 32$ endif 33$! 34$! 35$! Parse the kit name into components. 36$!--------------------------------------- 37$ producer = f$element(0, "-", kit_name) 38$ base = f$element(1, "-", kit_name) 39$ product = f$element(2, "-", kit_name) 40$ mmversion = f$element(3, "-", kit_name) 41$ majorver = f$extract(0, 3, mmversion) 42$ minorver = f$extract(3, 2, mmversion) 43$ updatepatch = f$element(4, "-", kit_name) 44$ if updatepatch .eqs. "-" then updatepatch = "" 45$! 46$! kit type of "D" means a daily build 47$ kit_type = f$edit(f$extract(0, 1, majorver), "upcase") 48$! 49$ pc_file_in = "[--]libcurl^.pc.in" 50$! 51$ if f$search(pc_file_in) .eqs. "" 52$ then 53$ pc_file_in = "[--]libcurl.pc$5nin" 54$ if f$search(pc_file_in) .eqs. "" 55$ then 56$ pc_file_in = "[--]libcurl.pc_in" 57$ if f$search(pc_file_in) .eqs. "" 58$ then 59$ write sys$output "Can not find libcurl.pc.in." 60$ goto all_exit 61$ endif 62$ endif 63$ endif 64$! 65$ if (f$getsyi("HW_MODEL") .lt. 1024) 66$ then 67$ arch_name = "VAX" 68$ else 69$ arch_name = "" 70$ arch_name = arch_name + f$edit(f$getsyi("ARCH_NAME"), "UPCASE") 71$ if (arch_name .eqs. "") then arch_name = "UNK" 72$ endif 73$! 74$! 75$ curl_version = "0.0.0" 76$ open/read vf [--.src]tool_version.h 77$version_loop: 78$ read vf/end=version_loop_end line_in 79$ if line_in .eqs. "" then goto version_loop 80$ key = f$element(0, " ", line_in) 81$ if key .nes. "#define" then goto version_loop 82$ name = f$element(1, " ", line_in) 83$ if name .eqs. "VERSION" 84$ then 85$ curl_version = f$element(2, " ", line_in) - """" - """" 86$ else 87$ goto version_loop 88$ endif 89$version_loop_end: 90$ close vf 91$! 92$! 93$ create [--]libcurl.pc 94$ open/append pco [--]libcurl.pc 95$ open/read pci 'pc_file_in' 96$pc_file_loop: 97$ read pci/end=pc_file_loop_end line_in 98$! 99$! blank lines 100$ if line_in .eqs. "" 101$ then 102$ write pco "" 103$ goto pc_file_loop 104$ endif 105$! 106$! comment lines 107$ key = f$extract(0, 1, line_in) 108$ if key .eqs. "#" 109$ then 110$ write pco line_in 111$ goto pc_file_loop 112$ endif 113$! 114$! Special handling for libs. 115$ if f$locate("Libs:", line_in) .eq. 0 116$ then 117$ write pco "#",line_in 118$ goto pc_file_loop 119$ endif 120$! No substitution line 121$ line_in_len = f$length(line_in) 122$ if f$locate("@", line_in) .ge. line_in_len 123$ then 124$ write pco line_in 125$ goto pc_file_loop 126$ endif 127$! 128$ if f$locate("@prefix@", line_in) .lt line_in_len 129$ then 130$ if kit_type .nes. "D" 131$ then 132$ write pco "prefix=/usr" 133$ else 134$ write pco "prefix=/beta" 135$ endif 136$ goto pc_file_loop 137$ endif 138$ if f$locate("@exec_prefix@", line_in) .lt line_in_len 139$ then 140$ if kit_type .nes. "D" 141$ then 142$ write pco "exec_prefix=/usr" 143$ else 144$ write pco "exec_prefix=/beta" 145$ endif 146$ goto pc_file_loop 147$ endif 148$ if f$locate("@libdir@", line_in) .lt line_in_len 149$ then 150$ write pco "libdir=$(exec_prefix}/lib" 151$ goto pc_file_loop 152$ endif 153$ if f$locate("@includedir@", line_in) .lt line_in_len 154$ then 155$ write pco "includedir=$(prefix}/include" 156$ goto pc_file_loop 157$ endif 158$ if f$locate("@SUPPORT_PROTOCOLS@", line_in) .lt line_in_len 159$ then 160$ proto1 = "DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS" 161$ proto2 = " LDAP LDAPS POP3 POP3S RTSP SMTP SMTPS TELNET TFTP" 162$ proto = proto1 + proto2 163$ write pco "supported_protocols=""" + proto + """" 164$ goto pc_file_loop 165$ endif 166$ if f$locate("@SUPPORT_FEATURES@", line_in) .lt line_in_len 167$ then 168$ if arch_name .eqs. "VAX" 169$ then 170$ write pco "supported_features=""SSL libz NTLM""" 171$ else 172$ write pco "supported_features=""SSL IPv6 libz NTLM""" 173$ endif 174$ goto pc_file_loop 175$ endif 176$ if f$locate("@CURLVERSION@", line_in) .lt line_in_len 177$ then 178$ write pco "Version: ''curl_version'" 179$ goto pc_file_loop 180$ endif 181$ if f$locate("@LIBCURL_PC_LIBS_PRIVATE@", line_in) .lt line_in_len 182$ then 183$ if arch_name .eqs. "VAX" 184$ then 185$ write pco "Libs.private: -lssl -lcrypto -lz" 186$ else 187$ write pco "Libs.private: -lssl -lcrypto -lgssapi -lz" 188$ endif 189$ goto pc_file_loop 190$ endif 191$ if f$locate("@LIBCURL_PC_CFLAGS@", line_in) .lt line_in_len 192$ then 193$ write pco "Cflags: -I${includedir} -DCURL_STATICLIB" 194$ goto pc_file_loop 195$ endif 196$! 197$pc_file_loop_end: 198$ close pco 199$ close pci 200$! 201$all_exit: 202$ exit 203