From 54d0c348c643e5dc204dc4fc69922c5f616ebf04 Mon Sep 17 00:00:00 2001
From: "Brian J. Tarricone" <brian@tarricone.org>
Date: Thu, 17 Oct 2024 23:58:35 -0700
Subject: [PATCH] Migrate to xdt-gen-visibility and xdt-check-abi

---
 .gitignore                               |   4 +-
 configure.ac                             |   3 +-
 libxfce4util/.clang-format               |   2 +-
 libxfce4util/Makefile.am                 |  22 +-
 libxfce4util/abicheck.sh                 |  30 +--
 libxfce4util/libxfce4util-config.c       |   6 +-
 libxfce4util/libxfce4util-private.c      |   4 +-
 libxfce4util/libxfce4util.symbols        | 268 ++++++++---------------
 libxfce4util/make-libxfce4util-alias.pl  | 159 --------------
 libxfce4util/xfce-consolekit.c           |   4 +-
 libxfce4util/xfce-fileutils.c            |   4 +-
 libxfce4util/xfce-gio-extensions.c       |   4 +-
 libxfce4util/xfce-i18n.c                 |   4 +-
 libxfce4util/xfce-kiosk.c                |   4 +-
 libxfce4util/xfce-license.c              |   4 +-
 libxfce4util/xfce-miscutils.c            |   4 +-
 libxfce4util/xfce-posix-signal-handler.c |   4 +-
 libxfce4util/xfce-rc-config.c            |   4 +-
 libxfce4util/xfce-rc-simple.c            |   4 +-
 libxfce4util/xfce-rc.c                   |   4 +-
 libxfce4util/xfce-resource.c             |   4 +-
 libxfce4util/xfce-string.c               |   4 +-
 libxfce4util/xfce-systemd.c              |   4 +-
 libxfce4util/xfce-utf8.c                 |   4 +-
 24 files changed, 144 insertions(+), 414 deletions(-)
 delete mode 100644 libxfce4util/make-libxfce4util-alias.pl

diff --git a/.gitignore b/.gitignore
index 98aef4f..16e6803 100644
--- a/.gitignore
+++ b/.gitignore
@@ -53,8 +53,8 @@ libxfce4util/Libxfce4util-1.0.gir
 libxfce4util/libxfce4util-1.0.pc
 libxfce4util/Libxfce4util-1.0.typelib
 libxfce4util/libxfce4util-1.0.vapi
-libxfce4util/libxfce4util-alias.h
-libxfce4util/libxfce4util-aliasdef.c
+libxfce4util/libxfce4util-visibility.h
+libxfce4util/libxfce4util-visibility.c
 libxfce4util/libxfce4util-config.h
 libxfce4util/test-suite.log
 xfce4-kiosk-query/xfce4-kiosk-query
diff --git a/configure.ac b/configure.ac
index ae50247..cf969e3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -75,7 +75,8 @@ dnl ********************************
 AC_PROG_CC()
 AM_PROG_CC_C_O()
 AC_PROG_INSTALL()
-AC_CHECK_PROGS([PERL], [perl5 perl])
+AC_PATH_PROG([XDT_GEN_VISIBILITY], [xdt-gen-visibility])
+AC_PATH_PROG([XDT_CHECK_ABI], [xdt-check-abi])
 
 dnl **************************
 dnl *** Initialize libtool ***
diff --git a/libxfce4util/.clang-format b/libxfce4util/.clang-format
index 4e4360c..3b08537 100644
--- a/libxfce4util/.clang-format
+++ b/libxfce4util/.clang-format
@@ -11,7 +11,7 @@ IncludeCategories:
   - Regex: '".*/.*"'
     Priority: -1
     CaseSensitive: true
-  - Regex: '"libxfce4util-alias\.h"'
+  - Regex: '"libxfce4util-visibility\.h"'
     Priority: 0
     SortPriority: 2
     CaseSensitive: true
diff --git a/libxfce4util/Makefile.am b/libxfce4util/Makefile.am
index fef1ec9..514e02d 100644
--- a/libxfce4util/Makefile.am
+++ b/libxfce4util/Makefile.am
@@ -38,8 +38,8 @@ libxfce4util_headers =							\
 	xfce-utf8.h
 
 libxfce4util_built_sources =						\
