--- ./configure.orig	2013-11-04 05:03:01.000000000 -0500
+++ ./configure	2013-11-04 05:46:05.000000000 -0500
@@ -19206,9 +19206,9 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if symbol visibility is supported" >&5
 $as_echo_n "checking if symbol visibility is supported... " >&6; }
 visibility_cflags=""
-case `basename $CC` in
-  *gcc*)
-               gccversion="` ${CC} --version | head -1 | ${SED} 's/.*\([0-9]\.[0-9]\.[0-9]*\).*/\1/' `"
+case ${COMPILER_TYPE} in
+  gcc)  
+     gccversion="` ${CC} --version | head -1 | ${SED} 's/.*\([0-9]\.[0-9]\.[0-9]*\).*/\1/' `"
      case $gccversion in
        4.*)
 	 # Activate -fvisibility=hidden only for explicit 4.x gcc
@@ -19228,8 +19228,25 @@
          ;;
       esac
       ;;
+  clang)
+     clangversion="` ${CC} --version | head -1 | ${SED} 's/.*\([0-9]\.[0-9]*\).*/\1/' `"
+     case $clangversion in
+       3.*|4.*)
+         # Activate -fvisibility=hidden for clang 3.x
+         visibility_supported="yes, clang-${clangversion}"
+
+$as_echo "#define GCC_WITH_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
+
+         visibility_cflags="-fvisibility=hidden"
+         ;;
+       *)
+         # Default: -fvisibility=hidden not activated.
+         visibility_supported="no (needs clang >=3.1, you have clang-${clangversion})"
+         ;;
+      esac
+      ;;
   *)
-    visibility_supported="no (needs gcc >=4.0, you use $CC)"
+    visibility_supported="no (needs gcc >=4.0 or clang >=3.1, you use $CC)"
     ;;
 esac
 
