Artifact 0125576a1ca885362a1d9f9a15e299946bebf2207fc6da91cff6a9c30365e951:
- File
configure.ac
— part of check-in
[4e4c1c0eca]
at
2009-05-16 13:23:29
on branch trunk
— Add objfw-config script.
The problem with pkg-config is that it doesn't know about CPPFLAGS or
OBJCFLAGS, only CFLAGS.Oh, and the library version was changed from 1.0 to 0.1, so it matches
with the rest. (user: js, size: 4373) [annotate] [blame] [check-ins using]
AC_INIT(objfw, 0.1, js@webkeks.org) AC_CONFIG_SRCDIR(src) AC_CANONICAL_HOST AC_PROG_CC AC_PROG_CPP AC_PROG_LN_S AC_PROG_EGREP CFLAGS="$CFLAGS -Wall" AX_CHECK_COMPILER_FLAGS(-pipe, [CFLAGS="$CFLAGS -pipe"]) AX_CHECK_COMPILER_FLAGS(-fno-common, [CFLAGS="$CFLAGS -fno-common"]) AC_DEFINE(OF_CONFIG_H, 1, [Define so that we know we got our config.h]) BUILDSYS_LIB AC_DEFINE_UNQUOTED(PLUGIN_SUFFIX, "$PLUGIN_SUFFIX", [Suffix for plugins]) if test x"$PLUGIN_SUFFIX" != "x"; then AC_SUBST(OFPLUGIN_M, "OFPlugin.m") AC_SUBST(OFPLUGIN, "OFPlugin") fi AC_C_BIGENDIAN([AC_DEFINE(OF_BIG_ENDIAN, 1, [Whether we are big endian])]) AC_MSG_CHECKING(for SIZE_MAX) AC_EGREP_CPP(yes, [ #include <stdint.h> #include <limits.h> #ifdef SIZE_MAX yes #endif], AC_MSG_RESULT(yes), [ AC_MSG_RESULT(no) AC_MSG_CHECKING(for SIZE_T_MAX) AC_EGREP_CPP(yes, [ #include <stdint.h> #include <limits.h> #ifdef SIZE_T_MAX yes #endif], [ AC_MSG_RESULT(yes) size_max="SIZE_T_MAX"], [ AC_MSG_RESULT(no) size_max="((size_t)-1)"]) AC_DEFINE_UNQUOTED(SIZE_MAX, $size_max, [Maximum value for size_t])]) AC_CHECK_LIB(dl, dlopen, LIBS="$LIBS -ldl") AC_CHECK_FUNC(asprintf, [ have_asprintf="yes" AC_DEFINE(HAVE_ASPRINTF, 1, "Whether we have asprintf")], [ have_asprintf="no" AC_SUBST(ASPRINTF_C, "asprintf.c")]) AC_MSG_CHECKING(whether snprintf returns something useful) AC_CACHE_VAL(ac_cv_snprintf_useful_ret, [ AC_TRY_RUN([ #include <stdio.h> int main() { return (snprintf(NULL, 0, "asd") == 3 ? 0 : 1); }], ac_cv_snprintf_useful_ret="yes", ac_cv_snprintf_useful_ret="no", ac_cv_snprintf_useful_ret="no")]) AC_MSG_RESULT($ac_cv_snprintf_useful_ret) test x"$have_asprintf" != x"yes" -a x"$ac_cv_snprintf_useful_ret" != x"yes" && \ AC_MSG_ERROR(No asprintf and no snprintf returning required space!) case "$host" in *-*-mingw*) AC_MSG_CHECKING(for threads) AC_MSG_RESULT(win32) ;; *) ACX_PTHREAD([ CPPLAGS="$CPPFLAGS $PTHREAD_CFLAGS" LIBS="$LIBS $PTHREAD_LIBS" ], [ AC_MSG_ERROR(No pthreads or other supported threads!)]) ;; esac AC_CHECK_LIB(ws2_32, main, LIBS="$LIBS -lws2_32") AC_MSG_CHECKING(whether we have IPv6 support) AC_CACHE_VAL(ac_cv_have_ipv6, [ AC_TRY_RUN([ #ifndef _WIN32 #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #else #include <winsock2.h> #include <ws2tcpip.h> #endif #ifndef INVALID_SOCKET #define INVALID_SOCKET -1 #endif int main() { int fd; struct sockaddr_in6 addr; fd = socket(AF_INET6, SOCK_STREAM, 0); exit(fd != INVALID_SOCKET ? 0 : 1); }], ac_cv_have_ipv6="yes", ac_cv_have_ipv6="no", ac_cv_have_ipv6="no")]) AC_MSG_RESULT($ac_cv_have_ipv6) test x"$ac_cv_have_ipv6" = x"yes" && \ AC_DEFINE(HAVE_IPV6, 1, "Whether we have IPv6 support") AC_CHECK_HEADERS(sys/mman.h) AC_LANG([Objective C]) AC_PROG_OBJC OBJCFLAGS="$OBJCFLAGS -Wall -fobjc-exceptions" OBJCFLAGS="$OBJCFLAGS -fconstant-string-class=OFConstString" LIBS="$LIBS -lobjc" AX_CHECK_COMPILER_FLAGS(-pipe, [OBJCFLAGS="$OBJCFLAGS -pipe"]) AX_CHECK_COMPILER_FLAGS(-fno-common, [OBJCFLAGS="$OBJCFLAGS -fno-common"]) AX_CHECK_COMPILER_FLAGS(-fno-constant-cfstrings, [ NO_CONST_CFSTRINGS="-fno-constant-cfstrings" OBJCFLAGS="$OBJCFLAGS -fno-constant-cfstrings"]) AC_SUBST(NO_CONST_CFSTRINGS) AC_CHECK_HEADER(objc/runtime.h, [AC_DEFINE(HAVE_OBJC_RUNTIME_H, 1, [Whether we have objc/runtime.h])]) test x"$GCC" = x"yes" && CFLAGS="$CFLAGS -Werror" if test x"$GOBJC" = x"yes"; then old_OBJCFLAGS="$OBJCFLAGS" OBJCFLAGS="$OBJCFLAGS -Werror" AC_MSG_CHECKING(whether gcc has bug objc/27438) AC_TRY_COMPILE([ #import <objc/objc.h> @interface OFConstString { Class isa; const char *string; unsigned long size; } @end void *_OFConstStringClassReference; ], [ OFConstString *test = @""; test++; /* Get rid of unused variable warning */ ], [AC_MSG_RESULT(no)], [ AC_MSG_RESULT([yes, disabling -Werror]) OBJCFLAGS="$old_OBJCFLAGS"]) fi if test x"$cross_compiling" = x"yes"; then case "$host" in *-*-mingw*) AC_PATH_PROG(WINE, wine) if test x"$WINE" != "x"; then AC_SUBST(TESTS, "tests") AC_SUBST(TEST_LAUNCHER, "$WINE") fi ;; esac else AC_SUBST(TESTS, "tests") fi BUILDSYS_TOUCH_DEPS AC_SUBST(PACKAGE, objfw) AC_CONFIG_FILES([buildsys.mk extra.mk objfw-config]) AC_CONFIG_HEADERS(config.h) AC_OUTPUT