-	libxfce4util-alias.h						\
-	libxfce4util-aliasdef.c
+	libxfce4util-visibility.h					\
+	libxfce4util-visibility.c
 
 libxfce4utilincludedir = $(includedir)/xfce4/libxfce4util
 libxfce4utilinclude_HEADERS =						\
@@ -136,21 +136,17 @@ endif
 ## files as part of the dist tarball.
 ##
 if MAINTAINER_MODE
-CLEANFILES +=								\
-	actual-abi							\
-	expected-abi
-
 DISTCLEANFILES =							\
 	$(libxfce4util_built_sources)
 
 BUILT_SOURCES =								\
 	$(libxfce4util_built_sources)
 
-libxfce4util-alias.h: make-libxfce4util-alias.pl libxfce4util.symbols
-	$(PERL) $(srcdir)/make-libxfce4util-alias.pl < $(srcdir)/libxfce4util.symbols > libxfce4util-alias.h
+libxfce4util-visibility.h: libxfce4util.symbols Makefile
+	$(AM_V_GEN) $(XDT_GEN_VISIBILITY) --kind=header $< $@
 
-libxfce4util-aliasdef.c: make-libxfce4util-alias.pl libxfce4util.symbols
-	$(AM_V_GEN) $(PERL) $(srcdir)/make-libxfce4util-alias.pl -def < $(srcdir)/libxfce4util.symbols > libxfce4util-aliasdef.c
+libxfce4util-visibility.c: libxfce4util.symbols Makefile
+	$(AM_V_GEN) $(XDT_GEN_VISIBILITY) --kind=source $< $@
 
 endif
 
@@ -160,9 +156,8 @@ dist-hook: all
 EXTRA_DIST =								\
 	abicheck.sh							\
 	libxfce4util.symbols						\
-	libxfce4util-alias.h						\
-	libxfce4util-aliasdef.c						\
-	make-libxfce4util-alias.pl
+	libxfce4util-visibility.h					\
+	libxfce4util-visibility.c
 
 if ENABLE_VAPIGEN
 -include $(VAPIGEN_MAKEFILE)
@@ -184,6 +179,7 @@ vapi_DATA = $(VAPIGEN_VAPIS)
 endif
 
 if HAVE_GNUC_VISIBILITY
+export XDT_CHECK_ABI
 TESTS = abicheck.sh
 endif
 
diff --git a/libxfce4util/abicheck.sh b/libxfce4util/abicheck.sh
index ed0afdc..1360fcd 100755
--- a/libxfce4util/abicheck.sh
+++ b/libxfce4util/abicheck.sh
@@ -1,24 +1,10 @@
 #!/bin/sh
-#
-# Copyright (c) 2004      The GLib Development Team.
-# Copyright (c) 2005-2006 Benedikt Meurer <benny@xfce.org>.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301 USA
-#
 
-cpp -P -DINCLUDE_INTERNAL_SYMBOLS -DINCLUDE_VARIABLES -DALL_FILES ${srcdir:-.}/libxfce4util.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE//' | sort > expected-abi
-nm -D .libs/libxfce4util.so | grep " [TRGD] " | cut -d ' ' -f 3 | grep -v '^_.*' | grep -v '^ *$' | sort > actual-abi
-diff -u expected-abi actual-abi && rm expected-abi actual-abi
+set -e
+
+if test x"$XDT_CHECK_ABI" = x""; then
+    echo "Environment variable XDT_CHECK_ABI must be set" >&2
+    exit 1
+fi
+
+exec "$XDT_CHECK_ABI" "${srcdir:-.}"/libxfce4util.symbols .libs/libxfce4util.so
diff --git a/libxfce4util/libxfce4util-config.c b/libxfce4util/libxfce4util-config.c
index 97e072f..d0ddea7 100644
--- a/libxfce4util/libxfce4util-config.c
+++ b/libxfce4util/libxfce4util-config.c
@@ -32,8 +32,8 @@
 #include "config.h"
 #endif
 
