aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README-maintainer8
-rw-r--r--autoconf.mk.in1
-rw-r--r--autofiles.sums2
-rwxr-xr-xconfigure24
-rw-r--r--configure.ac15
5 files changed, 41 insertions, 9 deletions
diff --git a/README-maintainer b/README-maintainer
index aaa0a61c..3f85a684 100644
--- a/README-maintainer
+++ b/README-maintainer
@@ -4,17 +4,17 @@ ROUTINE DEVELOPMENT
Default:
-./configure CXX="g++ --std=c++14" --enable-werror --enable-doc-maintenance
+./configure CXX="g++ --std=c++14" --enable-werror --enable-maintainer-mode
Debugging:
./configure CXX="g++ --std=c++14" CFLAGS="-g" CXXFLAGS="-g" \
- --enable-werror --disable-shared
+ --enable-werror --disable-shared --enable-maintainer-mode
Profiling:
./configure CXX="g++ --std=c++14" CFLAGS="-g -pg" CXXFLAGS="-g -pg" \
- LDFLAGS="-pg" --enable-werror --disable-shared
+ LDFLAGS="-pg" --enable-werror --disable-shared --enable-maintainer-mode
Then run `gprof gmon.out`. Note that gmon.out is not cumulative.
@@ -24,7 +24,7 @@ Memory checks:
CXXFLAGS="-fsanitize=address -fsanitize=undefined -g" \
LDFLAGS="-fsanitize=address -fsanitize=undefined" \
CC=clang CXX="clang++ --std=c++14" \
- --enable-werror --disable-shared
+ --enable-werror --disable-shared --enable-maintainer-mode
CHECKING DOCS ON readthedocs
diff --git a/autoconf.mk.in b/autoconf.mk.in
index 34a19801..34ed5c50 100644
--- a/autoconf.mk.in
+++ b/autoconf.mk.in
@@ -34,6 +34,7 @@ LIBTOOL=@LIBTOOL@
USE_CRYPTO_NATIVE=@USE_CRYPTO_NATIVE@
USE_CRYPTO_OPENSSL=@USE_CRYPTO_OPENSSL@
USE_CRYPTO_GNUTLS=@USE_CRYPTO_GNUTLS@
+MAINTAINER_MODE=@MAINTAINER_MODE@
SPHINX=@SPHINX@
BUILD_HTML=@BUILD_HTML@
BUILD_PDF=@BUILD_PDF@
diff --git a/autofiles.sums b/autofiles.sums
index 0190d135..fc53cd2c 100644
--- a/autofiles.sums
+++ b/autofiles.sums
@@ -1,4 +1,4 @@
-c2704f4dca902266b5356fc80558ee642a5df6fac0ca97367903cb62efef5e75 configure.ac
+16ac2eb6f8e5b191f8f89d6447338b672c43c49c6d682b17a489ae584d38de4c configure.ac
d3f9ee6f6f0846888d9a10fd3dad2e4b1258be84205426cf04d7cef02d61dad7 aclocal.m4
c12d837479fa9a3fa4c278b6dc7d6b449503d663e0f0d294305595a51ff43f70 libqpdf/qpdf/qpdf-config.h.in
5297971a0ef90bcd5563eb3f7127a032bb76d3ae2af7258bf13479caf8983a60 m4/ax_cxx_compile_stdcxx.m4
diff --git a/configure b/configure
index 9b17a651..33d6fc94 100755
--- a/configure
+++ b/configure
@@ -722,6 +722,7 @@ SHA256SUM
ACLOCAL
AUTOHEADER
AUTOCONF
+MAINTAINER_MODE
target_alias
host_alias
build_alias
@@ -764,6 +765,7 @@ SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
+enable_maintainer_mode
enable_check_autofiles
enable_shared
enable_static
@@ -1445,6 +1447,10 @@ Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-maintainer-mode
+ turn on features intended for maintainers that may
+ change generated files and require additional tools;
+ implies enable-doc-maintenances
--enable-check-autofiles
if specified, verify checksums on automatically
generated files (default=yes); package maintainers
@@ -1488,7 +1494,8 @@ Optional Features:
console; useful for building on build servers where
you can't easily open the test output files
--enable-doc-maintenance
- if set, enables all documentation options
+ if set, enables all documentation options; also
+ turned on by maintainer mode
--enable-html-doc whether to build HTML documents
--enable-pdf-doc whether to build PDF documents
--enable-oss-fuzz if set, build static fuzzers for oss-fuzz
@@ -2647,6 +2654,19 @@ ac_config_files="$ac_config_files libqpdf.map"
ac_config_headers="$ac_config_headers libqpdf/qpdf/qpdf-config.h"
+
+# Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then :
+ enableval=$enable_maintainer_mode; if test "$enableval" = "no"; then
+ MAINTAINER_MODE=0
+ else
+ MAINTAINER_MODE=1
+ fi
+else
+ MAINTAINER_MODE=0
+fi
+
+
# Check whether --enable-check-autofiles was given.
if test "${enable_check_autofiles+set}" = set; then :
enableval=$enable_check_autofiles; if test "$enableval" = "no"; then
@@ -18594,7 +18614,7 @@ if test "${enable_doc_maintenance+set}" = set; then :
doc_default=0;
fi
else
- doc_default=0
+ doc_default=$MAINTAINER_MODE
fi
diff --git a/configure.ac b/configure.ac
index f5f789f4..86a71254 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,6 +10,17 @@ AC_CONFIG_FILES([libqpdf.pc])
AC_CONFIG_FILES([libqpdf.map])
AC_CONFIG_HEADERS([libqpdf/qpdf/qpdf-config.h])
+AC_SUBST(MAINTAINER_MODE)
+AC_ARG_ENABLE(maintainer-mode,
+ AS_HELP_STRING([--enable-maintainer-mode],
+ [turn on features intended for maintainers that may change generated files and require additional tools; implies enable-doc-maintenances]),
+ [if test "$enableval" = "no"; then
+ MAINTAINER_MODE=0
+ else
+ MAINTAINER_MODE=1
+ fi],
+ [MAINTAINER_MODE=0])
+
AC_ARG_ENABLE(check-autofiles,
AS_HELP_STRING([--enable-check-autofiles],
[if specified, verify checksums on automatically generated files (default=yes); package maintainers may want to disable this]),
@@ -801,13 +812,13 @@ AC_CHECK_PROG(SPHINX,sphinx-build,sphinx-build,[])
AC_ARG_ENABLE(doc-maintenance,
AS_HELP_STRING([--enable-doc-maintenance],
- [if set, enables all documentation options]),
+ [if set, enables all documentation options; also turned on by maintainer mode]),
[if test "$enableval" = "yes"; then
doc_default=1;
else
doc_default=0;
fi],
- [doc_default=0])
+ [doc_default=$MAINTAINER_MODE])
BUILD_HTML=0
AC_SUBST(BUILD_HTML)