diff configure.ac @ 29647:bdb0cfffa2d0

Define variables for API visibility flags on all platforms (bug #59820). * configure.ac: Check if platform supports visibility flags before using them. Setup necessary compile flags if configured to use visibility flags. * m4/acinclude.m4 (OCTAVE_DEFINE_MKOCTFILE_DYNAMIC_LINK_OPTIONS): Do not define the flags for certain platforms only.
author Markus Mützel <markus.muetzel@gmx.de>
date Tue, 11 May 2021 19:32:57 +0200
parents 75556567592e
children 5ad070a5f19a
line wrap: on
line diff
--- a/configure.ac	Mon May 10 23:27:38 2021 +0200
+++ b/configure.ac	Tue May 11 19:32:57 2021 +0200
@@ -2736,6 +2736,11 @@
      *) AC_MSG_ERROR([bad value $enableval for --enable-lib-visibility-flags]) ;;
    esac])
 
+if test $ENABLE_LIB_VISIBILITY_FLAGS = yes && test $HAVE_VISIBILITY = 0; then
+  AC_MSG_NOTICE([cannot build with visibility flags on this platform])
+  ENABLE_LIB_VISIBILITY_FLAGS=no
+fi
+
 if test $ENABLE_LIB_VISIBILITY_FLAGS = yes; then
   AC_DEFINE(OCTAVE_ENABLE_LIB_VISIBILITY_FLAGS, 1,
     [Define to 1 if building libraries with visibility flags])
@@ -2750,6 +2755,33 @@
 AM_CONDITIONAL([AMCOND_LIB_VISIBILITY_FLAGS],
   [test $ENABLE_LIB_VISIBILITY_FLAGS = yes])
 
+### Set flags for symbol visibility
+
+if test $ENABLE_LIB_VISIBILITY_FLAGS = yes; then
+  EXTERNAL_DLL_DEFS="-DEXTERNAL_DLL"
+  OCTAVE_DLL_DEFS="-DOCTAVE_DLL"
+  OCTINTERP_DLL_DEFS="-DOCTINTERP_DLL"
+  OCTGUI_DLL_DEFS="-DOCTGUI_DLL"
+  OCTGRAPHICS_DLL_DEFS="-DOCTGRAPHICS_DLL"
+else
+  EXTERNAL_DLL_DEFS=
+  OCTAVE_DLL_DEFS=
+  OCTINTERP_DLL_DEFS=
+  OCTGUI_DLL_DEFS=
+  OCTGRAPHICS_DLL_DEFS=
+fi
+AC_MSG_NOTICE([defining EXTERNAL_DLL_DEFS to be $EXTERNAL_DLL_DEFS])
+AC_MSG_NOTICE([defining OCTAVE_DLL_DEFS to be $OCTAVE_DLL_DEFS])
+AC_MSG_NOTICE([defining OCTINTERP_DLL_DEFS to be $OCTINTERP_DLL_DEFS])
+AC_MSG_NOTICE([defining OCTGUI_DLL_DEFS to be $OCTGUI_DLL_DEFS])
+AC_MSG_NOTICE([defining OCTGRAPHICS_DLL_DEFS to be $OCTGRAPHICS_DLL_DEFS])
+
+AC_SUBST(EXTERNAL_DLL_DEFS)
+AC_SUBST(OCTAVE_DLL_DEFS)
+AC_SUBST(OCTINTERP_DLL_DEFS)
+AC_SUBST(OCTGUI_DLL_DEFS)
+AC_SUBST(OCTGRAPHICS_DLL_DEFS)
+
 ### Add extra compiler flags now that feature testing is complete.
 
 ## Add warning flags