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