xref: /aosp_15_r20/external/libxml2/os400/make.sh (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker#!/bin/sh
2*7c568831SAndroid Build Coastguard Worker#
3*7c568831SAndroid Build Coastguard Worker#       libxml2 compilation script for the OS/400.
4*7c568831SAndroid Build Coastguard Worker#       This is a shell script since make is not a standard component of OS/400.
5*7c568831SAndroid Build Coastguard Worker#
6*7c568831SAndroid Build Coastguard Worker#       See Copyright for the status of this software.
7*7c568831SAndroid Build Coastguard Worker#
8*7c568831SAndroid Build Coastguard Worker#       Author: Patrick Monnerat <[email protected]>, DATASPHERE S.A.
9*7c568831SAndroid Build Coastguard Worker#
10*7c568831SAndroid Build Coastguard Worker
11*7c568831SAndroid Build Coastguard WorkerSCRIPTDIR=`dirname "${0}"`
12*7c568831SAndroid Build Coastguard Worker. "${SCRIPTDIR}/initscript.sh"
13*7c568831SAndroid Build Coastguard Workercd "${TOPDIR}"
14*7c568831SAndroid Build Coastguard Worker
15*7c568831SAndroid Build Coastguard Worker
16*7c568831SAndroid Build Coastguard Worker#       Create the OS/400 library if it does not exist.
17*7c568831SAndroid Build Coastguard Worker
18*7c568831SAndroid Build Coastguard Workerif action_needed "${LIBIFSNAME}"
19*7c568831SAndroid Build Coastguard Workerthen    CMD="CRTLIB LIB(${TARGETLIB})"
20*7c568831SAndroid Build Coastguard Worker        CMD="${CMD} TEXT('libxml2: XML parser and toolkit API')"
21*7c568831SAndroid Build Coastguard Worker        system "${CMD}"
22*7c568831SAndroid Build Coastguard Workerfi
23*7c568831SAndroid Build Coastguard Worker
24*7c568831SAndroid Build Coastguard Worker
25*7c568831SAndroid Build Coastguard Worker#       Create the DOCS source file if it does not exist.
26*7c568831SAndroid Build Coastguard Worker
27*7c568831SAndroid Build Coastguard Workerif action_needed "${LIBIFSNAME}/DOCS.FILE"
28*7c568831SAndroid Build Coastguard Workerthen    CMD="CRTSRCPF FILE(${TARGETLIB}/DOCS) RCDLEN(112)"
29*7c568831SAndroid Build Coastguard Worker        CMD="${CMD} CCSID(${TGTCCSID}) TEXT('Documentation texts')"
30*7c568831SAndroid Build Coastguard Worker        system "${CMD}"
31*7c568831SAndroid Build Coastguard Workerfi
32*7c568831SAndroid Build Coastguard Worker
33*7c568831SAndroid Build Coastguard Worker
34*7c568831SAndroid Build Coastguard Worker#       Copy some documentation files if needed.
35*7c568831SAndroid Build Coastguard Worker
36*7c568831SAndroid Build Coastguard Workerfor TEXT in "${TOPDIR}/AUTHORS" "${TOPDIR}/ChangeLog"                   \
37*7c568831SAndroid Build Coastguard Worker    "${TOPDIR}/Copyright" "${TOPDIR}/CONTRIBUTING" "${TOPDIR}/README"        \
38*7c568831SAndroid Build Coastguard Worker    "${TOPDIR}/MAINTAINERS" "${TOPDIR}/NEWS" "${TOPDIR}/TODO"           \
39*7c568831SAndroid Build Coastguard Worker    "${TOPDIR}/TODO_SCHEMAS" "${TOPDIR}/os400/README400"
40*7c568831SAndroid Build Coastguard Workerdo      if [ -f "${TEXT}" ]
41*7c568831SAndroid Build Coastguard Worker        then    MEMBER="`basename \"${TEXT}\" .OS400`"
42*7c568831SAndroid Build Coastguard Worker                MEMBER="${LIBIFSNAME}/DOCS.FILE/`db2_name \"${MEMBER}\"`.MBR"
43*7c568831SAndroid Build Coastguard Worker
44*7c568831SAndroid Build Coastguard Worker                if action_needed "${MEMBER}" "${TEXT}"
45*7c568831SAndroid Build Coastguard Worker                then    # Sources are in UTF-8.
46*7c568831SAndroid Build Coastguard Worker                        rm -f "${TOPDIR}/tmpfile"[12]
47*7c568831SAndroid Build Coastguard Worker                        CMD="CPY OBJ('${TEXT}') TOOBJ('${TOPDIR}/tmpfile1')"
48*7c568831SAndroid Build Coastguard Worker                        CMD="${CMD} FROMCCSID(1208) TOCCSID(${TGTCCSID})"
49*7c568831SAndroid Build Coastguard Worker                        CMD="${CMD} DTAFMT(*TEXT) REPLACE(*YES)"
50*7c568831SAndroid Build Coastguard Worker                        system "${CMD}"
51*7c568831SAndroid Build Coastguard Worker                        # Make sure all lines are < 100 characters.
52*7c568831SAndroid Build Coastguard Worker                        sed -e 's/.\{99\}/&\
53*7c568831SAndroid Build Coastguard Worker/g' -e 's/\n$//' "${TOPDIR}/tmpfile1" > "${TOPDIR}/tmpfile2"
54*7c568831SAndroid Build Coastguard Worker                        CMD="CPY OBJ('${TOPDIR}/tmpfile2') TOOBJ('${MEMBER}')"
55*7c568831SAndroid Build Coastguard Worker                        CMD="${CMD} TOCCSID(${TGTCCSID})"
56*7c568831SAndroid Build Coastguard Worker                        CMD="${CMD} DTAFMT(*TEXT) REPLACE(*YES)"
57*7c568831SAndroid Build Coastguard Worker                        system "${CMD}"
58*7c568831SAndroid Build Coastguard Worker                fi
59*7c568831SAndroid Build Coastguard Worker        fi
60*7c568831SAndroid Build Coastguard Workerdone
61*7c568831SAndroid Build Coastguard Worker
62*7c568831SAndroid Build Coastguard Worker
63*7c568831SAndroid Build Coastguard Worker#       Build files from template.
64*7c568831SAndroid Build Coastguard Worker
65*7c568831SAndroid Build Coastguard WorkerconfigFile()
66*7c568831SAndroid Build Coastguard Worker
67*7c568831SAndroid Build Coastguard Worker{
68*7c568831SAndroid Build Coastguard Worker        args=`set | sed -e '/^[A-Za-z_][A-Za-z0-9_]*=/!d'               \
69*7c568831SAndroid Build Coastguard Worker                        -e 's/[\/\\\\&]/\\\\&/g'                        \
70*7c568831SAndroid Build Coastguard Worker                        -e "s/'/'\\\\\\''/g"                            \
71*7c568831SAndroid Build Coastguard Worker                        -e 's/^\([^=]*\)=\(.*\)$/-e '\''s\/@\1@\/\2\/g'\'/`
72*7c568831SAndroid Build Coastguard Worker        eval sed ${args} < "${1}".in > "${1}"
73*7c568831SAndroid Build Coastguard Worker}
74*7c568831SAndroid Build Coastguard Worker
75*7c568831SAndroid Build Coastguard WorkerconfigFile include/libxml/xmlversion.h
76*7c568831SAndroid Build Coastguard WorkerconfigFile os400/os400config.h
77*7c568831SAndroid Build Coastguard Workermv os400/os400config.h config.h
78*7c568831SAndroid Build Coastguard Worker
79*7c568831SAndroid Build Coastguard Worker
80*7c568831SAndroid Build Coastguard Worker#       Build in each directory.
81*7c568831SAndroid Build Coastguard Worker
82*7c568831SAndroid Build Coastguard Workerfor SUBDIR in include rpg src
83*7c568831SAndroid Build Coastguard Workerdo      "${SCRIPTDIR}/make-${SUBDIR}.sh"
84*7c568831SAndroid Build Coastguard Workerdone
85