diff --git a/icu4c/source/aclocal.m4 b/icu4c/source/aclocal.m4 index df6f9d98f07..974076eef6c 100644 --- a/icu4c/source/aclocal.m4 +++ b/icu4c/source/aclocal.m4 @@ -33,10 +33,14 @@ alpha*-*-linux-gnu) fi ;; *-*-*bsd*) icu_cv_host_frag=mh-bsd-gcc ;; *-*-aix*) + if test "$ac_cv_prog_gcc" = yes; then + icu_cv_host_frag=mh-aix-gcc + else if test -n "`$CXX --help 2>&1 | grep 'IBM C and C++ Compilers$'`"; then icu_cv_host_frag=mh-aix else icu_cv_host_frag=mh-aix-va + fi fi ;; *-*-hpux*) if test "$ac_cv_prog_gcc" = yes; then @@ -140,20 +144,22 @@ AC_DEFUN(AC_CHECK_64BIT_LIBS, fi ;; *-*-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;}, + if test "$ac_cv_prog_gcc" = no; then + 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 + if test "$ENABLE_64BIT_LIBS" = no; then CFLAGS="${OLD_CFLAGS}" CXXFLAGS="${OLD_CXXFLAGS}" LDFLAGS="${OLD_LDFLAGS}" - else + else ARFLAGS="${ARFLAGS} -X64" + fi fi ;; *-*-hpux*) diff --git a/icu4c/source/config/mh-aix-gcc b/icu4c/source/config/mh-aix-gcc index f5a824c3b64..c27c1cdd1de 100644 --- a/icu4c/source/config/mh-aix-gcc +++ b/icu4c/source/config/mh-aix-gcc @@ -27,7 +27,7 @@ LD_RPATH= -I LD_RPATH_PRE= ## enable the shared lib loader -LDFLAGS += -Wl,-brtl,-bbigtoc +LDFLAGS += -Wl,-bbigtoc ## We need to delete things prior to linking, or else we'll get ## SEVERE ERROR: output file in use .. on AIX. @@ -53,7 +53,8 @@ SO_TARGET_VERSION_SUFFIX = $(SO_TARGET_VERSION_MAJOR) LD_SONAME = ## Shared object suffix -SO= so +SO= a +A= a ## Non-shared intermediate object suffix STATIC_O = o diff --git a/icu4c/source/runConfigureICU b/icu4c/source/runConfigureICU index 40a4c8b31aa..03b8ab9c443 100755 --- a/icu4c/source/runConfigureICU +++ b/icu4c/source/runConfigureICU @@ -32,6 +32,7 @@ The following names can be supplied as the argument for platform: AIX4.3xlC Use IBM's xlC on AIX 4.3 AIX4.3xlC_nothreads Use IBM's xlC on AIX 4.3 with no multithreading AIX4.3VA Use IBM's Visual Age xlC_r compiler on AIX 4.3 + AIXGCC Use GCC on AIX ALPHA/LINUXGCC Use GCC on Alpha/Linux systems ALPHA/LINUXCCC Use Compaq C compiler on Alpha/Linux systems BeOS Use the GNU C++ compiler on BeOS @@ -150,6 +151,15 @@ case $platform in RELEASE_CXXFLAGS="-O2 -qmaxmem=-1" #LDFLAGS=-L/usr/lpp/xlC/lib; export LDFLAGS ;; + AIXGCC) + THE_OS=AIX + THE_COMP="gcc" + CC=`which gcc`; export CC + CXX=`which g++`; export CXX + RELEASE_CFLAGS="-O2" + RELEASE_CXXFLAGS="-O2" + #LDFLAGS=-L/usr/lpp/xlC/lib; export LDFLAGS + ;; # Just use --enable-threads=no. Visual Age makes no distinction between xlC and xlC_r or any other _r programs. # AIX4.3VA_nothreads) # THE_OS=AIX