123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- #!/bin/sh
- #***************************************************************************
- # _ _ ____ _
- # Project ___| | | | _ \| |
- # / __| | | | |_) | |
- # | (__| |_| | _ <| |___
- # \___|\___/|_| \_\_____|
- #
- # Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
- #
- # This software is licensed as described in the file COPYING, which
- # you should have received as part of this distribution. The terms
- # are also available at https://curl.se/docs/copyright.html.
- #
- # You may opt to use, copy, modify, merge, publish, distribute and/or sell
- # copies of the Software, and permit persons to whom the Software is
- # furnished to do so, under the terms of the COPYING file.
- #
- # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- # KIND, either express or implied.
- #
- # SPDX-License-Identifier: curl
- #
- ###########################################################################
- #
- # tests compilation script for the OS/400.
- #
- SCRIPTDIR=`dirname "${0}"`
- . "${SCRIPTDIR}/initscript.sh"
- cd "${TOPDIR}/tests"
- # Build programs in a directory.
- build_all_programs()
- {
- # Compile all programs.
- # The list is found in variable "noinst_PROGRAMS"
- INCLUDES="'`pwd`' '${TOPDIR}/lib' '${TOPDIR}/src'"
- MODS="${1}"
- SRVPGMS="${2}"
- for PGM in ${noinst_PROGRAMS}
- do DB2PGM=`db2_name "${PGM}"`
- PGMIFSNAME="${LIBIFSNAME}/${DB2PGM}.PGM"
- # Extract preprocessor symbol definitions from
- # compilation options for the program.
- PGMCFLAGS="`eval echo \"\\${${PGM}_CFLAGS}\"`"
- PGMDFNS=
- for FLAG in ${PGMCFLAGS}
- do case "${FLAG}" in
- -D?*) DEFINE="`echo \"${FLAG}\" | sed 's/^..//'`"
- PGMDFNS="${PGMDFNS} '${DEFINE}'"
- ;;
- esac
- done
- # Compile all C sources for the program into modules.
- PGMSOURCES="`eval echo \"\\${${PGM}_SOURCES}\"`"
- LINK=
- MODULES=
- for SOURCE in ${PGMSOURCES}
- do case "${SOURCE}" in
- *.c) # Special processing for libxxx.c files:
- # their module name is determined
- # by the target PROGRAM name.
- case "${SOURCE}" in
- lib*.c) MODULE="${DB2PGM}"
- ;;
- *) MODULE=`db2_name "${SOURCE}"`
- ;;
- esac
- # If source is in a sibling directory,
- # prefix module name with 'X'.
- case "${SOURCE}" in
- ../*) MODULE=`db2_name "X${MODULE}"`
- ;;
- esac
- make_module "${MODULE}" "${SOURCE}" "${PGMDFNS}"
- if action_needed "${PGMIFSNAME}" "${MODIFSNAME}"
- then LINK=yes
- fi
- ;;
- esac
- done
- # Link program if needed.
- if [ "${LINK}" ]
- then PGMLDADD="`eval echo \"\\${${PGM}_LDADD}\"`"
- for ARG in ${PGMLDADD}
- do case "${ARG}" in
- -*) ;; # Ignore non-module.
- *) MODULES="${MODULES} "`db2_name "${ARG}"`
- ;;
- esac
- done
- MODULES="`echo \"${MODULES}\" |
- sed \"s/[^ ][^ ]*/${TARGETLIB}\/&/g\"`"
- CMD="CRTPGM PGM(${TARGETLIB}/${DB2PGM})"
- CMD="${CMD} ENTMOD(${TARGETLIB}/CURLMAIN)"
- CMD="${CMD} MODULE(${MODULES} ${MODS})"
- CMD="${CMD} BNDSRVPGM(${SRVPGMS} QADRTTS)"
- CMD="${CMD} TGTRLS(${TGTRLS})"
- CLcommand "${CMD}"
- fi
- done
- }
- # Build programs in the server directory.
- (
- cd server
- get_make_vars Makefile.inc
- build_all_programs "${TARGETLIB}/OS400SYS"
- )
- # Build all programs in the libtest subdirectory.
- (
- cd libtest
- get_make_vars Makefile.inc
- # Special case: redefine chkhostname compilation parameters.
- chkhostname_SOURCES=chkhostname.c
- chkhostname_LDADD=curl_gethostname.o
- build_all_programs "" "${TARGETLIB}/${SRVPGM}"
- )
|