mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2024-12-25 23:21:26 +03:00
82 lines
2.0 KiB
Bash
82 lines
2.0 KiB
Bash
#!/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
|