Yes, basically. And, optionally, an extra path (for non-toolchain binaries). So setting --with-devkit is, in a way, a convenient way of setting all these three options, in a way that works together and makes sense.
That is, more or less, the same behavior we've had all the time, but it's slightly more formalized now. /Magnus > On 26 mar 2014, at 23:48, David Holmes <david.hol...@oracle.com> wrote: > >> On 26/03/2014 9:57 PM, Magnus Ihse Bursie wrote: >> >>> On 2014-03-26 12:51, David Holmes wrote: >>> sysroots and tool-chains and dev-kits! oh my! >>> >>> Seriously, what does all this mean for someone who just wants to build >>> the OpenJDK? I use dev-kit for cross-compilation builds but I have no >>> idea what these different things are supposed to represent. >> >> You can continue to use --with-devkit as you had. That was one of the >> design goals for this change. >> >> The theory is something like this: >> * A "sysroot" is a stripped-down root directory of the *target* >> platform, containing include files and libraries needed to compile and >> link for a target (possibly cross-) platform. >> * The toolchain path is one or more directories that contains binaries >> that will run on the build platform, but generate code for the target >> platform. While the separation is somewhat fuzzy, we use the toolchain >> path for "toolchain" binaries, basically, those that compile, link or >> otherwise interact with the target platform binaries. >> * The extra path is one or more directories that contain any kind of >> binaries, e.g. a proper version of zip or grep. If you do not deal with >> cross-platform devkits, there is no real difference between extra path >> and toolchain path. > > So what then is a "dev-kit"? A combined sysroot+tool-chain? > > Thanks, > David > >> And that is what is needed to encapsulate the tools needed to compile >> OpenJDK. >> >> /Magnus >> >>> >>> David >>> >>>> On 26/03/2014 8:32 PM, Erik Joelsson wrote: >>>> Hello, >>>> >>>> (including 2d-dev/awt-dev because I'm changing linker flags on desktop >>>> libs.) >>>> >>>> In preparation for upgrading compilers and build platforms, we would >>>> like to get better separation between the two. At least on Linux and >>>> Solaris this is certainly possible. Some work for this was already done >>>> in Jdk 8 but it was never taken all the way through into actual usage. >>>> >>>> In this bug, the configure parameters relating to this will be >>>> changed to: >>>> >>>> --with-sysroot: Sets a sysroot directory that will be propagated to the >>>> compiler (gcc --sysroot) if supported and which will be used by >>>> configure to look for all dependencies like headers and libraries. (old >>>> --with-sys-root will be kept for compatibility as an alias) >>>> >>>> --with-toolchain-path: Prepends to the path when looking for compilers >>>> and other target specific tools. Replaces --with-tools-dir, which will >>>> also be kept for compatibility as an alias. >>>> >>>> --with-extra-path: Prepends to the path when looking for everything. >>>> >>>> --with-devkit: Points to the root of a devkit. A devkit may have a >>>> "devkit.info" in its root detailing values for the above three >>>> parameters. If not, the fallback behavior is what it used to do. (set >>>> toolchain_path to devkit/bin and some options for subdirs for sysroot) >>>> >>>> >>>> Along with these changes some more was needed and done: >>>> >>>> * To get it to work properly on Solaris, the OPENWIN variables were >>>> removed and replaced with X_LIBS and X_CFLAGS. Several unnecessary >>>> runtime paths for awt* libs were removed and some were added where they >>>> were actually needed instead. All the libs have been verified to still >>>> find their dependencies with ldd. >>>> >>>> * The devkit generation makefiles for linux (in root/make/devkit) were >>>> updated to the proposed compiler versions and adding the devkit.info >>>> file. >>>> >>>> * A minor fix in compare.sh that was missed in an earlier patch. >>>> >>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8038340 >>>> Webrevs: >>>> http://cr.openjdk.java.net/~erikj/8038340/webrev.root.01/ >>>> http://cr.openjdk.java.net/~erikj/8038340/webrev.jdk.01/ >>>> >>>> /Erik >>