1*7c568831SAndroid Build Coastguard Worker#!/bin/sh 2*7c568831SAndroid Build Coastguard Worker# 3*7c568831SAndroid Build Coastguard Worker# libxml compilation script for the OS/400. 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}" 13*7c568831SAndroid Build Coastguard Worker 14*7c568831SAndroid Build Coastguard Worker 15*7c568831SAndroid Build Coastguard Worker# Create and compile the identification source file. 16*7c568831SAndroid Build Coastguard Worker 17*7c568831SAndroid Build Coastguard Workerecho '#pragma comment(user, "libxml2 version '"${LIBXML_VERSION}"'")' > os400.c 18*7c568831SAndroid Build Coastguard Workerecho '#pragma comment(user, __DATE__)' >> os400.c 19*7c568831SAndroid Build Coastguard Workerecho '#pragma comment(user, __TIME__)' >> os400.c 20*7c568831SAndroid Build Coastguard Workerecho '#pragma comment(copyright, "Copyright (C) 1998-2017 Daniel Veillard. OS/400 version by P. Monnerat.")' >> os400.c 21*7c568831SAndroid Build Coastguard Workermake_module OS400 os400.c 22*7c568831SAndroid Build Coastguard WorkerLINK= # No need to rebuild service program yet. 23*7c568831SAndroid Build Coastguard WorkerMODULES= 24*7c568831SAndroid Build Coastguard Worker 25*7c568831SAndroid Build Coastguard Worker 26*7c568831SAndroid Build Coastguard Worker# Get source list. 27*7c568831SAndroid Build Coastguard Worker 28*7c568831SAndroid Build Coastguard Workerfoldlines() 29*7c568831SAndroid Build Coastguard Worker 30*7c568831SAndroid Build Coastguard Worker{ 31*7c568831SAndroid Build Coastguard Worker sed -e ':begin' \ 32*7c568831SAndroid Build Coastguard Worker -e '/\\$/{' \ 33*7c568831SAndroid Build Coastguard Worker -e 's/\\$/ /' \ 34*7c568831SAndroid Build Coastguard Worker -e 'N' \ 35*7c568831SAndroid Build Coastguard Worker -e 'bbegin' \ 36*7c568831SAndroid Build Coastguard Worker -e '}' \ 37*7c568831SAndroid Build Coastguard Worker -e 's/\n//g' \ 38*7c568831SAndroid Build Coastguard Worker -e 's/[[:space:]]*$//' 39*7c568831SAndroid Build Coastguard Worker} 40*7c568831SAndroid Build Coastguard Worker 41*7c568831SAndroid Build Coastguard Worker 42*7c568831SAndroid Build Coastguard Workerget_make_var() 43*7c568831SAndroid Build Coastguard Worker 44*7c568831SAndroid Build Coastguard Worker{ 45*7c568831SAndroid Build Coastguard Worker foldlines < Makefile.am | 46*7c568831SAndroid Build Coastguard Worker sed -e "/^${1}[[:space:]]*=[[:space:]]*/{" \ 47*7c568831SAndroid Build Coastguard Worker -e 's///' \ 48*7c568831SAndroid Build Coastguard Worker -e 'q' \ 49*7c568831SAndroid Build Coastguard Worker -e '}' \ 50*7c568831SAndroid Build Coastguard Worker -e 'd' 51*7c568831SAndroid Build Coastguard Worker} 52*7c568831SAndroid Build Coastguard Worker 53*7c568831SAndroid Build Coastguard Worker 54*7c568831SAndroid Build Coastguard Workerdocb_sources=`get_make_var docb_sources` 55*7c568831SAndroid Build Coastguard Workertrio_sources=`get_make_var trio_sources` 56*7c568831SAndroid Build Coastguard WorkerCSOURCES=`eval echo "\`get_make_var libxml2_la_SOURCES | tr '()' '{}'\`"` 57*7c568831SAndroid Build Coastguard Worker 58*7c568831SAndroid Build Coastguard Worker 59*7c568831SAndroid Build Coastguard Worker# Compile the sources into modules. 60*7c568831SAndroid Build Coastguard Worker 61*7c568831SAndroid Build Coastguard WorkerINCLUDES="'`pwd`'" 62*7c568831SAndroid Build Coastguard Worker 63*7c568831SAndroid Build Coastguard Worker# OS/400 specific modules first. 64*7c568831SAndroid Build Coastguard Worker 65*7c568831SAndroid Build Coastguard Workermake_module --ebcdic DLFCN "${SCRIPTDIR}/dlfcn/dlfcn.c" 66*7c568831SAndroid Build Coastguard Workermake_module --ebcdic ICONV "${SCRIPTDIR}/iconv/iconv.c" 67*7c568831SAndroid Build Coastguard Workermake_module --ebcdic WRAPPERS "${SCRIPTDIR}/wrappers.c" 68*7c568831SAndroid Build Coastguard Workermake_module TRANSCODE "${SCRIPTDIR}/transcode.c" 69*7c568831SAndroid Build Coastguard Workermake_module RPGSUPPORT "${SCRIPTDIR}/rpgsupport.c" 70*7c568831SAndroid Build Coastguard Worker 71*7c568831SAndroid Build Coastguard Worker# Regular libxml2 modules. 72*7c568831SAndroid Build Coastguard Worker 73*7c568831SAndroid Build Coastguard Workerfor SRC in ${CSOURCES} 74*7c568831SAndroid Build Coastguard Workerdo MODULE=`db2_name "${SRC}"` 75*7c568831SAndroid Build Coastguard Worker make_module "${MODULE}" "${SRC}" 76*7c568831SAndroid Build Coastguard Workerdone 77*7c568831SAndroid Build Coastguard Worker 78*7c568831SAndroid Build Coastguard Worker 79*7c568831SAndroid Build Coastguard Worker# If needed, (re)create the static binding directory. 80*7c568831SAndroid Build Coastguard Worker 81*7c568831SAndroid Build Coastguard Workerif action_needed "${LIBIFSNAME}/${STATBNDDIR}.BNDDIR" 82*7c568831SAndroid Build Coastguard Workerthen LINK=YES 83*7c568831SAndroid Build Coastguard Workerfi 84*7c568831SAndroid Build Coastguard Worker 85*7c568831SAndroid Build Coastguard Workerif [ "${LINK}" ] 86*7c568831SAndroid Build Coastguard Workerthen rm -rf "${LIBIFSNAME}/${STATBNDDIR}.BNDDIR" 87*7c568831SAndroid Build Coastguard Worker CMD="CRTBNDDIR BNDDIR(${TARGETLIB}/${STATBNDDIR})" 88*7c568831SAndroid Build Coastguard Worker CMD="${CMD} TEXT('libxml2 static binding directory')" 89*7c568831SAndroid Build Coastguard Worker system "${CMD}" 90*7c568831SAndroid Build Coastguard Worker 91*7c568831SAndroid Build Coastguard Worker for MODULE in ${MODULES} 92*7c568831SAndroid Build Coastguard Worker do CMD="ADDBNDDIRE BNDDIR(${TARGETLIB}/${STATBNDDIR})" 93*7c568831SAndroid Build Coastguard Worker CMD="${CMD} OBJ((${TARGETLIB}/${MODULE} *MODULE))" 94*7c568831SAndroid Build Coastguard Worker system "${CMD}" 95*7c568831SAndroid Build Coastguard Worker done 96*7c568831SAndroid Build Coastguard Workerfi 97*7c568831SAndroid Build Coastguard Worker 98*7c568831SAndroid Build Coastguard Worker 99*7c568831SAndroid Build Coastguard Worker# The exportation file for service program creation must be in a DB2 100*7c568831SAndroid Build Coastguard Worker# source file, so make sure it exists. 101*7c568831SAndroid Build Coastguard Worker 102*7c568831SAndroid Build Coastguard Workerif action_needed "${LIBIFSNAME}/TOOLS.FILE" 103*7c568831SAndroid Build Coastguard Workerthen CMD="CRTSRCPF FILE(${TARGETLIB}/TOOLS) RCDLEN(112)" 104*7c568831SAndroid Build Coastguard Worker CMD="${CMD} CCSID(${TGTCCSID}) TEXT('libxml2: build tools')" 105*7c568831SAndroid Build Coastguard Worker system "${CMD}" 106*7c568831SAndroid Build Coastguard Workerfi 107*7c568831SAndroid Build Coastguard Worker 108*7c568831SAndroid Build Coastguard Worker 109*7c568831SAndroid Build Coastguard Worker# Generate all exported symbol table versions in a binding source file. 110*7c568831SAndroid Build Coastguard Worker 111*7c568831SAndroid Build Coastguard WorkerBSF="${LIBIFSNAME}/TOOLS.FILE/BNDSRC.MBR" 112*7c568831SAndroid Build Coastguard WorkerPGMEXPS= 113*7c568831SAndroid Build Coastguard Worker 114*7c568831SAndroid Build Coastguard WorkerOS400SYMS=`cat os400/transcode.h os400/rpgsupport.h | 115*7c568831SAndroid Build Coastguard Worker sed -e 'H' \ 116*7c568831SAndroid Build Coastguard Worker -e 'g' \ 117*7c568831SAndroid Build Coastguard Worker -e 's/\n/ /' \ 118*7c568831SAndroid Build Coastguard Worker -e 's/\\$/ /' \ 119*7c568831SAndroid Build Coastguard Worker -e 's/.*/& /' \ 120*7c568831SAndroid Build Coastguard Worker -e 's/\/\*.*\*\// /g' \ 121*7c568831SAndroid Build Coastguard Worker -e 'h' \ 122*7c568831SAndroid Build Coastguard Worker -e ':loop' \ 123*7c568831SAndroid Build Coastguard Worker -e 'g' \ 124*7c568831SAndroid Build Coastguard Worker -e '/\/\*/d' \ 125*7c568831SAndroid Build Coastguard Worker -e '/;/!d' \ 126*7c568831SAndroid Build Coastguard Worker -e 's/[^;]*;//' \ 127*7c568831SAndroid Build Coastguard Worker -e 'x' \ 128*7c568831SAndroid Build Coastguard Worker -e 's/[[:space:]]*;.*$//' \ 129*7c568831SAndroid Build Coastguard Worker -e '/XMLPUBFUN/{' \ 130*7c568831SAndroid Build Coastguard Worker -e 's/[[:space:]]*(.*$//' \ 131*7c568831SAndroid Build Coastguard Worker -e 's/.*[[:space:]*]//' \ 132*7c568831SAndroid Build Coastguard Worker -e 'p' \ 133*7c568831SAndroid Build Coastguard Worker -e 'bloop' \ 134*7c568831SAndroid Build Coastguard Worker -e '}' \ 135*7c568831SAndroid Build Coastguard Worker -e '/XMLPUBVAR/!bloop' \ 136*7c568831SAndroid Build Coastguard Worker -e ':loop2' \ 137*7c568831SAndroid Build Coastguard Worker -e '/\[[^][]*\]/{' \ 138*7c568831SAndroid Build Coastguard Worker -e 's///' \ 139*7c568831SAndroid Build Coastguard Worker -e 'bloop2' \ 140*7c568831SAndroid Build Coastguard Worker -e '}' \ 141*7c568831SAndroid Build Coastguard Worker -e 's/[[:space:]]*,[[:space:]]*/,/g' \ 142*7c568831SAndroid Build Coastguard Worker -e 's/[^,]*[[:space:]*]//' \ 143*7c568831SAndroid Build Coastguard Worker -e 's/[^[:alnum:]_,]//g' \ 144*7c568831SAndroid Build Coastguard Worker -e 's/,/\n/g' \ 145*7c568831SAndroid Build Coastguard Worker -e 'p' \ 146*7c568831SAndroid Build Coastguard Worker -e 'bloop'` 147*7c568831SAndroid Build Coastguard Worker 148*7c568831SAndroid Build Coastguard Workersed -e 's/#.*//' \ 149*7c568831SAndroid Build Coastguard Worker -e 's/[[:space:]]*$//' \ 150*7c568831SAndroid Build Coastguard Worker -e 's/^[[:space:]]*//' \ 151*7c568831SAndroid Build Coastguard Worker -e '/^*global:$/d' \ 152*7c568831SAndroid Build Coastguard Worker -e '/^$/d' \ 153*7c568831SAndroid Build Coastguard Worker -e '/[[:space:]]*{$/{' \ 154*7c568831SAndroid Build Coastguard Worker -e 's///' \ 155*7c568831SAndroid Build Coastguard Worker -e 'h' \ 156*7c568831SAndroid Build Coastguard Worker -e 's/[^A-Za-z0-9]/_/g' \ 157*7c568831SAndroid Build Coastguard Worker -e 's/^[0-9]/_&/' \ 158*7c568831SAndroid Build Coastguard Worker -e 'x' \ 159*7c568831SAndroid Build Coastguard Worker -e 'G' \ 160*7c568831SAndroid Build Coastguard Worker -e 's/\(.*\)\n\(.*\)/\2_SIGNATURE="\1"/' \ 161*7c568831SAndroid Build Coastguard Worker -e 'p' \ 162*7c568831SAndroid Build Coastguard Worker -e 's/.*//' \ 163*7c568831SAndroid Build Coastguard Worker -e 'x' \ 164*7c568831SAndroid Build Coastguard Worker -e "s/.*/SONAME='&'/" \ 165*7c568831SAndroid Build Coastguard Worker -e 'b' \ 166*7c568831SAndroid Build Coastguard Worker -e '}' \ 167*7c568831SAndroid Build Coastguard Worker -e '/[[:space:]]*;$/!d' \ 168*7c568831SAndroid Build Coastguard Worker -e 's///' \ 169*7c568831SAndroid Build Coastguard Worker -e '/^xmlDllMain$/d' \ 170*7c568831SAndroid Build Coastguard Worker -e '/^}[[:space:]]*/!{' \ 171*7c568831SAndroid Build Coastguard Worker -e 'H' \ 172*7c568831SAndroid Build Coastguard Worker -e 'd' \ 173*7c568831SAndroid Build Coastguard Worker -e '}' \ 174*7c568831SAndroid Build Coastguard Worker -e 's///' \ 175*7c568831SAndroid Build Coastguard Worker -e '/^$/!{' \ 176*7c568831SAndroid Build Coastguard Worker -e 's/[^A-Za-z0-9]/_/g' \ 177*7c568831SAndroid Build Coastguard Worker -e 's/^[0-9]/_&/' \ 178*7c568831SAndroid Build Coastguard Worker -e 's/.*/${&}/' \ 179*7c568831SAndroid Build Coastguard Worker -e 'x' \ 180*7c568831SAndroid Build Coastguard Worker -e 'H' \ 181*7c568831SAndroid Build Coastguard Worker -e 's/.*//' \ 182*7c568831SAndroid Build Coastguard Worker -e '}' \ 183*7c568831SAndroid Build Coastguard Worker -e 'x' \ 184*7c568831SAndroid Build Coastguard Worker -e 's/\n/ /g' \ 185*7c568831SAndroid Build Coastguard Worker -e 's/^[[:space:]]*//' \ 186*7c568831SAndroid Build Coastguard Worker -e 's/.*/declare ${SONAME}="&"/' \ 187*7c568831SAndroid Build Coastguard Worker -e 's/.*/&; PGMEXPS="${SONAME} ${PGMEXPS}"/' \ 188*7c568831SAndroid Build Coastguard Worker < "${TOPDIR}/libxml2.syms" > bndvars 189*7c568831SAndroid Build Coastguard Worker. ./bndvars 190*7c568831SAndroid Build Coastguard Worker 191*7c568831SAndroid Build Coastguard WorkerPGMLVL=CURRENT 192*7c568831SAndroid Build Coastguard Workerfor PGMEXP in ${PGMEXPS} 193*7c568831SAndroid Build Coastguard Workerdo SIGNATURE=`echo "${PGMEXP}" | sed 's/^LIBXML2_//'` 194*7c568831SAndroid Build Coastguard Worker eval ENTRIES=\"\${${PGMEXP}}\" 195*7c568831SAndroid Build Coastguard Worker echo " STRPGMEXP PGMLVL(*${PGMLVL}) SIGNATURE('${SIGNATURE}')" 196*7c568831SAndroid Build Coastguard Worker for ENTRY in ${ENTRIES} ${OS400SYMS} 197*7c568831SAndroid Build Coastguard Worker do echo " EXPORT SYMBOL('${ENTRY}')" 198*7c568831SAndroid Build Coastguard Worker done 199*7c568831SAndroid Build Coastguard Worker echo ' ENDPGMEXP' 200*7c568831SAndroid Build Coastguard Worker PGMLVL=PRV 201*7c568831SAndroid Build Coastguard Workerdone > "${BSF}" 202*7c568831SAndroid Build Coastguard Worker 203*7c568831SAndroid Build Coastguard Worker 204*7c568831SAndroid Build Coastguard Worker# Build the service program if needed. 205*7c568831SAndroid Build Coastguard Worker 206*7c568831SAndroid Build Coastguard Workerif action_needed "${LIBIFSNAME}/${SRVPGM}.SRVPGM" 207*7c568831SAndroid Build Coastguard Workerthen LINK=YES 208*7c568831SAndroid Build Coastguard Workerfi 209*7c568831SAndroid Build Coastguard Worker 210*7c568831SAndroid Build Coastguard Workerif [ "${LINK}" ] 211*7c568831SAndroid Build Coastguard Workerthen CMD="CRTSRVPGM SRVPGM(${TARGETLIB}/${SRVPGM})" 212*7c568831SAndroid Build Coastguard Worker CMD="${CMD} SRCFILE(${TARGETLIB}/TOOLS) SRCMBR(BNDSRC)" 213*7c568831SAndroid Build Coastguard Worker CMD="${CMD} MODULE(${TARGETLIB}/OS400)" 214*7c568831SAndroid Build Coastguard Worker CMD="${CMD} BNDDIR((${TARGETLIB}/${STATBNDDIR})" 215*7c568831SAndroid Build Coastguard Worker if [ "${WITH_ZLIB}" -ne 0 ] 216*7c568831SAndroid Build Coastguard Worker then CMD="${CMD} (${ZLIB_LIB}/${ZLIB_BNDDIR})" 217*7c568831SAndroid Build Coastguard Worker fi 218*7c568831SAndroid Build Coastguard Worker CMD="${CMD})" 219*7c568831SAndroid Build Coastguard Worker CMD="${CMD} BNDSRVPGM(QADRTTS)" 220*7c568831SAndroid Build Coastguard Worker CMD="${CMD} TEXT('libxml2 dynamic library')" 221*7c568831SAndroid Build Coastguard Worker CMD="${CMD} TGTRLS(${TGTRLS})" 222*7c568831SAndroid Build Coastguard Worker system "${CMD}" 223*7c568831SAndroid Build Coastguard Worker LINK=YES 224*7c568831SAndroid Build Coastguard Workerfi 225*7c568831SAndroid Build Coastguard Worker 226*7c568831SAndroid Build Coastguard Worker 227*7c568831SAndroid Build Coastguard Worker# If needed, (re)create the dynamic binding directory. 228*7c568831SAndroid Build Coastguard Worker 229*7c568831SAndroid Build Coastguard Workerif action_needed "${LIBIFSNAME}/${DYNBNDDIR}.BNDDIR" 230*7c568831SAndroid Build Coastguard Workerthen LINK=YES 231*7c568831SAndroid Build Coastguard Workerfi 232*7c568831SAndroid Build Coastguard Worker 233*7c568831SAndroid Build Coastguard Workerif [ "${LINK}" ] 234*7c568831SAndroid Build Coastguard Workerthen rm -rf "${LIBIFSNAME}/${DYNBNDDIR}.BNDDIR" 235*7c568831SAndroid Build Coastguard Worker CMD="CRTBNDDIR BNDDIR(${TARGETLIB}/${DYNBNDDIR})" 236*7c568831SAndroid Build Coastguard Worker CMD="${CMD} TEXT('libxml2 dynamic binding directory')" 237*7c568831SAndroid Build Coastguard Worker system "${CMD}" 238*7c568831SAndroid Build Coastguard Worker CMD="ADDBNDDIRE BNDDIR(${TARGETLIB}/${DYNBNDDIR})" 239*7c568831SAndroid Build Coastguard Worker CMD="${CMD} OBJ((*LIBL/${SRVPGM} *SRVPGM))" 240*7c568831SAndroid Build Coastguard Worker system "${CMD}" 241*7c568831SAndroid Build Coastguard Workerfi 242*7c568831SAndroid Build Coastguard Worker 243*7c568831SAndroid Build Coastguard Worker 244*7c568831SAndroid Build Coastguard Worker# Compile the ASCII main() stub. 245*7c568831SAndroid Build Coastguard Worker 246*7c568831SAndroid Build Coastguard Workermake_module --ebcdic --sysiconv LIBXMLMAIN "${SCRIPTDIR}/libxmlmain.c" 247*7c568831SAndroid Build Coastguard Worker 248*7c568831SAndroid Build Coastguard Worker 249*7c568831SAndroid Build Coastguard Worker# Compile and link program xmllint. 250*7c568831SAndroid Build Coastguard Worker 251*7c568831SAndroid Build Coastguard Workerif action_needed "${LIBIFSNAME}/XMLLINT.PGM" "xmllint.c" || 252*7c568831SAndroid Build Coastguard Worker action_needed "${LIBIFSNAME}/XMLLINT.PGM" "${LIBIFSNAME}/${SRVPGM}.SRVPGM" || 253*7c568831SAndroid Build Coastguard Worker action_needed "${LIBIFSNAME}/XMLLINT.PGM" "${LIBIFSNAME}/LIBXMLMAIN.MODULE" 254*7c568831SAndroid Build Coastguard Workerthen make_module XMLLINT xmllint.c 255*7c568831SAndroid Build Coastguard Worker CMD="CRTPGM PGM(${TARGETLIB}/XMLLINT) MODULE(${TARGETLIB}/XMLLINT)" 256*7c568831SAndroid Build Coastguard Worker CMD="${CMD} ENTMOD(${TARGETLIB}/LIBXMLMAIN)" 257*7c568831SAndroid Build Coastguard Worker CMD="${CMD} BNDSRVPGM(QADRTTS) BNDDIR((${TARGETLIB}/${STATBNDDIR})" 258*7c568831SAndroid Build Coastguard Worker if [ "${WITH_ZLIB}" -ne 0 ] 259*7c568831SAndroid Build Coastguard Worker then CMD="${CMD} (${ZLIB_LIB}/${ZLIB_BNDDIR})" 260*7c568831SAndroid Build Coastguard Worker fi 261*7c568831SAndroid Build Coastguard Worker CMD="${CMD}) ACTGRP(*NEW) TEXT('XML tool')" 262*7c568831SAndroid Build Coastguard Worker CMD="${CMD} TGTRLS(${TGTRLS})" 263*7c568831SAndroid Build Coastguard Worker system "${CMD}" 264*7c568831SAndroid Build Coastguard Worker rm -f "${LIBIFSNAME}/XMLLINT.MODULE" 265*7c568831SAndroid Build Coastguard Workerfi 266*7c568831SAndroid Build Coastguard Worker 267*7c568831SAndroid Build Coastguard Worker# Install xmllint in IFS. 268*7c568831SAndroid Build Coastguard Worker 269*7c568831SAndroid Build Coastguard Workerif [ ! -d "${IFSDIR}/bin" ] 270*7c568831SAndroid Build Coastguard Workerthen mkdir -p "${IFSDIR}/bin" 271*7c568831SAndroid Build Coastguard Workerfi 272*7c568831SAndroid Build Coastguard Workerrm -f "${IFSDIR}/bin/xmllint" 273*7c568831SAndroid Build Coastguard Workerln -s "${LIBIFSNAME}/XMLLINT.PGM" "${IFSDIR}/bin/xmllint" 274*7c568831SAndroid Build Coastguard Worker 275*7c568831SAndroid Build Coastguard Worker# Prepare the XMLLINT command and its response program. 276*7c568831SAndroid Build Coastguard Worker 277*7c568831SAndroid Build Coastguard Workerif action_needed "${LIBIFSNAME}/XMLLINTCL.PGM" "${SCRIPTDIR}/xmllintcl.c" 278*7c568831SAndroid Build Coastguard Workerthen make_module --ebcdic XMLLINTCL "${SCRIPTDIR}/xmllintcl.c" 279*7c568831SAndroid Build Coastguard Worker CMD="CRTPGM PGM(${TARGETLIB}/XMLLINTCL) MODULE(${TARGETLIB}/XMLLINTCL)" 280*7c568831SAndroid Build Coastguard Worker CMD="${CMD} ACTGRP(*NEW) TEXT('XMLLINT command response')" 281*7c568831SAndroid Build Coastguard Worker CMD="${CMD} TGTRLS(${TGTRLS})" 282*7c568831SAndroid Build Coastguard Worker system "${CMD}" 283*7c568831SAndroid Build Coastguard Worker rm -f "${LIBIFSNAME}/XMLLINTCL.MODULE" 284*7c568831SAndroid Build Coastguard Workerfi 285*7c568831SAndroid Build Coastguard Worker 286*7c568831SAndroid Build Coastguard Workerif action_needed "${LIBIFSNAME}/TOOLS.FILE/XMLLINT.MBR" \ 287*7c568831SAndroid Build Coastguard Worker "${SCRIPTDIR}/xmllint.cmd" 288*7c568831SAndroid Build Coastguard Workerthen CMD="CPY OBJ('${SCRIPTDIR}/xmllint.cmd')" 289*7c568831SAndroid Build Coastguard Worker CMD="${CMD} TOOBJ('${LIBIFSNAME}/TOOLS.FILE/XMLLINT.MBR')" 290*7c568831SAndroid Build Coastguard Worker CMD="${CMD} TOCCSID(${TGTCCSID}) DTAFMT(*TEXT) REPLACE(*YES)" 291*7c568831SAndroid Build Coastguard Worker system "${CMD}" 292*7c568831SAndroid Build Coastguard Workerfi 293*7c568831SAndroid Build Coastguard Worker 294*7c568831SAndroid Build Coastguard Workerif action_needed "${LIBIFSNAME}/XMLLINT.CMD" \ 295*7c568831SAndroid Build Coastguard Worker "${LIBIFSNAME}/TOOLS.FILE/XMLLINT.MBR" 296*7c568831SAndroid Build Coastguard Workerthen CMD="CRTCMD CMD(${TARGETLIB}/XMLLINT) PGM(${TARGETLIB}/XMLLINTCL)" 297*7c568831SAndroid Build Coastguard Worker CMD="${CMD} SRCFILE(${TARGETLIB}/TOOLS) SRCMBR(XMLLINT) THDSAFE(*YES)" 298*7c568831SAndroid Build Coastguard Worker CMD="${CMD} TEXT('XML tool') REPLACE(*YES)" 299*7c568831SAndroid Build Coastguard Worker system "${CMD}" 300*7c568831SAndroid Build Coastguard Workerfi 301*7c568831SAndroid Build Coastguard Worker 302*7c568831SAndroid Build Coastguard Worker 303*7c568831SAndroid Build Coastguard Worker# Compile and link program xmlcatalog. 304*7c568831SAndroid Build Coastguard Worker 305*7c568831SAndroid Build Coastguard Workerif action_needed "${LIBIFSNAME}/XMLCATALOG.PGM" "xmlcatalog.c" || 306*7c568831SAndroid Build Coastguard Worker action_needed "${LIBIFSNAME}/XMLCATALOG.PGM" \ 307*7c568831SAndroid Build Coastguard Worker "${LIBIFSNAME}/${SRVPGM}.SRVPGM" || 308*7c568831SAndroid Build Coastguard Worker action_needed "${LIBIFSNAME}/XMLCATALOG.PGM" \ 309*7c568831SAndroid Build Coastguard Worker "${LIBIFSNAME}/LIBXMLMAIN.MODULE" 310*7c568831SAndroid Build Coastguard Workerthen make_module XMLCATALOG xmlcatalog.c 311*7c568831SAndroid Build Coastguard Worker CMD="CRTPGM PGM(${TARGETLIB}/XMLCATALOG)" 312*7c568831SAndroid Build Coastguard Worker CMD="${CMD} MODULE(${TARGETLIB}/XMLCATALOG)" 313*7c568831SAndroid Build Coastguard Worker CMD="${CMD} ENTMOD(${TARGETLIB}/LIBXMLMAIN)" 314*7c568831SAndroid Build Coastguard Worker CMD="${CMD} BNDSRVPGM(QADRTTS) BNDDIR((${TARGETLIB}/${STATBNDDIR})" 315*7c568831SAndroid Build Coastguard Worker if [ "${WITH_ZLIB}" -ne 0 ] 316*7c568831SAndroid Build Coastguard Worker then CMD="${CMD} (${ZLIB_LIB}/${ZLIB_BNDDIR})" 317*7c568831SAndroid Build Coastguard Worker fi 318*7c568831SAndroid Build Coastguard Worker CMD="${CMD}) ACTGRP(*NEW) TEXT('XML/SGML catalog tool')" 319*7c568831SAndroid Build Coastguard Worker CMD="${CMD} TGTRLS(${TGTRLS})" 320*7c568831SAndroid Build Coastguard Worker system "${CMD}" 321*7c568831SAndroid Build Coastguard Worker rm -f "${LIBIFSNAME}/XMLCATALOG.MODULE" 322*7c568831SAndroid Build Coastguard Workerfi 323*7c568831SAndroid Build Coastguard Worker 324*7c568831SAndroid Build Coastguard Worker# Install xmlcatalog in IFS. 325*7c568831SAndroid Build Coastguard Worker 326*7c568831SAndroid Build Coastguard Workerrm -f "${IFSDIR}/bin/xmlcatalog" 327*7c568831SAndroid Build Coastguard Workerln -s "${LIBIFSNAME}/XMLCATALOG.PGM" "${IFSDIR}/bin/xmlcatalog" 328*7c568831SAndroid Build Coastguard Worker 329*7c568831SAndroid Build Coastguard Worker# Prepare the XMLCATALOG command and its response program. 330*7c568831SAndroid Build Coastguard Worker 331*7c568831SAndroid Build Coastguard Workerif action_needed "${LIBIFSNAME}/XMLCATLGCL.PGM" "${SCRIPTDIR}/xmlcatlgcl.c" 332*7c568831SAndroid Build Coastguard Workerthen make_module --ebcdic XMLCATLGCL "${SCRIPTDIR}/xmlcatlgcl.c" 333*7c568831SAndroid Build Coastguard Worker CMD="CRTPGM PGM(${TARGETLIB}/XMLCATLGCL)" 334*7c568831SAndroid Build Coastguard Worker CMD="${CMD} MODULE(${TARGETLIB}/XMLCATLGCL)" 335*7c568831SAndroid Build Coastguard Worker CMD="${CMD} ACTGRP(*NEW) TEXT('XMLCATALOG command response')" 336*7c568831SAndroid Build Coastguard Worker CMD="${CMD} TGTRLS(${TGTRLS})" 337*7c568831SAndroid Build Coastguard Worker system "${CMD}" 338*7c568831SAndroid Build Coastguard Worker rm -f "${LIBIFSNAME}/XMLCATLGCL.MODULE" 339*7c568831SAndroid Build Coastguard Workerfi 340*7c568831SAndroid Build Coastguard Worker 341*7c568831SAndroid Build Coastguard Workerif action_needed "${LIBIFSNAME}/TOOLS.FILE/XMLCATALOG.MBR" \ 342*7c568831SAndroid Build Coastguard Worker "${SCRIPTDIR}/xmlcatalog.cmd" 343*7c568831SAndroid Build Coastguard Workerthen CMD="CPY OBJ('${SCRIPTDIR}/xmlcatalog.cmd')" 344*7c568831SAndroid Build Coastguard Worker CMD="${CMD} TOOBJ('${LIBIFSNAME}/TOOLS.FILE/XMLCATALOG.MBR')" 345*7c568831SAndroid Build Coastguard Worker CMD="${CMD} TOCCSID(${TGTCCSID}) DTAFMT(*TEXT) REPLACE(*YES)" 346*7c568831SAndroid Build Coastguard Worker system "${CMD}" 347*7c568831SAndroid Build Coastguard Workerfi 348*7c568831SAndroid Build Coastguard Worker 349*7c568831SAndroid Build Coastguard Workerif action_needed "${LIBIFSNAME}/XMLCATALOG.CMD" \ 350*7c568831SAndroid Build Coastguard Worker "${LIBIFSNAME}/TOOLS.FILE/XMLCATALOG.MBR" 351*7c568831SAndroid Build Coastguard Workerthen CMD="CRTCMD CMD(${TARGETLIB}/XMLCATALOG) PGM(${TARGETLIB}/XMLCATLGCL)" 352*7c568831SAndroid Build Coastguard Worker CMD="${CMD} SRCFILE(${TARGETLIB}/TOOLS) SRCMBR(XMLCATALOG)" 353*7c568831SAndroid Build Coastguard Worker CMD="${CMD} THDSAFE(*YES) TEXT('XML/SGML catalog tool') REPLACE(*YES)" 354*7c568831SAndroid Build Coastguard Worker system "${CMD}" 355*7c568831SAndroid Build Coastguard Workerfi 356