Request for review: Build changes in preparation for SE-Embedded support
Dr Andrew John Hughes
ahughes at redhat.com
Tue Mar 15 23:00:35 UTC 2011
On 07:59 Wed 16 Mar , David Holmes wrote:
> Hi Andrew,
>
> See inline ...
>
> Dr Andrew John Hughes said the following on 03/16/11 07:43:
> > On 18:05 Tue 15 Mar , David Holmes wrote:
> >> BUILD_CLIENT_ONLY:
> >>
> >> http://cr.openjdk.java.net/~dholmes/jdk-bco/webrev/
> >>
> >> Provides support for building a JDK for which only the client VM is
> >> required and/or available. Essentially avoids copying any "server"
> >> components and creates a jvm.cfg file that aliases -server to -client.
> >> If BUILD_CLIENT_ONLY is selected on a 64-bit build then a sanity warning
> >> is issued. (This is only a warning because you can actually build 64-bit
> >> client Hotspot, it just isn't supported and you can't directly build it
> >> in a full JDK build without hacking a couple of Makefiles).
> >>
> >
> > There still seem to be some odd whitespace changes in this one. Otherwise,
> > looks sensible.
>
> emacs reported odd whitespace (space+Tab) in one of the makefiles so I
> fixed it.
>
Ok. I'd suggest keeping such changes separate, but you probably don't want to file
a CR just for this...
> >> ---
> >>
> >> Cross-compilation support:
> >>
> >> http://cr.openjdk.java.net/~dholmes/jdk-crosscomp/webrev/
> >>
> >> Basic support for cross-compilation, plus flags/settings etc for basic
> >> ARM and PPC support in the shared open code. Cross-compilation works as
> >> follows:
> >> - you must set the ALT_COMPILER_PATH and ALT_OPENWIN_HOME to point to
> >> your cross-compiler (you'll also need freetype configured correctly)
> >
> > What is ALT_OPENWIN_HOME? And why should using the cross-compilation build
> > mean that 'X11 headers are not under /usr/include'? Why 'OPENWIN' and not
> > 'X11'?
>
> OPENWIN_HOME/ALT_OPENWIN_HOME are the variables used to control where to
> find the graphics includes and libraries. These are pre-existing build
> variables (though part of the AWT update forward ports some changes from
> JDK6 that replaces hard-wired paths with use of these variables). When
> cross-compiling you need to use the graphics headers that are part of
> your cross-compilation toolset, not those on your build system (some
> compilers will even warn you if you do use the system ones).
>
> OPENWIN is a legacy name from the old Solaris/SunOS graphics stack:
>
> http://en.wikipedia.org/wiki/OpenWindows
>
Ok, so it's a legacy name for X11 that means something to Solaris users :-)
>
> >> - CROSS_COMPILE_ARCH should be set to the architecture you are building
> >> for eg ARM, PPC
> >> - EXTRA_CFLAGS can be used to pass cross-compilation specific compile
> >> options
> >> - HOST_CC is a compiler that can produces binaries that can run on the
> >> build host (used in a few parts of the JDK build). This defaults to gcc
> >> on Linux but must be explicitly set elsewhere
> >> - Some build features such as freetype-check and
> >> binary-file-verification are disabled as they don't apply when
> >> cross-compiling
> >>
> >
> > Rest seems ok.
>
> Thanks!
>
> Once I have Kelly's ok I'll create the CRs and get this pushed ASAP.
>
> David
> -----
>
> >> The above will form the basis of the documentation for these changes,
> >> but as it seems the docs live in a different repository (???) I'll need
> >> to file a separate CR etc for that.
> >>
> >> Thanks for the reviews.
> >>
> >> Kelly: I will need to push these via TL not BUILD due to various
> >> dependencies. However I also need the module changes to propagate from
> >> BUILD to TL before doing so. :(
> >>
> >> David Holmes
> >> Java SE Embedded Group
> >
--
Andrew :)
Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)
Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37
More information about the build-dev
mailing list