Add support for building as a .framework

This commit is contained in:
Jonathan Schleifer 2018-01-21 23:44:58 +01:00
parent 6139e5b982
commit e303ca5a35
No known key found for this signature in database
GPG key ID: 28D65178B37F33E3
4 changed files with 20 additions and 3 deletions

View file

@ -23,7 +23,8 @@ CPP="$OBJCPP"
CPPFLAGS="$CPPFLAGS $OBJCPPFLAGS $($OBJFW_CONFIG --cppflags)" CPPFLAGS="$CPPFLAGS $OBJCPPFLAGS $($OBJFW_CONFIG --cppflags)"
OBJCFLAGS="$OBJCFLAGS -Wall $($OBJFW_CONFIG --objcflags)" OBJCFLAGS="$OBJCFLAGS -Wall $($OBJFW_CONFIG --objcflags)"
LDFLAGS="$LDFLAGS $($OBJFW_CONFIG --ldflags)" LDFLAGS="$LDFLAGS $($OBJFW_CONFIG --ldflags)"
LIBS="$LIBS $($OBJFW_CONFIG --libs)" AC_SUBST(OBJFW_LIBS, "$LIBS $($OBJFW_CONFIG --libs)")
AC_SUBST(OBJFW_FRAMEWORK_LIBS, "$LIBS $($OBJFW_CONFIG --framework-libs)")
AX_CHECK_COMPILER_FLAGS(-Watomic-properties, AX_CHECK_COMPILER_FLAGS(-Watomic-properties,
[OBJCFLAGS="$OBJCFLAGS -Watomic-properties"]) [OBJCFLAGS="$OBJCFLAGS -Watomic-properties"])
@ -35,6 +36,10 @@ AC_ARG_ENABLE(shared,
AS_IF([test x"$enable_shared" != x"no"], [ AS_IF([test x"$enable_shared" != x"no"], [
BUILDSYS_SHARED_LIB BUILDSYS_SHARED_LIB
AC_SUBST(OBJXMPP_SHARED_LIB, "${LIB_PREFIX}objxmpp${LIB_SUFFIX}") AC_SUBST(OBJXMPP_SHARED_LIB, "${LIB_PREFIX}objxmpp${LIB_SUFFIX}")
BUILDSYS_FRAMEWORK([
AC_SUBST(OBJXMPP_FRAMEWORK, "ObjXMPP.framework")
])
]) ])
AC_ARG_ENABLE(static, AS_HELP_STRING([--enable-static], [build static library])) AC_ARG_ENABLE(static, AS_HELP_STRING([--enable-static], [build static library]))
AS_IF([test x"$enable_static" = x"yes" -o x"$enable_shared" = x"no"], [ AS_IF([test x"$enable_static" = x"yes" -o x"$enable_shared" = x"no"], [
@ -87,7 +92,8 @@ AC_TRY_LINK([
]) ])
AC_CHECK_LIB(objopenssl, main, [ AC_CHECK_LIB(objopenssl, main, [
LIBS="$LIBS -lobjopenssl -lcrypto" AC_SUBST(OBJOPENSSL_LIBS, "-lobjopenssl -lcrypto")
AC_SUBST(OBJOPENSSL_FRAMEWORK_LIBS, "-framework ObjOpenSSL -lcrypto")
], [ ], [
AC_MSG_ERROR(You need ObjOpenSSL installed!) AC_MSG_ERROR(You need ObjOpenSSL installed!)
]) ])

View file

@ -1,2 +1,8 @@
OBJXMPP_SHARED_LIB = @OBJXMPP_SHARED_LIB@ OBJXMPP_SHARED_LIB = @OBJXMPP_SHARED_LIB@
OBJXMPP_STATIC_LIB = @OBJXMPP_STATIC_LIB@ OBJXMPP_STATIC_LIB = @OBJXMPP_STATIC_LIB@
OBJXMPP_FRAMEWORK = @OBJXMPP_FRAMEWORK@
OBJFW_FRAMEWORK_LIBS = @OBJFW_FRAMEWORK_LIBS@
OBJFW_LIBS = @OBJFW_LIBS@
OBJOPENSSL_FRAMEWORK_LIBS = @OBJOPENSSL_FRAMEWORK_LIBS@
OBJOPENSSL_LIBS = @OBJOPENSSL_LIBS@

View file

@ -2,6 +2,7 @@ include ../extra.mk
SHARED_LIB = ${OBJXMPP_SHARED_LIB} SHARED_LIB = ${OBJXMPP_SHARED_LIB}
STATIC_LIB = ${OBJXMPP_STATIC_LIB} STATIC_LIB = ${OBJXMPP_STATIC_LIB}
FRAMEWORK = ${OBJXMPP_FRAMEWORK}
LIB_MAJOR = 0 LIB_MAJOR = 0
LIB_MINOR = 0 LIB_MINOR = 0
@ -39,3 +40,5 @@ include ../buildsys.mk
CPPFLAGS += -I.. -DHAVE_CONFIG_H CPPFLAGS += -I.. -DHAVE_CONFIG_H
LD = ${OBJC} LD = ${OBJC}
FRAMEWORK_LIBS := ${OBJOPENSSL_FRAMEWORK_LIBS} ${OBJFW_FRAMEWORK_LIBS} ${LIBS}
LIBS := ${OBJOPENSSL_LIBS} ${OBJFW_LIBS} ${LIBS}

View file

@ -1,8 +1,10 @@
include ../extra.mk
PROG_NOINST = tests${PROG_SUFFIX} PROG_NOINST = tests${PROG_SUFFIX}
SRCS = test.m SRCS = test.m
include ../buildsys.mk include ../buildsys.mk
CPPFLAGS += -I../src CPPFLAGS += -I../src
LIBS := -L../src -lobjxmpp ${LIBS} LIBS := -L../src -lobjxmpp ${OBJOPENSSL_LIBS} ${OBJFW_LIBS} ${LIBS}
LD = ${OBJC} LD = ${OBJC}