David Holmes (david.hol...@oracle.com) wrote:
> John Coomes said the following on 05/04/11 02:37:
> > David Holmes (david.hol...@oracle.com) wrote:
> >> I've just made the change as John suggested and to be honest I don't 
> >> know why I didn't think of that myself. I do see your point though, by 
> >> setting it the same the build will always use the ALT_SRC in the OpenJDK 
> >> case - but this will be fine because it is the same as COMMON_SRC. This 
> >> is only used to generate the Makefiles during the buildtree phase so I 
> >> don't think it is really a concern either way.
> > 
> > FWIW, I prefer the change you've made, but don't feel that strongly
> > about it.
> > 
> >> To be honest I'm doubting the whole rationale for this change as it 
> >> means that an OPENJDK build will never use the alt-src mechanism, when 
> >> according to the comments alt-src was also intended to be used by others 
> >> for introducing alternative code into their builds/distributions. In 
> >> those cases you may well want both alt-src and OPENJDK (given that 
> >> OPENJDK could be being set at the top-level JDK makefile).
> > 
> > IMHO, better if an OPENJDK build doesn't use alt-src, at least by
> > default.  And I suspect you can override HS_ALT_SRC_REL from the gmake
> > command line, even when OPENJDK==true (haven't tried it, though).
> 
> No. Unless you use -e a variable's value from the environment will be 
> overridden by an explicit assignment in the Makefile.  ...

True about the environment, but I meant this:

        gmake product OPENJDK=true HS_ALT_SRC_REL=my_impl

which will override the assignment within the make file
(http://www.gnu.org/s/hello/manual/make/Overriding.html#Overriding).

>                                                   ... Which means that 
> the better fix here is:
> 
> + 36 ifndef HS_ALT_SRC_REL
>    37   ifneq ($(OPENJDK),true)
>    38     # This needs to be changed to a more generic location, but we 
> keep it as this
>    39     # for now for compatibility
>    40
>    41     HS_ALT_SRC_REL=src/closed
>    42   else
>    43     HS_ALT_SRC_REL=$(HS_COMMON_SRC_REL)
>    44   endif
> + 45 endif

This version treats HS_ALT_SRC_REL differently from other vars, in
that a value from the environment overrides the assignment in the
makefile, even without the -e option to gmake.

-John

Reply via email to