How to specify the build output directory?

Mick Jordan mick.jordan at oracle.com
Mon Oct 28 11:23:35 PDT 2013


On 10/28/13 11:03 AM, Volker Simonis wrote:
> Hi Mick,
>
> OpenJDK always had the ability to specify an alternative output
> direcory (ALT_OUTPUTDIR in the old build system or just the directory
> from which you call configure in the new build system). The same holds
> true for all GNU and autoconf configured software which actually
> strongly recommends not to build into the source directory.
>
> It may be that this is different for Maven which I'm not familiar at
> all with and which always seemed a little obscure to me. But anyway
> that only seems to work for Java-only code which is not the case here.
>
> Nevertheless thank you for pointing out the background of mx. I'll try
> and see how far I can get with you and Doug's hints.
>
> Regards,
> Volker
>
> PS: the big and ugly .hgignore file already seemed suspicious to me
> right after I cloned Graal for the first time:) Now I know why it is
> needed...
>
>
Generally, I would absolutely agree with you that build directories 
should be completely separate from the source. In some sense that 
happens in the Java-only side of the mx world in that the 'bin' 
directory is separate from the 'src' directory and can be freely deleted 
with 'rm -r' without consequence. As you surmise mx started off 
supporting primarily Java in the Maxine VM research project. That system 
had almost no native code, just one project. Even though we supported, 
for a while, SPARC and x86 and Linux,MacOS and Solaris, we never put in 
the support to build those from the same workspace, because the gain 
didn't seem worthwhile. Developers typically worked on one architecture 
and one OS. Our testing infrastructure did all the multi-platform tests, 
all in separately cloned workspaces.

Now, in addition to adding Hotspot into the mix, we also have 'derived' 
source created by annotation processors. In practice that code is 
platform-independent, but it's really an 'output'.

Mick



More information about the graal-dev mailing list