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