New build system problems

Martin Buchholz martinrb at google.com
Mon Feb 25 22:10:37 UTC 2013


I'm willing to let someone else on build-dev take over this change, or I
can implement some clear policy.
It seems reasonable to do:

windows => cl
solaris => cc gcc
anything else => gcc cc

With environment variables to allow experimental use of insane^Wunsupported
compilers.

Do we have consensus on that?

Martin

On Sun, Feb 24, 2013 at 12:19 AM, Dmitry Samersoff <
dmitry.samersoff at oracle.com> wrote:

>
> 1. for windows compiler checklist become:   cl cc gcc
>
> I'm not sure we need to check for cc on windows, also gcc build on
> windows is not supported. So It might be better to be more explicit:
>
>  256   COMPILER_CHECK_LIST="cc gcc"
>        # Overriding COMPILER_CHECK_LIST to set OS specific preferences
>  257   if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
>  258     # Do not probe for cc on MacOSX.
>  259     COMPILER_CHECK_LIST="gcc"
>  260   fi
>  261   if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
>  262     COMPILER_CHECK_LIST="cl"
>  263   fi
>
>
> 2. Not all versions of test support == as equation. It's better to use
> single one. and I would prefer to have quotes around xmacosx and
> xwindows just for consistency. i.e.
>
> if test "x$OPENJDK_TARGET_OS" = "xwindows";
>
> -Dmitry
>
>
> On 2013-02-24 00:05, Martin Buchholz wrote:
> > Hi Erik, Tim, Kelly
> >
> > Here's a proposed fix for you to review:
> >
> > http://cr.openjdk.java.net/~martin/webrevs/openjdk8/COMPILER_CHECK_LIST/
> >
> > Martin
> >
> > On Fri, Jan 25, 2013 at 3:51 PM, Martin Buchholz <martinrb at google.com
> >wrote:
> >
> >> I was trying out the shiny new build system.
> >>
> >> Problem: configure is not executable - must run bash ./configure
> >> It's traditional for configure scripts to be executable.
> >>
> >> Problem: Your life is hell if you have a non-compiler "cl" command on
> your
> >> PATH, even on Linux.
> >>
> >> checking for cl... /usr/bin/cl
> >> configure: Resolving CC (as /usr/bin/cl) failed, using /usr/bin/cl
> >> directly.
> >>
> >> with subsequent failure to compile.
> >>
> >> Even if you specify the compiler explicitly, it doesn't help:
> >>
> >> CC=/usr/bin/gcc CXX=/usr/bin/g++ bash ./configure
> >>
> >> Of course, one can work around this by creating a "tools dir", but
> >> excising the unloved cl from the configure script is tempting and
> effective.
> >>
>
>
> --
> Dmitry Samersoff
> Oracle Java development team, Saint Petersburg, Russia
> * Give Rabbit time, and he'll always get the answer
>



More information about the build-dev mailing list