Add maintainer mode to build

This commit is contained in:
Jay Berkenbilt 2021-12-22 07:41:10 -05:00
parent 5b6cf45f83
commit 1c420e852c
5 changed files with 41 additions and 9 deletions

View File

@ -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

View File

@ -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@

View File

@ -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

24
configure vendored
View File

@ -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

View File

@ -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)