Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6909026

Change GNU make version requirement to 3.81

XMLWordPrintable

    • b123
    • generic
    • generic

      Currently, any GNU make version 3.78.1 or newer can be used to build the jdk, this version of GNU make is quite old. Requiring a newer version (3.81) will allow for the use of some Makefile features not available in 3.78.1 or somewhat broken in the series of 3.78.1 -> 3.80 releases (namely $(eval) and $(wildcard)).

      This change is to adjust the Makefiles to do a sanity check that GNU make 3.81 or newer is being used to do the build (3.81 is the newest right now).

      Making this single change should catch any potential problems people might have building with 3.81, although none is expected on Solaris and Linux, Windows systems could have issues. The 3.81 version should be freely available, and is easily buildable if binaries cannot be found.

      The one known issue using GNU make 3.81 is with Windows and the MKS Unix ToolKit. The jdk7 and openjdk projects recommend the use of CYGWIN Unix tools, however MKS tools can be used (undocumented in the public OpenJDK README-builds.html file). The issue relates to the use of quotes on command lines, things like -Dx="\"abc\"" may not work properly, but -DX='"abc"' should work fine. The jdk7 Makefiles should have all the n ecessary -Dx="\"abc\""-> -DX='"abc"' changes.

      The Windows CYGWIN version has always been an issue with regards to understanding the C:/ or C:\ style paths, so it is recommended that the GNU make 3.81 from http://www.cmake.org/files/cygwin/make.exe. GNU make 3.81 needs to be built a special way to allow for these C: paths, otherwise you get strange build target or dependency errors (dual use of the : character in Makefile target lines).

            ohair Kelly Ohair (Inactive)
            ohair Kelly Ohair (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: