blob: c26b23483c77b7a06c185b821c66ae49d13e1e34 [file] [log] [blame]
Colin Crossfb1c3f02017-06-09 11:17:28 -07001#!/bin/bash
2
Colin Crossfb1c3f02017-06-09 11:17:28 -07003source $(dirname $0)/build-openjdk-common.sh
4
Eugene Yakavetsee9d0972023-06-20 16:37:14 -07005clang_dir=${TOP}/prebuilts/clang/host/darwin-x86/clang-r450784e
Colin Cross47c015d2017-06-27 12:44:43 -07006freetype=freetype-2.8
Colin Cross0c2aa0b2017-06-26 10:18:34 -07007
8export PATH=${clang_dir}/bin:${PATH}
Colin Crossfb1c3f02017-06-09 11:17:28 -07009
10(
11 cd ${OUT}
12 tar jxf ${TOP}/toolchain/jdk/deps/src/${freetype}.tar.bz2
Colin Crossfb1c3f02017-06-09 11:17:28 -070013)
14
Colin Crosse44c3972017-11-15 15:49:27 -080015SYSROOT=$(xcrun --show-sdk-path)
Colin Cross820e22d2017-06-27 14:28:42 -070016GLOBAL_FLAGS=(
Colin Crosse44c3972017-11-15 15:49:27 -080017 -isysroot ${SYSROOT}
18 --sysroot ${SYSROOT}
19 -F ${SYSROOT}/System/Library/Frameworks/JavaVM.framework/Frameworks
Colin Cross820e22d2017-06-27 14:28:42 -070020 -Wno-conversion
21 -Wno-deprecated-declarations
22 -Wno-expansion-to-defined
23 -Wno-format
24 -Wno-implicit-function-declaration
25 -Wno-incompatible-pointer-types
26 -Wno-logical-op-parentheses
27 -Wno-macro-redefined
28 -Wno-missing-field-initializers
29 -Wno-missing-method-return-type
30 -Wno-parentheses
31 -Wno-parentheses-equality
Dana Dahlstromb1650342019-01-16 20:21:22 -080032 -Wno-reserved-user-defined-literal
Colin Cross820e22d2017-06-27 14:28:42 -070033 -Wno-self-assign
34 -Wno-shift-negative-value
35 -Wno-sign-compare
36 -Wno-sign-conversion
37 -Wno-switch
38 -Wno-tautological-compare
39 -Wno-tautological-undefined-compare
40 -Wno-unused-command-line-argument
41 -Wno-unused-function
42 -Wno-unused-parameter
Colin Crosse44c3972017-11-15 15:49:27 -080043
Colin Cross15c2b902018-10-16 16:07:49 -070044 -Wno-deprecated-register
45 -Wno-c++11-narrowing
46
Colin Crosse44c3972017-11-15 15:49:27 -080047 -Wno-undefined-var-template
Colin Crossffc49612021-03-13 20:33:10 -080048
49 -Wno-sizeof-array-div
50 -Wno-string-compare
51 -Wno-mismatched-parameter-types
52 -Wno-unguarded-availability-new
53 -Wno-void-pointer-to-int-cast
Pirama Arumuga Nainar5fde50f2021-04-26 10:09:37 -070054
55 -fno-delete-null-pointer-checks
Colin Cross820e22d2017-06-27 14:28:42 -070056)
57GLOBAL_FLAGS=${GLOBAL_FLAGS[@]}
58
Colin Cross47c015d2017-06-27 12:44:43 -070059CC=clang
60CXX=clang++
Colin Crossc9f5e342017-06-23 17:36:58 -070061
Colin Cross47c015d2017-06-27 12:44:43 -070062export MACOSX_DEPLOYMENT_TARGET=10.8
Colin Crossfb1c3f02017-06-09 11:17:28 -070063
Colin Cross47c015d2017-06-27 12:44:43 -070064(
65 cd ${OUT}/${freetype}
66 bash configure \
Colin Cross075263c2018-02-28 14:54:24 -080067 --with-png=no \
68 --with-harfbuzz=no \
Colin Cross47c015d2017-06-27 12:44:43 -070069 CC=clang \
70 CC_BUILD=clang \
71 LD=clang \
72 CFLAGS="${GLOBAL_FLAGS}" \
73 && make -j8 CCexe_CFLAGS="${GLOBAL_FLAGS}"
74 mkdir -p lib
75 cp objs/.libs/libfreetype.dylib lib/
76)
77
78configure_openjdk \
79 --with-freetype=${OUT}/${freetype}
80
Colin Crosse44c3972017-11-15 15:49:27 -080081if [ "$JDK_VERSION" = "8u" ]; then
82 extra_build_flags=COMPILER_WARNINGS_FATAL=false
83fi
84
85build_openjdk_images ${extra_build_flags}
Colin Crossc6e54ff2017-06-28 17:29:29 -070086
87# Rewrite absolute references to libfreetype.6.dylib to rpath-relative references
Colin Crosse44c3972017-11-15 15:49:27 -080088for lib in $(find ${OUT}/images/jdk ${OUT}/images/jre ${OUT}/images/jdk-bundle ${OUT}/images/jre-bundle \
89 -name "libfontmanager.dylib"); do
Colin Crossc6e54ff2017-06-28 17:29:29 -070090 install_name_tool -change /usr/local/lib/libfreetype.6.dylib @rpath/libfreetype.dylib.6 $lib
91done
92
Colin Crossa1467172017-09-21 22:47:43 -070093dist_openjdk