]> granicus.if.org Git - icu/commitdiff
ICU-8554 Don't use visibility attribute on Cygwin GCC and fix Cygwin tzset error.
authorMichael Ow <mow@svn.icu-project.org>
Thu, 9 Jun 2011 21:32:19 +0000 (21:32 +0000)
committerMichael Ow <mow@svn.icu-project.org>
Thu, 9 Jun 2011 21:32:19 +0000 (21:32 +0000)
X-SVN-Rev: 30200

icu4c/source/common/putil.cpp
icu4c/source/configure
icu4c/source/configure.in

index 15cea60d50db04632863b73f460be0b752e3a65b..c14fef291b6335e258d6a1f0f075a5a9cbba0f10 100644 (file)
@@ -75,7 +75,6 @@ Cleanly installed Solaris can use this #define.
 #include <math.h>
 #include <locale.h>
 #include <float.h>
-#include <time.h>
 
 /* include system headers */
 #ifdef U_WINDOWS
@@ -117,6 +116,10 @@ Cleanly installed Solaris can use this #define.
 # endif
 #endif
 
+/*
+ * Cygwin with GCC requires inclusion of time.h after the above disabling strict asci mode statement.
+ */
+#include <time.h>
 
 #if defined(U_DARWIN)
 #include <TargetConditionals.h>
index b0f1e4948becf9ea2ebc6a0a81a396f9c61f1fcd..a30fcbefea4d47c3841344b9990601bd50085506 100755 (executable)
@@ -5375,14 +5375,19 @@ U_USE_GCC_VISIBILITY_ATTRIBUTE=0
 OLD_CFLAGS="${CFLAGS}"
 OLD_CXXFLAGS="${CXXFLAGS}"
 if test "$ac_cv_c_compiler_gnu" = yes; then
-    LIBCFLAGS="-fvisibility=hidden"
-    LIBCXXFLAGS="-fvisibility=hidden"
-    CFLAGS="${CFLAGS} ${LIBCFLAGS}"
-    CXXFLAGS="${CXXFLAGS} ${LIBCXXFLAGS}"
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+    case "${host}" in
+    *-pc-cygwin*|*-pc-mingw*)
+        # Cygwin GCC does not have the visibility attribute
+        ;;
+    *)
+        LIBCFLAGS="-fvisibility=hidden"
+        LIBCXXFLAGS="-fvisibility=hidden"
+        CFLAGS="${CFLAGS} ${LIBCFLAGS}"
+        CXXFLAGS="${CXXFLAGS} ${LIBCXXFLAGS}"
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 __attribute__ ((visibility ("default"))) void f(void);
-#include <stdlib.h>
+        #include <stdlib.h>
 int
 main ()
 {
@@ -5398,12 +5403,13 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-    if test "$SHAREDLIBEXPORT" = no; then
-        LIBCFLAGS=
-        LIBCXXFLAGS=
-    else
-        U_USE_GCC_VISIBILITY_ATTRIBUTE=1
-    fi
+        if test "$SHAREDLIBEXPORT" = no; then
+            LIBCFLAGS=
+            LIBCXXFLAGS=
+        else
+            U_USE_GCC_VISIBILITY_ATTRIBUTE=1
+        fi
+    esac
 else
     case "${host}" in
     *-*-solaris*)
index fabb83b098c7b6e84a4f2f8c203b025dcbe97298..ae59b114e965522be1a982b73aea40c936de44a9 100644 (file)
@@ -317,18 +317,24 @@ U_USE_GCC_VISIBILITY_ATTRIBUTE=0
 OLD_CFLAGS="${CFLAGS}"
 OLD_CXXFLAGS="${CXXFLAGS}"
 if test "$ac_cv_c_compiler_gnu" = yes; then
-    LIBCFLAGS="-fvisibility=hidden"
-    LIBCXXFLAGS="-fvisibility=hidden"
-    CFLAGS="${CFLAGS} ${LIBCFLAGS}"
-    CXXFLAGS="${CXXFLAGS} ${LIBCXXFLAGS}"
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([[__attribute__ ((visibility ("default"))) void f(void);
-#include <stdlib.h>]], [[exit(0);]])],[SHAREDLIBEXPORT=yes],[SHAREDLIBEXPORT=no])
-    if test "$SHAREDLIBEXPORT" = no; then
-        LIBCFLAGS=
-        LIBCXXFLAGS=
-    else
-        U_USE_GCC_VISIBILITY_ATTRIBUTE=1
-    fi
+    case "${host}" in
+    *-pc-cygwin*|*-pc-mingw*)
+        # Cygwin GCC does not have the visibility attribute
+        ;;
+    *)
+        LIBCFLAGS="-fvisibility=hidden"
+        LIBCXXFLAGS="-fvisibility=hidden"
+        CFLAGS="${CFLAGS} ${LIBCFLAGS}"
+        CXXFLAGS="${CXXFLAGS} ${LIBCXXFLAGS}"
+        AC_LINK_IFELSE([AC_LANG_PROGRAM([[__attribute__ ((visibility ("default"))) void f(void);
+        #include <stdlib.h>]], [[exit(0);]])],[SHAREDLIBEXPORT=yes],[SHAREDLIBEXPORT=no])
+        if test "$SHAREDLIBEXPORT" = no; then
+            LIBCFLAGS=
+            LIBCXXFLAGS=
+        else
+            U_USE_GCC_VISIBILITY_ATTRIBUTE=1
+        fi
+    esac
 else
     case "${host}" in
     *-*-solaris*)