-#include "libxfce4util.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-config.h"
+#include "libxfce4util-visibility.h"
 
 
 
@@ -44,4 +44,4 @@ const guint libxfce4util_micro_version = LIBXFCE4UTIL_MICRO_VERSION;
 
 
 #define __LIBXFCE4UTIL_CONFIG_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/libxfce4util-private.c b/libxfce4util/libxfce4util-private.c
index 4b155fd..167cfb4 100644
--- a/libxfce4util/libxfce4util-private.c
+++ b/libxfce4util/libxfce4util-private.c
@@ -31,7 +31,7 @@
 #endif
 
 #include "libxfce4util-private.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 
 
@@ -66,4 +66,4 @@ _xfce_i18n_init (void)
 
 
 #define __LIBXFCE4UTIL_PRIVATE_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/libxfce4util.symbols b/libxfce4util/libxfce4util.symbols
index 1bece20..886eb06 100644
--- a/libxfce4util/libxfce4util.symbols
+++ b/libxfce4util/libxfce4util.symbols
@@ -1,218 +1,124 @@
-/* $Id$ */
-/*-
- * Copyright (c) 2005-2006 Benedikt Meurer <benny@xfce.org>.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301 USA
- */
+# file:libxfce4util-config
+var:libxfce4util_major_version
+var:libxfce4util_micro_version
+var:libxfce4util_minor_version
 
-/* This file lists all exported symbols. It is used to generate
- * the gobject.def file used to control exports on Windows and the
- * libxfce4util-alias.h/libxfce4util-aliasdef.c files used to
- * avoid PLT entries for internal uses of exported functions (see
- * make-libxfce4util-alias.pl).
- * 
- * Every symbol must be included in the right
- * #ifdef IN_HEADER(sym) #endif and
- * #ifdef IN_SOURCE(sym) #endif sections. 
- */
-
-#ifdef ALL_FILES
-#define IN_HEADER(x) 1
-#define IN_SOURCE(x) 1
-#endif
-
-/* libxfce4util-config variables */
-#if IN_HEADER(__LIBXFCE4UTIL_CONFIG_H__)
-#if IN_SOURCE(__LIBXFCE4UTIL_CONFIG_C__)
-#ifdef INCLUDE_VARIABLES
-libxfce4util_major_version
-libxfce4util_minor_version
-libxfce4util_micro_version
-#endif
-#endif
-#endif
+# file:xfce-consolekit
+xfce_consolekit_can_hibernate
+xfce_consolekit_can_hybrid_sleep
+xfce_consolekit_can_power_off
+xfce_consolekit_can_reboot
+xfce_consolekit_can_suspend
+xfce_consolekit_get
+xfce_consolekit_get_type attr:G_GNUC_CONST
+xfce_consolekit_hibernate
+xfce_consolekit_hybrid_sleep
+xfce_consolekit_power_off
+xfce_consolekit_reboot
+xfce_consolekit_suspend
 
-/* xfce-fileutils functions */
-#if IN_HEADER(__XFCE_FILEUTILS_H__)
-#if IN_SOURCE(__XFCE_FILEUTILS_C__)
-xfce_mkdirhier
+# file:xfce-fileutils
 xfce_create_shared_thumbnail_path
-#endif
-#endif
+xfce_mkdirhier
 
-/* xfce-gio-extensions functions */
-#if IN_HEADER(__XFCE_GIO_EXTENSIONS_H__)
-#if IN_SOURCE(__XFCE_GIO_EXTENSIONS_C__)
-xfce_g_file_metadata_is_supported
+# file:xfce-gio-extensions
 xfce_g_file_create_checksum
-xfce_g_file_set_trusted
 xfce_g_file_is_trusted
-#endif
-#endif
-
-/* xfce-string functions */
-#if IN_HEADER(__XFCE_STRING_H__)
-#if IN_SOURCE(__XFCE_STRING_C__)
-xfce_g_string_append_quoted
-xfce_str_replace
-#endif
-#endif
+xfce_g_file_metadata_is_supported
+xfce_g_file_set_trusted
 
