]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
OS400: rework build scripts
authorPatrick Monnerat <patrick@monnerat.net>
Tue, 18 Apr 2023 14:27:35 +0000 (16:27 +0200)
committerJay Satiro <raysatiro@yahoo.com>
Tue, 18 Apr 2023 20:13:55 +0000 (16:13 -0400)
- 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

packages/OS400/initscript.sh
packages/OS400/make-include.sh
packages/OS400/make-lib.sh
packages/OS400/make-tests.sh
packages/OS400/makefile.sh

index 2a9eb419cd6bfe913b0b2fda6073434e2ff76127..d464ae6cf77bf0fc06394a22e819bdb4aef6bd5c 100755 (executable)
@@ -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
 }
index aec410e03215412d2d4c3b3655dc73c4ca5d7a65..30235eb79066bc3801aee0829b9c6cb1a53e3ab5 100755 (executable)
@@ -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}"
index d6be13a3f1d61a4d859f170e7203adaae907af0b..66e45fbb6edd70a0cd1e7ffab7c87aaa80436ea7 100755 (executable)
@@ -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
index 03e875d3a0c8190c8ccde7faf37567e1ba99537e..a5a472cf184840904e56580cf4313d9129ac0867 100755 (executable)
@@ -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
index 4d1d98effaae43aaac16062878624d8f1fb901b9..e8a7e7c8dde0b9e466764ca4a3bf1ace611eb39a 100755 (executable)
@@ -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