From 6f7dfee999514a9f04c6d9c996117747e2a82be4 Mon Sep 17 00:00:00 2001 From: Mathieu Virbel <mat@kivy.org> Date: Mon, 9 Feb 2015 00:46:22 +0100 Subject: [PATCH] sdl2_ttf: don't use Xcode-iOS project as the freetype included doesn't work for i386. Use the external one, and compile it manually. --- recipes/sdl2_ttf/__init__.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/recipes/sdl2_ttf/__init__.py b/recipes/sdl2_ttf/__init__.py index e9a1460..a9c4dd4 100644 --- a/recipes/sdl2_ttf/__init__.py +++ b/recipes/sdl2_ttf/__init__.py @@ -2,28 +2,27 @@ from toolchain import Recipe, shprint from os.path import join import sh import shutil +import shlex class LibSDL2TTFRecipe(Recipe): version = "2.0.12" url = "https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-{version}.tar.gz" - library = "Xcode-iOS/build/Release-{arch.sdk}/libSDL2_ttf.a" + library = "libSDL2_ttf.a" include_dir = "SDL_ttf.h" depends = ["sdl2", "freetype"] def build_arch(self, arch): + # XCode-iOS have shipped freetype that don't work with i386 + # ./configure require too much things to setup it correcly. + # so build by hand. build_env = arch.get_env() - shprint(sh.xcodebuild, - "ONLY_ACTIVE_ARCH=NO", - "ARCHS={}".format(arch.arch), - "HEADER_SEARCH_PATHS={}".format( - join(self.ctx.include_dir, "common", "SDL2")), - "OTHER_CFLAGS={}".format(build_env["OTHER_CFLAGS"]), - "OTHER_LDFLAGS={}".format(build_env["OTHER_LDFLAGS"]), - "-sdk", arch.sdk, - "-project", "Xcode-iOS/SDL_ttf.xcodeproj", - "-target", "Static Library", - "-configuration", "Release") + cc = sh.Command(build_env["CC"]) + output = join(self.build_dir, "SDL_ttf.o") + args = shlex.split(build_env["CFLAGS"]) + args += ["-c", "-o", output, "SDL_ttf.c"] + shprint(cc, *args) + shprint(sh.ar, "-q", join(self.build_dir, "libSDL2_ttf.a"), output) def install(self): for arch in self.filtered_archs: