os400: fixes to make-lib.sh and initscript.sh

Adjust how exports list is generated from header files to account for
declarations across multiple lines and CURL_DEPRECATED(...) tags.

Update initscript.sh

Specify qadrt_use_inline to prevent unistd.h in ASCII runtime defining
close(a) -> close_a(a)

Fixes #10266
Closes #10267
This commit is contained in:
jonrumsey 2023-01-09 13:22:36 +00:00 committed by Daniel Stenberg
parent 33ac97e1cb
commit 9749a379e0
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
2 changed files with 18 additions and 7 deletions

View File

@ -234,7 +234,7 @@ make_module()
CMD="${CMD} OPTIMIZE(${OPTIMIZE})"
CMD="${CMD} DBGVIEW(${DEBUG})"
DEFINES="${3} BUILDING_LIBCURL"
DEFINES="${3} BUILDING_LIBCURL 'qadrt_use_inline'"
if [ "${WITH_ZLIB}" != "0" ]
then DEFINES="${DEFINES} HAVE_LIBZ"

View File

@ -129,15 +129,26 @@ fi
# Gather the list of symbols to export.
# First use awk to pull all CURL_EXTERN function prototypes from
# the header files, pass through to sed to strip CURL_DEPRECATED(..)
# then back to awk to pull the string immediately to the left of a
# bracket stripping any spaces or *'s.
EXPORTS=`grep '^CURL_EXTERN[[:space:]]' \
EXPORTS=`awk '/^CURL_EXTERN/,/;/' \
"${TOPDIR}"/include/curl/*.h \
"${SCRIPTDIR}/ccsidcurl.h" |
sed -e 's/^.*CURL_EXTERN[[:space:]]\(.*\)(.*$/\1/' \
-e 's/[[:space:]]*$//' \
-e 's/^.*[[:space:]][[:space:]]*//' \
-e 's/^\*//' \
-e 's/(\(.*\))/\1/'`
sed 's| CURL_DEPRECATED(.*)||g' |
awk '{br=index($0,"("); \
if (br) { \
for(c=br-1; ;c--) { \
if (c==1) { \
print substr($0,c,br-1); break \
} else if (match(substr($0, c, br-c), "[ *]") != 0) { \
print substr($0, c+1, br-c-1); break \
} \
} \
} \
}'`
# Create the service program exportation file in DB2 member if needed.