From 1e5d34bc85e9c90a1ee4f7dee36f1e8a3fd0fc2b Mon Sep 17 00:00:00 2001 From: Nikolay Igotti Date: Thu, 16 Mar 2017 11:58:04 +0300 Subject: [PATCH] Provide nicer Tetris build env (#350) --- samples/tetris/build | 26 ++++++++++++++++++++++++-- samples/tetris/sdl.def | 12 ++++++++---- 2 files changed, 32 insertions(+), 6 deletions(-) mode change 100644 => 100755 samples/tetris/build diff --git a/samples/tetris/build b/samples/tetris/build old mode 100644 new mode 100755 index b6417f81fba..17f7c3895ec --- a/samples/tetris/build +++ b/samples/tetris/build @@ -1,2 +1,24 @@ -./dist/bin/interop -def:sdl_test/sdl.def -./dist/bin/konanc sdl_test/tetris.kt SDL/SDL.kt -nativelibrary sdlstubs.bc -linkerArg -F -linkerArg /Library/Frameworks -linkerArg -framework -linkerArg SDL2 +#!/usr/bin/env bash + +DIR=. +DIST=../../dist +OSX_CFLAGS=-I/Library/Frameworks/SDL2.framework/Headers +OSX_LINKER_ARGS="-F /Library/Frameworks -framework SDL2" +LINUX_CFLAGS=-I/usr/include/SDL2 +LINUX_LINKER_ARGS="-L/usr/lib/x86_64-linux-gnu -lSDL2" + +case "$OSTYPE" in + darwin*) OS=OSX ;; + linux*) OS=LINUX ;; + *) echo "unknown: $OSTYPE" && exit 1;; +esac + +var=${OS}_CFLAGS +CFLAGS=${!var} +var=${OS}_LINKER_ARGS +LINKER_ARGS=${!var} + +$DIST/bin/interop -def:$DIR/sdl.def -copt:$CFLAGS || exit 1 +$DIST/bin/konanc -opt $DIR/tetris.kt sdl -nativelibrary sdlstubs.bc -linkerArgs "$LINKER_ARGS" -o tetris.kexe || exit 1 +strip tetris.kexe + diff --git a/samples/tetris/sdl.def b/samples/tetris/sdl.def index c68646d6ec7..b8e18998011 100644 --- a/samples/tetris/sdl.def +++ b/samples/tetris/sdl.def @@ -1,5 +1,9 @@ -headers = /Library/Frameworks/SDL2.framework/Headers/SDL.h stdio.h string.h unistd.h stdlib.h time.h -excludedFunctions = _IO_flockfile _IO_funlockfile _IO_ftrylockfile _IO_cleanup_region_start _IO_cleanup_region_end \ - mkstemp_dprotected_np +headers = SDL.h stdio.h string.h unistd.h stdlib.h time.h +excludedFunctions = _IO_flockfile _IO_funlockfile _IO_ftrylockfile \ + _IO_cleanup_region_start _IO_cleanup_region_end \ + mkstemp_dprotected_np -compilerOpts = -D_POSIX_SOURCE -mxsave -mavx -mf16c +compilerOpts.osx = -D_POSIX_SOURCE -mxsave -mavx -mf16c +compilerOpts.linux = -D_REENTRANT + +linkerOpts.linux = -lm