--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/sun/font/Makefile Sat Dec 01 00:00:00 2007 +0000
@@ -0,0 +1,211 @@
+#
+# Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation. Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+#
+# Makefile for building all of font tools
+#
+
+BUILDDIR = ../..
+PACKAGE = sun.font
+LIBRARY = fontmanager
+PRODUCT = sun
+
+# Indicate we want the C++ compiler to do the linking.
+CPLUSPLUSLIBRARY=true
+
+include $(BUILDDIR)/common/Defs.gmk
+
+#
+# Created without -z defs on linux
+#
+ifeq ($(PLATFORM), linux)
+ LDFLAGS_DEFS_OPTION =
+endif
+
+#
+# Files
+#
+
+#
+# Use higher optimization level
+#
+_OPT = $(CC_HIGHER_OPT)
+
+include FILES_c.gmk
+
+AUTO_FILES_JAVA_DIRS = sun/font
+FILES_java += java/awt/Font.java java/text/Bidi.java
+
+FILES_export = \
+ sun/font/SunLayoutEngine.java \
+ java/awt/Font.java \
+ java/text/Bidi.java \
+ sun/font/FileFont.java \
+ sun/font/FontManager.java \
+ sun/font/GlyphList.java \
+ sun/font/NativeFont.java \
+ sun/font/StrikeCache.java \
+ sun/font/NullFontScaler.java \
+ sun/font/FreetypeFontScaler.java \
+ sun/java2d/loops/DrawGlyphList.java \
+ sun/java2d/loops/DrawGlyphListAA.java \
+ sun/java2d/loops/DrawGlyphListLCD.java \
+ sun/java2d/loops/GraphicsPrimitive.java
+
+ifeq ($(PLATFORM), windows)
+
+ # Files built here do not compile with warning level 3 if warnings are fatal
+ COMPILER_WARNINGS_FATAL=false
+
+ LDLIBS += user32.lib gdi32.lib $(OBJDIR)/../../../sun.awt/awt/$(OBJDIRNAME)/awt.lib
+
+ OTHER_CFLAGS += -DCC_NOEX
+ OTHER_CXXFLAGS += -DCC_NOEX
+
+ FILES_export += sun/java2d/d3d/D3DTextRenderer.java
+
+else # PLATFORM unix
+
+ FILES_export += \
+ sun/font/NativeStrike.java \
+ sun/font/NativeStrikeDisposer.java \
+ sun/font/X11TextRenderer.java \
+ sun/awt/X11GraphicsEnvironment.java
+
+endif # PLATFORM
+
+#In the non-OpenJDK mode we need to build T2K
+ifndef OPENJDK
+t2k:
+ $(ECHO) "lib=" $(ACTUAL_LIBRARY)
+ $(MAKE) -C t2k
+
+all build: t2k
+t2k: library
+clean clobber::
+ $(MAKE) -C t2k clean
+else
+
+FILES_m=mapfile-vers.openjdk
+
+#make sure freetype dll will be available at runtime as well as link time
+#
+#NB: Default freetype build system uses -h linker option and
+# result .so contains hardcoded library name that is later
+# used for adding dependencies to other objects
+# (e.g. libfontmanager.so).
+#
+# It is not obvious how to extract that hardcoded name (libfreetype.so.6)
+# without overcomplicating logic here.
+# To workaround this we hardcode .6 suffix for now.
+#
+# Note that .so.6 library will not be found by System.loadLibrary()
+# but fortunately we need to load FreeType library explicitly
+# on windows only
+#
+#TODO: rework this to avoid hardcoding library name in the makefile
+#
+library:: $(LIB_LOCATION)/$(LIB_PREFIX)freetype.$(LIBRARY_SUFFIX)
+
+$(LIB_LOCATION)/$(LIB_PREFIX)freetype.$(LIBRARY_SUFFIX):
+ifeq ($(PLATFORM), windows)
+ $(CP) $(FREETYPE_LIB_PATH)/$(LIB_PREFIX)freetype.$(LIBRARY_SUFFIX) $@
+else
+ ifeq ($(USING_SYSTEM_FT_LIB), false)
+ $(CP) $(FREETYPE_LIB_PATH)/$(LIB_PREFIX)freetype.$(LIBRARY_SUFFIX) $@.6
+ endif
+endif
+endif
+
+#ifeq ($(PLATFORM), solaris)
+# FILES_reorder += reorder-$(ARCH)
+#endif
+include $(BUILDDIR)/common/Mapfile-vers.gmk
+include $(BUILDDIR)/common/Library.gmk
+
+.PHONY: t2k build all clean clobber
+
+#
+# Add to the ambient vpath to pick up files in subdirectories
+#
+vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)
+vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/bidi
+vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR)/layout
+vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR)
+
+#
+# Fontmanager is headless (independent of X/Motif)
+#
+CFLAGS += -DHEADLESS
+CXXFLAGS += -DHEADLESS
+
+ifndef OPENJDK
+ CPPFLAGS += -I$(CLOSED_SRC)/share/native/$(PKGDIR)/t2k
+else
+ CPPFLAGS += -I$(FREETYPE_HEADERS_PATH) -I$(FREETYPE_HEADERS_PATH)/freetype2
+ OTHER_LDLIBS += $(FREETYPE_LIB)
+endif
+
+ifeq ($(PLATFORM), windows)
+vpath %.cpp $(PLATFORM_SRC)/native/sun/windows
+vpath %.cpp $(PLATFORM_SRC)/native/sun/java2d/d3d
+else # PLATFORM
+
+#
+# Libraries to link, and other C flags.
+#
+
+ifeq ($(PLATFORM), solaris)
+ # Note that on Solaris, fontmanager is built against the headless library.
+ LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/headless
+ OTHER_LDLIBS += -lawt -L$(LIBDIR)/$(LIBARCH)/xawt -lmawt -lc $(LIBM) $(LIBCXX)
+else # PLATFORM is linux
+ OTHER_LDLIBS += -lawt $(LIBM) $(LIBCXX)
+ ifeq ("$(CC_VER_MAJOR)", "3")
+ OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
+ endif
+endif
+
+endif # PLATFORM
+
+# set up compile flags..
+
+CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR) \
+ -I$(SHARE_SRC)/native/$(PKGDIR)/layout \
+ -I$(SHARE_SRC)/native/$(PKGDIR)/bidi \
+ -I$(SHARE_SRC)/native/sun/awt/image/cvutils \
+ -I$(PLATFORM_SRC)/native/sun/awt \
+ -I$(SHARE_SRC)/native/sun/awt/debug \
+ -I$(SHARE_SRC)/native/sun/java2d/loops \
+ -I$(SHARE_SRC)/native/sun/java2d/pipe \
+ -I$(PLATFORM_SRC)/native/sun/java2d \
+ -I$(SHARE_SRC)/native/sun/java2d \
+ -I$(TEMPDIR)/../../sun.awt/awt/CClassHeaders
+
+ifeq ($(PLATFORM), windows)
+CPPFLAGS += -I$(PLATFORM_SRC)/native/sun/windows \
+ -I$(PLATFORM_SRC)/native/sun/java2d/d3d
+endif
+