summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorLarry Knox <lrknox@hdfgroup.org>2020-12-18 20:31:19 (GMT)
committerGitHub <noreply@github.com>2020-12-18 20:31:19 (GMT)
commit179dfd5a25e183ce1139c79e51ec28bffa7694b6 (patch)
tree8e4e57bdc5a7d38d8b6cfa36cd8a586e2e46b5ff /configure
parent353665f95e57a393070ae854685025e6bc7585e7 (diff)
downloadhdf5-179dfd5a25e183ce1139c79e51ec28bffa7694b6.zip
hdf5-179dfd5a25e183ce1139c79e51ec28bffa7694b6.tar.gz
hdf5-179dfd5a25e183ce1139c79e51ec28bffa7694b6.tar.bz2
Restores maintainer mode in the autotools (#200) (#204)
* close #195. (#196) * Update HDF5PluginMacros.cmake * Update HDF5PluginMacros.cmake * Restores maintainer mode in the autotools (#200) Maintainer mode should be enabled in development branches. Also adds helpful commenting. Add script bin/switch_maint_mode. Add file changes generated by bin reconfigure in src/H5Edefin.h src/H5Einit.h src/H5Epubgen.h src/H5Eterm.h * Update MANIFEST for switch_maint_mode. Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure55
1 files changed, 42 insertions, 13 deletions
diff --git a/configure b/configure
index b8fe049..e0d5e1b 100755
--- a/configure
+++ b/configure
@@ -1591,8 +1591,8 @@ Optional Features:
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-silent-rules less verbose build output (undo: "make V=1")
--disable-silent-rules verbose build output (undo: "make V=0")
- --enable-maintainer-mode
- enable make rules and dependencies not useful (and
+ --disable-maintainer-mode
+ disable make rules and dependencies not useful (and
sometimes confusing) to the casual installer
--enable-sanitize-checks=address
(clang/clang++ compilers only) Enable sanitize
@@ -3764,16 +3764,45 @@ fi
AM_BACKSLASH='\'
-## AM_MAINTAINER_MODE turns off "rebuild rules" that contain dependencies
-## for Makefiles, configure, src/H5config.h, etc. If AM_MAINTAINER_MODE
-## is *not* included here, these files will be rebuilt if out of date.
-## This is a problem because if users try to build on a machine with
-## the wrong versions of autoconf and automake, these files will be
-## rebuilt with the wrong versions and bad things can happen.
-## Also, CVS doesn't preserve dependencies between timestamps, so
-## Makefiles will often think rebuilding needs to occur when it doesn't.
-## Developers should './configure --enable-maintainer-mode' to turn on
-## rebuild rules.
+## AM_MAINTAINER_MODE determines the behavior of "rebuild rules" that contain
+## dependencies for Makefile.in files, configure, src/H5config.h, etc. If
+## AM_MAINTAINER_MODE is enabled, these files will be rebuilt if out of date.
+## When disabled, the autotools build files can get out of sync and the build
+## system will not complain or try to regenerate downstream files.
+##
+## The AM_MAINTAINER_MODE macro also determines whether the
+## --(enable|disable)-maintainer-mode configure option is available. When the
+## macro is present, with or without a parameter, the option will be added
+## to the generated configure script.
+##
+## In summary:
+##
+## AM_MAINTAINER_MODE([enable])
+## - Build dependencies ON by default
+## - Configure option exists
+##
+## AM_MAINTAINER_MODE([disable])
+## - Build dependencies OFF by default
+## - Configure option exists
+##
+## AM_MAINTAINER_MODE
+## - Build dependencies OFF by default
+## - Configure option exists
+##
+## No AM_MAINTAINER_MODE macro
+## - Build dependencies ON by default
+## - No configure option to control build dependencies
+##
+## The biggest concern for us is that version control systems like git
+## usually don't preserve dependencies between timestamps, so the build
+## system will often think that upstream build files like Makefile.am are
+## dirty and that rebuilding needs to occur when it doesn't. This is a problem
+## in release branches where we provide the autotools-generated files. Users
+## who don't have autoconf, automake, etc. will then have difficulty building
+## release branches checked out from git.
+##
+## By default, maintainer mode is enabled in development branches and disabled
+## in release branches.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
@@ -3781,7 +3810,7 @@ $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles
if test "${enable_maintainer_mode+set}" = set; then :
enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
else
- USE_MAINTAINER_MODE=no
+ USE_MAINTAINER_MODE=yes
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5