@@ -548,22 +548,75 @@ configureAlsaLocation() {
548548 fi
549549}
550550
551+ setFreeTypePerJdk8Tag () {
552+ if [ -n " ${BUILD_CONFIG[TAG]} " ]; then
553+ local majorBuildVersion=$( echo " ${BUILD_CONFIG[TAG]} " | sed " s/jdk8u//" | sed " s/-.*//" )
554+ if [ 0${majorBuildVersion} -lt 482 ] ; then
555+ if [ " ${1} " == " srcs" ] ; then
556+ setFreeTypeFromSrcs
557+ elif [ " ${1} " == " installed" ] ; then
558+ setFreeTypeFromInstalled
559+ else
560+ echo " invalid parameter $1 "
561+ exit 1
562+ fi
563+ elif [ 0${majorBuildVersion} -gt 482 ] ; then
564+ setDefaultFreeType
565+ else
566+ # the change was introduces in 482, lets determine the build promotion, and decide
567+ local minorBuildNumber=$( echo " ${BUILD_CONFIG[TAG]} " | sed " s/.*-//" | sed " s/[^0-9]//g" )
568+ # if the number is empty, is probably ga, so ok to use newest
569+ if [ " x${minorBuildNumber} " = " x" ] || [ 0${minorBuildNumber} -ge 01 ] ; then # FIXME, replace by real b's number once merged
570+ setDefaultFreeType
571+ else
572+ if [ " ${1} " == " srcs" ] ; then
573+ setFreeTypeFromSrcs
574+ elif [ " ${1} " == " installed" ] ; then
575+ setFreeTypeFromInstalled
576+ else
577+ echo " invalid parameter $1 "
578+ exit 1
579+ fi
580+ fi
581+ fi
582+ else
583+ # no tag, treating as newest, so bundled
584+ setDefaultFreeType
585+ fi
586+ }
587+
588+ setDefaultFreeType () {
589+ echo " Freetype set from bundled in jdk"
590+ freetypeDir=${BUILD_CONFIG[FREETYPE_DIRECTORY]:- bundled}
591+ }
592+
593+ setFreeTypeFromSrcs () {
594+ echo " Freetype set from local sources"
595+ addConfigureArg " --with-freetype-src=" " ${BUILD_CONFIG[WORKSPACE_DIR]} /libs/freetype"
596+ }
597+
598+ setFreeTypeFromInstalled () {
599+ echo " Freetype set from installed binary"
600+ freetypeDir=${BUILD_CONFIG[FREETYPE_DIRECTORY]:- " ${BUILD_CONFIG[WORKSPACE_DIR]} /${BUILD_CONFIG[WORKING_DIR]} /installedfreetype" }
601+ }
602+
551603configureFreetypeLocation () {
552604 if [[ ! " ${CONFIGURE_ARGS} " =~ " --with-freetype" ]]; then
553605 if [[ " ${BUILD_CONFIG[FREETYPE]} " == " true" ]]; then
554606 local freetypeDir=" ${BUILD_CONFIG[FREETYPE_DIRECTORY]} "
555607 if [[ " $OSTYPE " == " cygwin" ]] || [[ " $OSTYPE " == " msys" ]]; then
556608 case " ${BUILD_CONFIG[OPENJDK_CORE_VERSION]} " in
557- jdk9* | jdk10* ) addConfigureArg " --with-freetype-src=" " ${BUILD_CONFIG[WORKSPACE_DIR]} /libs/freetype" ;;
558- * ) freetypeDir=${BUILD_CONFIG[FREETYPE_DIRECTORY]:- bundled} ;;
609+ jdk9* | jdk10* ) setFreeTypeFromSrcs;;
610+ jdk8* ) setFreeTypePerJdk8Tag srcs;;
611+ * ) setDefaultFreeType ;;
559612 esac
560613 else
561614 case " ${BUILD_CONFIG[OPENJDK_CORE_VERSION]} " in
562- jdk9* | jdk10* ) freetypeDir=${BUILD_CONFIG[FREETYPE_DIRECTORY]:- " ${BUILD_CONFIG[WORKSPACE_DIR]} /${BUILD_CONFIG[WORKING_DIR]} /installedfreetype" } ;;
563- * ) freetypeDir=${BUILD_CONFIG[FREETYPE_DIRECTORY]:- bundled} ;;
615+ jdk9* | jdk10* ) setFreeTypeFromInstalled;;
616+ jdk8* ) setFreeTypePerJdk8Tag installed;;
617+ * ) setDefaultFreeType ;;
564618 esac
565619 fi
566-
567620 if [[ -n " $freetypeDir " ]]; then
568621 echo " setting freetype dir to ${freetypeDir} "
569622 addConfigureArg " --with-freetype=" " ${freetypeDir} "
0 commit comments