Hello. The default OpenJDK in Ubuntu does not seem to use Freetype (see the attached a.png, b.png). Yet I know that it is possible that OpenJDK uses freetype because Android Studio is distributed with one (see c.png).
I want Freetype, and thus I attempted to compile the newest stable OpenJDK from source. bash ./configure --with-freetype=../freetype --with-cups=/usr/include/cups --with-x=/usr/include/X11/extensions --with-jvm-variants=server --with-target-bits=64 --with-debug-level=release` checking if we can compile and link with freetype... yes checking if we should bundle freetype... yes A simple test of running Netbeans with the resulting JDK shows, that freetype is still not used, though. The same Netbeans ran using the Android Studio-provided JDK does use Freetype (again, c.png). I would thus like to ask you how to build OpenJDK so that it actually uses Freetype by default? Best regards, Artur
Running generated-configure.sh configure: Configuration created at Thu Dec 15 13:03:45 CET 2016. configure: configure script generated at timestamp 1389186094. checking for basename... /usr/bin/basename checking for bash... /bin/bash checking for cat... /bin/cat checking for chmod... /bin/chmod checking for cmp... /usr/bin/cmp checking for comm... /usr/bin/comm checking for cp... /bin/cp checking for cpio... /bin/cpio checking for cut... /usr/bin/cut checking for date... /bin/date checking for gdiff... no checking for diff... /usr/bin/diff checking for dirname... /usr/bin/dirname checking for echo... /bin/echo checking for expr... /usr/bin/expr checking for file... /usr/bin/file checking for find... /usr/bin/find checking for head... /usr/bin/head checking for ln... /bin/ln checking for ls... /bin/ls checking for mkdir... /bin/mkdir checking for mktemp... /bin/mktemp checking for mv... /bin/mv checking for printf... /usr/bin/printf checking for rm... /bin/rm checking for sh... /bin/sh checking for sort... /usr/bin/sort checking for tail... /usr/bin/tail checking for tar... /bin/tar checking for tee... /usr/bin/tee checking for touch... /usr/bin/touch checking for tr... /usr/bin/tr checking for uname... /bin/uname checking for uniq... /usr/bin/uniq checking for wc... /usr/bin/wc checking for which... /usr/bin/which checking for xargs... /usr/bin/xargs checking for gawk... gawk checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for a sed that does not truncate output... /bin/sed checking for nawk... /usr/bin/nawk checking for cygpath... no checking for readlink... /bin/readlink checking for df... /bin/df checking for SetFile... no checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu checking openjdk-build os-cpu... linux-x86_64 checking openjdk-target os-cpu... linux-x86_64 configure: --with-target-bits are set to build platform address size; argument has no meaning checking compilation type... native checking for presence of closed sources... no checking if closed source is suppressed (openjdk-only)... no checking which variant of the JDK to build... normal checking which variants of the JVM to build... server checking which debug level to use... release checking what configuration name to use... linux-x86_64-normal-server-release checking for apt-get... apt-get checking for gmake... no checking for make... /usr/bin/make configure: Testing potential make at /usr/bin/make, found using make in PATH configure: Resolving FOUND_MAKE (as /usr/bin/make) failed, using /usr/bin/make directly. configure: Using GNU make 3.81 (or later) at /usr/bin/make (version: GNU Make 3.81) checking if find supports -delete... yes checking for unzip... /usr/bin/unzip checking for zip... /usr/bin/zip checking for ldd... /usr/bin/ldd checking for otool... no checking for readelf... /usr/bin/readelf checking for hg... /usr/bin/hg checking for stat... /usr/bin/stat checking for time... /usr/bin/time checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for 7z... 7z checking for wget... wget checking headful support... include support for both headful and headless configure: Found potential Boot JDK using JAVA_HOME configure: Potential Boot JDK found at /home/local/jdk did not contain an rt.jar; ignoring checking for javac... /home/local/jdk/bin/javac checking for java... /home/local/jdk/bin/java configure: Found potential Boot JDK using java(c) in PATH configure: Potential Boot JDK found at /home/local/jdk-freetype did not contain an rt.jar; ignoring configure: Found potential Boot JDK using well-known locations (in /usr/lib/jvm/openjdk-8) configure: Potential Boot JDK found at /usr/lib/jvm/openjdk-8 did not contain bin/java; ignoring configure: Found potential Boot JDK using well-known locations (in /usr/lib/jvm/java-8-openjdk-amd64) checking for Boot JDK... /usr/lib/jvm/java-8-openjdk-amd64 checking Boot JDK version... openjdk version "1.8.0_111" OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-3~14.04.1-b14) OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode) checking for java in Boot JDK... ok checking for javac in Boot JDK... ok checking for javah in Boot JDK... ok checking for javap in Boot JDK... ok checking for jar in Boot JDK... ok checking for rmic in Boot JDK... ok checking for native2ascii in Boot JDK... ok checking for jtreg... no checking for gcc... /usr/bin/gcc configure: Resolving CC (as /usr/bin/gcc) failed, using /usr/bin/gcc directly. checking resolved symbolic links for CC... /usr/bin/gcc-4.8 checking if CC is disguised ccache... no, keeping CC configure: Using gcc-4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3) C compiler version 4.8.4 (located at /usr/bin/gcc-4.8) checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether /usr/bin/gcc-4.8 accepts -g... yes checking for /usr/bin/gcc-4.8 option to accept ISO C89... none needed checking for g++... /usr/bin/g++ configure: Resolving CXX (as /usr/bin/g++) failed, using /usr/bin/g++ directly. checking resolved symbolic links for CXX... /usr/bin/g++-4.8 checking if CXX is disguised ccache... no, keeping CXX configure: Using g++-4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3) C++ compiler version 4.8.4 (located at /usr/bin/g++-4.8) checking whether we are using the GNU C++ compiler... yes checking whether /usr/bin/g++-4.8 accepts -g... yes checking for ar... ar configure: Rewriting AR to "/usr/bin/ar" checking how to run the C preprocessor... /usr/bin/gcc-4.8 -E configure: Resolving CPP (as /usr/bin/gcc-4.8) failed, using /usr/bin/gcc-4.8 directly. checking how to run the C++ preprocessor... /usr/bin/g++-4.8 -E configure: Resolving CXXCPP (as /usr/bin/g++-4.8) failed, using /usr/bin/g++-4.8 directly. checking for nm... nm configure: Rewriting NM to "/usr/bin/nm" checking for strip... strip configure: Rewriting STRIP to "/usr/bin/strip" checking for gobjcopy... no checking for objcopy... objcopy configure: Rewriting OBJCOPY to "/usr/bin/objcopy" checking for gobjdump... no checking for objdump... objdump configure: Rewriting OBJDUMP to "/usr/bin/objdump" checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking stdio.h usability... yes checking stdio.h presence... yes checking for stdio.h... yes checking size of int *... 8 checking for target address size... 64 bits checking whether byte ordering is bigendian... no checking if compiler supports "-m64"... yes checking if compiler supports "-m64"... yes checking if we should generate debug symbols... true checking if we should zip debug-info files... yes checking what is not needed on Linux?... pulse checking for Mac OS X Java Framework... no checking for X... libraries , headers checking for gethostbyname... yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... yes checking for X11/extensions/shape.h... yes checking for X11/extensions/Xrender.h... yes checking for X11/extensions/XTest.h... yes checking for X11/Intrinsic.h... yes configure: Found freetype include files at ../freetype/include using --with-freetype checking for freetype includes... /home/art/src/freetype/include checking for freetype libraries... /home/art/src/freetype/lib checking if we can compile and link with freetype... yes checking if we should bundle freetype... yes checking for ALSA... yes checking for main in -ljpeg... no configure: Will use jpeg decoder bundled with the OpenJDK source checking for which giflib to use... bundled checking for compress in -lz... yes checking for which zlib to use... bundled checking for cos in -lm... yes checking for dlopen in -ldl... yes checking if dynamic link of stdc++ is possible... yes checking if static link of stdc++ is possible... yes checking how to link with libstdc++... static checking if elliptic curve crypto implementation is present... yes checking for number of cores... 8 checking for memory size... 12007 MB checking for appropriate number of jobs to run in parallel... 7 checking whether to use sjavac... no checking that precompiled headers work... yes checking for ccache... /usr/bin/ccache checking if ccache supports precompiled headers... yes checking if C-compiler supports ccache precompiled headers... yes checking if build directory is on local disk... yes configure: creating /home/art/src/YourOpenJDK/build/linux-x86_64-normal-server-release/config.status config.status: creating /home/art/src/YourOpenJDK/build/linux-x86_64-normal-server-release/spec.gmk config.status: creating /home/art/src/YourOpenJDK/build/linux-x86_64-normal-server-release/hotspot-spec.gmk config.status: creating /home/art/src/YourOpenJDK/build/linux-x86_64-normal-server-release/bootcycle-spec.gmk config.status: creating /home/art/src/YourOpenJDK/build/linux-x86_64-normal-server-release/compare.sh config.status: creating /home/art/src/YourOpenJDK/build/linux-x86_64-normal-server-release/spec.sh config.status: creating /home/art/src/YourOpenJDK/build/linux-x86_64-normal-server-release/Makefile config.status: creating /home/art/src/YourOpenJDK/build/linux-x86_64-normal-server-release/config.h config.status: /home/art/src/YourOpenJDK/build/linux-x86_64-normal-server-release/config.h is unchanged ==================================================== A new configuration has been successfully created in /home/art/src/YourOpenJDK/build/linux-x86_64-normal-server-release using configure arguments '--with-freetype=../freetype --with-cups=/usr/include/cups --with-x=/usr/include/X11/extensions/ --with-jvm-variants=server --with-target-bits=64 --with-debug-level=release'. Configuration summary: * Debug level: release * JDK variant: normal * JVM variants: server * OpenJDK target: OS: linux, CPU architecture: x86, address length: 64 Tools summary: * Boot JDK: openjdk version "1.8.0_111" OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-3~14.04.1-b14) OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode) (at /usr/lib/jvm/java-8-openjdk-amd64) * C Compiler: gcc-4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3) version 4.8.4 (at /usr/bin/gcc-4.8) * C++ Compiler: g++-4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3) version 4.8.4 (at /usr/bin/g++-4.8) Build performance summary: * Cores to use: 7 * Memory limit: 12007 MB * ccache status: installed and in use