commit b4e1c6411155bfc22ee3d1b35a6096de2c043098
parent e7be002d164f46259974cbe953cb5108871dcebe
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 2 May 2014 17:02:52 +0000
add freetype, wip
Signed-off-by: Hiltjo Posthuma <hiltjo@codemadness.org>
Diffstat:
5 files changed, 110 insertions(+), 0 deletions(-)
diff --git a/freetype/depsinc.mk b/freetype/depsinc.mk
@@ -0,0 +1,6 @@
+<$freetype_DEPDIR/v.mk
+
+freetype_libdir = $freetype_DEPDIR/freetype-$v/lib/lib
+freetype_includedir = $freetype_DEPDIR/freetype-$v/lib/include
+DEPS_CFLAGS = $DEPS_CFLAGS -I${freetype_includedir}
+DEPS_LDFLAGS = $DEPS_LDFLAGS -L${freetype_libdir} -lfreetype
diff --git a/freetype/fix_exports.mk b/freetype/fix_exports.mk
@@ -0,0 +1,77 @@
+#
+# FreeType 2 exports sub-Makefile
+#
+
+
+# Copyright 2005, 2006 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT. By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+# DO NOT INVOKE THIS MAKEFILE DIRECTLY! IT IS MEANT TO BE INCLUDED BY
+# OTHER MAKEFILES.
+
+
+# This sub-Makefile is used to compute the list of exported symbols whenever
+# the EXPORTS_LIST variable is defined by one of the platform or compiler
+# specific build files.
+#
+# EXPORTS_LIST contains the name of the `list' file, for example a Windows
+# .DEF file.
+#
+ifneq ($(EXPORTS_LIST),)
+
+ # CCexe is the compiler used to compile the `apinames' tool program
+ # on the host machine. This isn't necessarily the same as the compiler
+ # which can be a cross-compiler for a different architecture, for example.
+ #
+# ifeq ($(CCexe),)
+# CCexe := $(CC)
+# endif
+ CCexe := cc
+
+ # TE acts like T, but for executables instead of object files.
+ ifeq ($(TE),)
+ TE := $T
+ endif
+
+ # The list of public headers we're going to parse.
+ PUBLIC_HEADERS := $(wildcard $(PUBLIC_DIR)/*.h)
+
+ # The `apinames' source and executable. We use $E_BUILD as the host
+ # executable suffix, which *includes* the final dot.
+ #
+ # Note that $(APINAMES_OPTIONS) is empty, except for Windows compilers.
+ #
+ APINAMES_SRC := $(subst /,$(SEP),$(TOP_DIR)/src/tools/apinames.c)
+ APINAMES_EXE := $(subst /,$(SEP),$(OBJ_DIR)/apinames$(E_BUILD))
+
+ $(APINAMES_EXE): $(APINAMES_SRC)
+ $(CCexe) $(CCexe_CFLAGS) $(TE)$@ $< $(CCexe_LDFLAGS)
+
+ .PHONY: symbols_list
+
+ symbols_list: $(EXPORTS_LIST)
+
+ # We manually add TT_New_Context and TT_RunIns, which are needed by TT
+ # debuggers, to the EXPORTS_LIST.
+ #
+ $(EXPORTS_LIST): $(APINAMES_EXE) $(PUBLIC_HEADERS)
+ $(subst /,$(SEP),$(APINAMES_EXE)) -o$@ $(APINAMES_OPTIONS) $(PUBLIC_HEADERS)
+ @echo TT_New_Context >> $(EXPORTS_LIST)
+ @echo TT_RunIns >> $(EXPORTS_LIST)
+
+ $(PROJECT_LIBRARY): $(EXPORTS_LIST)
+
+ CLEAN += $(EXPORTS_LIST) \
+ $(APINAMES_EXE)
+
+endif
+
+
+# EOF
diff --git a/freetype/freetype.mk b/freetype/freetype.mk
@@ -0,0 +1,20 @@
+TARG = freetype
+
+<$mkbuild/mk.common-noinst
+
+freetype:QV:
+ # build apinames for host (needed in build).
+ # TODO: possibly use CCraw="cc" CCexe="cc" CCexe_CFLAGS=""
+ # couldn't get that to work though.
+ #CC="cc" CFLAGS="" LDFLAGS="" make src/tools/apinames
+ cp ../fix_exports.mk builds/exports.mk
+ #
+ CC="$CC" ./configure --prefix="$prefix" --mandir="$ROOT/share/man" \
+ --disable-shared \
+ --enable-static \
+ --with-zlib
+ make -j$nprocs install DESTDIR="`pwd`/lib"
+ # make symlink for includes, some packages depend on this (fontconfig).
+ ln -sf freetype2/freetype "`pwd`/lib/include/freetype"
+ # remove .la files for now ?
+ find `pwd`/lib -iname "*.la" -exec rm {} \;
diff --git a/freetype/mkfile b/freetype/mkfile
@@ -0,0 +1,6 @@
+<$mkbuild/mk.3rdparty
+
+<v.mk
+src = freetype-$v
+url = http://download.savannah.gnu.org/releases/freetype/freetype-$v.tar.bz2
+mkfile = ../freetype.mk
diff --git a/freetype/v.mk b/freetype/v.mk
@@ -0,0 +1 @@
+v = 2.4.11