RFR: 7130909 Add a more general mechanism for customizing the build logic
David Holmes
david.holmes at oracle.com
Fri Jul 20 08:12:42 UTC 2012
This continues from a preliminary discussion on the build-dev list way
back in January:
http://mail.openjdk.java.net/pipermail/build-dev/2012-January/005383.html
but now includes changes for the build-infra build, which now supports
the SE-Embedded builds
This has to be sent to three mailing lists:
- build-dev for legacy build
- build-infra for new build
- core-libs as a heads up of what is coming
The plan is to push this through the build-infra repositories to keep
everything together.
The intent is to move all of the SE-Embedded related build files (and
eventually other "closed" components) out of the OpenJDK repositories.
The mechanism for doing this is to allow the user to set a
CUSTOM_MAKE_DIR and then have specific makefiles use the -include
mechanism to then include the custom file if it exists. In its most
general form every makefile could include a custom counterpart - but
naturally we do not want to go there. So at present the only hooks are
around the places where the SE-Embedded specialization occurred.
The -include mechanism is used so that we don't need to a bunch of
existence tests. If a particular file is not found then make will ignore
that (aside: we should probably fix the makefiles so that make does not
try to create missing makefiles!) There is no expectation that you have
to provide a custom file for every hook that exists - you only provide
what you need.
On the build-infra side we allow for the CUSTOM_MAKE_DIR and add support
for the CUSTOM_CONFIG_DIR (which generalizes the "closed" config hook
that was recently added).
There are thus two webrevs. One for the jdk repo:
http://cr.openjdk.java.net/~dholmes/7130909/webrev.jdk/
make/* is legacy build changes
makefiles/* is new build-infra changes
the other in the root repo:
http://cr.openjdk.java.net/~dholmes/7130909/webrev.root/
which contains the build-infra changes to the autoconf stuff:
- add support for --with-custom-make-dir as a configure flag.
- modified the "closed hook" mechanism to
- rename closed hook to custom hook
- allow setting CUSTOM_CONFIG_DIR at autogen time and configure time,
to point to alternate location to find the custom-hook.m4 file
Note that because of the way this all works you must run autogen if you
want to specify a custom config dir for the custom-hook.m4.
But note that you don't need to have a custom config just to use
CUSTOM_MAKE_DIR!
Thanks,
David
More information about the build-dev
mailing list