Not Autotools 2.6.0

Not Autotools is collection of awesome and self-documented m4 macros for GNU Autotools. The macros are organized by topic and each topic has its own file. Most of the macros are independent from each other, so you can just copy and paste what you need. The few cases where a macro depends on a helper macro are documented.

Tags m4 m4 macros autotools autoconf automake configure m4 library
License GNU GPLv3
State stable

Recent Releases

2.6.013 Dec 2022 16:06 minor feature: Changes: New macros n4_list_append_list(), n4_list_append_members(), n4_pluralize(), n4_list_prepend_list() and n4_list_prepend_members() have been created in not-m4sugar.m4; macros NA_MODULE_CHECK_PKGS() and NA_MODULES_CHECK_PKGS() have been created in not-autotools.m4. Documentation.
2.5.014 Feb 2022 03:15 minor feature: Commit 41 Three renamings in `not-autoversion.m4` (macro `NR_RECORD_HISTORY_RC()` has. been renamed to `NR_RECORD_HISTORY_RCO()`, macro `NR_GET_EVENT_VSTATE_RC()`. has been renamed to `NR_GET_EVENT_VSTATE_RCO()`, macro. `NR_FOR_EACH_EVENT_RC()` has been renamed to `NR_FOR_EACH_EVENT_RCO()`). The `introspect` directory has been added to the repository (for aiding. de). A new example has been added to the repository. (`examples/not-autoversion/reverse-chronological-order`).
2.4.007 Feb 2022 04:05 minor feature: Commit 40 New library file `not-increments.m4` has been created, containing the. following new macros: - `n4_pp_amount()`. - `n4_ppn_amount()`. - `n4_amount_pp()`. - `n4_amount_ppn()`. - `n4_amount_incr()`. - `n4_amount_add()`. - `n4_amounts_incr()`. - `n4_amounts_add()`. - `n4_mm_amount()`. - `n4_mmn_amount()`. - `n4_amount_mm()`. - `n4_amount_mmn()`. - `n4_amount_decr()`. - `n4_amount_subtract()`. - `n4_amounts_decr()`. - `n4_amounts_subtract()`. New macro `n4_retrieve()` has been created in `not-m4sugar.m4`. New macro `NS_CATCH()` has been created in `not-autoshell.m4`. New macro `NC_CPP_EXPAND()` has been created in `not-cc.m4`. New macros `NR_RECORD_HISTORY_RC()`, `NR_GET_EVENT_VSTATE_RC()` and. `NR_FOR_EACH_EVENT_RC()` have been created in `not-autoversion.m4`. Code review (macro `NC_AUTOVERSION_SUBSTITUTIONS()` in `not-autoversion.m4`;. macros `NS_SETVARS()`, `NS_GETVAR()`, `NS_UNSET()`, `NS_MOVEVAR()` and. `NS_REPLACEVAR()` in `not-autoshell.m4`). File `macro-index.md` has been sorted alphabetically. Documentation.
2.3.003 Feb 2022 03:15 minor feature: Commit 39 New library file `not-parallel-configure.m4` has been created, containing the. new macros `NC_THREAD_NEW()` and `NC_JOIN_THREADS()`. New macros `NC_AUTO_REQ_PROGS()` and `NM_AUTO_QUERY_PROGS()` have been. created in `not-autotools.m4`. Documentation. New examples have been created (`examples/not-parallel-configure`).
2.2.226 Jan 2022 03:15 minor feature: Commit 38 Code review (macros `NR_HISTORY_ROOT_VSTATE()` and `NR_BUMP_VSTATE()` in. `not-autoversion.m4` made sure that the default `NR_PROJECT_MINVER` is set. to `1` when `NR_PROJECT_MAJVER` is `0`).
2.2.119 Jan 2022 03:15 minor feature: Commit 37 Code review (macro `NC_GLOBAL_LITERALS()` in `not-autotools.m4`). Documentation. New examples have been created (`examples/NA_AMEND`).
2.2.021 Oct 2021 03:16 minor feature: New macros n4_rshift(), n4_rshift2() and n4_rshift3() have been created in not-m4sugar.m4. Code review (macro NA_HELP_STRINGS() in not-autotools.m4; macros NS_TEST_AEQ() and NS_TEST_NAE() in not-autoshell.m4). Documentation.
2.1.006 Oct 2021 20:51 minor feature: New macro n4_bind(), has been created in not-m4sugar.m4. Code review (macro n4_burn_out() in not-m4sugar.m4; macro n4_sp() in not-fancy-texts.m4; macro NR_CONFIG_FILES() in not-autoreconf.m4; macros NC_MSG_ERRORBOX() and NC_MSG_FAILUREBOX() in not-ac-messages.m4). Documentation.
2.0.029 Sep 2021 19:54 major feature: New macros n4_set_counter(), n4_has(), n4_has_any(), n4_nquote() and n4_void(), have been created in not-m4sugar.m4. New macros NC_SUBST_VARS(), NC_SUBST_PAIRS(), NC_SUBST_VARS_NOTMAKE() and NC_SUBST_PAIRS_NOTMAKE() have been created in not-autotools.m4. New macros NS_HEREDOC() and NS_LITERAL_HEREDOC() have been created in not-autoshell.m4. New macro n4_newlines() has been created in not-fancy-texts.m4. New library file not-autoversion.m4 has been created, containing the following new macros: NR_RECORD_HISTORY(), NR_PROJECT_VERSION, NR_BINARY_VERSION, NR_LIBTOOL_VERSION_INFO, NR_PROJECT_MAJVER, NR_PROJECT_MINVER, NR_PROJECT_MICVER, NR_BINARY_MAJVER, NR_BINARY_MINVER, NR_BINARY_MICVER, NR_INTERFACE_NUM, NR_INTERFACES_SUPPORTED, NR_IMPLEMENTATION_NUM, NR_SOURCE_AGE, NC_AUTOVERSION_SUBSTITUTIONS, NR_HISTORY_CURRENT_EVENT_NAME, NR_HISTORY_CURRENT_VSTATE, NR_HISTORY_ROOT_VSTATE, NR_HISTORY_EVENTS, NR_HISTORY_GET_EVENT_VSTATE(), NR_HISTORY_FOR_EACH_EVENT(), NR_VSTATE_GET_PROJECT_VERSION(), NR_VSTATE_GET_PROJECT_MAJVER(), NR_VSTATE_GET_PROJECT_MINVER(), NR_VSTATE_GET_PROJECT_MICVER(), NR_VSTATE_GET_BINARY_VERSION(), NR_VSTATE_GET_BINARY_MAJVER(), NR_VSTATE_GET_BINARY_MINVER(), NR_VSTATE_GET_BINARY_MICVER(), NR_VSTATE_GET_LIBTOOL_VERSION_INFO(), NR_VSTATE_GET_INTERFACE_NUM(), NR_VSTATE_GET_INTERFACES_SUPPORTED(), NR_VSTATE_GET_IMPLEMENTATION_NUM(), NR_VSTATE_GET_SOURCE_AGE(), NR_BUMP_VSTATE(), NR_GET_EVENT_VSTATE(), NR_FOR_EACH_EVENT(). The behavior of n4_with(), n4_let() and n4_qlet() has changed in respect to quoted arguments. Code review (macros n4_list_index(), n4_joinalln(), n4_arg_index(), n4_let(), n4_case_in(), n4_define_substrings_as(), n4_expand_once(), n4_expanded_once() and n4_repeat() in not-m4sugar.m4; macro NC_CONFIG_SHADOW_DIR() in not-extended-config.m4; macro NS_TEXT_WRAP() in not-autoshell.m4). Macro NC_THREATEN_BLINDLY() in not-extended-config.m4 has been renamed to NR_THREATEN_BLINDLY(). An examples subdirectory has been added to the package t
1.1.024 Sep 2021 01:36 minor feature: New macro NC_MAKETARGET_SUBST_UNQUOTED() has been created in not-autotools.m4. AC_DEFUN() has been replaced with m4_define() for registering the NC_GLOBAL_LITERALS() macro (this fixes autopoint bug "error: required file 'build-aux/config.rpath' not found"). Code review (macro NC_MAKETARGET_SUBST() in not-autotools.m4). Documentation.
1.0.017 Sep 2021 00:14 major feature: The version number of the collection has been set to 1.0.0. New macros NC_CPP_IF(), NC_CC_STATIC_ASSERT() and NC_CC_CHECK_UINT_FROM_TO() have been created in not-cc.m4. Documentation.
0.24.025 Aug 2021 01:24 minor feature: Macro NC_QUERY_PROGS() in not-autotools.m4 has been renamed to NM_QUERY_PROGS(). File not-multiversion.m4, containing the NR_SET_VERSION_ENVIRONMENT() macro, has been removed. Macros NS_ECHO_IF() and NS_ECHO_IF_UNQUOTED() have been removed from not-autoshell.m4 you can use NS_PP_IF( NS_STDOUT ...) and NS_PP_IF( NS_STDOUT_UNQUOTED ...) to obtain the same result. Code review (macros NC_MSG_ERRORBOX() and NC_MSG_FAILUREBOX() in not-ac-messages.m4). Documentation review.
0.23.016 Aug 2021 14:05 minor feature: New macros n4_joinalln() and n4_list_index() have been created in not-m4sugar.m4. New macro NC_QUERY_PROGS() has been created in not-autotools.m4. The argument order of n4_list_index() in not-m4sugar.m4 has changed.
0.22.020 Oct 2020 08:14 minor feature: * New macros `n4_joinalln()` and `n4_list_index()` have been created in `not-m4sugar.m4` * New macro `NC_QUERY_PROGS()` has been created in `not-autotools.m4` * The argument order of `n4_list_index()` in `not-m4sugar.m4` has changed
0.21.107 Oct 2020 05:35 minor bugfix: Code review (macros n4_includedir() and n4_sincludedir() in not-m4sugar.m4; macros NS_TEST_EQ(), NS_TEST_NE(), NS_TEST_AEQ() and NS_TEST_NAE() in not-autoshell.m4)
0.21.207 Oct 2020 05:35 minor bugfix: Code review (macros n4_includedir() and n4_sincludedir() in not-m4sugar.m4; macros NS_TEST_EQ(), NS_TEST_NE(), NS_TEST_AEQ() and NS_TEST_NAE() in not-autoshell.m4)
0.21.004 Oct 2020 21:56 minor feature: * New macro `NC_GLOBAL_LITERALS_NOTMAKE()` has been created in `not-autotools.m4` * Macro `NC_MAKETARGET_SUBST()` in `not-autotools.m4` has been expanded and now supports order-only prerequisites as well * Code review (macros `NC_GLOBAL_LITERALS()` and `NC_REQ_PROGS()` in `not-autotools.m4`; macro `NC_CONFIG_SHADOW_DIR()` in `not-extended-config.m4`)