-/* xfce-i18n functions */
-#if IN_HEADER(__XFCE_I18N_H__)
-#if IN_SOURCE(__XFCE_I18N_C__)
-xfce_textdomain
-xfce_get_file_localized G_GNUC_MALLOC
-xfce_get_file_localized_r
-xfce_get_dir_localized G_GNUC_MALLOC
+# file:xfce-i18n
+xfce_get_dir_localized attr:G_GNUC_MALLOC
 xfce_get_dir_localized_r
+xfce_get_file_localized attr:G_GNUC_MALLOC
+xfce_get_file_localized_r
 xfce_get_path_localized
 xfce_locale_match
-#endif
-#endif
+xfce_textdomain
 
-/* xfce-kiosk functions */
-#if IN_HEADER(__XFCE_KIOSK_H__)
-#if IN_SOURCE(__XFCE_KIOSK_C__)
-xfce_kiosk_new G_GNUC_MALLOC
-xfce_kiosk_query
-xfce_kiosk_get_type
+# file:xfce-kiosk
 xfce_kiosk_free
-#endif
-#endif
+xfce_kiosk_get_type attr:G_GNUC_CONST
+xfce_kiosk_new attr:G_GNUC_MALLOC
+xfce_kiosk_query
 
-/* xfce-license variables/functions */
-#if IN_HEADER(__XFCE_LICENSE_H__)
-#if IN_SOURCE(__XFCE_LICENSE_C__)
-xfce_get_license_text G_GNUC_PURE
-#endif
-#endif
+# file:xfce-license
+xfce_get_license_text attr:G_GNUC_PURE
 
-/* xfce-miscutils functions */
-#if IN_HEADER(__XFCE_MISCUTILS_H__)
-#if IN_SOURCE(__XFCE_MISCUTILS_C__)
-xfce_version_string G_GNUC_PURE
-xfce_get_homedir G_GNUC_PURE
+# file:xfce-miscutils
+xfce_append_quoted
+xfce_expand_desktop_entry_field_codes attr:G_GNUC_MALLOC
+xfce_expand_variables attr:G_GNUC_MALLOC
+xfce_get_homedir attr:G_GNUC_PURE
 xfce_get_homefile_r
-xfce_get_userdir G_GNUC_PURE
+xfce_get_userdir attr:G_GNUC_PURE
 xfce_get_userfile_r
-xfce_gethostname G_GNUC_MALLOC
-xfce_expand_variables G_GNUC_MALLOC
-xfce_append_quoted
-xfce_expand_desktop_entry_field_codes G_GNUC_MALLOC
-xfce_unescape_desktop_entry_value G_GNUC_MALLOC
-#endif
-#endif
+xfce_gethostname attr:G_GNUC_MALLOC
+xfce_unescape_desktop_entry_value attr:G_GNUC_MALLOC
+xfce_version_string attr:G_GNUC_PURE
 
-/* xfce-posix-signal-handler functions */
-#if IN_HEADER(__XFCE_POSIX_SIGNAL_HANDLER_H__)
-#if IN_SOURCE(__XFCE_POSIX_SIGNAL_HANDLER_C__)
+# file:xfce-posix-signal-handler
 xfce_posix_signal_handler_init
-xfce_posix_signal_handler_shutdown
-xfce_posix_signal_handler_set_handler
 xfce_posix_signal_handler_restore_handler
-#endif
-#endif
-
-/* xfce-resource functions */
-#if IN_HEADER(__XFCE_RESOURCE_H__)
-#if IN_SOURCE(__XFCE_RESOURCE_C__)
-xfce_resource_dirs G_GNUC_MALLOC
-xfce_resource_lookup G_GNUC_MALLOC
-xfce_resource_lookup_all G_GNUC_MALLOC
-xfce_resource_match G_GNUC_MALLOC
-xfce_resource_match_custom G_GNUC_MALLOC
-xfce_resource_push_path
-xfce_resource_pop_path
-xfce_resource_save_location G_GNUC_MALLOC
-#endif
-#endif
+xfce_posix_signal_handler_set_handler
+xfce_posix_signal_handler_shutdown
 
