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}"