diff --git a/configure.ac b/configure.ac index 4e6f3a4..2a96171 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,8 @@ AC_INIT(ObjGameKit, 0.1, js@webkeks.org) AC_CONFIG_SRCDIR(src) +AC_CANONICAL_HOST + AC_CHECK_TOOL(OBJFW_CONFIG, objfw-config) AS_IF([test x"$OBJFW_CONFIG" = x""], [ AC_MSG_ERROR(You need ObjFW and objfw-config installed!) @@ -44,6 +46,12 @@ PKG_CHECK_MODULES(allegro5, [allegro-5.0 allegro_main-5.0 allegro_image-5.0], [ AC_MSG_ERROR(You need allegro{_main,_image}-5.0 installed!) ]) +case "$host_os" in + darwin*) + AC_SUBST(REEXPORT_ALLEGRO, ["-Wl,-reexport-lallegro_main"]) + ;; +esac + # We add -Werror after all tests in case some tests emit warnings OBJCFLAGS="$OBJCFLAGS -Werror" @@ -57,5 +65,5 @@ AC_SUBST(CPP) AC_SUBST(CPPFLAGS) AC_SUBST(PACKAGE, ObjGameKit) -AC_CONFIG_FILES(buildsys.mk) +AC_CONFIG_FILES([buildsys.mk extra.mk]) AC_OUTPUT diff --git a/extra.mk.in b/extra.mk.in new file mode 100644 index 0000000..6c29dda --- /dev/null +++ b/extra.mk.in @@ -0,0 +1 @@ +REEXPORT_ALLEGRO = @REEXPORT_ALLEGRO@ diff --git a/src/Makefile b/src/Makefile index b3a2c29..aedc266 100644 --- a/src/Makefile +++ b/src/Makefile @@ -11,6 +11,8 @@ INCLUDES = ${SRCS:.m=.h} \ ObjGameKit.h include ../buildsys.mk +include ../extra.mk CPPFLAGS += -DOGK_INTERNAL LD = ${OBJC} +LDFLAGS += ${REEXPORT_ALLEGRO}