-/* xfce-rc functions */
-#if IN_HEADER(__XFCE_RC_H__)
-#if IN_SOURCE(__XFCE_RC_C__)
-xfce_rc_get_type
-xfce_rc_simple_open G_GNUC_MALLOC
-xfce_rc_config_open G_GNUC_MALLOC
+# file:xfce-rc
 xfce_rc_close
+xfce_rc_config_open attr:G_GNUC_MALLOC
+xfce_rc_delete_entry
+xfce_rc_delete_group
 xfce_rc_flush
-xfce_rc_rollback
-xfce_rc_is_dirty
-xfce_rc_is_readonly
-xfce_rc_get_locale
-xfce_rc_get_groups
 xfce_rc_get_entries
-xfce_rc_delete_group
 xfce_rc_get_group
-xfce_rc_has_group
-xfce_rc_set_group
-xfce_rc_delete_entry
+xfce_rc_get_groups
+xfce_rc_get_locale
+xfce_rc_get_type attr:G_GNUC_CONST
 xfce_rc_has_entry
+xfce_rc_has_group
+xfce_rc_is_dirty
+xfce_rc_is_readonly
+xfce_rc_read_bool_entry
 xfce_rc_read_entry
 xfce_rc_read_entry_untranslated
-xfce_rc_read_bool_entry
 xfce_rc_read_int_entry
-xfce_rc_read_list_entry G_GNUC_MALLOC
-xfce_rc_write_entry
+xfce_rc_read_list_entry attr:G_GNUC_MALLOC
+xfce_rc_rollback
+xfce_rc_set_group
+xfce_rc_simple_open attr:G_GNUC_MALLOC
 xfce_rc_write_bool_entry
+xfce_rc_write_entry
 xfce_rc_write_int_entry
 xfce_rc_write_list_entry
-#endif
-#endif
 
-/* xfce-utf8 functions */
-#if IN_HEADER(__XFCE_UTF8_H__)
-#if IN_SOURCE(__XFCE_UTF8_C__)
-xfce_utf8_remove_controls
-xfce_utf8_strndup G_GNUC_MALLOC
-#endif
-#endif
+# file:xfce-resource
+xfce_resource_dirs attr:G_GNUC_MALLOC
+xfce_resource_lookup attr:G_GNUC_MALLOC
+xfce_resource_lookup_all attr:G_GNUC_MALLOC
+xfce_resource_match attr:G_GNUC_MALLOC
+xfce_resource_match_custom attr:G_GNUC_MALLOC
+xfce_resource_pop_path
+xfce_resource_push_path
+xfce_resource_save_location attr:G_GNUC_MALLOC
 
-/* xfce-consolekit functions */
-#if IN_HEADER(__XFCE_CONSOLEKIT_H__)
-#if IN_SOURCE(__XFCE_CONSOLEKIT_C__)
-xfce_consolekit_get_type
-xfce_consolekit_get
-xfce_consolekit_reboot
-xfce_consolekit_power_off
-xfce_consolekit_suspend
-xfce_consolekit_hibernate
-xfce_consolekit_hybrid_sleep
-xfce_consolekit_can_reboot
-xfce_consolekit_can_power_off
-xfce_consolekit_can_suspend
-xfce_consolekit_can_hibernate
-xfce_consolekit_can_hybrid_sleep
-#endif
-#endif
+# file:xfce-string
+xfce_g_string_append_quoted
+xfce_str_replace
 
-/* xfce-systemd functions */
-#if IN_HEADER(__XFCE_SYSTEMD_H__)
-#if IN_SOURCE(__XFCE_SYSTEMD_C__)
-xfce_systemd_get_type
+# file:xfce-systemd
+xfce_systemd_can_hibernate
+xfce_systemd_can_hybrid_sleep
+xfce_systemd_can_power_off
+xfce_systemd_can_reboot
+xfce_systemd_can_suspend
 xfce_systemd_get
-xfce_systemd_reboot
-xfce_systemd_power_off
-xfce_systemd_suspend
+xfce_systemd_get_type attr:G_GNUC_CONST
 xfce_systemd_hibernate
 xfce_systemd_hybrid_sleep
