summaryrefslogtreecommitdiff
path: root/macros
Commit message (Collapse)AuthorAgeFilesLines
* MM_AX_CXX_COMPILE_STDCXX: Merge in changes from upstream AX_CXX_COMPILE_STDCXXHEADmasterMurray Cumming2023-03-051-11/+78
| | | | | | | | Take recent changes from http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_cxx_compile_stdcxx.m4 and add MM/_MM prefixes where appropriate. This adds support for 20 as an argument for MM_AX_CXX_COMPILE_STDCXX().
* MM_AX_CXX_COMPILE_STDCXX: UpdateMurray Cumming2019-10-271-39/+10
| | | | | Another update from upstream: https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
* MM_AX_CXX_COMPILE_STDCXX: UpdateMurray Cumming2018-03-281-38/+460
| | | | | Update from upstream: https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
* Add MM_ prefix to AX_CXX_COMPILE_STDCXX m4 macro.Murray Cumming2016-01-081-17/+20
| | | | | | | * macros/mm-ax_cxx_compile_stdcxx.m4: Add MM_ prefix, to avoid possible conflict with AX_CXX_COMPILE_STDCXX in other modules. This patch can possibly be applied to future versions, if an updated version is copied from www.gnu.org/software/autoconf-archive.
* Add macros/mm-ax_cxx_compile_stdcxx.m4Murray Cumming2016-01-081-0/+558
| | | | | | | | | | | | | | * README: Describe mm-ax_cxx_compile_stdcxx.m4 instead of the mm-ax_cxx_compile_stdcxx_11.m4 * Makefile.am: Distribute and install mm-ax_cxx_compile_stdcxx.m4. * macros/mm-ax_cxx_compile_stdcxx.m4: New file. * skeletonmm/configure.ac: Use MM_AX_CXX_COMPILE_STDCXX instead of MM_AX_CXX_COMPILE_STDCXX_11. This macro, copied from here: http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html if more useful thatn the C++11-specific one, because it lets us specify, for instance C++14 instead.
* mm-warnings.m4: Fix MM_ARG_ENABLE_WARNINGS for C++11Kjell Ahlstedt2015-11-191-1/+1
| | | | | | * macros/mm-warnings.m4: Don't compare a pointer with 0 in the test program. It does not work well with the -Wzero-as-null-pointer-constant option. Bug #757979.
* Add MM_ prefix to AX_CXX_COMPILE_STDCXX_11 m4 macroKjell Ahlstedt2015-07-131-8/+11
| | | | | | | * macros/mm-ax_cxx_compile_stdcxx_11.m4: Add MM_ prefix, to avoid possible conflict with AX_CXX_COMPILE_STDCXX_11 in other modules. This patch can possibly be applied to future versions, if an updated version is copied from www.gnu.org/software/autoconf-archive. Bug #751432.
* Add macros/mm-ax_cxx_compile_stdcxx_11.m4Kjell Ahlstedt2015-07-131-0/+168
| | | | | | | | * README: Describe mm-ax_cxx_compile_stdcxx_11.m4. * Makefile.am: Distribute and install mm-ax_cxx_compile_stdcxx_11.m4. * macros/mm-ax_cxx_compile_stdcxx_11.m4: New file. * skeletonmm/configure.ac: Add MM_AX_CXX_COMPILE_STDCXX_11. Bug #751432.
* Distribute doctools if non-empty parameter is passed to MM_CONFIG_DOCTOOL_DIR.Krzesimir Nowak2011-03-281-6/+5
| | | | | | | | | | * macros/mm-doc.m4: * build/doc-reference.am: If non-empty parameter is passed to MM_CONFIG_DOCTOOL_DIR then mm-common-prepare will copy doctools to given directory. These files are needed during install stage, so they need to be distributed. This way we don't need to add some lines to Makefile.am in every project using mm-common. Which we did, anyway.
* Add mm-common-util.pc so we can get doc utils from mm-common.Murray Cumming2011-03-151-8/+8
| | | | | | | | | | | | | | | | | | | | * util/mm-common-util.pc.in: Added this file, with the path to the installed doctool/*.pl files. * configure.ac: * Makefile.am: Generate and install the .pc file. * macros/mm-doc.m4: Use the mm-common-util .pc file, not the glibmm-2.4 one. Previously, glibmm installed a copy that it got from mm-common-prepare and other modules then asked glibmm where to find its copy. That was probably for backwards compatibility. But we break stuff with gtkmm 3 anyway, so now is a good time to avoid the duplication by requiring modules to get it from mm-common instead. Actually this should only require a rerun of autogen.sh, because mm-common's own MM_CONFIG_DOCTOOL_DIR macro is what gets the path to these utils. Removing the hard-coding of glibmm-2.4 will also help us when we eventually break the glibmm ABI.
* Avoid leading special character in expr argumentDaniel Elstner2010-01-071-4/+4
| | | | | * macros/mm-doc.m4 (_MM_ARG_WITH_TAGFILE_DOC): Be prudent and begin any expression argument to expr with a known non-special character.
* Allow module API version suffix without a dashDaniel Elstner2009-12-281-3/+3
| | | | | | * macros/mm-module.m4 (MM_INIT_MODULE): Adjust the regular expressions used to extract the API version from the module name, so that the dash separator becomes optional.
* Add new MM_PROG_GCC_VISIBILITY Autoconf macroDaniel Elstner2009-12-241-1/+49
| | | | | | | * macros/mm-dietlib.m4 (MM_PROG_GCC_VISIBILITY): New Autoconf macro to check whether the compiler supports the GNU C++ symbol visibility attributes. * README: Mention MM_PROG_GCC_VISIBILITY in the M4 file description.
* Clean up MM_ARG_ENABLE_WARNINGS() documentationDaniel Elstner2009-11-041-8/+14
| | | | | * macros/mm-warnings.m4 (MM_ARG_ENABLE_WARNINGS): Refine usage example and reduce verbosity.
* MM_ARG_ENABLE_WARNINGS documentation: Add an example call and more clues.Murray Cumming2009-10-191-0/+15
| | | | | | * macros/mm-warnings.m4: Documentation: Add an example call of this macro, mention how to use the resulting variable in the Makefile.am, and mentino how to force fatal warnings during distcheck.
* Escape $ before {} in M4 more consistentlyDaniel Elstner2009-09-101-6/+6
| | | | | * macros/mm-warnings.m4 (MM_ARG_ENABLE_WARNINGS): Apply cosmetics. Put [] quotes around $ before {}. Remove redundant curly braces.
* Do not fail hard if glibmm doctools are missingDaniel Elstner2009-08-281-21/+19
| | | | | | | | * macros/mm-doc.m4 (_MM_CONFIG_DOCTOOL_DIR): Do not yet verify at this point whether the directory returned by pkg-config is valid. (_MM_ARG_ENABLE_DOCUMENTATION): Check the value of $MMDOCTOOLDIR here, but do do not abort even if not set, unless --enable-documentation has been explicitly requested.
* Implement check for GNU make featuresDaniel Elstner2009-08-233-4/+39
| | | | | | | * macros/mm-pkg.m4 (MM_CHECK_GNU_MAKE): New Autoconf macro to ensure that the installed make program is compatible with GNU make. * macros/mm-module.m4 (MM_INIT_MODULE): Require MM_CHECK_GNU_MAKE. * macros/mm-doc.m4 (MM_CONFIG_DOCTOOL_DIR): ditto.
* Smoothen documentation magic complexityDaniel Elstner2009-08-231-24/+28
| | | | | | | | | | | | | * macros/mm-doc.m4 (_MM_CONFIG_DOCTOOL_DIR): Collapse redundant indirection through $mm_doctooldir. (_MM_ARG_ENABLE_DOCUMENTATION): Reorganize the error handling logic. Report all utilities which are missing, not just the first one. (_MM_TR_URI): New internal helper macro, defining the shell construct used to create a file:// URI from a native filesystem path. (_MM_ARG_WITH_TAGFILE_DOC): Use new _MM_TR_URI() macro. * build/doc-reference.am (docdir_base_uri): Split expression into two variable assignments for clarity. Use $(subst ,, ) trick instead of auxiliary variables to define a literal space character.
* Remove mistaken M4 assertionDaniel Elstner2009-08-211-1/+0
| | | | | | | * macros/mm-pkg.m4 (MM_CHECK_PERL): Remove the bogus m4_assert() on the number of arguments being at least two. Since a default action is implemented, it is perfectly valid to call MM_CHECK_PERL() with less than two arguments.
* Refactor Perl checks into separate Autoconf macrosDaniel Elstner2009-08-212-9/+58
| | | | | | | | | * macros/mm-pkg.m4 (MM_PATH_PERL): New Autoconf macro to locate the Perl interpreter executable. (MM_CHECK_PERL): New Autoconf macro to require a minimum version of the Perl interpreter. * macros/mm-doc.m4 (_MM_ARG_ENABLE_DOCUMENTATION): Remove Perl check. (MM_ARG_ENABLE_DOCUMENTATION): Require MM_PATH_PERL.
* Make version components available as substitutionsDaniel Elstner2009-08-201-10/+24
| | | | | | | * macros/mm-module.m4 (_MM_INIT_MODULE_VERSION): Make the major, minor and micro version number components available as substitutions through AC_SUBST(), in addition to defining the preprocessor macros. (MM_INIT_MODULE): Document the new substitutions.
* Disable documentation if utilities are missingDaniel Elstner2009-08-191-9/+15
| | | | | | | | * macros/mm-doc.m4 (_MM_ARG_ENABLE_DOCUMENTATION): If one of the required utilities for the documentation build is missing, display a warning message and disable the documentation build, but otherwise continue execution. However, do abort with an error if the configure option --enable-documentation was used explicitly.
* Use URIs instead of OS path names in markup filesDaniel Elstner2009-08-191-4/+6
| | | | | | | | | * macros/mm-doc.m4 (_MM_ARG_WITH_TAGFILE_DOC): Translate local path names to file:// URIs, since these path names end up in XML and HTML files. The canonical representation also simplifies the translation from absolute to relative path names during installation. * build/doc-reference.am (htmlref_install): Take the new file:// URI prefix into account when translating from absolute to relative links.
* Bump mm-doc.m4 #serialDaniel Elstner2009-08-191-1/+1
|
* Do not append slash to DOXYGEN_TAGFILES locationsDaniel Elstner2009-08-181-5/+5
| | | | | | | | | | | | | | * build/doc-reference.am (dist_devhelpDATA_INSTALL): Strip trailing slash from $(htmlrefdir), if there is one. (dh_xsl_params): Strip trailing slash from $(htmlrefpub). * macros/mm-doc.m4 (_MM_ARG_WITH_TAGFILE_DOC): Strip the trailing slash from $mm_htmlrefdir and $mm_htmlrefpub if there is one, instead of appending one. Do append the slash to the locations listed in the DOCINSTALL_FLAGS output variable, but omit it for DOXYGEN_TAGFILES. Apparently Doxygen is not trying to be smart when it automatically appends a trailing slash to the external documentation base paths. Rather, it just mindlessly appends it no matter what, ending up with a double slash if there already was one.
* Implement generic --disable-deprecated-api macroDaniel Elstner2009-08-171-0/+70
| | | | | | | | * macros/mm-dietlib.m4: New Autoconf macro file for configuration macros that have the effect of reducing the size of the compiled binding library. (MM_ARG_DISABLE_DEPRECATED_API): New M4 macro for use by C++ bindings in order to allow deprecated API to be omitted from the library build.
* Strip '+' from tag file name for configure optionDaniel Elstner2009-08-171-2/+2
| | | | | | | * macros/mm-doc.m4 (MM_ARG_WITH_TAGFILE_DOC): Correct the regular expression used to strip off the suffix of the tag file name in order to produce a suitable name for the configure option. Specifically, properly handle the case of both '++' and '-d.d' occuring together.
* Briefly document _MM_ARG_ENABLE_WARNINGS_OPTIONDaniel Elstner2009-08-151-3/+8
|
* Make MM_INIT_MODULE version argument optionalDaniel Elstner2009-08-151-6/+9
| | | | | | * macros/mm-module.m4 (MM_INIT_MODULE): If no version argument has been specified, use the expansion of AC_PACKAGE_VERSION as default value.
* Reorganize and clean up MM_ARG_ENABLE_WARNINGSDaniel Elstner2009-08-151-53/+56
| | | | | | | | | | | | | | * macros/mm-warnings.m4 (_MM_ARG_ENABLE_WARNINGS_OPTION): Move the AC_ARG_ENABLE() call from MM_ARG_ENABLE_WARNINGS() to this separate macro, in order to use it via AC_REQUIRE(). Although Autoconf deals correctly with duplicated calls to AC_ARG_ENABLE(), it is made more explicit this way and avoids repeating the variable assignment. (MM_ARG_ENABLE_WARNINGS): Require _MM_ARG_ENABLE_WARNINGS_OPTION and _MM_PRE_INIT. If the current language could not be detected as C or C++ at runtime, bail out with an error message instead of silently ignoring the request to gather compiler warning flags. Also, avoid emitting dead shell commands if the deprecation-prefixes argument is not used.
* Restructure and comment MM_ARG_WITH_TAGFILE_DOCDaniel Elstner2009-08-151-16/+22
| | | | | | | | | | | | * macros/mm-doc.m4 (_MM_ARG_WITH_TAGFILE_DOC): Add a fourth parameter pkg-variable to avoid repeating the M4 expression to select between the ${htmlrefdir} and ${htmlrefpub} values for @DOXYGEN_TAGFILES@. Simplify the AS_CASE logic used to test for a trailing slash. Move the code which appends a trailing slash to ${htmlrefpub} to a later point in the shell execution, in order to correctly append the slash to a user-supplied local path as well. (MM_ARG_WITH_TAGFILE_DOC): Pass the additional pkg-variable argument to _MM_ARG_WITH_TAGFILE_DOC().
* Require _MM_PRE_INIT in MM_PKG_CONFIG_SUBSTDaniel Elstner2009-08-151-1/+2
|
* Remove _MM_PRE_INIT from mm-module.m4Daniel Elstner2009-08-151-9/+1
|
* Implement MM_PREREQ() Autoconf macroDaniel Elstner2009-08-151-0/+47
| | | | | | | | | | | * macros/mm-common.m4.in: New configure input file. (_MM_PRE_INIT): Move macro from mm-module.m4 to mm-common.m4. (MM_PREREQ): Implement a version check macro akin to AC_PREREQ() and similar macros. This may be used to ensure the presence of a minimum version of the mm-common package at the time the configure script is generated, should the need ever arise. * configure.ac (AC_CONFIG_FILES): Add output file macros/mm-common.m4. * Makefile.am (aclocal_macro_DATA): Install macros/mm-common.m4.
* Correctly append / to local links as wellDaniel Elstner2009-08-131-5/+4
| | | | | | * macros/mm-doc.m4 (_MM_ARG_WITH_TAGFILE_DOC): Correct the previous change and also append a trailing slash to directories retrieved via pkg-config.
* Correct mangled links to external documentationDaniel Elstner2009-08-131-1/+4
| | | | | | * macros/mm-doc.m4 (_MM_ARG_WITH_TAGFILE_DOC): Append a trailing slash to $mm_htmlrefdir and $mm_htmlrefpub if the path does not end in a slash already and is not empty.
* Do not substitute zero-length documentation prefixDaniel Elstner2009-08-111-5/+10
| | | | | | | | * macros/mm-doc.m4 (_MM_ARG_WITH_TAGFILE_DOC): Correctly test whether the location prefix given for a tag file is set, and do not assign an empty prefix to a tag file in the @DOXYGEN_TAGFILES@ output variable. For the $(DOCINSTALL_FLAGS) list, omit the flag altogether if no path can be substituted.
* Fix test for already set MMDOCTOOLDIR variableDaniel Elstner2009-08-111-3/+5
| | | | | | | | * macros/mm-doc.m4 (_MM_CONFIG_DOCTOOL_DIR): Replace the completely bogus condition, intended to check whether MMDOCTOOLDIR is already set, by a test which actually does that. (MM_ARG_ENABLE_DOCUMENTATION): Require MM_CONFIG_DOCTOOL_DIR(). (MM_ARG_WITH_TAGFILE_DOC): ditto.
* Make mm-doc.m4 macros call _MM_PRE_INIT if neededDaniel Elstner2009-08-101-0/+2
| | | | | * macros/mm-doc.m4: Add AC_REQUIRE([_MM_PRE_INIT]) calls to public macros to ensure that the initialization is always expanded first.
* Make mm-common-prepare copy doc tools on requestDaniel Elstner2009-08-101-1/+55
| | | | | | | | | | | | * Makefile.am (dist_doctool_DATA): Install documentation utilities to the $(pkgdatadir)/doctool directory. * macros/mm-doc.m4 (MM_CONFIG_DOCTOOL_DIR): New Autoconf macro for locating the documentation utilities. Either a local directory in the source tree can be used, or alternatively pkg-config will be invoked and request the install location from the glibmm-2.4 module. * util/mm-common-prepare.in: Scan configure.ac for calls to the new MM_CONFIG_DOCTOOL_DIR() macro. If a local directory name was given, copy the documentation utilities into the source tree.
* Add implicit pre-initialization to mm-moduleDaniel Elstner2009-08-091-1/+10
| | | | | | | * macros/mm-module.m4 (_MM_PRE_INIT): New private pre-initialization macro. For now, it does not do much except for installing a forbidden token pattern in order to catch unexpanded MM_ macros. (MM_INIT_MODULE): Invoke _MM_PRE_INIT through AC_REQUIRE().
* Split MM_ARG_ENABLE_DOCUMENTATION for AC_REQUIREDaniel Elstner2009-08-081-17/+30
| | | | | | | * macros/mm-doc.m4 (MM_ARG_ENABLE_DOCUMENTATION): Move the macro body to a separate implementation macro, pulled in by means of AC_REQUIRE. The indirection ensures the consistent use of AC_REQUIRE, so that the macro is always expanded only once.
* Handle relative path to tag file correctlyDaniel Elstner2009-08-071-2/+3
| | | | | | * macros/mm-doc.m4 (_MM_ARG_WITH_TAGFILE_DOC): Prepend the absolute path of the current directory to the tag file path if the path given to the --with-MODULE-tags option has a leading "." or ".." component.
* Turn '+' in module name into 'X' for identifierDaniel Elstner2009-08-061-3/+4
| | | | | | * macros/mm-module.m4 (_MM_INIT_MODULE_BASENAME): Insert a call to m4_translit() to change '+' characters in the module name into 'X' for the preprocessor identifier.
* Create mm-common moduleDaniel Elstner2009-08-044-0/+359