diff options
| -rw-r--r-- | configure.in | 43 |
1 files changed, 39 insertions, 4 deletions
diff --git a/configure.in b/configure.in index 822478679..631d1e4b6 100644 --- a/configure.in +++ b/configure.in @@ -188,6 +188,10 @@ fi AC_ARG_ENABLE(gl, [ --enable-gl turn on OpenGL support [default=yes]]) +dnl Find commands... +AC_PROG_CC +AC_PROG_CXX + AC_ARG_ENABLE(shared, [ --enable-shared turn on shared libraries [default=no]]) if test x$enable_shared = xyes; then PICFLAG=1 @@ -255,8 +259,41 @@ if test x$enable_shared = xyes; then IMGDSONAME="libfltk_images.so.$FL_API_VERSION" CAIRODSONAME="libfltk_cairo.so.$FL_API_VERSION" DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-soname,\$@ \$(LDLIBS) -shared -fPIC $DEBUGFLAG -o" - OPTIM="$OPTIM -fvisibility=hidden" - CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden" + + # See if the compiler supports -fvisibility... + AC_CACHE_CHECK([if the compiler supports -fvisibility], + ac_cv_cxx_fvisibility, [ + OLDCXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -fvisibility=hidden" + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE(,, + ac_cv_cxx_fvisibility=yes, + ac_cv_cxx_fvisibility=no) + CXXFLAGS="$OLDCXXFLAGS" + AC_LANG_RESTORE + ]) + if test x"$ac_cv_cxx_fvisibility" = xyes; then + OPTIM="$OPTIM -fvisibility=hidden" + fi + + # See if the compiler supports -fvisibility-inlines-hidden... + AC_CACHE_CHECK([if the compiler supports -fvisibility-inlines-hidden], + ac_cv_cxx_fvisibility_inlines, [ + OLDCXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden" + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE(,, + ac_cv_cxx_fvisibility_inlines=yes, + ac_cv_cxx_fvisibility_inlines=no) + CXXFLAGS="$OLDCXXFLAGS" + AC_LANG_RESTORE + ]) + if test x"$ac_cv_cxx_fvisibility_inlines" = xyes; then + CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden" + fi + if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/usr/lib64"; then DSOLINK="-Wl,-rpath,$libdir" fi @@ -357,8 +394,6 @@ case $host_os in esac dnl Find commands... -AC_PROG_CC -AC_PROG_CXX AC_PROG_INSTALL case $host_os in osf*) |