-xfce_systemd_can_reboot
-xfce_systemd_can_power_off
-xfce_systemd_can_suspend
-xfce_systemd_can_hibernate
-xfce_systemd_can_hybrid_sleep
-#endif
-#endif
+xfce_systemd_power_off
+xfce_systemd_reboot
+xfce_systemd_suspend
+
+# file:xfce-utf8
+xfce_utf8_remove_controls
+xfce_utf8_strndup attr:G_GNUC_MALLOC
diff --git a/libxfce4util/make-libxfce4util-alias.pl b/libxfce4util/make-libxfce4util-alias.pl
deleted file mode 100644
index d00fce3..0000000
--- a/libxfce4util/make-libxfce4util-alias.pl
+++ /dev/null
@@ -1,159 +0,0 @@
-#!/usr/bin/env perl -w
-#
-# Copyright (c) 2004      The GLib Development Team.
-# Copyright (c) 2005-2006 Benedikt Meurer <benny@xfce.org>.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301 USA
-#
-
-my $option_def = 0;
-
-if (($#ARGV >= 0) && ($ARGV[0] eq "-def"))
-  {
-    shift;
-    $option_def = 1;
-  }
-
-print <<EOF;
-/* Generated by make-libxfce4util-alias.pl. Do not edit this file. */
-
-#ifdef HAVE_GNUC_VISIBILITY
-
-#include <glib.h>
-
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-
-EOF
-
-my $in_comment = 0;
-my $in_skipped_section = 0;
-
-while (<>)
-  {
-    # ignore empty lines
-    next if /^\s*$/;
-
-    # skip comments
-    if ($_ =~ /^\s*\/\*/)
-      {
-        $in_comment = 1;
-      }
-    
-    if ($in_comment)
-      {
-        if ($_ =~  /\*\/\s$/)
-          {
-            $in_comment = 0;
-          }
-        next;
-      }
-
-    # handle ifdefs
-    if ($_ =~ /^\#endif/)
-      {
-        if (!$in_skipped_section)
-          {
-            print $_;
-          }
-
-        $in_skipped_section = 0;
-        next;
-      }
-
-    if ($_ =~ /^\#ifdef\s+(INCLUDE_VARIABLES|INCLUDE_INTERNAL_SYMBOLS|ALL_FILES)/)
-      {
-        $in_skipped_section = 1;
-      }
-
-    if ($in_skipped_section)
-      {
-        next;
-      }
-
-    if ($_ =~ /^\#ifn?def\s+G/)
-      {
-        print $_;
-        next;
-      }
-   
-    if ($_ =~ /^\#if.*IN_SOURCE\((.*)\)/)
-      {
-        if ($option_def)
-          {
-            print "#ifdef $1\n";
-          }
-        else
-          {
-            print "#if 1\n";
-          }
-        next;
-      }
-
-    if ($_ =~ /^\#if.*IN_HEADER\((.*)\)/)
-      {
-        if ($option_def)
-          {
-            print "#if 1\n";
-          }
-        else
-          {
-            print "#ifdef $1\n";
-          }
-        next;
-      }
-
-    chop;
-    my $line = $_;
-    my @words;
-    my $attributes = "";
-
-    @words = split (/ /, $line);
-    my $symbol = shift (@words);
-    chomp ($symbol);
-    my $alias = "IA__".$symbol;
-    
-    # Drop any Win32 specific .def file syntax,  but keep attributes
-    foreach $word (@words)
-      {
-        $attributes = "$attributes $word" unless $word eq "PRIVATE";
-      }
-    
-    if (!$option_def)
-      {
-        print <<EOF
-extern __typeof ($symbol) $alias __attribute((visibility("hidden")))$attributes;
-\#define $symbol $alias
-
-EOF
-      }
-    else
-      {
-        print <<EOF
-\#undef $symbol 
-extern __typeof ($symbol) $symbol __attribute((alias("$alias"), visibility("default")));
-
-EOF
-      }
-  }
-
-print <<EOF;
-
-G_GNUC_END_IGNORE_DEPRECATIONS
-
-#endif /* HAVE_GNUC_VISIBILITY */
-EOF
-
-
diff --git a/libxfce4util/xfce-consolekit.c b/libxfce4util/xfce-consolekit.c
index 71701f1..be7c2d6 100644
--- a/libxfce4util/xfce-consolekit.c
+++ b/libxfce4util/xfce-consolekit.c
@@ -35,7 +35,7 @@
 #include <gio/gio.h>
 
 #include "xfce-consolekit.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 
 
@@ -667,4 +667,4 @@ xfce_consolekit_can_hybrid_sleep (XfceConsolekit *consolekit,
 }
 
 #define __XFCE_CONSOLEKIT_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/xfce-fileutils.c b/libxfce4util/xfce-fileutils.c
index 56b94b5..9cb071a 100644
--- a/libxfce4util/xfce-fileutils.c
+++ b/libxfce4util/xfce-fileutils.c
@@ -47,7 +47,7 @@
 #endif
 
 #include "libxfce4util-private.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 
 
@@ -222,4 +222,4 @@ xfce_create_shared_thumbnail_path (const gchar *uri,
 
 
 #define __XFCE_FILEUTILS_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/xfce-gio-extensions.c b/libxfce4util/xfce-gio-extensions.c
index 0be6fe1..4785c06 100644
--- a/libxfce4util/xfce-gio-extensions.c
+++ b/libxfce4util/xfce-gio-extensions.c
@@ -35,7 +35,7 @@
 #endif
 
 #include "libxfce4util.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 
 
@@ -288,4 +288,4 @@ xfce_g_file_is_trusted (GFile *file,
 }
 
 #define __XFCE_GIO_EXTENSIONS_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/xfce-i18n.c b/libxfce4util/xfce-i18n.c
index ce83b9f..78a0174 100644
--- a/libxfce4util/xfce-i18n.c
+++ b/libxfce4util/xfce-i18n.c
@@ -59,7 +59,7 @@
 #endif
 
 #include "libxfce4util.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 
 
@@ -515,4 +515,4 @@ xfce_locale_match (const gchar *locale1,
 
 
 #define __XFCE_I18N_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/xfce-kiosk.c b/libxfce4util/xfce-kiosk.c
index 311a504..60f4862 100644
--- a/libxfce4util/xfce-kiosk.c
+++ b/libxfce4util/xfce-kiosk.c
@@ -58,7 +58,7 @@
 #endif
 
 #include "libxfce4util.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 
 
@@ -382,4 +382,4 @@ mtime (const gchar *path)
 
 
 #define __XFCE_KIOSK_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/xfce-license.c b/libxfce4util/xfce-license.c
index d842b6f..549e36c 100644
--- a/libxfce4util/xfce-license.c
+++ b/libxfce4util/xfce-license.c
@@ -30,7 +30,7 @@
 #endif
 
 #include "libxfce4util-private.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 #ifdef __SUNPRO_C
 #pragma align 4(xfce_builtin_license_BSD)
@@ -140,4 +140,4 @@ xfce_get_license_text (XfceLicenseTextType license_type)
 
 
 #define __XFCE_LICENSE_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/xfce-miscutils.c b/libxfce4util/xfce-miscutils.c
index cadde77..0ec4f95 100644
--- a/libxfce4util/xfce-miscutils.c
+++ b/libxfce4util/xfce-miscutils.c
@@ -70,7 +70,7 @@
 #include <gio/gio.h>
 
 #include "libxfce4util.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 #define XFCE4DIR ".xfce4"
 
@@ -659,4 +659,4 @@ xfce_unescape_desktop_entry_value (const gchar *value)
 }
 
 #define __XFCE_MISCUTILS_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/xfce-posix-signal-handler.c b/libxfce4util/xfce-posix-signal-handler.c
index 03b5e55..37b9d3a 100644
--- a/libxfce4util/xfce-posix-signal-handler.c
+++ b/libxfce4util/xfce-posix-signal-handler.c
@@ -51,7 +51,7 @@
 #include <glib.h>
 
 #include "libxfce4util.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 #define SIGNAL_PIPE_READ __signal_pipe[0]
 #define SIGNAL_PIPE_WRITE __signal_pipe[1]
@@ -276,4 +276,4 @@ xfce_posix_signal_handler_restore_handler (gint signal)
 
 
 #define __XFCE_POSIX_SIGNAL_HANDLER_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/xfce-rc-config.c b/libxfce4util/xfce-rc-config.c
index 73517c9..f780123 100644
--- a/libxfce4util/xfce-rc-config.c
+++ b/libxfce4util/xfce-rc-config.c
@@ -33,7 +33,7 @@
 
 #include "xfce-private.h"
 #include "xfce-rc-private.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 
 
@@ -425,4 +425,4 @@ _xfce_rc_config_write_entry (XfceRc *rc,
 
 
 #define __XFCE_RC_CONFIG_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/xfce-rc-simple.c b/libxfce4util/xfce-rc-simple.c
index 3dc7f86..fc57f57 100644
--- a/libxfce4util/xfce-rc-simple.c
+++ b/libxfce4util/xfce-rc-simple.c
@@ -39,7 +39,7 @@
 
 #include "xfce-private.h"
 #include "xfce-rc-private.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 
 #ifndef PATH_MAX
@@ -1083,4 +1083,4 @@ _xfce_rc_simple_write_entry (XfceRc *rc,
 
 
 #define __XFCE_RC_SIMPLE_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/xfce-rc.c b/libxfce4util/xfce-rc.c
index 84cb9aa..1f9cfc3 100644
--- a/libxfce4util/xfce-rc.c
+++ b/libxfce4util/xfce-rc.c
@@ -61,7 +61,7 @@
 #include "libxfce4util.h"
 #include "xfce-private.h"
 #include "xfce-rc-private.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 
 
@@ -820,4 +820,4 @@ xfce_rc_write_list_entry (XfceRc *rc,
 
 
 #define __XFCE_RC_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/xfce-resource.c b/libxfce4util/xfce-resource.c
index 26b17be..9fed24b 100644
--- a/libxfce4util/xfce-resource.c
+++ b/libxfce4util/xfce-resource.c
@@ -39,7 +39,7 @@
 #endif
 
 #include "libxfce4util.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 
 
@@ -811,4 +811,4 @@ xfce_resource_save_location (XfceResourceType type,
 
 
 #define __XFCE_RESOURCE_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/xfce-string.c b/libxfce4util/xfce-string.c
index 2822142..6d66eb3 100644
--- a/libxfce4util/xfce-string.c
+++ b/libxfce4util/xfce-string.c
@@ -33,7 +33,7 @@
 #endif
 
 #include "libxfce4util.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 
 
@@ -131,4 +131,4 @@ xfce_g_string_append_quoted (GString *string,
 }
 
 #define __XFCE_STRING_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/xfce-systemd.c b/libxfce4util/xfce-systemd.c
index edce104..fe7e3b9 100644
--- a/libxfce4util/xfce-systemd.c
+++ b/libxfce4util/xfce-systemd.c
@@ -33,7 +33,7 @@
 #include <gio/gio.h>
 
 #include "xfce-systemd.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 
 
@@ -530,4 +530,4 @@ xfce_systemd_can_hybrid_sleep (XfceSystemd *systemd,
 }
 
 #define __XFCE_SYSTEMD_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
diff --git a/libxfce4util/xfce-utf8.c b/libxfce4util/xfce-utf8.c
index ea8e75f..9bb1ab0 100644
--- a/libxfce4util/xfce-utf8.c
+++ b/libxfce4util/xfce-utf8.c
@@ -34,7 +34,7 @@
 #endif
 
 #include "libxfce4util.h"
-#include "libxfce4util-alias.h"
+#include "libxfce4util-visibility.h"
 
 
 
@@ -107,4 +107,4 @@ xfce_utf8_strndup (const gchar *src,
 
 
 #define __XFCE_UTF8_C__
-#include "libxfce4util-aliasdef.c"
+#include "libxfce4util-visibility.c"
-- 
GitLab