Edit

kc3-lang/libxml2/os400/make.sh

Branch :

  • Show log

    Commit

  • Author : Nick Wellnhofer
    Date : 2017-11-12 20:06:21
    Hash : c1002101
    Message : Update information about contributing The contents of the HACKING file were hopelessly outdated. Remove the file and start with a CONTRIBUTING document.

  • os400/make.sh
  • #!/bin/sh
    #
    #       libxml2 compilation script for the OS/400.
    #       This is a shell script since make is not a standard component of 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 the OS/400 library if it does not exist.
    
    if action_needed "${LIBIFSNAME}"
    then    CMD="CRTLIB LIB(${TARGETLIB})"
            CMD="${CMD} TEXT('libxml2: XML parser and toolkit API')"
            system "${CMD}"
    fi
    
    
    #       Create the DOCS source file if it does not exist.
    
    if action_needed "${LIBIFSNAME}/DOCS.FILE"
    then    CMD="CRTSRCPF FILE(${TARGETLIB}/DOCS) RCDLEN(112)"
            CMD="${CMD} CCSID(${TGTCCSID}) TEXT('Documentation texts')"
            system "${CMD}"
    fi
    
    
    #       Copy some documentation files if needed.
    
    for TEXT in "${TOPDIR}/AUTHORS" "${TOPDIR}/ChangeLog"                   \
        "${TOPDIR}/Copyright" "${TOPDIR}/CONTRIBUTING" "${TOPDIR}/README"        \
        "${TOPDIR}/MAINTAINERS" "${TOPDIR}/NEWS" "${TOPDIR}/TODO"           \
        "${TOPDIR}/TODO_SCHEMAS" "${TOPDIR}/os400/README400"
    do      if [ -f "${TEXT}" ]
            then    MEMBER="`basename \"${TEXT}\" .OS400`"
                    MEMBER="${LIBIFSNAME}/DOCS.FILE/`db2_name \"${MEMBER}\"`.MBR"
    
                    if action_needed "${MEMBER}" "${TEXT}"
                    then    # Sources are in UTF-8.
                            rm -f "${TOPDIR}/tmpfile"[12]
                            CMD="CPY OBJ('${TEXT}') TOOBJ('${TOPDIR}/tmpfile1')"
                            CMD="${CMD} FROMCCSID(1208) TOCCSID(${TGTCCSID})"
                            CMD="${CMD} DTAFMT(*TEXT) REPLACE(*YES)"
                            system "${CMD}"
                            # Make sure all lines are < 100 characters.
                            sed -e 's/.\{99\}/&\
    /g' -e 's/\n$//' "${TOPDIR}/tmpfile1" > "${TOPDIR}/tmpfile2"
                            CMD="CPY OBJ('${TOPDIR}/tmpfile2') TOOBJ('${MEMBER}')"
                            CMD="${CMD} TOCCSID(${TGTCCSID})"
                            CMD="${CMD} DTAFMT(*TEXT) REPLACE(*YES)"
                            system "${CMD}"
                    fi
            fi
    done
    
    
    #       Build files from template.
    
    configFile()
    
    {
            args=`set | sed -e '/^[A-Za-z_][A-Za-z0-9_]*=/!d'               \
                            -e 's/[\/\\\\&]/\\\\&/g'                        \
                            -e "s/'/'\\\\\\''/g"                            \
                            -e 's/^\([^=]*\)=\(.*\)$/-e '\''s\/@\1@\/\2\/g'\'/`
            eval sed ${args} < "${1}".in > "${1}"
    }
    
    configFile include/libxml/xmlversion.h
    configFile os400/os400config.h
    mv os400/os400config.h config.h
    
    
    #       Build in each directory.
    
    for SUBDIR in include rpg src
    do      "${SCRIPTDIR}/make-${SUBDIR}.sh"
    done