ICU-1556 Fixes for 64-bit AIX.

X-SVN-Rev: 8170
This commit is contained in:
George Rhoten 2002-03-21 01:26:40 +00:00
parent 10bef227fa
commit 71f955b6cc
9 changed files with 279 additions and 178 deletions

View file

@ -3,7 +3,7 @@
## Copyright (c) 1999-2002, International Business Machines Corporation and
## others. All Rights Reserved.
##
## $Id: mh-aix,v 1.27 2002/03/14 02:00:35 srl Exp $
## $Id: mh-aix,v 1.28 2002/03/21 01:26:39 grhoten-oss Exp $
##
## Please note: AIX does NOT have library versioning per se (there is no 'SONAME' capability).
## So, we are using 'windows' style library names, that is, libicuuc20.1.so instead of libicuuc.so.20.1
@ -13,7 +13,7 @@ GEN_DEPS.c= $(CC) -E -M $(DEFS) $(CPPFLAGS)
GEN_DEPS.cc= $(CXX) -E -M $(DEFS) $(CPPFLAGS)
## Commands to compile
COMPILE.c= $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) -qroconst -c
COMPILE.c= $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) -qroconst -c
COMPILE.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) -qroconst -c
## Commands to link
@ -23,8 +23,8 @@ LINK.c= $(CXX) -brtl $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS)
LINK.cc= $(CXX) -brtl $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS)
## Commands to make a shared library
SHLIB.c= $(AIX_SHLIB) -p 5000 -brtl
SHLIB.cc= $(AIX_SHLIB) -p 5000 -brtl
SHLIB.c= $(AIX_SHLIB) -p 5000 -brtl $(LDFLAGS)
SHLIB.cc= $(AIX_SHLIB) -p 5000 -brtl $(LDFLAGS)
## Compiler switch to embed a runtime search path
LD_RPATH= -I

View file

@ -3,7 +3,7 @@
## Copyright (c) 1999-2002, International Business Machines Corporation and
## others. All Rights Reserved.
##
## $Id: mh-aix-va,v 1.20 2002/03/14 02:00:36 srl Exp $
## $Id: mh-aix-va,v 1.21 2002/03/21 01:26:39 grhoten-oss Exp $
## Commands to generate dependency files
GEN_DEPS.c= $(CC) -E -M $(DEFS) $(CPPFLAGS)
@ -23,8 +23,8 @@ LINK.cc= $(CXX) -brtl -bh:5 $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS)
## -G means -berok -brtl -bnortllib -bnosymbolic -bnoautoexp
## -bh:8 means halt on errors or worse. We don't display warnings about
## duplicate inline symbols.
SHLIB.c= $(CXX) -qmkshrobj -G -brtl
SHLIB.cc= $(CXX) -qmkshrobj -G -brtl -bh:5
SHLIB.c= $(CXX) -qmkshrobj -G -brtl $(LDFLAGS)
SHLIB.cc= $(CXX) -qmkshrobj -G -brtl -bh:5 $(LDFLAGS)
## Compiler switch to embed a runtime search path
LD_RPATH= -I

394
icu4c/source/configure vendored

File diff suppressed because it is too large Load diff

View file

