--- Mk/bsd.default-versions.mk.ori 2020-03-18 22:44:36.600149000 -0700 +++ Mk/bsd.default-versions.mk 2020-03-18 22:45:04.084215000 -0700 @@ -51,6 +51,8 @@ .endif # Possible values: 7, 8, 9, agpl GHOSTSCRIPT_DEFAULT?= agpl +# Allowed values: 7 8 11 12 13 +JAVA_DEFAULT?=8 # Possible values: 0.6, 0.7, 1.0, 1.1 JULIA_DEFAULT?= 1.0 # Possible values: 2.0.6 --- Mk/bsd.java.mk.ori 2020-03-18 22:44:42.328657000 -0700 +++ Mk/bsd.java.mk 2020-03-20 21:39:40.360626000 -0700 @@ -223,6 +223,15 @@ # Error checking: JAVA_VERSION .if defined(JAVA_VERSION) +.for A_VER in ${JAVA_VERSION} +.if "${A_VER:C/^([0-9])(\.)([0-9])(.*)$/\2/}" == "." +_JAVA_VERSION_MIN= ${A_VER:C/^([0-9])\.([0-9])(.*)$/\2/} +_CAN_USE_NEWER= ${A_VER:C/^([0-9])\.([0-9])(.*)$/\3/} +.else +_JAVA_VERSION_MIN= ${A_VER:C/^([0-9])(.*)$/\1/} +_CAN_USE_NEWER= ${A_VER:C/^([0-9])(.*)$/\2/} +.endif +.endfor .if !defined(_JAVA_VERSION_LIST_REGEXP) _JAVA_VERSION_LIST_REGEXP= ${_JAVA_VERSION_LIST:C/\+/\\+/:ts|} .endif @@ -230,6 +239,11 @@ check-makevars:: @( test ! -z "${JAVA_VERSION}" && ( ${ECHO_CMD} "${JAVA_VERSION}" | ${TR} " " "\n" | ${GREP} -Eq "${_JAVA_VERSION_LIST_REGEXP}")) || \ (${ECHO_CMD} "${PKGNAME}: Makefile error: \"${JAVA_VERSION}\" is not a valid value for JAVA_VERSION. It should be one or more of: ${__JAVA_VERSION_LIST} (with an optional \"+\" suffix.)"; ${FALSE}) +# warn user if JAVA_DEFAULT is less than JAVA_VERSION_MIN and that would be using JAVA_VERSION_MIN instead for the port + @( test ${JAVA_DEFAULT} < ${_JAVA_VERSION_MIN} && ( ${ECHO_CMD} "${JAVA_DEFAULT} is less than required port version ${_JAVA_VERSION_MIN}. Using version the port's required version ${_JAVA_VERSION_MIN} instead."); ${TRUE}) +. if ${JAVA_DEFAULT} < ${_JAVA_VERSION_MIN} +JAVA_DEFAULT= ${_JAVA_VERSION_MIN} +. endif .endif # Error checking: JAVA_VENDOR @@ -333,7 +347,11 @@ . for i in ${_JAVA_PORTS_INSTALLED_POSSIBLE} . if !defined(_JAVA_PORTS_INSTALLED_POSSIBLE_shortcircuit) _JAVA_PORT= $i +_JAVA_PORT_INFO:= ${_JAVA_PORT:S/^/\${_/:S/$/_INFO}/} +JAVA_PORT_VERSION= ${_JAVA_PORT_INFO:MVERSION=*:S,VERSION=,,} +. if ${JAVA_DEFAULT} == ${JAVA_PORT_VERSION} || (defined(_CAN_USE_NEWER) && "${_CAN_USE_NEWER}" == "" && ${_JAVA_VERSION_MIN} == ${JAVA_PORT_VERSION}) _JAVA_PORTS_INSTALLED_POSSIBLE_shortcircuit= 1 +. endif . endif . endfor # If no installed JDK port fits, then pick one from the list of possible ones @@ -341,15 +359,17 @@ . for i in ${_JAVA_PORTS_POSSIBLE} . if !defined(_JAVA_PORTS_POSSIBLE_shortcircuit) _JAVA_PORT= $i +_JAVA_PORT_INFO:= ${_JAVA_PORT:S/^/\${_/:S/$/_INFO}/} +JAVA_PORT_VERSION= ${_JAVA_PORT_INFO:MVERSION=*:S,VERSION=,,} +. if ${JAVA_DEFAULT} == ${JAVA_PORT_VERSION} || (defined(_CAN_USE_NEWER) && "${_CAN_USE_NEWER}" == "" && ${_JAVA_VERSION_MIN} == ${JAVA_PORT_VERSION}) _JAVA_PORTS_POSSIBLE_shortcircuit= 1 +. endif . endif . endfor . endif -_JAVA_PORT_INFO:= ${_JAVA_PORT:S/^/\${_/:S/$/_INFO}/} JAVA_PORT= ${_JAVA_PORT_INFO:MPORT=*:S,PORT=,,} JAVA_HOME= ${_JAVA_PORT_INFO:MHOME=*:S,HOME=,,} -JAVA_PORT_VERSION= ${_JAVA_PORT_INFO:MVERSION=*:S,VERSION=,,} JAVA_PORT_OS= ${_JAVA_PORT_INFO:MOS=*:S,OS=,,} JAVA_PORT_VENDOR= ${_JAVA_PORT_INFO:MVENDOR=*:S,VENDOR=,,} @@ -452,6 +472,7 @@ @${ECHO_CMD} "JAVA_BUILD= ${JAVA_BUILD}" @${ECHO_CMD} "JAVA_RUN= ${JAVA_RUN}" @${ECHO_CMD} "JAVA_EXTRACT= ${JAVA_EXTRACT}" + @${ECHO_CMD} "JAVA_DEFAULT= ${JAVA_DEFAULT}" @${ECHO_CMD} @${ECHO_CMD} "# JDK port dependency selection process:" @${ECHO_CMD} "_JAVA_PORTS_POSSIBLE= ${_JAVA_PORTS_POSSIBLE}" @@ -459,6 +480,8 @@ @${ECHO_CMD} "_JAVA_PORTS_INSTALLED_POSSIBLE= ${_JAVA_PORTS_INSTALLED_POSSIBLE}" @${ECHO_CMD} "_JAVA_PORT= ${_JAVA_PORT}" @${ECHO_CMD} "_JAVA_PORT_INFO= ${_JAVA_PORT_INFO:S/\t/ /}" + @${ECHO_CMD} "_JAVA_VERSION_MIN= ${_JAVA_VERSION_MIN}" + @${ECHO_CMD} "_CAN_USE_NEWER= ${_CAN_USE_NEWER}" @${ECHO_CMD} @${ECHO_CMD} "# Selected JDK port:" @${ECHO_CMD} "JAVA_PORT= ${JAVA_PORT}"