#!/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