mirror of
https://github.com/curl/curl.git
synced 2024-11-21 01:16:58 +08:00
os400: move build configuration parameters to a separate script
They can then easily be overriden in a script named "config400.override" that is not part of the distribution. Closes #11547
This commit is contained in:
parent
6f8d9cc4e9
commit
45a2502d51
@ -32,6 +32,7 @@ EXTRA_DIST = README.md \
|
||||
OS400/curlmain.c \
|
||||
OS400/curl.inc.in \
|
||||
OS400/initscript.sh \
|
||||
OS400/config400.default \
|
||||
OS400/make-include.sh \
|
||||
OS400/make-lib.sh \
|
||||
OS400/make-src.sh \
|
||||
|
@ -275,9 +275,11 @@ _ Install the curl source directory in IFS. Do NOT install it in the
|
||||
_ Enter Qshell (QSH, not PASE)
|
||||
_ Change current directory to the curl installation directory
|
||||
_ Change current directory to ./packages/OS400
|
||||
_ Edit file iniscript.sh. You may want to change tunable configuration
|
||||
parameters, like debug info generation, optimization level, listing option,
|
||||
target library, ZLIB/LIBSSH2 availability and location, etc.
|
||||
- If you want to change the default configuration parameters like debug info
|
||||
generation, optimization level, listing option, target library, ZLIB/LIBSSH2
|
||||
availability and location, etc., copy file config400.default to
|
||||
config400.override and edit the latter. Do not edit the original default file
|
||||
as it might be overwritten by a subsequent source installation.
|
||||
_ Copy any file in the current directory to makelog (i.e.:
|
||||
cp initscript.sh makelog): this is intended to create the makelog file with
|
||||
an ASCII CCSID!
|
||||
@ -285,8 +287,8 @@ _ Enter the command "sh makefile.sh > makelog 2>&1"
|
||||
_ Examine the makelog file to check for compilation errors. CZM0383 warnings on
|
||||
C or system standard API come from QADRT inlining and can safely be ignored.
|
||||
|
||||
Leaving file initscript.sh unchanged, this will produce the following OS/400
|
||||
objects:
|
||||
Without configuration parameters override, this will produce the following
|
||||
OS/400 objects:
|
||||
_ Library CURL. All other objects will be stored in this library.
|
||||
_ Modules for all libcurl units.
|
||||
_ Binding directory CURL_A, to be used at calling program link time for
|
||||
@ -297,6 +299,8 @@ _ Service program CURL.<soname>, where <soname> is extracted from the
|
||||
when this program has dynamically bound curl at link time.
|
||||
_ Binding directory CURL. To be used to dynamically bind libcurl when linking a
|
||||
calling program.
|
||||
- CLI tool bound program CURL.
|
||||
- CLI command CURL.
|
||||
_ Source file H. It contains all the include members needed to compile a C/C++
|
||||
module using libcurl, and an ILE/RPG /copy member for support in this
|
||||
language.
|
||||
@ -305,11 +309,9 @@ _ CCSIDCURL member in file H. This defines the non-standard EBCDIC wrappers for
|
||||
C and C++.
|
||||
_ CURL.INC member in file H. This defines everything needed by an ILE/RPG
|
||||
program using libcurl.
|
||||
_ LIBxxx modules and programs. Although the test environment is not supported
|
||||
on OS/400, the libcurl test programs are compiled for manual tests.
|
||||
_ IFS directory /curl/include/curl containing the C header files for IFS source
|
||||
C/C++ compilation and curl.inc.rpgle for IFS source ILE/RPG compilation.
|
||||
|
||||
- IFS link /curl/bin/curl to CLI tool program.
|
||||
|
||||
|
||||
Special programming consideration:
|
||||
|
52
packages/OS400/config400.default
Normal file
52
packages/OS400/config400.default
Normal file
@ -0,0 +1,52 @@
|
||||
#!/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
|
||||
#
|
||||
###########################################################################
|
||||
|
||||
# Tunable configuration parameters.
|
||||
|
||||
setenv TARGETLIB 'CURL' # Target OS/400 program library.
|
||||
setenv STATBNDDIR 'CURL_A' # Static binding directory.
|
||||
setenv DYNBNDDIR 'CURL' # Dynamic binding directory.
|
||||
setenv SRVPGM "CURL.${SONAME}" # Service program.
|
||||
setenv TGTCCSID '500' # Target CCSID of objects.
|
||||
setenv DEBUG '*ALL' # Debug level.
|
||||
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.
|
||||
|
||||
# Define ZLIB availability and locations.
|
||||
|
||||
setenv WITH_ZLIB 0 # Define to 1 to enable.
|
||||
setenv ZLIB_INCLUDE '/zlib/include' # ZLIB include IFS directory.
|
||||
setenv ZLIB_LIB 'ZLIB' # ZLIB library.
|
||||
setenv ZLIB_BNDDIR 'ZLIB_A' # ZLIB binding directory.
|
||||
|
||||
# Define LIBSSH2 availability and locations.
|
||||
|
||||
setenv WITH_LIBSSH2 0 # Define to 1 to enable.
|
||||
setenv LIBSSH2_INCLUDE '/libssh2/include' # LIBSSH2 include IFS directory.
|
||||
setenv LIBSSH2_LIB 'LIBSSH2' # LIBSSH2 library.
|
||||
setenv LIBSSH2_BNDDIR 'LIBSSH2_A' # LIBSSH2 binding directory.
|
@ -62,41 +62,12 @@ SONAME=`sed -e '/^VERSIONCHANGE=/!d;s/^.*=\([0-9]*\).*/\1/' \
|
||||
< "${TOPDIR}/lib/Makefile.soname"`
|
||||
export SONAME
|
||||
|
||||
# Get OS/400 configuration parameters.
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Tunable configuration parameters.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
setenv TARGETLIB 'CURL' # Target OS/400 program library.
|
||||
setenv STATBNDDIR 'CURL_A' # Static binding directory.
|
||||
setenv DYNBNDDIR 'CURL' # Dynamic binding directory.
|
||||
setenv SRVPGM "CURL.${SONAME}" # Service program.
|
||||
setenv TGTCCSID '500' # Target CCSID of objects.
|
||||
setenv DEBUG '*ALL' # Debug level.
|
||||
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.
|
||||
|
||||
# Define ZLIB availability and locations.
|
||||
|
||||
setenv WITH_ZLIB 0 # Define to 1 to enable.
|
||||
setenv ZLIB_INCLUDE '/zlib/include' # ZLIB include IFS directory.
|
||||
setenv ZLIB_LIB 'ZLIB' # ZLIB library.
|
||||
setenv ZLIB_BNDDIR 'ZLIB_A' # ZLIB binding directory.
|
||||
|
||||
# Define LIBSSH2 availability and locations.
|
||||
|
||||
setenv WITH_LIBSSH2 0 # Define to 1 to enable.
|
||||
setenv LIBSSH2_INCLUDE '/libssh2/include' # LIBSSH2 include IFS directory.
|
||||
setenv LIBSSH2_LIB 'LIBSSH2' # LIBSSH2 library.
|
||||
setenv LIBSSH2_BNDDIR 'LIBSSH2_A' # LIBSSH2 binding directory.
|
||||
|
||||
|
||||
################################################################################
|
||||
. "${SCRIPTDIR}/config400.default"
|
||||
if [ -f "${SCRIPTDIR}/config400.override" ]
|
||||
then . "${SCRIPTDIR}/config400.override"
|
||||
fi
|
||||
|
||||
# Need to get the version definitions.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user