xref: /aosp_15_r20/external/libxml2/os400/make-include.sh (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker#!/bin/sh
2*7c568831SAndroid Build Coastguard Worker#
3*7c568831SAndroid Build Coastguard Worker#       Installation of the C header files in the OS/400 library.
4*7c568831SAndroid Build Coastguard Worker#
5*7c568831SAndroid Build Coastguard Worker#       See Copyright for the status of this software.
6*7c568831SAndroid Build Coastguard Worker#
7*7c568831SAndroid Build Coastguard Worker#       Author: Patrick Monnerat <[email protected]>, DATASPHERE S.A.
8*7c568831SAndroid Build Coastguard Worker#
9*7c568831SAndroid Build Coastguard Worker
10*7c568831SAndroid Build Coastguard WorkerSCRIPTDIR=`dirname "${0}"`
11*7c568831SAndroid Build Coastguard Worker. "${SCRIPTDIR}/initscript.sh"
12*7c568831SAndroid Build Coastguard Workercd "${TOPDIR}/include"
13*7c568831SAndroid Build Coastguard Worker
14*7c568831SAndroid Build Coastguard Worker
15*7c568831SAndroid Build Coastguard Worker#       Create the OS/400 source program file for the C header files.
16*7c568831SAndroid Build Coastguard Worker
17*7c568831SAndroid Build Coastguard WorkerSRCPF="${LIBIFSNAME}/LIBXML.FILE"
18*7c568831SAndroid Build Coastguard Worker
19*7c568831SAndroid Build Coastguard Workerif action_needed "${SRCPF}"
20*7c568831SAndroid Build Coastguard Workerthen    CMD="CRTSRCPF FILE(${TARGETLIB}/LIBXML) RCDLEN(112)"
21*7c568831SAndroid Build Coastguard Worker        CMD="${CMD} CCSID(${TGTCCSID}) TEXT('libxml2: C/C++ header files')"
22*7c568831SAndroid Build Coastguard Worker        system "${CMD}"
23*7c568831SAndroid Build Coastguard Workerfi
24*7c568831SAndroid Build Coastguard Worker
25*7c568831SAndroid Build Coastguard Worker
26*7c568831SAndroid Build Coastguard Worker#       Create the IFS directory for the C header files.
27*7c568831SAndroid Build Coastguard Worker
28*7c568831SAndroid Build Coastguard Workerif action_needed "${IFSDIR}/include/libxml"
29*7c568831SAndroid Build Coastguard Workerthen    mkdir -p "${IFSDIR}/include/libxml"
30*7c568831SAndroid Build Coastguard Workerfi
31*7c568831SAndroid Build Coastguard Worker
32*7c568831SAndroid Build Coastguard Worker
33*7c568831SAndroid Build Coastguard Worker
34*7c568831SAndroid Build Coastguard Worker#       Enumeration values may be used as va_arg tagfields, so they MUST be
35*7c568831SAndroid Build Coastguard Worker#               integers.
36*7c568831SAndroid Build Coastguard Worker
37*7c568831SAndroid Build Coastguard Workercopy_hfile()
38*7c568831SAndroid Build Coastguard Worker
39*7c568831SAndroid Build Coastguard Worker{
40*7c568831SAndroid Build Coastguard Worker        sed -e '1i\
41*7c568831SAndroid Build Coastguard Worker#pragma enum(int)\
42*7c568831SAndroid Build Coastguard Worker' "${@}" -e '$a\
43*7c568831SAndroid Build Coastguard Worker#pragma enum(pop)\
44*7c568831SAndroid Build Coastguard Worker'
45*7c568831SAndroid Build Coastguard Worker}
46*7c568831SAndroid Build Coastguard Worker
47*7c568831SAndroid Build Coastguard Worker#       Copy the header files to DB2 library. Link from IFS include directory.
48*7c568831SAndroid Build Coastguard Worker
49*7c568831SAndroid Build Coastguard Workerfor HFILE in "${TOPDIR}/os400/transcode.h" libxml/*.h libxml/*.h.in
50*7c568831SAndroid Build Coastguard Workerdo      CMD="cat \"${HFILE}\""
51*7c568831SAndroid Build Coastguard Worker        DEST="${SRCPF}/`db2_name \"${HFILE}\" nomangle`.MBR"
52*7c568831SAndroid Build Coastguard Worker
53*7c568831SAndroid Build Coastguard Worker        case "`basename \"${HFILE}\"`" in
54*7c568831SAndroid Build Coastguard Worker
55*7c568831SAndroid Build Coastguard Worker        *.in)   CMD="${CMD} | versioned_copy";;
56*7c568831SAndroid Build Coastguard Worker
57*7c568831SAndroid Build Coastguard Worker        xmlschemastypes.h)      #       Special case: rename colliding file.
58*7c568831SAndroid Build Coastguard Worker                DEST="${SRCPF}/SCHMTYPES.MBR";;
59*7c568831SAndroid Build Coastguard Worker
60*7c568831SAndroid Build Coastguard Worker        esac
61*7c568831SAndroid Build Coastguard Worker
62*7c568831SAndroid Build Coastguard Worker        if action_needed "${DEST}" "${HFILE}"
63*7c568831SAndroid Build Coastguard Worker        then    eval "${CMD}" | copy_hfile > tmphdrfile
64*7c568831SAndroid Build Coastguard Worker
65*7c568831SAndroid Build Coastguard Worker                #       Need to translate to target CCSID.
66*7c568831SAndroid Build Coastguard Worker
67*7c568831SAndroid Build Coastguard Worker                CMD="CPY OBJ('`pwd`/tmphdrfile') TOOBJ('${DEST}')"
68*7c568831SAndroid Build Coastguard Worker                CMD="${CMD} TOCCSID(${TGTCCSID}) DTAFMT(*TEXT) REPLACE(*YES)"
69*7c568831SAndroid Build Coastguard Worker                system "${CMD}"
70*7c568831SAndroid Build Coastguard Worker        fi
71*7c568831SAndroid Build Coastguard Worker
72*7c568831SAndroid Build Coastguard Worker        IFSFILE="${IFSDIR}/include/libxml/`basename \"${HFILE}\" .in`"
73*7c568831SAndroid Build Coastguard Worker
74*7c568831SAndroid Build Coastguard Worker        if action_needed "${IFSFILE}" "${DEST}"
75*7c568831SAndroid Build Coastguard Worker        then    rm -f "${IFSFILE}"
76*7c568831SAndroid Build Coastguard Worker                ln -s "${DEST}" "${IFSFILE}"
77*7c568831SAndroid Build Coastguard Worker        fi
78*7c568831SAndroid Build Coastguard Workerdone
79