RFR: 7130909 Add a more general mechanism for customizing the build logic (original) (raw)
David Holmes david.holmes at oracle.com
Fri Jul 20 08:12:42 UTC 2012
- Previous message (by thread): RPATHS in binaries
- Next message (by thread): jdk builds on the mac
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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
- Previous message (by thread): RPATHS in binaries
- Next message (by thread): jdk builds on the mac
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]