From 35a201cc8ef0c3f5b2df88d2e528aabee1048348 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Fri, 30 Apr 2021 18:47:09 +0200 Subject: Initial/Final commit --- libxml2-2.9.10/os400/make-rpg.sh | 100 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 libxml2-2.9.10/os400/make-rpg.sh (limited to 'libxml2-2.9.10/os400/make-rpg.sh') diff --git a/libxml2-2.9.10/os400/make-rpg.sh b/libxml2-2.9.10/os400/make-rpg.sh new file mode 100644 index 0000000..664b47b --- /dev/null +++ b/libxml2-2.9.10/os400/make-rpg.sh @@ -0,0 +1,100 @@ +#!/bin/sh +# +# Installation of the ILE/RPG header files in the OS/400 library. +# +# See Copyright for the status of this software. +# +# Author: Patrick Monnerat , DATASPHERE S.A. +# + +SCRIPTDIR=`dirname "${0}"` +. "${SCRIPTDIR}/initscript.sh" +cd "${TOPDIR}/os400/libxmlrpg" + + +# Create the OS/400 source program file for the ILE/RPG header files. + +SRCPF="${LIBIFSNAME}/LIBXMLRPG.FILE" + +if action_needed "${SRCPF}" +then CMD="CRTSRCPF FILE(${TARGETLIB}/LIBXMLRPG) RCDLEN(112)" + CMD="${CMD} CCSID(${TGTCCSID}) TEXT('libxml2: ILE/RPG header files')" + system "${CMD}" +fi + + +# Map file names to DB2 name syntax. + +for HFILE in *.rpgle *.rpgle.in +do NAME="`basename \"${HFILE}\" .in`" + VAR="`basename \"${NAME}\" .rpgle`" + VAL="`db2_name \"${NAME}\" nomangle`" + + if [ "${VAR}" = 'xmlschemastypes' ] + then VAL=SCHMTYPES + fi + + eval "VAR_${VAR}=\"${VAL}\"" + echo "${VAR} s/${VAR}/${VAL}/g" +done > tmpsubstfile1 + +# Order substitution commands so that a prefix appears after all +# file names beginning with the prefix. + +sort -r tmpsubstfile1 | sed 's/^[^ ]*[ ]*//' > tmpsubstfile2 + + +change_include() + +{ + sed -e '\#^....../include *"libxmlrpg/#{' \ + -e 's///' \ + -e 's/".*//' \ + -f tmpsubstfile2 \ + -e 's#.*# /include libxmlrpg,&#' \ + -e '}' +} + + +# Create the IFS directory for the ILE/RPG header files. + +RPGIFSDIR="${IFSDIR}/include/libxmlrpg" + +if action_needed "${RPGIFSDIR}" +then mkdir -p "${RPGIFSDIR}" +fi + +# Copy the header files to IFS ILE/RPG include directory. +# Copy them with include path editing to the DB2 library. + +for HFILE in *.rpgle *.rpgle.in +do IFSCMD="cat \"${HFILE}\"" + DB2CMD="change_include < \"${HFILE}\"" + IFSFILE="`basename \"${HFILE}\" .in`" + + case "${HFILE}" in + + *.in) IFSCMD="${IFSCMD} | versioned_copy" + DB2CMD="${DB2CMD} | versioned_copy" + ;; + esac + + IFSDEST="${RPGIFSDIR}/${IFSFILE}" + + if action_needed "${IFSDEST}" "${HFILE}" + then eval "${IFSCMD}" > "${IFSDEST}" + fi + + eval DB2MBR="\"\${VAR_`basename \"${IFSDEST}\" .rpgle`}\"" + DB2DEST="${SRCPF}/${DB2MBR}.MBR" + + if action_needed "${DB2DEST}" "${HFILE}" + then eval "${DB2CMD}" | change_include > tmphdrfile + + # Need to translate to target CCSID. + + CMD="CPY OBJ('`pwd`/tmphdrfile') TOOBJ('${DB2DEST}')" + CMD="${CMD} TOCCSID(${TGTCCSID}) DTAFMT(*TEXT) REPLACE(*YES)" + system "${CMD}" + fi +done -- cgit v1.2.3