changeset 30505:e0e22183ffca stable

Restore building with visibility flags for Windows. * configure.ac: Windows uses a dllexport/dllimport mechanism instead of visibility attributes. Don't deactivate visibility flags on that platform if HAVE_VISIBILITY is 0 (which it will always be). * build-aux/mk-octave-config-h.sh: Add missing flag to octave-config.h.
author Markus Mützel <markus.muetzel@gmx.de>
date Fri, 17 Dec 2021 21:27:33 +0100
parents 838e73617671
children f79deeded5d3
files build-aux/mk-octave-config-h.sh configure.ac
diffstat 2 files changed, 18 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/build-aux/mk-octave-config-h.sh	Fri Dec 17 19:13:04 2021 +0100
+++ b/build-aux/mk-octave-config-h.sh	Fri Dec 17 21:27:33 2021 +0100
@@ -181,6 +181,13 @@
 #    define octave_unused_parameter(param) (void) param;
 #  endif
 
+/* Defined to 1 if Octave libraries were built with visibility flags */
+EOF
+
+$SED -n 's/#\(\(undef\|define\) OCTAVE_ENABLE_LIB_VISIBILITY_FLAGS.*$\)/#  \1/p' $config_h_file
+
+cat << EOF
+
 #  if defined (OCTAVE_ENABLE_LIB_VISIBILITY_FLAGS)
 #    if defined (_WIN32) || defined (__CYGWIN__)
 #      if defined (__GNUC__)
--- a/configure.ac	Fri Dec 17 19:13:04 2021 +0100
+++ b/configure.ac	Fri Dec 17 21:27:33 2021 +0100
@@ -2665,10 +2665,17 @@
      *) 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
+case $host_os in
+  msdosmsvc | mingw* | cygwin*)
+    # Assume that symbol export is working on that platform
+  ;;
+  *)
+    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
+  ;;
+esac
 
 if test $ENABLE_LIB_VISIBILITY_FLAGS = yes; then
   AC_DEFINE(OCTAVE_ENABLE_LIB_VISIBILITY_FLAGS, 1,