quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

make-include.sh (2997B)


      1 #!/bin/sh
      2 #***************************************************************************
      3 #                                  _   _ ____  _
      4 #  Project                     ___| | | |  _ \| |
      5 #                             / __| | | | |_) | |
      6 #                            | (__| |_| |  _ <| |___
      7 #                             \___|\___/|_| \_\_____|
      8 #
      9 # Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
     10 #
     11 # This software is licensed as described in the file COPYING, which
     12 # you should have received as part of this distribution. The terms
     13 # are also available at https://curl.se/docs/copyright.html.
     14 #
     15 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
     16 # copies of the Software, and permit persons to whom the Software is
     17 # furnished to do so, under the terms of the COPYING file.
     18 #
     19 # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
     20 # KIND, either express or implied.
     21 #
     22 # SPDX-License-Identifier: curl
     23 #
     24 ###########################################################################
     25 #
     26 #       Installation of the header files in the OS/400 library.
     27 #
     28 
     29 SCRIPTDIR=$(dirname "${0}")
     30 . "${SCRIPTDIR}/initscript.sh"
     31 cd "${TOPDIR}/include" || exit 1
     32 
     33 
     34 #       Create the OS/400 source program file for the header files.
     35 
     36 SRCPF="${LIBIFSNAME}/H.FILE"
     37 
     38 if action_needed "${SRCPF}"
     39 then    CMD="CRTSRCPF FILE(${TARGETLIB}/H) RCDLEN(112)"
     40         CMD="${CMD} CCSID(${TGTCCSID}) TEXT('curl: Header files')"
     41         CLcommand "${CMD}"
     42 fi
     43 
     44 
     45 #       Create the IFS directory for the header files.
     46 
     47 IFSINCLUDE="${IFSDIR}/include/curl"
     48 
     49 if action_needed "${IFSINCLUDE}"
     50 then    mkdir -p "${IFSINCLUDE}"
     51 fi
     52 
     53 
     54 #       Enumeration values are used as va_arg tagfields, so they MUST be
     55 #               integers.
     56 
     57 copy_hfile()
     58 
     59 {
     60         destfile="${1}"
     61         srcfile="${2}"
     62         shift
     63         shift
     64         sed -e '1i\
     65 #pragma enum(int)\
     66 ' "${@}" -e '$a\
     67 #pragma enum(pop)\
     68 ' < "${srcfile}" > "${destfile}"
     69 }
     70 
     71 #       Copy the header files.
     72 
     73 for HFILE in curl/*.h ${SCRIPTDIR}/ccsidcurl.h
     74 do      case "$(basename "${HFILE}" .h)" in
     75         stdcheaders|typecheck-gcc)
     76                 continue;;
     77         esac
     78 
     79         DEST="${SRCPF}/$(db2_name "${HFILE}" nomangle).MBR"
     80 
     81         if action_needed "${DEST}" "${HFILE}"
     82         then    copy_hfile "${DEST}" "${HFILE}"
     83                 IFSDEST="${IFSINCLUDE}/$(basename "${HFILE}")"
     84                 rm -f "${IFSDEST}"
     85                 ln -s "${DEST}" "${IFSDEST}"
     86         fi
     87 done
     88 
     89 
     90 #       Copy the ILE/RPG header file, setting-up version number.
     91 
     92 versioned_copy "${SCRIPTDIR}/curl.inc.in" "${SRCPF}/CURL.INC.MBR"
     93 rm -f "${IFSINCLUDE}/curl.inc.rpgle"
     94 ln -s "${SRCPF}/CURL.INC.MBR" "${IFSINCLUDE}/curl.inc.rpgle"
     95 
     96 
     97 #       Duplicate file H as CURL to support more include path forms.
     98 
     99 if action_needed "${LIBIFSNAME}/CURL.FILE"
    100 then    :
    101 else    CLcommand "DLTF FILE(${TARGETLIB}/CURL)"
    102 fi
    103 
    104 CMD="CRTDUPOBJ OBJ(H) FROMLIB(${TARGETLIB}) OBJTYPE(*FILE) TOLIB(*FROMLIB)"
    105 CMD="${CMD} NEWOBJ(CURL) DATA(*YES)"
    106 CLcommand "${CMD}"