On 2015-01-16 10:34, Volker Simonis wrote:
Aadvanced bash completion is a cool feature I wasn't aware of until
now - thanks for mentioning it.
Also, it could be worth mentioning that bash completion works with
configure as well, but with a twist. The "bash configure" call pattern
does not work. :-(
So either you need to chmod your configure to executable (but this means
you must make sure not to check in that change), or you can add a helper
binary like the one below in your path (that's my choice).
Then you can do "configure --with-<TAB>" and get help with options.
Helper script:
ihse:~/bin$ cat configure
#!/bin/bash
if [ $(pwd) = $(cd $(dirname $0); pwd) ] ; then
echo >&2 "Abort: Trying to call configure helper recursively"
exit 1
fi
bash $PWD/configure "$@"
/Magnus
Unfortunately it doesn't seem to work out of the box on my Ubuntu
12.04. I only get:
$ make [TAB][TAB]
default Error help Makefile
Do you use a special completion script?
Thanks you and best regards,
Volker
/Erik
On 2015-01-15 18:33, Volker Simonis wrote:
Hi Magnus,
I've only had a quick look at your changes but I have a question.
When looking at the "make help" I think the relationship between
"repo", "target" and "module" is a little unclear.
As far as I understand a "target" is an artefact which can be named
and build by "make".
A "repo" is a collection of sources which is defined by our version
control system.
A "module" is a logical part of the resulting build output.
All these three are orthogonal (i.e. a "target" can build many
"modules" or just a part of a module, a "repo" can contain several
modules or just the part of a module, etc.)
I think that the division of the OpenJDK source into different repos
is unfortunate and somehow arbitrary. So maybe we should try to avoid
this term when speaking about make targets and modules.
I would also wish there was a dynamically created list of buildable
modules so we could do something like "make modules" to get this list.
I don't know if this is easily possible, it's just an idea.
Also the line "make [default] # Compile all modules in
langtools, hotspot, jdk, jaxws,.." seems a little confusing to me. It
speaks about modules but lists the current repos. So what are the
available moduls? What does "[default]" stands for?
I like the two "clean" targets:
make clean-<module>
make clean-<module>-<phase>
they are clear and concise (besides the fact that there's no module list).
I'd wish to have the same syntax for the build targets (instead of
make [default]). Something like:
make <module>
make <module>-<phase>
make jdk-image Creates a jre image containing
these modules (...) and docs
make jre-image Creates a jre image containing
these modules (...) and docs
make images Creates both, the jre and the jdk
image
I'm aware that this mail degenerated more into a wish-list than a
review :) Maybe you find it useful nevertheless.
Regards,
Volker
On Thu, Jan 15, 2015 at 4:23 PM, Magnus Ihse Bursie
<[email protected]> wrote:
This fix is the result of preparatory work in the build-infra project.
It
includes:
* Remove duplicate detection of comm on Windows
* compare.sh enhancements and bug fixes
* Do not fail in SetupFoo macros on empty arguments
* Minor JavaCompilation enhancements
* Makefile warns for unknown control variables
* Improved "make help"
Bug: https://bugs.openjdk.java.net/browse/JDK-8069064
WebRev:
http://cr.openjdk.java.net/~ihse/JDK-8069064-fixes-from-build-infra/webrev.01
/Magnus