Annotation of embedaddon/curl/packages/vms/build_libcurl_pc.com, revision 1.1.1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>