Skip to content

Commit aecbf09

Browse files
committed
Determining free type absed on jdk's 8 tag
the if is to long, will refactor
1 parent ac5ed0a commit aecbf09

File tree

1 file changed

+58
-5
lines changed

1 file changed

+58
-5
lines changed

sbin/build.sh

Lines changed: 58 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
551603
configureFreetypeLocation() {
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

Comments
 (0)