From: Steven R. Loomis
Date: Fri, 13 Sep 2013 05:48:16 +0000 (+0000)
Subject: ICU-10379 IBM i - make tests run without any special options, update readme
X-Git-Tag: milestone-59-0-1~2545
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=625aaa18c75c0dd5c232edc1c5199e1057226b3c;p=icu
ICU-10379 IBM i - make tests run without any special options, update readme
X-SVN-Rev: 34300
---
diff --git a/icu4c/readme.html b/icu4c/readme.html
index 8d8a4eccba6..11b6472c312 100644
--- a/icu4c/readme.html
+++ b/icu4c/readme.html
@@ -257,7 +257,7 @@
a time zone abbreviation even it is not commonly used for a locale. For example, time
zone abbreviation "AEST" for Australian Eastern Standard Time might not be well recognized
by people in the United States. For the zone, pattern "z" does not use "AEST" (instead, use
- UTC offset format "GMT+10:00, as the fallback) , while pattern "V" used to print out "AEST".
+ UTC offset format "GMT+10:00", as the fallback) , while pattern "V" used to print out "AEST".
In CLDR 21, the data used for checking commonly used or not was completely removed (CLDR
ticket #4052), so the difference
between pattern "z" and "V" is no longer available since ICU 49 (based on CLDR 21 specification).
@@ -1243,48 +1243,60 @@ Data set name type : PDS
instructions.
+ -
+ Copy the ICU source .tgz to the IBM i environment, as binary.
+ Also, copy the unpax-icu.sh script into the same directory, as a text file.
+
+
-
Create target library. This library will be the target for the
resulting modules, programs and service programs. You will specify this
library on the OUTPUTDIR environment variable.
CRTLIB LIB(libraryname)
-ADDENVVAR ENVVAR(OUTPUTDIR) VALUE('libraryname') REPLACE(*YES)
-
+ADDENVVAR ENVVAR(OUTPUTDIR) VALUE('libraryname') REPLACE(*YES)
-
Set up the following environment variables and job characteristics in your build process
ADDENVVAR ENVVAR(MAKE) VALUE('gmake') REPLACE(*YES)
-CHGJOB CCSID(37)
-
+CHGJOB CCSID(37)
- - Run 'QSH'
-
- - Run:
export PATH=/QIBM/ProdData/DeveloperTools/qsh/bin:$PATH:/QOpenSys/usr/bin
+ - Fire up the QSH (all subsequent commands are run inside the qsh session.)
+
qsh
- - Run gzip -d on the ICU source code compressed tar archive
- (icu-X.Y.tgz).
+ - Set up the PATH:
export PATH=/QIBM/ProdData/DeveloperTools/qsh/bin:$PATH:/QOpenSys/usr/bin
+
- - Run unpax-icu.sh on the tar file generated from the previous step.
+ - Unpack the ICU source code archive:
+
gzip -d icu-X.Y.tgz
+
- - Change your current directory to icu/as_is/os400.
- - Run qsh bldiculd.sh to build the program ICULD which ICU will use for linkage.
+ - Run unpax-icu.sh on the tar file generated from the previous step.
+
unpax-icu.sh icu.tar
- - Change your current directory to icu/source.
+ - Build the program ICULD which ICU will use for linkage.
+
cd icu/as_is/os400
+qsh bldiculd.sh
+cd ../../..
+
- - Run './runConfigureICU IBMi' (See configuration
- note for details). Note that --with-data-packaging=archive and setting the --prefix are recommended, building in default (dll) mode is currently not supported.
+ - Change into the 'source' directory, and configure ICU. (See configuration
+ note for details). Note that --with-data-packaging=archive and setting the --prefix are recommended, building in default (dll) mode is currently not supported.
+
cd icu/source
+./runConfigureICU IBMi --prefix=/path/to/somewhere --with-data-packaging=archive
+
- - Run 'gmake' to build ICU. (Do not use the -j option)
+ - Build ICU. (Note: Do not use the -j option)
gmake
- - Run 'gmake check QIBM_MULTI_THREADED=Y' to build and run the tests.
- You can look at the Test ICU.
gmake check
+ (The QIBM_MULTI_THREADED=Y flag will be automatically applied to intltest -
+ you can look at the
iSeries Information Center for more details regarding the running of multiple threads
- on IBM i.
+ on IBM i.)
diff --git a/icu4c/source/config/mh-os400 b/icu4c/source/config/mh-os400
index 4e83e0dfab1..91d561312fd 100644
--- a/icu4c/source/config/mh-os400
+++ b/icu4c/source/config/mh-os400
@@ -1,6 +1,6 @@
## -*-makefile-*-
## OS400-specific setup (for cross build)
-## Copyright (c) 1999-2012, International Business Machines Corporation and
+## Copyright (c) 1999-2013, International Business Machines Corporation and
## others. All Rights Reserved.
# This otherwise breaks on OS400 - can't find "shell"
@@ -12,6 +12,9 @@ GEN_DEPS.cc= $(CXX1) -E -M $(DEFS) $(CPPFLAGS)
THREADSCPPFLAGS = -D_MULTI_THREADED
+# put this in the environment to get threading
+THREADSENVFLAGS = QIBM_MULTI_THREADED=Y ;
+
## Commands to compile
# -qTERASPACE: large pointers
# -qPFROPT=*STRDONLY: Strings are read-only
diff --git a/icu4c/source/test/cintltst/Makefile.in b/icu4c/source/test/cintltst/Makefile.in
index 9c9283f45e4..935e8ffb488 100644
--- a/icu4c/source/test/cintltst/Makefile.in
+++ b/icu4c/source/test/cintltst/Makefile.in
@@ -87,15 +87,17 @@ clean-local:
distclean-local: clean-local
$(RMV) Makefile
+# cintltest gets $(THREADSENVFLAGS) - just in case we get a threaded cintltst.
+
check-local: all-local
- $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) $(CINTLTST_OPTS)
+ $(THREADSENVFLAGS) $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) $(CINTLTST_OPTS)
check-exhaustive-local: all-local
- $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) -e
+ $(THREADSENVFLAGS) $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) -e
TESTXML=$(top_builddir)/test-$(TARGET).xml
xcheck-local: all-local
- $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) $(CINTLTST_OPTS) -x $(TESTXML)
+ $(THREADSENVFLAGS) $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) $(CINTLTST_OPTS) -x $(TESTXML)
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
diff --git a/icu4c/source/test/intltest/Makefile.in b/icu4c/source/test/intltest/Makefile.in
index 0941011262c..b523efee244 100644
--- a/icu4c/source/test/intltest/Makefile.in
+++ b/icu4c/source/test/intltest/Makefile.in
@@ -92,15 +92,16 @@ clean-local:
distclean-local: clean-local
$(RMV) Makefile
+# note- intltest gets $(THREADSENVFLAGS) so that it runs threaded on OS400
check-local: all-local
- $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) $(INTLTEST_OPTS)
+ $(THREADSENVFLAGS) $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) $(INTLTEST_OPTS)
check-exhaustive-local: all-local
- $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) -e
+ $(THREADSENVFLAGS) $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) -e
TESTXML=$(top_builddir)/test-$(TARGET).xml
xcheck-local: all-local
- $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) $(INTLTEST_OPTS) -x $(TESTXML)
+ $(THREADSENVFLAGS) $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) $(INTLTEST_OPTS) -x $(TESTXML)
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \