1
0
mirror of https://github.com/apache/httpd.git synced 2025-04-18 22:24:07 +03:00

Add buildconf option to force (rather than suppress) regeneration of

the ap_expr parser.  Add a Travis job which uses this, so a patch
which changes the parser sources is tested appropriately (e.g PR#72).

* buildconf: Add --with-regen-expr to force ap_expr regeneration.

* .travis.yml, test/travis_run_linux.sh: Pass BUILDCONF to buildconf
  and add job which uses the new option.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1869697 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Joe Orton 2019-11-12 12:45:57 +00:00
parent 7994f49599
commit 2dd0046f30
3 changed files with 30 additions and 9 deletions

View File

@ -62,6 +62,11 @@ matrix:
- libnghttp2-dev
- libjansson-dev
# -------------------------------------------------------------------------
- name: Linux Ubuntu, Regenerate ap_expr
os: linux
env: CONFIG="--enable-mods-shared=reallyall --enable-maintainer-mode NOTEST_CFLAGS=-Werror"
BUILDCONFIG="--with-regen-expr"
# -------------------------------------------------------------------------
- if: branch != 2.4.x
name: Linux Ubuntu, APR trunk
env: APR_VERSION=trunk APR_CONFIG="--with-crypto"

View File

@ -37,6 +37,10 @@ esac
apr_src_dir="srclib/apr ../apr"
apu_src_dir=""
# By default, touch the checked-in sources to suppress regeneration of
# the ap_expr parser.
regen_expr=no
while test $# -gt 0
do
# Normalize
@ -54,6 +58,10 @@ do
apu_src_dir=$optarg
;;
--with-regen-expr)
regen_expr=yes
;;
-h|--help)
cat <<EOF
buildconf: generates the files needed to configure httpd.
@ -74,6 +82,9 @@ Configuration:
"apr" replaced with "apr-util" or "aprutil". Ignored
in APR-Config Mode.
--with-regen-expr suppress the timestamp adjustment which prevents the
rebuild of the ap_expr expression parser
APR-Config Mode:
When passing an apr-config executable to --with-apr, buildconf will attempt to
@ -316,13 +327,18 @@ if [ -f `which cut` ]; then
> httpd.spec )
fi
# ensure that the ap_expr expression parser sources are never regenerated
# when running make
echo fixing timestamps for ap_expr sources
cd server
touch util_expr_parse.y util_expr_scan.l
sleep 1
touch util_expr_parse.c util_expr_parse.h util_expr_scan.c
cd ..
if [ x$regen_expr = xno ]; then
# ensure that the ap_expr expression parser sources are never regenerated
# when running make
echo buildconf: Fixing timestamps for ap_expr sources to prevent regeneration
cd server
touch util_expr_parse.y util_expr_scan.l
sleep 1
touch util_expr_parse.c util_expr_parse.h util_expr_scan.c
cd ..
else
echo buildconf: Fixing timestamps for ap_expr sources to ensure regeneration
touch server/util_expr_parse.[yl]
fi
exit 0

View File

@ -1,7 +1,7 @@
#!/bin/bash -ex
### Installed apr/apr-util don't include the *.m4 files but the
### Debian packages helpfully install them, so use the system APR to buildconf
./buildconf --with-apr=/usr/bin/apr-1-config
./buildconf --with-apr=/usr/bin/apr-1-config ${BUILDCONFIG}
# For trunk, "make check" is sufficient to run the test suite.
# For 2.4.x, the test suite must be run manually
if test ! -v SKIP_TESTING; then