mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-13 08:53:20 +00:00
ICU-2628 Add cross compilation features for z/OS
X-SVN-Rev: 12070
This commit is contained in:
parent
d6ff25b48d
commit
e78a782f35
6 changed files with 221 additions and 156 deletions
|
@ -32,7 +32,7 @@
|
|||
<abbr title="International Components for Unicode">ICU</abbr> 2.6
|
||||
ReadMe</h1>
|
||||
|
||||
<p>Version: 2003-May-02<br>
|
||||
<p>Version: 2003-May-22<br>
|
||||
Copyright © 1997-2003 International Business Machines Corporation and
|
||||
others. All Rights Reserved.</p>
|
||||
<!-- Remember that there is a copyright at the end too -->
|
||||
|
@ -1049,8 +1049,22 @@
|
|||
|
||||
<p>Examples for configuring ICU:<br>
|
||||
Debug build: <code>IEEE390=1 ./runConfigureICU --enable-debug
|
||||
zOS/cxx</code><br>
|
||||
Release build: <code>IEEE390=1 ./runConfigureICU zOS/cxx</code></p>
|
||||
zOS</code><br>
|
||||
Release build: <code>IEEE390=1 ./runConfigureICU zOS</code></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>z/OS introduced the concept of Extra Performance Linkage (XPLINK) to
|
||||
bring performance improvement opportunities to call-intensive C and C++
|
||||
applications such as ICU. XPLINK is enabled on a DLL-by-DLL basis, so
|
||||
if you are considering using XPLINK in your application that uses ICU,
|
||||
you should consider building the XPLINK-enabled version of ICU. You
|
||||
need to set ICU's environment variable <code>OS390_XPLINK=1</code>
|
||||
prior to invoking the make process to produce binaries that are enabled
|
||||
for XPLINK.</p>
|
||||
|
||||
<p>Note: XPLINK, enabled for z/OS 1.2 and later, requires the PTF for
|
||||
PQ69418 to build XPLINK-enabled binaries.</p>
|
||||
</li>
|
||||
|
||||
<li>Since the default make on z/OS is not gmake, the pkgdata tool
|
||||
|
@ -1067,6 +1081,28 @@
|
|||
be updated to contain the location of this executable prior to build.
|
||||
Alternatively, makedep may be moved into an existing PATH directory.</li>
|
||||
|
||||
<li>
|
||||
<p>When you build ICU on a system such as z/OS 1.2, the binaries that
|
||||
result can run on that level of the operating system and later, such as
|
||||
z/OS 1.3 and z/OS 1.4. It's possible that you may have a z/OS 1.4
|
||||
system and, for example, need to deliver binaries on z/OS 1.2 and
|
||||
above. z/OS gives you this ability by targetting the complier and
|
||||
linker to run at the older level, thereby producing the desired
|
||||
binaries.</p>
|
||||
|
||||
<p>To set the compiler and LE environment to OS/390 2.10,
|
||||
specify the following:</p>
|
||||
<pre>
|
||||
<samp>./runConfigureICU OS390V2R10</samp>
|
||||
</pre>
|
||||
|
||||
<p>To set the compiler and LE environment to z/OS 1.2 specify the
|
||||
following:</p>
|
||||
<pre>
|
||||
<samp>./runConfigureICU zOSV1R2</samp>
|
||||
</pre>
|
||||
</li>
|
||||
|
||||
<li>The rest of the instructions for building and testing ICU on z/OS
|
||||
with Unix System Services are the same as the <a href=
|
||||
"#HowToBuildUnix">How To Build And Install On Unix</a> section.</li>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
## Copyright (c) 1999-2001, International Business Machines Corporation and
|
||||
## others. All Rights Reserved.
|
||||
##
|
||||
## $Id: mh-os390,v 1.50 2003/05/23 02:36:44 grhoten-oss Exp $
|
||||
## $Id: mh-os390,v 1.51 2003/05/23 03:42:21 grhoten-oss Exp $
|
||||
|
||||
###################################################################
|
||||
# IMPORTANT NOTE #
|
||||
|
@ -68,12 +68,12 @@ GEN_DEPS.cc= makedep
|
|||
## Commands to compile
|
||||
# _CXX_STEPS="-1" is a prelink step when compiling C and C++, and
|
||||
# it's only needed for long function names
|
||||
COMPILE.c = $(CXX) $(DEFS) $(CPPFLAGS) $(CFLAGS) -c
|
||||
COMPILE.cc = _CXX_CXXSUFFIX="cpp" $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) -c
|
||||
COMPILE.c = $(COMPILE_LINK_ENVVAR) $(CXX) $(DEFS) $(CPPFLAGS) $(CFLAGS) -c
|
||||
COMPILE.cc = _CXX_CXXSUFFIX="cpp" $(COMPILE_LINK_ENVVAR) $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) -c
|
||||
|
||||
# Commands to link
|
||||
LINK.c= $(CC) $(CFLAGS) -Wl,dll $(LDFLAGS)
|
||||
LINK.cc= $(CXX) $(CXXFLAGS) -Wl,dll $(LDFLAGS)
|
||||
LINK.c= $(COMPILE_LINK_ENVVAR) $(CC) $(CFLAGS) -Wl,dll $(LDFLAGS)
|
||||
LINK.cc= $(COMPILE_LINK_ENVVAR) $(CXX) $(CXXFLAGS) -Wl,dll $(LDFLAGS)
|
||||
|
||||
## Commands for shared library (dll)
|
||||
SHLIB.c= $(LINK.c)
|
||||
|
|
288
icu4c/source/configure
vendored
288
icu4c/source/configure
vendored
File diff suppressed because it is too large
Load diff
|
@ -4,7 +4,7 @@ dnl Copyright (c) 1999-2000, International Business Machines Corporation and
|
|||
dnl others. All Rights Reserved.
|
||||
dnl Stephen F. Booth, heavily modified by Yves and others
|
||||
|
||||
dnl $Id: configure.in,v 1.184 2003/04/25 21:43:50 grhoten-oss Exp $
|
||||
dnl $Id: configure.in,v 1.185 2003/05/23 03:41:52 grhoten-oss Exp $
|
||||
|
||||
dnl Process this file with autoconf to produce a configure script
|
||||
AC_INIT(common/unicode/utypes.h)
|
||||
|
@ -74,6 +74,7 @@ AC_CHECK_STRICT_COMPILE
|
|||
dnl Check if we can build and use 64-bit libraries
|
||||
AC_CHECK_64BIT_LIBS
|
||||
AC_SUBST(ARFLAGS)
|
||||
AC_SUBST(COMPILE_LINK_ENVVAR)
|
||||
|
||||
ICU_CHECK_MH_FRAG
|
||||
|
||||
|
|
|
@ -89,6 +89,7 @@ AIX_SHLIB = @AIX_SHLIB@
|
|||
AR = @AR@
|
||||
ARFLAGS := @ARFLAGS@ $(ARFLAGS)
|
||||
RANLIB = @RANLIB@
|
||||
COMPILE_LINK_ENVVAR = @COMPILE_LINK_ENVVAR@
|
||||
|
||||
# Various flags for the tools
|
||||
|
||||
|
|
|
@ -46,7 +46,9 @@ The following names can be supplied as the argument for platform:
|
|||
SOLARISGCC Use the GNU C++ compiler on Solaris
|
||||
SOLARISX86 Use Sun's CC compiler on Solaris x86
|
||||
TRU64V5.1/CXX Use Compaq's cxx compiler on Tru64 (OSF)
|
||||
zOS/cxx Use IBM's cxx compiler on z/OS (os/390)
|
||||
zOS Use IBM's cxx compiler on z/OS (os/390)
|
||||
zOSV1R2 Use IBM's cxx compiler for z/OS 1.2
|
||||
OS390V2R10 Use IBM's cxx compiler for OS/390 2.10
|
||||
EOE
|
||||
fi
|
||||
|
||||
|
@ -253,13 +255,36 @@ case $platform in
|
|||
THE_COMP="QNX cc"
|
||||
CC=qcc; export CC
|
||||
CXX=QCC; export CXX
|
||||
;;
|
||||
zOS/cxx)
|
||||
;;
|
||||
zOS)
|
||||
THE_OS="z/OS (OS/390)"
|
||||
THE_COMP="z/OS 1.2 (through OS/390 v2r10) C/C++"
|
||||
CC=cc; export CC
|
||||
CXX=cxx; export CXX
|
||||
export IEEE390=1
|
||||
export RELEASE_CFLAGS='-2'
|
||||
export RELEASE_CXXFLAGS='-2'
|
||||
;;
|
||||
zOSV1R2)
|
||||
THE_OS="z/OS 1.2"
|
||||
THE_COMP="z/OS 1.2 C/C++"
|
||||
CC=cc; export CC
|
||||
CXX=cxx; export CXX
|
||||
export COMPILE_LINK_ENVVAR='_CXX_CVERSION=0x41020000 _C89_CVERSION=0x41020000 _CC_CVERSION=0x41020000 _CXX_PVERSION=0x41020000 _C89_PVERSION=0x41020000 _CC_PVERSION=0x41020000'
|
||||
export LD_FLAGS=-Wl,"compat=pm3"
|
||||
export CFLAGS=-Wc,"target(zOSV1R2)"
|
||||
export CXXFLAGS=-Wc,"target(zOSV1R2)"
|
||||
export RELEASE_CFLAGS='-2'
|
||||
export RELEASE_CXXFLAGS='-2'
|
||||
;;
|
||||
OS390V2R10)
|
||||
THE_OS="OS/390 2.10"
|
||||
THE_COMP="OS/390 2.10 C/C++"
|
||||
CC=cc; export CC
|
||||
CXX=cxx; export CXX
|
||||
export COMPILE_LINK_ENVVAR='_CXX_CVERSION=0x220A0000 _C89_CVERSION=0x220A0000 _CC_CVERSION=0x220A0000 _CXX_PVERSION=0x220A0000 _C89_PVERSION=0x220A0000 _CC_PVERSION=0x220A0000'
|
||||
export LD_FLAGS=-Wl,"compat=pm3"
|
||||
export CFLAGS=-Wc,"target(OSV2R10)"
|
||||
export CXXFLAGS=-Wc,"target(OSV2R10)"
|
||||
export RELEASE_CFLAGS='-2'
|
||||
export RELEASE_CXXFLAGS='-2'
|
||||
;;
|
||||
|
|
Loading…
Add table
Reference in a new issue