summaryrefslogtreecommitdiff
path: root/packages/OS400
diff options
context:
space:
mode:
authorPatrick Monnerat <patrick@monnerat.net>2023-04-18 16:27:35 +0200
committerJay Satiro <raysatiro@yahoo.com>2023-04-18 16:13:55 -0400
commitb98db942676414e97573016685625e1519927f4c (patch)
tree314dab324186b5c1616f22102be5cb5e58510e01 /packages/OS400
parent25dcbbcf7df04697886f58769f75fa9e16bdf7e4 (diff)
downloadcurl-b98db942676414e97573016685625e1519927f4c.tar.gz
OS400: rework build scripts
- Rename shell function "system" to "CLcommand" to avoid confusion with built-in command. - Reformat scripts. Fix some indentations. Avoid lines > 80 characters where possible. - Support ASCII runtime development files in a user-defined directory path. - FIX SONAME detection. - Drop form API test program compilation (does not exist anymore). Closes https://github.com/curl/curl/pull/10994
Diffstat (limited to 'packages/OS400')
-rwxr-xr-xpackages/OS400/initscript.sh14
-rwxr-xr-xpackages/OS400/make-include.sh6
-rwxr-xr-xpackages/OS400/make-lib.sh88
-rwxr-xr-xpackages/OS400/make-tests.sh4
-rwxr-xr-xpackages/OS400/makefile.sh6
5 files changed, 37 insertions, 81 deletions
diff --git a/packages/OS400/initscript.sh b/packages/OS400/initscript.sh
index 2a9eb419c..d464ae6cf 100755
--- a/packages/OS400/initscript.sh
+++ b/packages/OS400/initscript.sh
@@ -23,9 +23,9 @@
#
###########################################################################
-system ()
+CLcommand()
{
- /usr/bin/system "$@" || exit 1
+ /usr/bin/system "${@}" || exit 1
}
setenv()
@@ -58,8 +58,8 @@ export SCRIPTDIR TOPDIR
# Extract the SONAME from the library makefile.
-SONAME=`sed -e '/^VERSIONINFO=/!d' -e 's/^.* \([0-9]*\):.*$/\1/' -e 'q' \
- < "${TOPDIR}/lib/Makefile.am"`
+SONAME=`sed -e '/^VERSIONCHANGE=/!d;s/^.*=\([0-9]*\).*/\1/' \
+ < "${TOPDIR}/lib/Makefile.soname"`
export SONAME
@@ -79,6 +79,8 @@ setenv OPTIMIZE '10' # Optimization level
setenv OUTPUT '*NONE' # Compilation output option.
setenv TGTRLS '*CURRENT' # Target OS release.
setenv IFSDIR '/curl' # Installation IFS directory.
+setenv QADRTDIR '/QIBM/ProdData/qadrt' # QADRT IFS directory.
+setenv QADRTLIB 'QADRT' # QADRT object library.
# Define ZLIB availability and locations.
@@ -216,7 +218,7 @@ make_module()
# CMD="${CMD} SYSIFCOPT(*IFS64IO) OPTION(*INCDIRFIRST *SHOWINC *SHOWSYS)"
CMD="${CMD} SYSIFCOPT(*IFS64IO) OPTION(*INCDIRFIRST)"
CMD="${CMD} LOCALETYPE(*LOCALE) FLAG(10)"
- CMD="${CMD} INCDIR('/qibm/proddata/qadrt/include'"
+ CMD="${CMD} INCDIR('${QADRTDIR}/include'"
CMD="${CMD} '${TOPDIR}/include/curl' '${TOPDIR}/include' '${SRCDIR}'"
CMD="${CMD} '${TOPDIR}/packages/OS400'"
@@ -248,7 +250,7 @@ make_module()
then CMD="${CMD} DEFINE(${DEFINES})"
fi
- system "${CMD}"
+ CLcommand "${CMD}"
rm -f __tmpsrcf.c
LINK=YES
}
diff --git a/packages/OS400/make-include.sh b/packages/OS400/make-include.sh
index aec410e03..30235eb79 100755
--- a/packages/OS400/make-include.sh
+++ b/packages/OS400/make-include.sh
@@ -38,7 +38,7 @@ SRCPF="${LIBIFSNAME}/H.FILE"
if action_needed "${SRCPF}"
then CMD="CRTSRCPF FILE(${TARGETLIB}/H) RCDLEN(112)"
CMD="${CMD} CCSID(${TGTCCSID}) TEXT('curl: Header files')"
- system "${CMD}"
+ CLcommand "${CMD}"
fi
@@ -98,9 +98,9 @@ ln -s "${SRCPF}/CURL.INC.MBR" "${IFSINCLUDE}/curl.inc.rpgle"
if action_needed "${LIBIFSNAME}/CURL.FILE"
then :
-else system "DLTF FILE(${TARGETLIB}/CURL)"
+else CLcommand "DLTF FILE(${TARGETLIB}/CURL)"
fi
CMD="CRTDUPOBJ OBJ(H) FROMLIB(${TARGETLIB}) OBJTYPE(*FILE) TOLIB(*FROMLIB)"
CMD="${CMD} NEWOBJ(CURL) DATA(*YES)"
-system "${CMD}"
+CLcommand "${CMD}"
diff --git a/packages/OS400/make-lib.sh b/packages/OS400/make-lib.sh
index d6be13a3f..66e45fbb6 100755
--- a/packages/OS400/make-lib.sh
+++ b/packages/OS400/make-lib.sh
@@ -70,23 +70,21 @@ sed -e ':begin' \
INCLUDES="'`pwd`'"
# Create a small C program to check ccsidcurl.c is up to date
-if action_needed "${LIBIFSNAME}/CHKSTRINGS.PGM"
-then
- CMD="CRTBNDC PGM(${TARGETLIB}/CHKSTRINGS) SRCSTMF('${SCRIPTDIR}/chkstrings.c')"
- CMD="${CMD} INCDIR('${TOPDIR}/include/curl' '${TOPDIR}/include' '${SRCDIR}' ${INCLUDES})"
- system -i "${CMD}"
- if [ $? -ne 0 ]
- then
- echo "ERROR: Failed to build CHKSTRINGS *PGM object!"
- exit 2
- else
- ${LIBIFSNAME}/CHKSTRINGS.PGM
- if [ $? -ne 0 ]
- then
- echo "ERROR: CHKSTRINGS failed!"
- exit 2
- fi
- fi
+if action_needed "${LIBIFSNAME}/CHKSTRINGS.PGM" "${SCRIPTDIR}/chkstrings.c"
+then CMD="CRTBNDC PGM(${TARGETLIB}/CHKSTRINGS)"
+ CMD="${CMD} SRCSTMF('${SCRIPTDIR}/chkstrings.c')"
+ CMD="${CMD} INCDIR('${TOPDIR}/include/curl' '${TOPDIR}/include'"
+ CMD="${CMD} '${SRCDIR}' ${INCLUDES})"
+ CMD="${CMD} TGTCCSID(${TGTCCSID})"
+ if CLcommand -i "${CMD}"
+ then if "${LIBIFSNAME}/CHKSTRINGS.PGM"
+ then :
+ else echo "ERROR: CHKSTRINGS failed!"
+ exit 2
+ fi
+ else echo "ERROR: Failed to build CHKSTRINGS *PGM object!"
+ exit 2
+ fi
fi
make_module OS400SYS "${SCRIPTDIR}/os400sys.c"
@@ -108,12 +106,12 @@ if [ "${LINK}" ]
then rm -rf "${LIBIFSNAME}/${STATBNDDIR}.BNDDIR"
CMD="CRTBNDDIR BNDDIR(${TARGETLIB}/${STATBNDDIR})"
CMD="${CMD} TEXT('LibCurl API static binding directory')"
- system "${CMD}"
+ CLcommand "${CMD}"
for MODULE in ${MODULES}
do CMD="ADDBNDDIRE BNDDIR(${TARGETLIB}/${STATBNDDIR})"
CMD="${CMD} OBJ((${TARGETLIB}/${MODULE} *MODULE))"
- system "${CMD}"
+ CLcommand "${CMD}"
done
fi
@@ -124,7 +122,7 @@ fi
if action_needed "${LIBIFSNAME}/TOOLS.FILE"
then CMD="CRTSRCPF FILE(${TARGETLIB}/TOOLS) RCDLEN(112)"
CMD="${CMD} TEXT('curl: build tools')"
- system "${CMD}"
+ CLcommand "${CMD}"
fi
@@ -192,7 +190,7 @@ then CMD="CRTSRVPGM SRVPGM(${TARGETLIB}/${SRVPGM})"
CMD="${CMD} BNDSRVPGM(QADRTTS QGLDCLNT QGLDBRDR)"
CMD="${CMD} TEXT('curl API library')"
CMD="${CMD} TGTRLS(${TGTRLS})"
- system "${CMD}"
+ CLcommand "${CMD}"
LINK=YES
fi
@@ -207,52 +205,8 @@ if [ "${LINK}" ]
then rm -rf "${LIBIFSNAME}/${DYNBNDDIR}.BNDDIR"
CMD="CRTBNDDIR BNDDIR(${TARGETLIB}/${DYNBNDDIR})"
CMD="${CMD} TEXT('LibCurl API dynamic binding directory')"
- system "${CMD}"
+ CLcommand "${CMD}"
CMD="ADDBNDDIRE BNDDIR(${TARGETLIB}/${DYNBNDDIR})"
CMD="${CMD} OBJ((*LIBL/${SRVPGM} *SRVPGM))"
- system "${CMD}"
-fi
-
-
-# Rebuild the formdata test if needed.
-
-if [ "${TEST_FORMDATA}" ]
-then MODULES=
- make_module TFORMDATA formdata.c "'_FORM_DEBUG' 'CURLDEBUG'"
- make_module TSTREQUAL strequal.c "'_FORM_DEBUG' 'CURLDEBUG'"
- make_module TMEMDEBUG memdebug.c "'_FORM_DEBUG' 'CURLDEBUG'"
- make_module TMPRINTF mprintf.c "'_FORM_DEBUG' 'CURLDEBUG'"
- make_module TSTRERROR strerror.c "'_FORM_DEBUG' 'CURLDEBUG'"
- # The following modules should not be needed (see comment in
- # formdata.c. However, there are some unsatisfied
- # external references leading in the following
- # modules to be (recursively) needed.
- MODULES="${MODULES} EASY STRDUP SSLGEN GSKIT HOSTIP HOSTIP4 HOSTIP6"
- MODULES="${MODULES} URL HASH TRANSFER GETINFO COOKIE SENDF SELECT"
- MODULES="${MODULES} INET_NTOP SHARE HOSTTHRE MULTI LLIST FTP HTTP"
- MODULES="${MODULES} HTTP_DIGES HTTP_CHUNK HTTP_NEGOT TIMEVAL HOSTSYN"
- MODULES="${MODULES} CONNECT SOCKS PROGRESS ESCAPE INET_PTON GETENV"
- MODULES="${MODULES} DICT LDAP TELNET FILE TFTP NETRC PARSEDATE"
- MODULES="${MODULES} SPEEDCHECK SPLAY BASE64 SECURITY IF2IP MD5"
- MODULES="${MODULES} KRB5 OS400SYS"
-
- PGMIFSNAME="${LIBIFSNAME}/TFORMDATA.PGM"
-
- if action_needed "${PGMIFSNAME}"
- then LINK=YES
- fi
-
- if [ "${LINK}" ]
- then CMD="CRTPGM PGM(${TARGETLIB}/TFORMDATA)"
- CMD="${CMD} ENTMOD(QADRT/QADRTMAIN2)"
- CMD="${CMD} MODULE("
-
- for MODULE in ${MODULES}
- do CMD="${CMD} ${TARGETLIB}/${MODULE}"
- done
-
- CMD="${CMD} ) BNDSRVPGM(QADRTTS)"
- CMD="${CMD} TGTRLS(${TGTRLS})"
- system "${CMD}"
- fi
+ CLcommand "${CMD}"
fi
diff --git a/packages/OS400/make-tests.sh b/packages/OS400/make-tests.sh
index 03e875d3a..a5a472cf1 100755
--- a/packages/OS400/make-tests.sh
+++ b/packages/OS400/make-tests.sh
@@ -128,10 +128,10 @@ do DB2PGM=`db2_name "${PGM}"`
MODULES="`echo \"${MODULES}\" |
sed \"s/[^ ][^ ]*/${TARGETLIB}\/&/g\"`"
CMD="CRTPGM PGM(${TARGETLIB}/${DB2PGM})"
- CMD="${CMD} ENTMOD(QADRT/QADRTMAIN2)"
+ CMD="${CMD} ENTMOD(${QADRTLIB}/QADRTMAIN2)"
CMD="${CMD} MODULE(${MODULES})"
CMD="${CMD} BNDSRVPGM(${TARGETLIB}/${SRVPGM} QADRTTS)"
CMD="${CMD} TGTRLS(${TGTRLS})"
- system "${CMD}"
+ CLcommand "${CMD}"
fi
done
diff --git a/packages/OS400/makefile.sh b/packages/OS400/makefile.sh
index 4d1d98eff..e8a7e7c8d 100755
--- a/packages/OS400/makefile.sh
+++ b/packages/OS400/makefile.sh
@@ -37,7 +37,7 @@ cd "${TOPDIR}"
if action_needed "${LIBIFSNAME}"
then CMD="CRTLIB LIB(${TARGETLIB}) TEXT('curl: multiprotocol support API')"
- system "${CMD}"
+ CLcommand "${CMD}"
fi
@@ -46,7 +46,7 @@ fi
if action_needed "${LIBIFSNAME}/DOCS.FILE"
then CMD="CRTSRCPF FILE(${TARGETLIB}/DOCS) RCDLEN(240)"
CMD="${CMD} CCSID(${TGTCCSID}) TEXT('Documentation texts')"
- system "${CMD}"
+ CLcommand "${CMD}"
fi
@@ -66,7 +66,7 @@ do MEMBER="`basename \"${TEXT}\" .OS400`"
if action_needed "${MEMBER}" "${TEXT}"
then CMD="CPY OBJ('${TEXT}') TOOBJ('${MEMBER}') TOCCSID(${TGTCCSID})"
CMD="${CMD} DTAFMT(*TEXT) REPLACE(*YES)"
- system "${CMD}"
+ CLcommand "${CMD}"
fi
done