@ -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.162 2002/03/20 22:38:08 yves-oss Exp $
dnl $Id: configure.in,v 1.163 2002/03/21 01:26:39 grhoten-oss Exp $
dnl Process this file with autoconf to produce a configure script
AC_INIT(common/unicode/utypes.h)
@ -76,7 +76,6 @@ AC_CANONICAL_HOST
AC_EXEEXT
dnl Check if we can build and use 64-bit libraries
OLD_CPPFLAGS="${CPPFLAGS}"
AC_ARG_ENABLE(64bit-libs,
[ --enable-64bit-libs build 64-bit libraries [default=yes]],
[ENABLE_64BIT_LIBS=${enableval}],
@ -99,7 +98,9 @@ AC_CACHE_CHECK([for 64-bit executable support], ac_cv_64bit_ok,
SOL64=`$CXX -xarch=v9 2>&1 && $CC -xarch=v9 2>&1 | grep -v usage:`
SPARCV9=`isainfo -n 2>&1 | grep sparcv9`
if test -z "$SOL64" && test -n "$SPARCV9"; then
CPPFLAGS="${CPPFLAGS} -xtarget=ultra -xarch=v9"
CFLAGS="${CFLAGS} -xtarget=ultra -xarch=v9"
CXXFLAGS="${CXXFLAGS} -xtarget=ultra -xarch=v9"
LDFLAGS="${LDFLAGS} -xtarget=ultra -xarch=v9"
ENABLE_64BIT_LIBS=yes
else
ENABLE_64BIT_LIBS=no
@ -108,11 +109,23 @@ AC_CACHE_CHECK([for 64-bit executable support], ac_cv_64bit_ok,
ENABLE_64BIT_LIBS=no
fi
;;
# *-*-aix*)
# CPPFLAGS="${CPPFLAGS} -q64"
# AC_TRY_RUN(int main(void) {return 0;},
# ENABLE_64BIT_LIBS=yes, ENABLE_64BIT_LIBS=no, ENABLE_64BIT_LIBS=no)
# ;;
*-*-aix*)
OLD_CFLAGS="${CFLAGS}"
OLD_CXXFLAGS="${CXXFLAGS}"
OLD_LDFLAGS="${LDFLAGS}"
CFLAGS="${CFLAGS} -q64"
CXXFLAGS="${CXXFLAGS} -q64"
LDFLAGS="${LDFLAGS} -q64"
AC_TRY_RUN(int main(void) {return 0;},
ENABLE_64BIT_LIBS=yes, ENABLE_64BIT_LIBS=no, ENABLE_64BIT_LIBS=no)
if test "$ENABLE_64BIT_LIBS" = no; then
CFLAGS="${OLD_CFLAGS}"
CXXFLAGS="${OLD_CXXFLAGS}"
LDFLAGS="${OLD_LDFLAGS}"
else
ARFLAGS="${ARFLAGS} -X64"
fi
;;
*-*-hpux*)
ENABLE_64BIT_LIBS=unknown
;;
@ -127,6 +140,7 @@ AC_CACHE_CHECK([for 64-bit executable support], ac_cv_64bit_ok,
# Don't reset the CPPFLAGS here because of HP/UX
# Individual tests that fail should reset it to OLD_CPPFLAGS.
ENABLE_64BIT_LIBS="${ac_cv_64bit_ok}"
AC_SUBST(ARFLAGS)
AC_SUBST(ENABLE_64BIT_LIBS)
ICU_CHECK_MH_FRAG

View file

@ -17,6 +17,7 @@ SHELL=@SHELL@
CFLAGS=@CFLAGS@
CPPFLAGS=@CPPFLAGS@ -I$(top_builddir)/common -I$(top_srcdir)/common
CXXFLAGS=@CXXFLAGS@
LDFLAGS=@LDFLAGS@
FFLAGS=@FFLAGS@
DEFS=@DEFS@
ENABLE_RPATH=@ENABLE_RPATH@

View file

@ -17,6 +17,7 @@ SHELL=@SHELL@
CFLAGS=@CFLAGS@
CPPFLAGS=@CPPFLAGS@ -I$(top_builddir)/common -I$(top_srcdir)/common
CXXFLAGS=@CXXFLAGS@
LDFLAGS=@LDFLAGS@
FFLAGS=@FFLAGS@
DEFS=@DEFS@
ENABLE_RPATH=@ENABLE_RPATH@

View file

@ -86,6 +86,7 @@ CC = @CC@
CXX = @CXX@
AIX_SHLIB = @AIX_SHLIB@
AR = @AR@
ARFLAGS := @ARFLAGS@ $(ARFLAGS)
RANLIB = @RANLIB@
# Echo w/o newline

View file

@ -104,7 +104,7 @@ void CanonicalIteratorTest::TestExhaustive() {
}
if (!gotSource || !gotDecomp || !gotComp) {
errln("FAIL CanonicalIterator: " + s + i);
errln("FAIL CanonicalIterator: " + s + (int)i);
}
}
}

View file

@ -561,13 +561,13 @@ void UnicodeSetTest::TestIndexOf() {
for (int32_t i=0; i<set.size(); ++i) {
UChar32 c = set.charAt(i);
if (set.indexOf(c) != i) {
errln((UnicodeString)"FAIL: charAt(" + i + ") = " + c +
" => indexOf() => " + set.indexOf(c));
errln("FAIL: charAt(%d) = %X => indexOf() => %d",
i, c, set.indexOf(c));
}
}
UChar32 c = set.charAt(set.size());
if (c != -1) {
errln((UnicodeString)"FAIL: charAt(<out of range>) = " + c);
errln("FAIL: charAt(<out of range>) = %X", c);
}
int32_t j = set.indexOf((UChar32)0x71/*'q'*/);
if (j != -1) {
@ -579,11 +579,11 @@ void UnicodeSetTest::TestExhaustive() {
// exhaustive tests. Simulate UnicodeSets with integers.
// That gives us very solid tests (except for large memory tests).
UChar32 limit = (UChar32)128;
int32_t limit = (UChar32)128;
UnicodeSet x, y, z;
for (UChar32 i = 0; i < limit; ++i) {
for (int32_t i = 0; i < limit; ++i) {
bitsToSet(i, x);
logln((UnicodeString)"Testing " + i + ", " + x);
_testComplement(i, x, y);
@ -679,13 +679,13 @@ void UnicodeSetTest::checkCanonicalRep(const UnicodeSet& set, const UnicodeStrin
if (start > end) {
errln((UnicodeString)"FAIL result of " + msg +
": range " + (i+1) +
" start > end: " + start + ", " + end +
" start > end: " + (int)start + ", " + (int)end +
" for " + set);
}
if (i > 0 && start <= last) {
errln((UnicodeString)"FAIL result of " + msg +
": range " + (i+1) +
" overlaps previous range: " + start + ", " + end +
" overlaps previous range: " + (int)start + ", " + (int)end +
" for " + set);
}
last = end;