ICU-5576 -Wl,EDIT=NO can't be used with the Link Pack Area (LPA), which enables ICU to really be shared. Add the RENT option for the default C programs. Deprecate OS390_STUBDATA due to lack of patch support.

X-SVN-Rev: 21295
This commit is contained in:
George Rhoten 2007-03-20 05:42:28 +00:00
parent 114486b002
commit 37bfd6d7c0
2 changed files with 25 additions and 19 deletions

View file

@ -34,7 +34,7 @@
<abbr title="International Components for Unicode">ICU</abbr> 3.7
ReadMe</h1>
<p>Version: 2006-Oct-20<br />
<p>Version: 2007-Mar-19<br />
Copyright &copy; 1997-2006 International Business Machines Corporation and
others. All Rights Reserved.</p>
<!-- Remember that there is a copyright at the end too -->
@ -1163,10 +1163,10 @@
when your application is externalized via Job Control Language (JCL).</p>
<p>The OS390BATCH environment variable enables non-UNIX support including the
batch environment. When OS390BATCH is set, the libicuuc<i>XX</i>.dll,
libicudt<i>XX</i>e.dll, and libicudt<i>XX</i>e_stub.dll binaries are built
into data sets (the native file system). Turning on OS390BATCH does not turn
off the normal z/OS UNIX build. This means that the z/OS UNIX (HFS) DLLs will
batch environment. When OS390BATCH is set, the libicui18n<i>XX</i>.dll,
libicuuc<i>XX</i>.dll, and libicudt<i>XX</i>e.dll binaries are built into
data sets (the native file system). Turning on OS390BATCH does not turn off
the normal z/OS UNIX build. This means that the z/OS UNIX (HFS) DLLs will
always be created.</p>
<p>Two additional environment variables indicate the names of the z/OS data
@ -1195,8 +1195,7 @@ LOADEXP=<i>USER</i>.ICU.EXP</samp>
<pre>
<samp>IXMI<i>XX</i>IN --&gt; libicui18n<i>XX</i>.dll
IXMI<i>XX</i>UC --&gt; libicuuc<i>XX</i>.dll
IXMI<i>XX</i>DA --&gt; libicudt<i>XX</i>e.dll
IXMI<i>XX</i>D1 --&gt; libicudt<i>XX</i>e_stub.dll <i>(Only when OS390_STUBDATA=1)</i></samp>
IXMI<i>XX</i>DA --&gt; libicudt<i>XX</i>e.dll</samp>
</pre>
<p>You should point the LOADMOD environment variable at a partitioned data
@ -1209,11 +1208,11 @@ Management class. . : <i>**None**</i>
Storage class . . . : <i>BASE</i>
Volume serial . . . : <i>TSO007</i>
Device type . . . . : <i>3390</i>
Data class. . . . . : LOAD
Data class. . . . . : <i>LOAD</i>
Organization . . . : PO
Record format . . . : U
Record length . . . : 0
Block size . . . . : 32760
Block size . . . . : <i>32760</i>
1st extent cylinders: 1
Secondary cylinders : 5
Data set name type : LIBRARY</samp>

View file

@ -1,6 +1,6 @@
## -*-makefile-*-
## os/390, z/OS specific setup
## Copyright (c) 1999-2006, International Business Machines Corporation and
## Copyright (c) 1999-2007, International Business Machines Corporation and
## others. All Rights Reserved.
###################################################################
@ -14,12 +14,16 @@
# #
# export OS390BATCH=1 #
# #
# To build a version of ICU which uses IEEE Floating point #
# To build a version of ICU that does not use IEEE Floating point #
# #
# export IEEE390=1 #
# export IEEE390=0 #
# #
# To build a version of ICU which uses a two common libraries #
# where the smaller one is loaded first. #
# To build a version of ICU which uses a two data libraries #
# where the smaller one is loaded first, use OS390_STUBDATA. #
# USAGE OF THIS OPTION IS DEPRECATED. You should look into using #
# Link Pack Area (LPA) or other z/OS options that enable page #
# fault based loading of read-only code/data instead of this #
# option. This option may be removed in a future version of ICU. #
# #
# export OS390_STUBDATA=1 #
# #
@ -55,8 +59,11 @@ SHAREDLIBCXXFLAGS = -Wc,expo
# TODO: Consider using -Wc,roc,ros for making the data and strings readonly
# -Wc,"ros" seems to work, but not the "roc"
# The RENT option makes the program reentrant. This may not really have the same
# meaning as normal reentrancy on other platforms. See the z/OS documentation
# for details. This is the default for C++, but not C.
# -+ means accept any file extension as a C++ file. By default only .C is accepted.
CFLAGS += -Wc,'langlvl(extended),spill(2000),ros,dll' $(ICU_IEEE)
CFLAGS += -Wc,'langlvl(extended),spill(2000),ros,rent,dll' $(ICU_IEEE)
CXXFLAGS += -Wc,'langlvl(extended),spill(2000),ros,dll' $(ICU_IEEE) -+
DEFS += -D_MSE_PROTOS
ARFLAGS = -cr
@ -66,9 +73,9 @@ ifeq (${OS390_XPLINK}, 1)
# Note: The following options require the PTF for PQ69418 on z/OS 1.2
# and later.
# These lines must be the last options specified.
ICU_XPLINK_C = -Wc,'xplink(backchain,storeargs)' -Wc,'GOFF,NOCSECT,RENT'
ICU_XPLINK_CPP = -Wc,'xplink(backchain,storeargs)' -Wc,'GOFF,NOCSECT,NOTEMPINC'
ICU_XPLINK_L = -Wl,dll,xplink -Wl,EDIT=NO
ICU_XPLINK_C = -Wc,'xplink(backchain,storeargs)' -Wc,'GOFF,NOCSECT'
ICU_XPLINK_CXX = -Wc,'xplink(backchain,storeargs)' -Wc,'GOFF,NOCSECT,NOTEMPINC'
ICU_XPLINK_L = -Wl,dll,xplink
#SH# fi
endif
@ -85,7 +92,7 @@ GEN_DEPS.cc= makedep
# _CXX_STEPS="-1" is a prelink step when compiling C and C++, and
# it's only needed for long function names
COMPILE.c = $(COMPILE_LINK_ENVVAR) $(CXX) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(ICU_XPLINK_C) -c
COMPILE.cc = $(COMPILE_LINK_ENVVAR) $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(ICU_XPLINK_CPP) -c
COMPILE.cc = $(COMPILE_LINK_ENVVAR) $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(ICU_XPLINK_CXX) -c
# Commands to link
LINK.c= $(COMPILE_LINK_ENVVAR) $(CC) $(CFLAGS) -Wl,dll $(LDFLAGS) $(ICU_XPLINK_L)