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