34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
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()
|
|
|