Print this page
Split |
Close |
Expand all |
Collapse all |
--- old/common/autoconf/lib-freetype.m4
+++ new/common/autoconf/lib-freetype.m4
1 1 #
2 2 # Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
3 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 4 #
5 5 # This code is free software; you can redistribute it and/or modify it
6 6 # under the terms of the GNU General Public License version 2 only, as
7 7 # published by the Free Software Foundation. Oracle designates this
8 8 # particular file as subject to the "Classpath" exception as provided
9 9 # by Oracle in the LICENSE file that accompanied this code.
10 10 #
11 11 # This code is distributed in the hope that it will be useful, but WITHOUT
12 12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 14 # version 2 for more details (a copy is included in the LICENSE file that
15 15 # accompanied this code).
16 16 #
17 17 # You should have received a copy of the GNU General Public License version
18 18 # 2 along with this work; if not, write to the Free Software Foundation,
19 19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 20 #
21 21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 22 # or visit www.oracle.com if you need additional information or have any
23 23 # questions.
24 24 #
25 25
26 26 ################################################################################
27 27 # Build the freetype lib from source
28 28 ################################################################################
29 29 AC_DEFUN([LIB_BUILD_FREETYPE],
30 30 [
31 31 FREETYPE_SRC_PATH="$1"
32 32 BUILD_FREETYPE=yes
33 33
34 34 # Check if the freetype sources are acessible..
35 35 if ! test -d $FREETYPE_SRC_PATH; then
36 36 AC_MSG_WARN([--with-freetype-src specified, but can not find path "$FREETYPE_SRC_PATH" - ignoring --with-freetype-src])
37 37 BUILD_FREETYPE=no
38 38 fi
39 39 # ..and contain a vc2010 project file
40 40 vcxproj_path="$FREETYPE_SRC_PATH/builds/windows/vc2010/freetype.vcxproj"
41 41 if test "x$BUILD_FREETYPE" = xyes && ! test -s $vcxproj_path; then
42 42 AC_MSG_WARN([Can not find project file $vcxproj_path (you may try a newer freetype version) - ignoring --with-freetype-src])
43 43 BUILD_FREETYPE=no
44 44 fi
45 45 # Now check if configure found a version of 'msbuild.exe'
46 46 if test "x$BUILD_FREETYPE" = xyes && test "x$MSBUILD" == x ; then
47 47 AC_MSG_WARN([Can not find an msbuild.exe executable (you may try to install .NET 4.0) - ignoring --with-freetype-src])
48 48 BUILD_FREETYPE=no
49 49 fi
50 50
51 51 # Ready to go..
52 52 if test "x$BUILD_FREETYPE" = xyes; then
53 53 # msbuild requires trailing slashes for output directories
54 54 freetype_lib_path="$FREETYPE_SRC_PATH/lib$OPENJDK_TARGET_CPU_BITS/"
55 55 freetype_lib_path_unix="$freetype_lib_path"
56 56 freetype_obj_path="$FREETYPE_SRC_PATH/obj$OPENJDK_TARGET_CPU_BITS/"
57 57 BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH(vcxproj_path)
58 58 BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH(freetype_lib_path)
59 59 BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH(freetype_obj_path)
60 60 if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
61 61 freetype_platform=x64
62 62 else
63 63 freetype_platform=win32
64 64 fi
65 65
66 66 # The original freetype project file is for VS 2010 (i.e. 'v100'),
67 67 # so we have to adapt the toolset if building with any other toolsed (i.e. SDK).
68 68 # Currently 'PLATFORM_TOOLSET' is set in 'TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT'/
69 69 # 'TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT' in toolchain_windows.m4
70 70 AC_MSG_NOTICE([Trying to compile freetype sources with PlatformToolset=$PLATFORM_TOOLSET to $freetype_lib_path_unix ...])
71 71
72 72 # First we try to build the freetype.dll
73 73 $ECHO -e "@echo off\n"\
74 74 "$MSBUILD $vcxproj_path "\
75 75 "/p:PlatformToolset=$PLATFORM_TOOLSET "\
76 76 "/p:Configuration=\"Release Multithreaded\" "\
77 77 "/p:Platform=$freetype_platform "\
78 78 "/p:ConfigurationType=DynamicLibrary "\
79 79 "/p:TargetName=freetype "\
80 80 "/p:OutDir=\"$freetype_lib_path\" "\
81 81 "/p:IntDir=\"$freetype_obj_path\" > freetype.log" > freetype.bat
82 82 cmd /c freetype.bat
83 83
84 84 if test -s "$freetype_lib_path_unix/freetype.dll"; then
85 85 # If that succeeds we also build freetype.lib
86 86 $ECHO -e "@echo off\n"\
87 87 "$MSBUILD $vcxproj_path "\
88 88 "/p:PlatformToolset=$PLATFORM_TOOLSET "\
89 89 "/p:Configuration=\"Release Multithreaded\" "\
90 90 "/p:Platform=$freetype_platform "\
91 91 "/p:ConfigurationType=StaticLibrary "\
92 92 "/p:TargetName=freetype "\
93 93 "/p:OutDir=\"$freetype_lib_path\" "\
94 94 "/p:IntDir=\"$freetype_obj_path\" >> freetype.log" > freetype.bat
95 95 cmd /c freetype.bat
96 96
97 97 if test -s "$freetype_lib_path_unix/freetype.lib"; then
98 98 # Once we build both, lib and dll, set freetype lib and include path appropriately
99 99 POTENTIAL_FREETYPE_INCLUDE_PATH="$FREETYPE_SRC_PATH/include"
100 100 POTENTIAL_FREETYPE_LIB_PATH="$freetype_lib_path_unix"
101 101 AC_MSG_NOTICE([Compiling freetype sources succeeded! (see freetype.log for build results)])
102 102 else
103 103 BUILD_FREETYPE=no
104 104 fi
105 105 else
106 106 BUILD_FREETYPE=no
107 107 fi
108 108 fi
109 109 ])
110 110
111 111 ################################################################################
112 112 # Check if a potential freeype library match is correct and usable
113 113 ################################################################################
114 114 AC_DEFUN([LIB_CHECK_POTENTIAL_FREETYPE],
115 115 [
116 116 POTENTIAL_FREETYPE_INCLUDE_PATH="$1"
117 117 POTENTIAL_FREETYPE_LIB_PATH="$2"
118 118 METHOD="$3"
119 119
120 120 # Let's start with an optimistic view of the world :-)
121 121 FOUND_FREETYPE=yes
122 122
123 123 # First look for the canonical freetype main include file ft2build.h.
124 124 if ! test -s "$POTENTIAL_FREETYPE_INCLUDE_PATH/ft2build.h"; then
125 125 # Oh no! Let's try in the freetype2 directory. This is needed at least at Mac OS X Yosemite.
126 126 POTENTIAL_FREETYPE_INCLUDE_PATH="$POTENTIAL_FREETYPE_INCLUDE_PATH/freetype2"
127 127 if ! test -s "$POTENTIAL_FREETYPE_INCLUDE_PATH/ft2build.h"; then
128 128 # Fail.
129 129 FOUND_FREETYPE=no
130 130 fi
131 131 fi
132 132
133 133 if test "x$FOUND_FREETYPE" = xyes; then
134 134 # Include file found, let's continue the sanity check.
135 135 AC_MSG_NOTICE([Found freetype include files at $POTENTIAL_FREETYPE_INCLUDE_PATH using $METHOD])
136 136
137 137 # Reset to default value
138 138 FREETYPE_BASE_NAME=freetype
139 139 FREETYPE_LIB_NAME="${LIBRARY_PREFIX}${FREETYPE_BASE_NAME}${SHARED_LIBRARY_SUFFIX}"
140 140 if ! test -s "$POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME"; then
141 141 if test "x$OPENJDK_TARGET_OS" = xmacosx \
142 142 && test -s "$POTENTIAL_FREETYPE_LIB_PATH/${LIBRARY_PREFIX}freetype.6${SHARED_LIBRARY_SUFFIX}"; then
143 143 # On Mac OS X Yosemite, the symlink from libfreetype.dylib to libfreetype.6.dylib disappeared. Check
144 144 # for the .6 version explicitly.
145 145 FREETYPE_BASE_NAME=freetype.6
146 146 FREETYPE_LIB_NAME="${LIBRARY_PREFIX}${FREETYPE_BASE_NAME}${SHARED_LIBRARY_SUFFIX}"
147 147 AC_MSG_NOTICE([Compensating for missing symlink by using version 6 explicitly])
148 148 else
149 149 AC_MSG_NOTICE([Could not find $POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME. Ignoring location.])
150 150 FOUND_FREETYPE=no
151 151 fi
152 152 else
153 153 if test "x$OPENJDK_TARGET_OS" = xwindows; then
154 154 # On Windows, we will need both .lib and .dll file.
155 155 if ! test -s "$POTENTIAL_FREETYPE_LIB_PATH/${FREETYPE_BASE_NAME}.lib"; then
156 156 AC_MSG_NOTICE([Could not find $POTENTIAL_FREETYPE_LIB_PATH/${FREETYPE_BASE_NAME}.lib. Ignoring location.])
157 157 FOUND_FREETYPE=no
158 158 fi
159 159 elif test "x$OPENJDK_TARGET_OS" = xsolaris \
160 160 && test -s "$POTENTIAL_FREETYPE_LIB_PATH$OPENJDK_TARGET_CPU_ISADIR/$FREETYPE_LIB_NAME"; then
161 161 # Found lib in isa dir, use that instead.
162 162 POTENTIAL_FREETYPE_LIB_PATH="$POTENTIAL_FREETYPE_LIB_PATH$OPENJDK_TARGET_CPU_ISADIR"
163 163 AC_MSG_NOTICE([Rewriting to use $POTENTIAL_FREETYPE_LIB_PATH instead])
164 164 fi
165 165 fi
166 166 fi
167 167
168 168 if test "x$FOUND_FREETYPE" = xyes; then
169 169 BASIC_FIXUP_PATH(POTENTIAL_FREETYPE_INCLUDE_PATH)
170 170 BASIC_FIXUP_PATH(POTENTIAL_FREETYPE_LIB_PATH)
171 171
172 172 FREETYPE_INCLUDE_PATH="$POTENTIAL_FREETYPE_INCLUDE_PATH"
173 173 AC_MSG_CHECKING([for freetype includes])
174 174 AC_MSG_RESULT([$FREETYPE_INCLUDE_PATH])
175 175 FREETYPE_LIB_PATH="$POTENTIAL_FREETYPE_LIB_PATH"
176 176 AC_MSG_CHECKING([for freetype libraries])
177 177 AC_MSG_RESULT([$FREETYPE_LIB_PATH])
178 178 fi
179 179 ])
180 180
181 181 ################################################################################
182 182 # Setup freetype (The FreeType2 font rendering library)
183 183 ################################################################################
184 184 AC_DEFUN_ONCE([LIB_SETUP_FREETYPE],
185 185 [
186 186 AC_ARG_WITH(freetype, [AS_HELP_STRING([--with-freetype],
187 187 [specify prefix directory for the freetype package
188 188 (expecting the libraries under PATH/lib and the headers under PATH/include)])])
189 189 AC_ARG_WITH(freetype-include, [AS_HELP_STRING([--with-freetype-include],
190 190 [specify directory for the freetype include files])])
191 191 AC_ARG_WITH(freetype-lib, [AS_HELP_STRING([--with-freetype-lib],
192 192 [specify directory for the freetype library])])
193 193 AC_ARG_WITH(freetype-src, [AS_HELP_STRING([--with-freetype-src],
194 194 [specify directory with freetype sources to automatically build the library (experimental, Windows-only)])])
195 195 AC_ARG_ENABLE(freetype-bundling, [AS_HELP_STRING([--disable-freetype-bundling],
196 196 [disable bundling of the freetype library with the build result @<:@enabled on Windows or when using --with-freetype, disabled otherwise@:>@])])
197 197
198 198 # Need to specify explicitly since it needs to be overridden on some versions of macosx
199 199 FREETYPE_BASE_NAME=freetype
200 200 FREETYPE_CFLAGS=
201 201 FREETYPE_LIBS=
202 202 FREETYPE_BUNDLE_LIB_PATH=
203 203
204 204 if test "x$NEEDS_LIB_FREETYPE" = xfalse; then
205 205 if (test "x$with_freetype" != x && test "x$with_freetype" != xno) || \
206 206 (test "x$with_freetype_include" != x && test "x$with_freetype_include" != xno) || \
207 207 (test "x$with_freetype_lib" != x && test "x$with_freetype_lib" != xno) || \
208 208 (test "x$with_freetype_src" != x && test "x$with_freetype_src" != xno); then
209 209 AC_MSG_WARN([[freetype not used, so --with-freetype[-*] is ignored]])
210 210 fi
211 211 if (test "x$enable_freetype_bundling" != x && test "x$enable_freetype_bundling" != xno); then
212 212 AC_MSG_WARN([freetype not used, so --enable-freetype-bundling is ignored])
213 213 fi
214 214 else
215 215 # freetype is needed to build; go get it!
216 216
217 217 BUNDLE_FREETYPE="$enable_freetype_bundling"
218 218
219 219 if test "x$with_freetype_src" != x; then
220 220 if test "x$OPENJDK_TARGET_OS" = xwindows; then
221 221 # Try to build freetype if --with-freetype-src was given on Windows
222 222 LIB_BUILD_FREETYPE([$with_freetype_src])
223 223 if test "x$BUILD_FREETYPE" = xyes; then
224 224 # Okay, we built it. Check that it works.
225 225 LIB_CHECK_POTENTIAL_FREETYPE($POTENTIAL_FREETYPE_INCLUDE_PATH, $POTENTIAL_FREETYPE_LIB_PATH, [--with-freetype-src])
226 226 if test "x$FOUND_FREETYPE" != xyes; then
227 227 AC_MSG_ERROR([Can not use the built freetype at location given by --with-freetype-src])
228 228 fi
229 229 else
230 230 AC_MSG_NOTICE([User specified --with-freetype-src but building freetype failed. (see freetype.log for build results)])
231 231 AC_MSG_ERROR([Consider building freetype manually and using --with-freetype instead.])
232 232 fi
233 233 else
234 234 AC_MSG_WARN([--with-freetype-src is currently only supported on Windows - ignoring])
235 235 fi
236 236 fi
237 237
238 238 if test "x$with_freetype" != x || test "x$with_freetype_include" != x || test "x$with_freetype_lib" != x; then
239 239 # User has specified settings
240 240
241 241 if test "x$BUNDLE_FREETYPE" = x; then
242 242 # If not specified, default is to bundle freetype
243 243 BUNDLE_FREETYPE=yes
244 244 fi
245 245
246 246 if test "x$with_freetype" != x; then
247 247 POTENTIAL_FREETYPE_INCLUDE_PATH="$with_freetype/include"
248 248 POTENTIAL_FREETYPE_LIB_PATH="$with_freetype/lib"
249 249 fi
250 250
251 251 # Allow --with-freetype-lib and --with-freetype-include to override
252 252 if test "x$with_freetype_include" != x; then
253 253 POTENTIAL_FREETYPE_INCLUDE_PATH="$with_freetype_include"
254 254 fi
255 255 if test "x$with_freetype_lib" != x; then
256 256 POTENTIAL_FREETYPE_LIB_PATH="$with_freetype_lib"
257 257 fi
258 258
259 259 if test "x$POTENTIAL_FREETYPE_INCLUDE_PATH" != x && test "x$POTENTIAL_FREETYPE_LIB_PATH" != x; then
260 260 # Okay, we got it. Check that it works.
261 261 LIB_CHECK_POTENTIAL_FREETYPE($POTENTIAL_FREETYPE_INCLUDE_PATH, $POTENTIAL_FREETYPE_LIB_PATH, [--with-freetype])
262 262 if test "x$FOUND_FREETYPE" != xyes; then
263 263 AC_MSG_ERROR([Can not find or use freetype at location given by --with-freetype])
264 264 fi
265 265 else
266 266 # User specified only one of lib or include. This is an error.
267 267 if test "x$POTENTIAL_FREETYPE_INCLUDE_PATH" = x ; then
268 268 AC_MSG_NOTICE([User specified --with-freetype-lib but not --with-freetype-include])
269 269 AC_MSG_ERROR([Need both freetype lib and include paths. Consider using --with-freetype instead.])
270 270 else
271 271 AC_MSG_NOTICE([User specified --with-freetype-include but not --with-freetype-lib])
272 272 AC_MSG_ERROR([Need both freetype lib and include paths. Consider using --with-freetype instead.])
273 273 fi
274 274 fi
275 275 else
276 276 # User did not specify settings, but we need freetype. Try to locate it.
277 277
278 278 if test "x$BUNDLE_FREETYPE" = x; then
279 279 # If not specified, default is to bundle freetype only on windows
280 280 if test "x$OPENJDK_TARGET_OS" = xwindows; then
281 281 BUNDLE_FREETYPE=yes
282 282 else
283 283 BUNDLE_FREETYPE=no
284 284 fi
285 285 fi
286 286
287 287 # If we have a sysroot, assume that's where we are supposed to look and skip pkg-config.
288 288 if test "x$SYSROOT" = x; then
289 289 if test "x$FOUND_FREETYPE" != xyes; then
290 290 # Check modules using pkg-config, but only if we have it (ugly output results otherwise)
291 291 if test "x$PKG_CONFIG" != x; then
292 292 PKG_CHECK_MODULES(FREETYPE, freetype2, [FOUND_FREETYPE=yes], [FOUND_FREETYPE=no])
293 293 if test "x$FOUND_FREETYPE" = xyes; then
294 294 # On solaris, pkg_check adds -lz to freetype libs, which isn't necessary for us.
295 295 FREETYPE_LIBS=`$ECHO $FREETYPE_LIBS | $SED 's/-lz//g'`
296 296 # 64-bit libs for Solaris x86 are installed in the amd64 subdirectory, change lib to lib/amd64
297 297 if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
298 298 FREETYPE_LIBS=`$ECHO $FREETYPE_LIBS | $SED 's?/lib?/lib/amd64?g'`
299 299 fi
300 300 # PKG_CHECK_MODULES will set FREETYPE_CFLAGS and _LIBS, but we don't get a lib path for bundling.
301 301 if test "x$BUNDLE_FREETYPE" = xyes; then
302 302 AC_MSG_NOTICE([Found freetype using pkg-config, but ignoring since we can not bundle that])
303 303 FOUND_FREETYPE=no
304 304 else
305 305 AC_MSG_CHECKING([for freetype])
306 306 AC_MSG_RESULT([yes (using pkg-config)])
307 307 fi
308 308 fi
309 309 fi
310 310 fi
311 311 fi
312 312
313 313 if test "x$FOUND_FREETYPE" != xyes; then
314 314 # Check in well-known locations
315 315 if test "x$OPENJDK_TARGET_OS" = xwindows; then
316 316 FREETYPE_BASE_DIR="$PROGRAMFILES/GnuWin32"
317 317 BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(FREETYPE_BASE_DIR)
318 318 LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])
319 319 if test "x$FOUND_FREETYPE" != xyes; then
320 320 FREETYPE_BASE_DIR="$ProgramW6432/GnuWin32"
321 321 BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(FREETYPE_BASE_DIR)
322 322 LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])
323 323 fi
324 324 if test "x$FOUND_FREETYPE" != xyes; then
325 325 FREETYPE_BASE_DIR="$HOME/freetype"
326 326 BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(FREETYPE_BASE_DIR)
327 327 if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
328 328 LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib64], [well-known location])
329 329 else
330 330 LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib32], [well-known location])
331 331 fi
332 332 if test "x$FOUND_FREETYPE" != xyes && test -d $FREETYPE_BASE_DIR \
333 333 && test -s "$FREETYPE_BASE_DIR/builds/windows/vc2010/freetype.vcxproj" && test "x$MSBUILD" != x; then
334 334 # Source is available, as a last resort try to build freetype in default location
335 335 LIB_BUILD_FREETYPE($FREETYPE_BASE_DIR)
336 336 if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
337 337 LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib64], [well-known location])
338 338 else
339 339 LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib32], [well-known location])
340 340 fi
341 341 fi
342 342 fi
343 343 else
344 344 FREETYPE_BASE_DIR="$SYSROOT/usr"
345 345 LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])
346 346
347 347 if test "x$FOUND_FREETYPE" != xyes; then
348 348 FREETYPE_BASE_DIR="$SYSROOT/usr/X11"
349 349 LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])
350 350 fi
↓ open down ↓ |
350 lines elided |
↑ open up ↑ |
351 351
352 352 if test "x$OPENJDK_TARGET_OS" = xmacosx; then
353 353 if test "x$FOUND_FREETYPE" != xyes; then
354 354 # Due to changes in OSX 10.11 XQuartz now installs to /opt/X11
355 355 FREETYPE_BASE_DIR="$SYSROOT/opt/X11"
356 356 LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])
357 357 fi
358 358 fi
359 359
360 360 if test "x$FOUND_FREETYPE" != xyes; then
361 - FREETYPE_BASE_DIR="$SYSROOT/usr/sfw"
362 - LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])
363 - fi
364 -
365 - if test "x$FOUND_FREETYPE" != xyes; then
366 361 FREETYPE_BASE_DIR="$SYSROOT/usr"
367 362 if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
368 363 LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib/x86_64-linux-gnu], [well-known location])
369 364 else
370 365 LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib/i386-linux-gnu], [well-known location])
371 366 if test "x$FOUND_FREETYPE" != xyes; then
372 367 LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib32], [well-known location])
373 368 fi
374 369 fi
375 370 fi
376 371 fi
377 372 fi # end check in well-known locations
378 373
379 374 if test "x$FOUND_FREETYPE" != xyes; then
380 375 HELP_MSG_MISSING_DEPENDENCY([freetype])
381 376 AC_MSG_ERROR([Could not find freetype! $HELP_MSG ])
382 377 fi
383 378 fi # end user specified settings
384 379
385 380 # Set FREETYPE_CFLAGS, _LIBS and _LIB_PATH from include and lib dir.
386 381 if test "x$FREETYPE_CFLAGS" = x; then
387 382 BASIC_FIXUP_PATH(FREETYPE_INCLUDE_PATH)
388 383 if test -d $FREETYPE_INCLUDE_PATH/freetype2/freetype; then
389 384 FREETYPE_CFLAGS="-I$FREETYPE_INCLUDE_PATH/freetype2 -I$FREETYPE_INCLUDE_PATH"
390 385 else
391 386 FREETYPE_CFLAGS="-I$FREETYPE_INCLUDE_PATH"
392 387 fi
393 388 fi
394 389
395 390 if test "x$FREETYPE_LIBS" = x; then
396 391 BASIC_FIXUP_PATH(FREETYPE_LIB_PATH)
397 392 if test "x$OPENJDK_TARGET_OS" = xwindows; then
398 393 FREETYPE_LIBS="$FREETYPE_LIB_PATH/$FREETYPE_BASE_NAME.lib"
399 394 else
400 395 FREETYPE_LIBS="-L$FREETYPE_LIB_PATH -l$FREETYPE_BASE_NAME"
401 396 fi
402 397 fi
403 398
404 399 # Try to compile it
405 400 AC_MSG_CHECKING([if we can compile and link with freetype])
406 401 AC_LANG_PUSH(C++)
407 402 PREV_CXXCFLAGS="$CXXFLAGS"
408 403 PREV_LIBS="$LIBS"
409 404 PREV_CXX="$CXX"
410 405 CXXFLAGS="$CXXFLAGS $FREETYPE_CFLAGS"
411 406 LIBS="$LIBS $FREETYPE_LIBS"
412 407 CXX="$FIXPATH $CXX"
413 408 AC_LINK_IFELSE([AC_LANG_SOURCE([[
414 409 #include<ft2build.h>
415 410 #include FT_FREETYPE_H
416 411 int main () {
417 412 FT_Init_FreeType(NULL);
418 413 return 0;
419 414 }
420 415 ]])],
421 416 [
422 417 AC_MSG_RESULT([yes])
423 418 ],
424 419 [
425 420 AC_MSG_RESULT([no])
426 421 AC_MSG_NOTICE([Could not compile and link with freetype. This might be a 32/64-bit mismatch.])
427 422 AC_MSG_NOTICE([Using FREETYPE_CFLAGS=$FREETYPE_CFLAGS and FREETYPE_LIBS=$FREETYPE_LIBS])
428 423
429 424 HELP_MSG_MISSING_DEPENDENCY([freetype])
430 425
431 426 AC_MSG_ERROR([Can not continue without freetype. $HELP_MSG])
432 427 ]
433 428 )
434 429 CXXCFLAGS="$PREV_CXXFLAGS"
435 430 LIBS="$PREV_LIBS"
436 431 CXX="$PREV_CXX"
437 432 AC_LANG_POP(C++)
438 433
439 434 AC_MSG_CHECKING([if we should bundle freetype])
440 435 if test "x$BUNDLE_FREETYPE" = xyes; then
441 436 FREETYPE_BUNDLE_LIB_PATH="$FREETYPE_LIB_PATH"
442 437 fi
443 438 AC_MSG_RESULT([$BUNDLE_FREETYPE])
444 439
445 440 fi # end freetype needed
446 441
447 442 AC_SUBST(FREETYPE_BUNDLE_LIB_PATH)
448 443 AC_SUBST(FREETYPE_CFLAGS)
449 444 AC_SUBST(FREETYPE_LIBS)
450 445 ])
↓ open down ↓ |
75 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX