aboutsummaryrefslogtreecommitdiffstats
path: root/packages/OS400/make-tests.sh
diff options
context:
space:
mode:
authorLucas Eckels <eckels@google.com>2012-08-06 15:07:02 -0700
committerLucas Eckels <eckels@google.com>2012-08-08 09:28:48 -0700
commit9bd90e6e25f1e55f50201c87a1b5837de7e5b64a (patch)
treed2061a00d7d0ee884170bc955fceeed2d0edf284 /packages/OS400/make-tests.sh
parente6f2b03027b5feb92b30f5d47801ec3fabe9fd95 (diff)
downloadandroid_external_curl-9bd90e6e25f1e55f50201c87a1b5837de7e5b64a.tar.gz
android_external_curl-9bd90e6e25f1e55f50201c87a1b5837de7e5b64a.tar.bz2
android_external_curl-9bd90e6e25f1e55f50201c87a1b5837de7e5b64a.zip
Add Music Manager's curl 7.21.2 source.
Change-Id: I259a43fa52d581524a5ce8ae1711467acb1d9d50
Diffstat (limited to 'packages/OS400/make-tests.sh')
-rw-r--r--packages/OS400/make-tests.sh114
1 files changed, 114 insertions, 0 deletions
diff --git a/packages/OS400/make-tests.sh b/packages/OS400/make-tests.sh
new file mode 100644
index 0000000..cee3ed9
--- /dev/null
+++ b/packages/OS400/make-tests.sh
@@ -0,0 +1,114 @@
+#!/bin/sh
+#
+# tests compilation script for the OS/400.
+#
+
+
+SCRIPTDIR=`dirname "${0}"`
+. "${SCRIPTDIR}/initscript.sh"
+cd "${TOPDIR}/tests"
+
+
+# tests directory not implemented yet.
+
+
+# Process the libtest subdirectory.
+
+cd libtest
+
+# Get definitions from the Makefile.inc file.
+# The `sed' statement works as follows:
+# _ Join \nl-separated lines.
+# _ Retain only lines that begins with "identifier =".
+# _ Turn these lines into shell variable assignments.
+
+eval "`sed -e ': begin' \
+ -e '/\\\\$/{' \
+ -e 'N' \
+ -e 's/\\\\\\n/ /' \
+ -e 'b begin' \
+ -e '}' \
+ -e '/^[A-Za-z_][A-Za-z0-9_]*[ ]*[=]/b keep' \
+ -e 'd' \
+ -e ': keep' \
+ -e 's/[ ]*=[ ]*/=/' \
+ -e 's/=\\(.*[^ ]\\)[ ]*$/=\\"\\1\\"/' \
+ -e 's/\\$(\\([^)]*\\))/${\\1}/g' \
+ < Makefile.inc`"
+
+# Special case: redefine chkhostname compilation parameters.
+
+chkhostname_SOURCES=chkhostname.c
+chkhostname_LDADD=curl_gethostname.o
+
+# Compile all programs.
+# The list is found in variable "noinst_PROGRAMS"
+
+INCLUDES="'${TOPDIR}/tests/libtest' '${TOPDIR}/lib'"
+
+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}\"`"
+ PGMDEFINES=
+
+ for FLAG in ${PGMCFLAGS}
+ do case "${FLAG}" in
+ -D?*) DEFINE="`echo \"${FLAG}\" | sed 's/^..//'`"
+ PGMDEFINES="${PGMDEFINES} '${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
+
+ make_module "${MODULE}" "${SOURCE}" "${PGMDEFINES}"
+ if action_needed "${PGMIFSNAME}" "${MODIFSNAME}"
+ then LINK=yes
+ fi
+ ;;
+ esac
+ done
+
+ # Link program if needed.
+
+ if [ "${LINK}" ]
+ then PGMLDADD="`eval echo \"\\${${PGM}_LDADD}\"`"
+ for LDARG in ${PGMLDADD}
+ do case "${LDARG}" in
+ -*) ;; # Ignore non-module.
+ *) MODULES="${MODULES} "`db2_name "${LDARG}"`
+ ;;
+ esac
+ done
+ MODULES="`echo \"${MODULES}\" |
+ sed \"s/[^ ][^ ]*/${TARGETLIB}\/&/g\"`"
+ CMD="CRTPGM PGM(${TARGETLIB}/${DB2PGM})"
+ CMD="${CMD} ENTMOD(QADRT/QADRTMAIN2)"
+ CMD="${CMD} MODULE(${MODULES})"
+ CMD="${CMD} BNDSRVPGM(${TARGETLIB}/${SRVPGM} QADRTTS)"
+ CMD="${CMD} TGTRLS(${TGTRLS})"
+ system "${CMD}"
+ fi
+done