diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-05-03 15:29:42 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-05-03 15:29:42 (GMT) |
commit | 937cfaf1a06a4a9d0c8ba119d7ce820878ff9058 (patch) | |
tree | f7b0b1bcce9ae963a0a069eafa552350eb4ee391 /libxml2/os400/make-include.sh | |
parent | 4b8453f0303492a1de2dcf854555f6429fac550e (diff) | |
download | blt-937cfaf1a06a4a9d0c8ba119d7ce820878ff9058.zip blt-937cfaf1a06a4a9d0c8ba119d7ce820878ff9058.tar.gz blt-937cfaf1a06a4a9d0c8ba119d7ce820878ff9058.tar.bz2 |
inital commit
Diffstat (limited to 'libxml2/os400/make-include.sh')
-rw-r--r-- | libxml2/os400/make-include.sh | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/libxml2/os400/make-include.sh b/libxml2/os400/make-include.sh new file mode 100644 index 0000000..4e5b058 --- /dev/null +++ b/libxml2/os400/make-include.sh @@ -0,0 +1,81 @@ +#!/bin/sh +# +# Installation of the C header files in the OS/400 library. +# +# See Copyright for the status of this software. +# +# Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A. +# + +SCRIPTDIR=`dirname "${0}"` +. "${SCRIPTDIR}/initscript.sh" +cd "${TOPDIR}/include" + + +# Create the OS/400 source program file for the C header files. + +SRCPF="${LIBIFSNAME}/LIBXML.FILE" + +if action_needed "${SRCPF}" +then CMD="CRTSRCPF FILE(${TARGETLIB}/LIBXML) RCDLEN(112)" + CMD="${CMD} CCSID(${TGTCCSID}) TEXT('libxml2: C/C++ header files')" + system "${CMD}" +fi + + +# Create the IFS directory for the C header files. + +if action_needed "${IFSDIR}/include/libxml" +then mkdir -p "${IFSDIR}/include/libxml" +fi + + + +# Enumeration values may be used as va_arg tagfields, so they MUST be +# integers. + +copy_hfile() + +{ + sed -e '1i\ +#pragma enum(int)\ +' "${@}" -e '$a\ +#pragma enum(pop)\ +' +} + +# Copy the header files to DB2 library. Link from IFS include directory. + +for HFILE in "${TOPDIR}/os400/transcode.h" libxml/*.h libxml/*.h.in +do CMD="cat \"${HFILE}\"" + DEST="${SRCPF}/`db2_name \"${HFILE}\" nomangle`.MBR" + + case "`basename \"${HFILE}\"`" in + + xmlwin32version.h*) + continue;; # Not on M$W ! + + *.in) CMD="${CMD} | versioned_copy";; + + xmlschemastypes.h) # Special case: rename colliding file. + DEST="${SRCPF}/SCHMTYPES.MBR";; + + esac + + if action_needed "${DEST}" "${HFILE}" + then eval "${CMD}" | copy_hfile > tmphdrfile + + # Need to translate to target CCSID. + + CMD="CPY OBJ('`pwd`/tmphdrfile') TOOBJ('${DEST}')" + CMD="${CMD} TOCCSID(${TGTCCSID}) DTAFMT(*TEXT) REPLACE(*YES)" + system "${CMD}" + fi + + IFSFILE="${IFSDIR}/include/libxml/`basename \"${HFILE}\" .in`" + + if action_needed "${IFSFILE}" "${DEST}" + then rm -f "${IFSFILE}" + ln -s "${DEST}" "${IFSFILE}" + fi +done |