diff options
Diffstat (limited to 'os400/make-src.sh')
-rw-r--r-- | os400/make-src.sh | 241 |
1 files changed, 0 insertions, 241 deletions
diff --git a/os400/make-src.sh b/os400/make-src.sh deleted file mode 100644 index f06cfaf..0000000 --- a/os400/make-src.sh +++ /dev/null @@ -1,241 +0,0 @@ -#!/bin/sh -# -# libxml compilation script for the OS/400. -# -# See Copyright for the status of this software. -# -# Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A. -# - -SCRIPTDIR=`dirname "${0}"` -. "${SCRIPTDIR}/initscript.sh" -cd "${TOPDIR}" - - -# Create and compile the identification source file. - -echo '#pragma comment(user, "libxml2 version '"${LIBXML_VERSION}"'")' > os400.c -echo '#pragma comment(user, __DATE__)' >> os400.c -echo '#pragma comment(user, __TIME__)' >> os400.c -echo '#pragma comment(copyright, "Copyright (C) 1998-2014 Daniel Veillard. OS/400 version by P. Monnerat.")' >> os400.c -make_module OS400 os400.c -LINK= # No need to rebuild service program yet. -MODULES= - - -# Get source list. - -foldlines() - -{ - sed -e ':begin' \ - -e '/\\$/{' \ - -e 's/\\$/ /' \ - -e 'N' \ - -e 'bbegin' \ - -e '}' \ - -e 's/\n//g' \ - -e 's/[[:space:]]*$//' -} - - -get_make_var() - -{ - foldlines < Makefile.am | - sed -e "/^${1}[[:space:]]*=[[:space:]]*/{" \ - -e 's///' \ - -e 'q' \ - -e '}' \ - -e 'd' -} - - -docb_sources=`get_make_var docb_sources` -trio_sources=`get_make_var trio_sources` -CSOURCES=`eval echo "\`get_make_var libxml2_la_SOURCES | tr '()' '{}'\`"` - - -# Compile the sources into modules. - -INCLUDES="'`pwd`'" - -# OS/400 specific modules first. - -make_module DLFCN "${SCRIPTDIR}/dlfcn/dlfcn.c" '' ebcdic -make_module ICONV "${SCRIPTDIR}/iconv/iconv.c" '' ebcdic -make_module WRAPPERS "${SCRIPTDIR}/wrappers.c" '' ebcdic -make_module TRANSCODE "${SCRIPTDIR}/transcode.c" -make_module RPGSUPPORT "${SCRIPTDIR}/rpgsupport.c" - -# Regular libxml2 modules. - -for SRC in ${CSOURCES} -do MODULE=`db2_name "${SRC}"` - make_module "${MODULE}" "${SRC}" -done - - -# If needed, (re)create the static binding directory. - -if action_needed "${LIBIFSNAME}/${STATBNDDIR}.BNDDIR" -then LINK=YES -fi - -if [ "${LINK}" ] -then rm -rf "${LIBIFSNAME}/${STATBNDDIR}.BNDDIR" - CMD="CRTBNDDIR BNDDIR(${TARGETLIB}/${STATBNDDIR})" - CMD="${CMD} TEXT('libxml2 static binding directory')" - system "${CMD}" - - for MODULE in ${MODULES} - do CMD="ADDBNDDIRE BNDDIR(${TARGETLIB}/${STATBNDDIR})" - CMD="${CMD} OBJ((${TARGETLIB}/${MODULE} *MODULE))" - system "${CMD}" - done -fi - - -# The exportation file for service program creation must be in a DB2 -# source file, so make sure it exists. - -if action_needed "${LIBIFSNAME}/TOOLS.FILE" -then CMD="CRTSRCPF FILE(${TARGETLIB}/TOOLS) RCDLEN(112)" - CMD="${CMD} CCSID(${TGTCCSID}) TEXT('libxml2: build tools')" - system "${CMD}" -fi - - -# Generate all exported symbol table versions in a binding source file. - -BSF="${LIBIFSNAME}/TOOLS.FILE/BNDSRC.MBR" -PGMEXPS= - -OS400SYMS=`cat os400/transcode.h os400/rpgsupport.h | - sed -e 'H' \ - -e 'g' \ - -e 's/\n/ /' \ - -e 's/\\$/ /' \ - -e 's/.*/& /' \ - -e 's/\/\*.*\*\// /g' \ - -e 'h' \ - -e ':loop' \ - -e 'g' \ - -e '/\/\*/d' \ - -e '/;/!d' \ - -e 's/[^;]*;//' \ - -e 'x' \ - -e 's/[[:space:]]*;.*$//' \ - -e '/XMLPUBFUN/{' \ - -e 's/[[:space:]]*(.*$//' \ - -e 's/.*[[:space:]*]//' \ - -e 'p' \ - -e 'bloop' \ - -e '}' \ - -e '/XMLPUBVAR/!bloop' \ - -e ':loop2' \ - -e '/\[[^][]*\]/{' \ - -e 's///' \ - -e 'bloop2' \ - -e '}' \ - -e 's/[[:space:]]*,[[:space:]]*/,/g' \ - -e 's/[^,]*[[:space:]*]//' \ - -e 's/[^[:alnum:]_,]//g' \ - -e 's/,/\n/g' \ - -e 'p' \ - -e 'bloop'` - -sed -e 's/#.*//' \ - -e 's/[[:space:]]*$//' \ - -e 's/^[[:space:]]*//' \ - -e '/^*global:$/d' \ - -e '/^$/d' \ - -e '/[[:space:]]*{$/{' \ - -e 's///' \ - -e 'h' \ - -e 's/[^A-Za-z0-9]/_/g' \ - -e 's/^[0-9]/_&/' \ - -e 'x' \ - -e 'G' \ - -e 's/\(.*\)\n\(.*\)/\2_SIGNATURE="\1"/' \ - -e 'p' \ - -e 's/.*//' \ - -e 'x' \ - -e "s/.*/SONAME='&'/" \ - -e 'b' \ - -e '}' \ - -e '/[[:space:]]*;$/!d' \ - -e 's///' \ - -e '/^xmlDllMain$/d' \ - -e '/^}[[:space:]]*/!{' \ - -e 'H' \ - -e 'd' \ - -e '}' \ - -e 's///' \ - -e '/^$/!{' \ - -e 's/[^A-Za-z0-9]/_/g' \ - -e 's/^[0-9]/_&/' \ - -e 's/.*/${&}/' \ - -e 'x' \ - -e 'H' \ - -e 's/.*//' \ - -e '}' \ - -e 'x' \ - -e 's/\n/ /g' \ - -e 's/^[[:space:]]*//' \ - -e 's/.*/declare ${SONAME}="&"/' \ - -e 's/.*/&; PGMEXPS="${SONAME} ${PGMEXPS}"/' \ - < "${TOPDIR}/libxml2.syms" > bndvars -. ./bndvars - -PGMLVL=CURRENT -for PGMEXP in ${PGMEXPS} -do SIGNATURE=`echo "${PGMEXP}" | sed 's/^LIBXML2_//'` - eval ENTRIES=\"\${${PGMEXP}}\" - echo " STRPGMEXP PGMLVL(*${PGMLVL}) SIGNATURE('${SIGNATURE}')" - for ENTRY in ${ENTRIES} ${OS400SYMS} - do echo " EXPORT SYMBOL('${ENTRY}')" - done - echo ' ENDPGMEXP' - PGMLVL=PRV -done > "${BSF}" - - -# Build the service program if needed. - -if action_needed "${LIBIFSNAME}/${SRVPGM}.SRVPGM" -then LINK=YES -fi - -if [ "${LINK}" ] -then CMD="CRTSRVPGM SRVPGM(${TARGETLIB}/${SRVPGM})" - CMD="${CMD} SRCFILE(${TARGETLIB}/TOOLS) SRCMBR(BNDSRC)" - CMD="${CMD} MODULE(${TARGETLIB}/OS400)" - CMD="${CMD} BNDDIR((${TARGETLIB}/${STATBNDDIR})" - if [ "${WITH_ZLIB}" -ne 0 ] - then CMD="${CMD} (${ZLIB_LIB}/${ZLIB_BNDDIR})" - fi - CMD="${CMD})" - CMD="${CMD} BNDSRVPGM(QADRTTS)" - CMD="${CMD} TEXT('libxml2 dynamic library')" - CMD="${CMD} TGTRLS(${TGTRLS})" - system "${CMD}" - LINK=YES -fi - - -# If needed, (re)create the dynamic binding directory. - -if action_needed "${LIBIFSNAME}/${DYNBNDDIR}.BNDDIR" -then LINK=YES -fi - -if [ "${LINK}" ] -then rm -rf "${LIBIFSNAME}/${DYNBNDDIR}.BNDDIR" - CMD="CRTBNDDIR BNDDIR(${TARGETLIB}/${DYNBNDDIR})" - CMD="${CMD} TEXT('libxml2 dynamic binding directory')" - system "${CMD}" - CMD="ADDBNDDIRE BNDDIR(${TARGETLIB}/${DYNBNDDIR})" - CMD="${CMD} OBJ((*LIBL/${SRVPGM} *SRVPGM))" - system "${CMD}" -fi |