The directory name in the zip we download from github's release
archive will be different now that the project was renamed.
It may be renamed again in the future, so try to obtain the directory
name from the zip.
Fixes https://github.com/apache/incubator-pagespeed-ngx/issues/1521
* provide scripts/rebuild.sh so you don't have to run make commands in
two directories
* make test/run_tests.sh able to run with no arguments by setting good defaults.
Instead of requiring people to answer a prompt to specify which additional
arguments they would like nginx to be built with, allow people to specify
arguments like this on the command line. The quoting is not ideal, since
it's important to pass spaces etc properly all the way through to the
underlying commands, but I give an example in the help text.
Fixes https://github.com/pagespeed/ngx_pagespeed/issues/1340
* installer: allow --dynamic-module to be used with tags
A user-friendly check with dynamic module building tries to warn people early if the version of ngx_pagespeed they're building is too old to be compiled as a dynamic module, but this can't work with tags. If we're given something other than a numeric version number, don't try to perform this check.
Fixes https://github.com/pagespeed/mod_pagespeed/issues/1443
* adds support for `--psol-from-source` so you don't need binary modules, and `--devel` so you can run our tests without going and getting all our dependencies
* adds submodules for testing: mod_pagespeed, ngx_cache_purge etc
* adds support for running as:
```
git clone git@github.com:pagespeed/ngx_pagespeed.git
cd ngx_pagespeed/
git checkout <branch>
scripts/build_ngx_pagespeed.sh [options]
```
* depends on the scripts @hillsp is working on so that we can just check out mod_pagespeed and ask it to build and rebuild itself
* adds colors to output to make it easier to read
We want to parse $additional_configure_args into an array the way the
shell would, which we're using eval for. But because we were missing
quotes whitespace was being stripped. Basically:
$ function lines() { for x in "$@"; do echo "$x"; done; }
$ lines a "b c" d
a
b c
d
$ a='a "b c" d'
$ eval e=($a)
$ eval f=("$a")
$ lines "${e[@]}"
a
b c
d
$ lines "${f[@]}"
a
b c
d
We were doing this like e when we should have been doing it like f.
* build_ngx_pagespeed: handle quoted arguments
If you enter --with-cc-opt='-arg1 -arg2' when the script asks for
additional arguments we want that to remain as one chunk all the way
through to being a single argument to ./configure