AC_INIT([dxcommon], [0], [nbowler@draconx.ca])
AC_CONFIG_SRCDIR([m4/base.m4])
+DX_INIT([.])
+
+AM_INIT_AUTOMAKE([-Wall -Wno-portability foreign subdir-objects])
+AM_SILENT_RULES([yes])
+DX_AUTOMAKE_COMPAT
+
# To ensure automake --add-missing copies config.guess/config.sub
AC_CANONICAL_HOST
AC_PROG_RANLIB
AC_PROG_AWK
-AM_INIT_AUTOMAKE([-Wall -Wno-portability foreign subdir-objects])
-AM_SILENT_RULES([yes])
-
-DX_INIT([.])
-
AC_USE_SYSTEM_EXTENSIONS
AC_C_INLINE
AC_DEFUN_ONCE([DX_AUTOMAKE_COMPAT],
[AC_REQUIRE([DX_INIT])dnl
+AC_REQUIRE([_DX_AUTOMAKE_COMPAT_PATCH_CC])dnl
AC_CONFIG_COMMANDS_PRE([# Patch install-sh references to include $SHELL
AS_CASE([$MKDIR_P], ["$ac_install_sh"*], [MKDIR_P="$SHELL $MKDIR_P"])
AS_CASE([$INSTALL], ["$ac_install_sh"*], [INSTALL="$SHELL $INSTALL"])
AC_SUBST([dx_depfiles_target], [am--depfiles])
AC_SUBST([dx_include_marker])
AM_SUBST_NOTMAKE([dx_depfiles_target])
-AM_SUBST_NOTMAKE([dx_include_marker])
+AM_SUBST_NOTMAKE([dx_include_marker])])
-])
+AC_DEFUN_ONCE([_DX_AUTOMAKE_COMPAT_PATCH_CC],
+[AC_BEFORE([$0], [_AM_PROG_CC_C_O])dnl
+DX_PATCH_MACRO([_AM_PROG_CC_C_O],
+ ["[$]am_aux_dir/compile],
+ ["$SHELL $am_aux_dir/compile])])
-dnl Copyright © 2012, 2014, 2021 Nick Bowler
+dnl Copyright © 2012, 2014, 2021, 2023 Nick Bowler
dnl
-dnl Base directory handling for dxcommon.
+dnl Basic macros for dxcommon.
dnl
dnl License WTFPL2: Do What The Fuck You Want To Public License, version 2.
dnl This is free software: you are free to do what the fuck you want to.
AC_DEFUN([DX_RUN_LOG], [{ (set -x; $1;) >&AS_MESSAGE_LOG_FD 2>&1
dx_status=$?; AS_ECHO(["\$? = $dx_status"]) >&AS_MESSAGE_LOG_FD 2>&1
test $dx_status = 0; }])
+
+# DX_PATCH_MACRO([macro-name], [regexp], [replacement])
+#
+# Patches the definition of macro-name by replacing substrings that match
+# the given regexp (a la m4_bpatsubst).
+AC_DEFUN([DX_PATCH_MACRO], [m4_ifdef([$1],
+ [m4_define([$1], m4_bpatsubst(m4_dquote(m4_defn([$1])), [$2], [$3]))])])
# This is free software: you are free to do what the fuck you want to.
# There is NO WARRANTY, to the extent permitted by law.
-# DX_PATCH_MACRO([macro-name], [regexp], [replacement])
-#
-# Patches the definition of macro-name by replacing substrings that match
-# the given regexp (a la m4_bpatsubst).
-AC_DEFUN([DX_PATCH_MACRO], [m4_ifdef([$1],
- [m4_define([$1], m4_bpatsubst(m4_dquote(m4_defn([$1])), [$2], [$3]))])])
-
# DX_PATCH_GNULIB
#
# Apply all the patches described below. Should be expanded before AC_INIT.