kivy-ios/recipes/sdl2_ttf/__init__.py

35 lines
1.1 KiB
Python
Raw Normal View History

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 = "libSDL2_ttf.a"
include_dir = [("SDL_ttf.h", "../sdl2/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()
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:
shutil.copy(
join(self.get_build_dir(arch.arch), "SDL_ttf.h"),
join(self.ctx.include_dir, "common", "SDL2"))
recipe = LibSDL2TTFRecipe()