Index: .travis/before_install.sh ================================================================== --- .travis/before_install.sh +++ .travis/before_install.sh @@ -1,14 +1,14 @@ #!/bin/sh if [ "$TRAVIS_OS_NAME" = "linux" -a -z "$config" ]; then case "$TRAVIS_CPU_ARCH" in - amd64 | s390x) - pkgs="gobjc-multilib" - ;; - *) - pkgs="gobjc" - ;; + amd64 | s390x) + pkgs="gobjc-multilib" + ;; + *) + pkgs="gobjc" + ;; esac pkgs="$pkgs libsctp-dev" if grep precise /etc/lsb-release >/dev/null; then Index: .travis/script.sh ================================================================== --- .travis/script.sh +++ .travis/script.sh @@ -12,18 +12,16 @@ if [ "$TRAVIS_OS_NAME" = "linux" -a -z "$config" ]; then build_32_64() { build OBJC="$CC" $@ case "$TRAVIS_CPU_ARCH" in - amd64) - build OBJC="$CC -m32" \ - --host=i686-pc-linux-gnu $@ - ;; - s390x) - build OBJC="$CC -m31" \ - --host=s390-pc-linux-gnu $@ - ;; + amd64) + build OBJC="$CC -m32" --host=i686-pc-linux-gnu $@ + ;; + s390x) + build OBJC="$CC -m31" --host=s390-pc-linux-gnu $@ + ;; esac } build_32_64 build_32_64 --enable-seluid24 Index: build-aux/m4/buildsys.m4 ================================================================== --- build-aux/m4/buildsys.m4 +++ build-aux/m4/buildsys.m4 @@ -25,17 +25,17 @@ AC_DEFUN([BUILDSYS_INIT], [ AC_REQUIRE([AC_CANONICAL_BUILD]) AC_REQUIRE([AC_CANONICAL_HOST]) case "$build_os" in + darwin*) + case "$host_os" in darwin*) - case "$host_os" in - darwin*) - AC_SUBST(BUILD_AND_HOST_ARE_DARWIN, yes) - ;; - esac + AC_SUBST(BUILD_AND_HOST_ARE_DARWIN, yes) ;; + esac + ;; esac AC_CONFIG_COMMANDS_PRE([ AS_IF([test x"$GCC" = x"yes"], [AC_SUBST(DEP_CFLAGS, '-MD -MF $${out%.o}.dep')]) @@ -48,20 +48,19 @@ AC_SUBST(AMIGA_LIB_CFLAGS) AC_SUBST(AMIGA_LIB_LDFLAGS) case "$build_os" in - morphos*) - dnl Don't use tput on MorphOS: The colored - dnl output is quite unreadable and in some - dnl MorphOS versions, the output from tput is - dnl not 8-bit safe, with awk (for AC_SUBST) - dnl failing as a result. - ;; - *) - AC_PATH_PROG(TPUT, tput) - ;; + morphos*) + dnl Don't use tput on MorphOS: The colored output is + dnl quite unreadable and in some MorphOS versions the + dnl output from tput is not 8-bit safe, with awk (for + dnl AC_SUBST) failing as a result. + ;; + *) + AC_PATH_PROG(TPUT, tput) + ;; esac AS_IF([test x"$TPUT" != x""], [ if x=$($TPUT el 2>/dev/null); then AC_SUBST(TERM_EL, "$x") @@ -121,45 +120,44 @@ ]) ]) AC_DEFUN([BUILDSYS_CHECK_IOS], [ case "$host_os" in - darwin*) - AC_MSG_CHECKING(whether host is iOS) - AC_EGREP_CPP(yes, [ - #include - - #if (defined(TARGET_OS_IPHONE) && \ - TARGET_OS_IPHONE) || \ - (defined(TARGET_OS_SIMULATOR) && \ - TARGET_OS_SIMULATOR) - yes - #endif - ], [ - host_is_ios="yes" - ], [ - host_is_ios="no" - ]) - AC_MSG_RESULT($host_is_ios) - ;; + darwin*) + AC_MSG_CHECKING(whether host is iOS) + AC_EGREP_CPP(yes, [ + #include + + #if (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || \ + (defined(TARGET_OS_SIMULATOR) && \ + TARGET_OS_SIMULATOR) + yes + #endif + ], [ + host_is_ios="yes" + ], [ + host_is_ios="no" + ]) + AC_MSG_RESULT($host_is_ios) + ;; esac ]) AC_DEFUN([BUILDSYS_PROG_IMPLIB], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_MSG_CHECKING(whether we need an implib) case "$host_os" in - cygwin* | mingw*) - AC_MSG_RESULT(yes) - PROG_IMPLIB_NEEDED='yes' - PROG_IMPLIB_LDFLAGS='-Wl,--export-all-symbols,--out-implib,lib${PROG}.a' - ;; - *) - AC_MSG_RESULT(no) - PROG_IMPLIB_NEEDED='no' - PROG_IMPLIB_LDFLAGS='' - ;; + cygwin* | mingw*) + AC_MSG_RESULT(yes) + PROG_IMPLIB_NEEDED='yes' + PROG_IMPLIB_LDFLAGS='-Wl,--export-all-symbols,--out-implib,lib${PROG}.a' + ;; + *) + AC_MSG_RESULT(no) + PROG_IMPLIB_NEEDED='no' + PROG_IMPLIB_LDFLAGS='' + ;; esac AC_SUBST(PROG_IMPLIB_NEEDED) AC_SUBST(PROG_IMPLIB_LDFLAGS) ]) @@ -168,122 +166,122 @@ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([BUILDSYS_CHECK_IOS]) AC_MSG_CHECKING(for shared library system) case "$host_os" in - darwin*) - AC_MSG_RESULT(Darwin) - LIB_CFLAGS='-fPIC -DPIC' - LIB_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}' - LIB_LDFLAGS_INSTALL_NAME='-Wl,-install_name,${libdir}/$${out%.dylib}.${LIB_MAJOR}.dylib' - LIB_PREFIX='lib' - LIB_SUFFIX='.dylib' - LDFLAGS_RPATH='-Wl,-rpath,${libdir}' - PLUGIN_CFLAGS='-fPIC -DPIC' - PLUGIN_LDFLAGS='-bundle ${PLUGIN_LDFLAGS_BUNDLE_LOADER}' - PLUGIN_SUFFIX='.bundle' - AS_IF([test x"$host_is_ios" = x"yes"], [ - LINK_PLUGIN='rm -fr $$out && ${MKDIR_P} $$out && if test -f Info.plist; then ${INSTALL} -m 644 Info.plist $$out/Info.plist; fi && ${LD} -o $$out/$${out%${PLUGIN_SUFFIX}} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS} && ${CODESIGN} -fs ${CODESIGN_IDENTITY} --timestamp=none $$out' - ], [ - LINK_PLUGIN='rm -fr $$out && ${MKDIR_P} $$out/Contents/MacOS && if test -f Info.plist; then ${INSTALL} -m 644 Info.plist $$out/Contents/Info.plist; fi && ${LD} -o $$out/Contents/MacOS/$${out%${PLUGIN_SUFFIX}} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS} && ${CODESIGN} -fs ${CODESIGN_IDENTITY} --timestamp=none $$out' - ]) - INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$$i' - UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib' - INSTALL_PLUGIN='&& rm -fr ${DESTDIR}${plugindir}/$$i && cp -R $$i ${DESTDIR}${plugindir}/' - UNINSTALL_PLUGIN='&& rm -fr ${DESTDIR}${plugindir}/$$i' - CLEAN_LIB='' - ;; - mingw* | cygwin*) - AC_MSG_RESULT(MinGW / Cygwin) - LIB_CFLAGS='' - LIB_LDFLAGS='-shared -Wl,--export-all-symbols,--out-implib,lib${SHARED_LIB}.a' - LIB_LDFLAGS_INSTALL_NAME='' - LIB_PREFIX='' - LIB_SUFFIX='.dll' - LDFLAGS_RPATH='-Wl,-rpath,${libdir}' - PLUGIN_CFLAGS='' - PLUGIN_LDFLAGS='-shared' - PLUGIN_SUFFIX='.dll' - LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}' - INSTALL_LIB='&& ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i && ${INSTALL} -m 755 lib$$i.a ${DESTDIR}${libdir}/lib$$i.a' - UNINSTALL_LIB='&& rm -f ${DESTDIR}${bindir}/$$i ${DESTDIR}${libdir}/lib$$i.a' - INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i' - UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i' - CLEAN_LIB='${SHARED_LIB}.a' - ;; - openbsd* | mirbsd*) - AC_MSG_RESULT(OpenBSD) - LIB_CFLAGS='-fPIC -DPIC' - LIB_LDFLAGS='-shared' - LIB_LDFLAGS_INSTALL_NAME='' - LIB_PREFIX='lib' - LIB_SUFFIX='.so.${LIB_MAJOR}.${LIB_MINOR}' - LDFLAGS_RPATH='-Wl,-rpath,${libdir}' - PLUGIN_CFLAGS='-fPIC -DPIC' - PLUGIN_LDFLAGS='-shared' - PLUGIN_SUFFIX='.so' - LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}' - INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i' - UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i' - INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i' - UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i' - CLEAN_LIB='' - ;; - solaris*) - AC_MSG_RESULT(Solaris) - LIB_CFLAGS='-fPIC -DPIC' - LIB_LDFLAGS='-shared -Wl,-soname=${SHARED_LIB}.${LIB_MAJOR}.${LIB_MINOR}' - LIB_LDFLAGS_INSTALL_NAME='' - LIB_PREFIX='lib' - LIB_SUFFIX='.so' - LDFLAGS_RPATH='-Wl,-rpath,${libdir}' - PLUGIN_CFLAGS='-fPIC -DPIC' - PLUGIN_LDFLAGS='-shared' - PLUGIN_SUFFIX='.so' - LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}' - INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR} && rm -f ${DESTDIR}${libdir}/$$i && ${LN_S} $$i.${LIB_MAJOR}.${LIB_MINOR} ${DESTDIR}${libdir}/$$i' - UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}' - INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i' - UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i' - CLEAN_LIB='' - ;; - *-android*) - AC_MSG_RESULT(Android) - LIB_CFLAGS='-fPIC -DPIC' - LIB_LDFLAGS='-shared -Wl,-soname=${SHARED_LIB}.${LIB_MAJOR}' - LIB_LDFLAGS_INSTALL_NAME='' - LIB_PREFIX='lib' - LIB_SUFFIX='.so' - LDFLAGS_RPATH='' - PLUGIN_CFLAGS='-fPIC -DPIC' - PLUGIN_LDFLAGS='-shared' - PLUGIN_SUFFIX='.so' - LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}' - INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0 && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i' - UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0' - INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i' - UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i' - CLEAN_LIB='' - ;; - *) - AC_MSG_RESULT(ELF) - LIB_CFLAGS='-fPIC -DPIC' - LIB_LDFLAGS='-shared -Wl,-soname=${SHARED_LIB}.${LIB_MAJOR}' - LIB_LDFLAGS_INSTALL_NAME='' - LIB_PREFIX='lib' - LIB_SUFFIX='.so' - LDFLAGS_RPATH='-Wl,-rpath,${libdir}' - PLUGIN_CFLAGS='-fPIC -DPIC' - PLUGIN_LDFLAGS='-shared' - PLUGIN_SUFFIX='.so' - LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}' - INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0 && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i' - UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0' - INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i' - UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i' - CLEAN_LIB='' - ;; + darwin*) + AC_MSG_RESULT(Darwin) + LIB_CFLAGS='-fPIC -DPIC' + LIB_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}' + LIB_LDFLAGS_INSTALL_NAME='-Wl,-install_name,${libdir}/$${out%.dylib}.${LIB_MAJOR}.dylib' + LIB_PREFIX='lib' + LIB_SUFFIX='.dylib' + LDFLAGS_RPATH='-Wl,-rpath,${libdir}' + PLUGIN_CFLAGS='-fPIC -DPIC' + PLUGIN_LDFLAGS='-bundle ${PLUGIN_LDFLAGS_BUNDLE_LOADER}' + PLUGIN_SUFFIX='.bundle' + AS_IF([test x"$host_is_ios" = x"yes"], [ + LINK_PLUGIN='rm -fr $$out && ${MKDIR_P} $$out && if test -f Info.plist; then ${INSTALL} -m 644 Info.plist $$out/Info.plist; fi && ${LD} -o $$out/$${out%${PLUGIN_SUFFIX}} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS} && ${CODESIGN} -fs ${CODESIGN_IDENTITY} --timestamp=none $$out' + ], [ + LINK_PLUGIN='rm -fr $$out && ${MKDIR_P} $$out/Contents/MacOS && if test -f Info.plist; then ${INSTALL} -m 644 Info.plist $$out/Contents/Info.plist; fi && ${LD} -o $$out/Contents/MacOS/$${out%${PLUGIN_SUFFIX}} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS} && ${CODESIGN} -fs ${CODESIGN_IDENTITY} --timestamp=none $$out' + ]) + INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$$i' + UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib' + INSTALL_PLUGIN='&& rm -fr ${DESTDIR}${plugindir}/$$i && cp -R $$i ${DESTDIR}${plugindir}/' + UNINSTALL_PLUGIN='&& rm -fr ${DESTDIR}${plugindir}/$$i' + CLEAN_LIB='' + ;; + mingw* | cygwin*) + AC_MSG_RESULT(MinGW / Cygwin) + LIB_CFLAGS='' + LIB_LDFLAGS='-shared -Wl,--export-all-symbols,--out-implib,lib${SHARED_LIB}.a' + LIB_LDFLAGS_INSTALL_NAME='' + LIB_PREFIX='' + LIB_SUFFIX='.dll' + LDFLAGS_RPATH='-Wl,-rpath,${libdir}' + PLUGIN_CFLAGS='' + PLUGIN_LDFLAGS='-shared' + PLUGIN_SUFFIX='.dll' + LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}' + INSTALL_LIB='&& ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i && ${INSTALL} -m 755 lib$$i.a ${DESTDIR}${libdir}/lib$$i.a' + UNINSTALL_LIB='&& rm -f ${DESTDIR}${bindir}/$$i ${DESTDIR}${libdir}/lib$$i.a' + INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i' + UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i' + CLEAN_LIB='${SHARED_LIB}.a' + ;; + openbsd* | mirbsd*) + AC_MSG_RESULT(OpenBSD) + LIB_CFLAGS='-fPIC -DPIC' + LIB_LDFLAGS='-shared' + LIB_LDFLAGS_INSTALL_NAME='' + LIB_PREFIX='lib' + LIB_SUFFIX='.so.${LIB_MAJOR}.${LIB_MINOR}' + LDFLAGS_RPATH='-Wl,-rpath,${libdir}' + PLUGIN_CFLAGS='-fPIC -DPIC' + PLUGIN_LDFLAGS='-shared' + PLUGIN_SUFFIX='.so' + LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}' + INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i' + UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i' + INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i' + UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i' + CLEAN_LIB='' + ;; + solaris*) + AC_MSG_RESULT(Solaris) + LIB_CFLAGS='-fPIC -DPIC' + LIB_LDFLAGS='-shared -Wl,-soname=${SHARED_LIB}.${LIB_MAJOR}.${LIB_MINOR}' + LIB_LDFLAGS_INSTALL_NAME='' + LIB_PREFIX='lib' + LIB_SUFFIX='.so' + LDFLAGS_RPATH='-Wl,-rpath,${libdir}' + PLUGIN_CFLAGS='-fPIC -DPIC' + PLUGIN_LDFLAGS='-shared' + PLUGIN_SUFFIX='.so' + LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}' + INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR} && rm -f ${DESTDIR}${libdir}/$$i && ${LN_S} $$i.${LIB_MAJOR}.${LIB_MINOR} ${DESTDIR}${libdir}/$$i' + UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}' + INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i' + UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i' + CLEAN_LIB='' + ;; + *-android*) + AC_MSG_RESULT(Android) + LIB_CFLAGS='-fPIC -DPIC' + LIB_LDFLAGS='-shared -Wl,-soname=${SHARED_LIB}.${LIB_MAJOR}' + LIB_LDFLAGS_INSTALL_NAME='' + LIB_PREFIX='lib' + LIB_SUFFIX='.so' + LDFLAGS_RPATH='' + PLUGIN_CFLAGS='-fPIC -DPIC' + PLUGIN_LDFLAGS='-shared' + PLUGIN_SUFFIX='.so' + LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}' + INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0 && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i' + UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0' + INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i' + UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i' + CLEAN_LIB='' + ;; + *) + AC_MSG_RESULT(ELF) + LIB_CFLAGS='-fPIC -DPIC' + LIB_LDFLAGS='-shared -Wl,-soname=${SHARED_LIB}.${LIB_MAJOR}' + LIB_LDFLAGS_INSTALL_NAME='' + LIB_PREFIX='lib' + LIB_SUFFIX='.so' + LDFLAGS_RPATH='-Wl,-rpath,${libdir}' + PLUGIN_CFLAGS='-fPIC -DPIC' + PLUGIN_LDFLAGS='-shared' + PLUGIN_SUFFIX='.so' + LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}' + INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0 && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i' + UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0' + INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i' + UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i' + CLEAN_LIB='' + ;; esac AC_SUBST(LIB_CFLAGS) AC_SUBST(LIB_LDFLAGS) AC_SUBST(LIB_LDFLAGS_INSTALL_NAME) @@ -307,22 +305,22 @@ AC_REQUIRE([BUILDSYS_SHARED_LIB]) AC_CHECK_TOOL(CODESIGN, codesign) case "$host_os" in - darwin*) - AS_IF([test x"$host_is_ios" = x"yes"], [ - FRAMEWORK_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}' - FRAMEWORK_LDFLAGS_INSTALL_NAME='-Wl,-install_name,@executable_path/Frameworks/$$out/$${out%.framework}' - ], [ - FRAMEWORK_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}' - FRAMEWORK_LDFLAGS_INSTALL_NAME='-Wl,-install_name,@executable_path/../Frameworks/$$out/$${out%.framework}' - ]) - - AC_SUBST(FRAMEWORK_LDFLAGS) - AC_SUBST(FRAMEWORK_LDFLAGS_INSTALL_NAME) - AC_SUBST(FRAMEWORK_LIBS) - - $1 - ;; + darwin*) + AS_IF([test x"$host_is_ios" = x"yes"], [ + FRAMEWORK_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}' + FRAMEWORK_LDFLAGS_INSTALL_NAME='-Wl,-install_name,@executable_path/Frameworks/$$out/$${out%.framework}' + ], [ + FRAMEWORK_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}' + FRAMEWORK_LDFLAGS_INSTALL_NAME='-Wl,-install_name,@executable_path/../Frameworks/$$out/$${out%.framework}' + ]) + + AC_SUBST(FRAMEWORK_LDFLAGS) + AC_SUBST(FRAMEWORK_LDFLAGS_INSTALL_NAME) + AC_SUBST(FRAMEWORK_LIBS) + + $1 + ;; esac ]) Index: buildsys.mk.in ================================================================== --- buildsys.mk.in +++ buildsys.mk.in @@ -247,16 +247,16 @@ out="$@"; \ objs=""; \ ars=""; \ for i in ${OBJS} ${OBJS_EXTRA}; do \ case $$i in \ - *.a) \ - ars="$$ars $$i" \ - ;; \ - *.o) \ - objs="$$objs $$i" \ - ;; \ + *.a) \ + ars="$$ars $$i" \ + ;; \ + *.o) \ + objs="$$objs $$i" \ + ;; \ esac \ done; \ for i in $$ars; do \ dir=".$$(echo $$i | sed 's/\//_/g').objs"; \ rm -fr $$dir; \ @@ -294,16 +294,16 @@ out="$@"; \ objs=""; \ ars=""; \ for i in ${LIB_OBJS} ${LIB_OBJS_EXTRA}; do \ case $$i in \ - *.a) \ - ars="$$ars $$i" \ - ;; \ - *.o) \ - objs="$$objs $$i" \ - ;; \ + *.a) \ + ars="$$ars $$i" \ + ;; \ + *.o) \ + objs="$$objs $$i" \ + ;; \ esac \ done; \ for i in $$ars; do \ dir=".$$(echo $$i | sed 's/\//_/g').objs"; \ rm -fr $$dir; \ @@ -333,16 +333,16 @@ out="$@"; \ objs=""; \ ars=""; \ for i in ${AMIGA_LIB_OBJS} ${AMIGA_LIB_OBJS_EXTRA}; do \ case $$i in \ - *.a) \ - ars="$$ars $$i" \ - ;; \ - *.o) \ - objs="$$objs $$i" \ - ;; \ + *.a) \ + ars="$$ars $$i" \ + ;; \ + *.o) \ + objs="$$objs $$i" \ + ;; \ esac \ done; \ for i in $$ars; do \ dir=".$$(echo $$i | sed 's/\//_/g').objs"; \ rm -fr $$dir; \ Index: configure.ac ================================================================== --- configure.ac +++ configure.ac @@ -21,126 +21,116 @@ dnl Used to disable checking for -pedantic on some platforms where it's broken check_pedantic="yes" case "$host" in - arm-*-riscos*) - AS_IF([test x"$OBJCFLAGS" = x""], [ - OBJCFLAGS="-O2 -g" - ]) - flags="-mfloat-abi=softfp -mfpu=vfp -mlibscl" - ASFLAGS="$ASFLAGS -mfloat-abi=softfp -mfpu=vfp" - OBJCFLAGS="$OBJCFLAGS $flags" - OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS $flags" - LDFLAGS="$LDFLAGS $flags" - - enable_shared="no" - enable_threads="no" - enable_sockets="no" - enable_files="no" - ;; - m68k-*-amigaos*) - AS_IF([test x"$OBJCFLAGS" = x""], [ - OBJCFLAGS="-O0" - ]) - OBJCFLAGS="$OBJCFLAGS -noixemul" - OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS -noixemul" - CPPFLAGS="$CPPFLAGS -D__NO_NET_API" - LDFLAGS="$LDFLAGS -noixemul" - LIBS="$LIBS -ldebug" - - enable_files="yes" # Required for reading ENV: - enable_shared="no" - supports_amiga_lib="yes" - - AS_IF([test x"$enable_amiga_lib" != x"no"], [ - AC_SUBST(OBJFW_AMIGA_LIB, objfw68k.library) - AC_SUBST(OBJFWRT_AMIGA_LIB, objfwrt68k.library) - AC_SUBST(SFDC_TARGET, m68k-amigaos) - AC_SUBST(SFD_FILE, amigaos3.sfd) - AC_SUBST(SFDC_INLINE_H, inline.h) - dnl For 68000, GCC emits calls to helper functions that - dnl do not work properly in a library. - t="-mcpu=68020 -fbaserel32 -noixemul" - AC_SUBST(AMIGA_LIB_CFLAGS, "$t -ffreestanding") - t="$t -resident32 -nostartfiles -nodefaultlibs" - t="$t -ldebug -lc" - AC_SUBST(AMIGA_LIB_LDFLAGS, $t) - ]) - - AC_SUBST(LIBBASES_M, libbases.m) - ;; - powerpc-*-amigaos*) - CPPFLAGS="$CPPFLAGS -D__USE_INLINE__" - - enable_files="yes" # Required for reading ENV: - enable_shared="no" - - AC_SUBST(LIBBASES_M, libbases.m) - ;; - *-morphos*) - AS_IF([test x"$OBJCFLAGS" = x""], [ - OBJCFLAGS="-O2 -g" - ]) - OBJCFLAGS="$OBJCFLAGS -noixemul" - OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS -noixemul" - LDFLAGS="$LDFLAGS -noixemul" - LIBS="$LIBS -ldebug" - - enable_files="yes" # Required for reading ENV: - enable_shared="no" - supports_amiga_lib="yes" - check_pedantic="no" # Breaks generated inlines - - AS_IF([test x"$enable_amiga_lib" != x"no"], [ - AC_SUBST(OBJFW_AMIGA_LIB, objfw.library) - AC_SUBST(OBJFWRT_AMIGA_LIB, objfwrt.library) - AC_SUBST(CVINCLUDE_INLINE_H, inline.h) - t="-mresident32 -ffreestanding -noixemul" - AC_SUBST(AMIGA_LIB_CFLAGS, $t) - t="-mresident32 -nostartfiles -nodefaultlibs -noixemul" - t="$t -laboxstubs -labox -lmath -ldebug -lc" - AC_SUBST(AMIGA_LIB_LDFLAGS, $t) - ]) - - AC_SUBST(LIBBASES_M, libbases.m) - ;; - *-msdosdjgpp*) - enable_shared="no" - enable_threads="no" - enable_sockets="no" - ;; - *-*-mingw*) - LDFLAGS="$LDFLAGS -Wl,--allow-multiple-definition" - LIBS="$LIBS -lversion" - - AC_SUBST(USE_SRCS_WINDOWS, '${SRCS_WINDOWS}') - ;; - *-psp-*) - AS_IF([test x"$DEVKITPSP" = x""], [ - AC_MSG_ERROR( - [DEVKITPSP is not set! Please set DEVKITPSP.]) - ]) - - AS_IF([test x"$OBJCFLAGS" = x""], [ - OBJCFLAGS="-O2" - ]) - OBJCFLAGS="$OBJCFLAGS -G0" - OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS -G0" - CPPFLAGS="$CPPFLAGS -I$DEVKITPSP/psp/sdk/include" - LDFLAGS="$LDFLAGS -G0" - LIBS="$LIBS -L$DEVKITPSP/psp/sdk/lib -lpspdebug -lpspdisplay" - LIBS="$LIBS -lpspge -lpspctrl -lpspsdk -lc -lpspnet" - LIBS="$LIBS -lpspnet_inet -lpspnet_apctl -lpspnet_resolver" - LIBS="$LIBS -lpsputility -lpspuser -lpspkernel -lgcc -lpsplibc" - enable_shared="no" - enable_threads="no" # TODO - enable_sockets="no" # TODO - check_pedantic="no" - - AC_SUBST(MAP_LDFLAGS, ['-Wl,-Map,$@.map']) - ;; +arm-*-riscos*) + AS_IF([test x"$OBJCFLAGS" = x""], [OBJCFLAGS="-O2 -g"]) + flags="-mfloat-abi=softfp -mfpu=vfp -mlibscl" + ASFLAGS="$ASFLAGS -mfloat-abi=softfp -mfpu=vfp" + OBJCFLAGS="$OBJCFLAGS $flags" + OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS $flags" + LDFLAGS="$LDFLAGS $flags" + + enable_shared="no" + enable_threads="no" + enable_sockets="no" + enable_files="no" + ;; +m68k-*-amigaos*) + AS_IF([test x"$OBJCFLAGS" = x""], [OBJCFLAGS="-O0"]) + OBJCFLAGS="$OBJCFLAGS -noixemul" + OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS -noixemul" + CPPFLAGS="$CPPFLAGS -D__NO_NET_API" + LDFLAGS="$LDFLAGS -noixemul" + LIBS="$LIBS -ldebug" + + enable_files="yes" # Required for reading ENV: + enable_shared="no" + supports_amiga_lib="yes" + + AS_IF([test x"$enable_amiga_lib" != x"no"], [ + AC_SUBST(OBJFW_AMIGA_LIB, objfw68k.library) + AC_SUBST(OBJFWRT_AMIGA_LIB, objfwrt68k.library) + AC_SUBST(SFDC_TARGET, m68k-amigaos) + AC_SUBST(SFD_FILE, amigaos3.sfd) + AC_SUBST(SFDC_INLINE_H, inline.h) + dnl For 68000, GCC emits calls to helper functions that + dnl do not work properly in a library. + t="-mcpu=68020 -fbaserel32 -noixemul -ffreestanding" + AC_SUBST(AMIGA_LIB_CFLAGS, $t) + t="$t -resident32 -nostartfiles -nodefaultlibs -ldebug -lc" + AC_SUBST(AMIGA_LIB_LDFLAGS, $t) + ]) + + AC_SUBST(LIBBASES_M, libbases.m) + ;; +powerpc-*-amigaos*) + CPPFLAGS="$CPPFLAGS -D__USE_INLINE__" + + enable_files="yes" # Required for reading ENV: + enable_shared="no" + + AC_SUBST(LIBBASES_M, libbases.m) + ;; +*-morphos*) + AS_IF([test x"$OBJCFLAGS" = x""], [OBJCFLAGS="-O2 -g"]) + OBJCFLAGS="$OBJCFLAGS -noixemul" + OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS -noixemul" + LDFLAGS="$LDFLAGS -noixemul" + LIBS="$LIBS -ldebug" + + enable_files="yes" # Required for reading ENV: + enable_shared="no" + supports_amiga_lib="yes" + check_pedantic="no" # Breaks generated inlines + + AS_IF([test x"$enable_amiga_lib" != x"no"], [ + AC_SUBST(OBJFW_AMIGA_LIB, objfw.library) + AC_SUBST(OBJFWRT_AMIGA_LIB, objfwrt.library) + AC_SUBST(CVINCLUDE_INLINE_H, inline.h) + t="-mresident32 -ffreestanding -noixemul" + AC_SUBST(AMIGA_LIB_CFLAGS, $t) + t="-mresident32 -nostartfiles -nodefaultlibs -noixemul" + t="$t -laboxstubs -labox -lmath -ldebug -lc" + AC_SUBST(AMIGA_LIB_LDFLAGS, $t) + ]) + + AC_SUBST(LIBBASES_M, libbases.m) + ;; +*-msdosdjgpp*) + enable_shared="no" + enable_threads="no" + enable_sockets="no" + ;; +*-*-mingw*) + LDFLAGS="$LDFLAGS -Wl,--allow-multiple-definition" + LIBS="$LIBS -lversion" + + AC_SUBST(USE_SRCS_WINDOWS, '${SRCS_WINDOWS}') + ;; +*-psp-*) + AS_IF([test x"$DEVKITPSP" = x""], [ + AC_MSG_ERROR([DEVKITPSP is not set! Please set DEVKITPSP.]) + ]) + + AS_IF([test x"$OBJCFLAGS" = x""], [OBJCFLAGS="-O2"]) + OBJCFLAGS="$OBJCFLAGS -G0" + OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS -G0" + CPPFLAGS="$CPPFLAGS -I$DEVKITPSP/psp/sdk/include" + LDFLAGS="$LDFLAGS -G0" + LIBS="$LIBS -L$DEVKITPSP/psp/sdk/lib -lpspdebug -lpspdisplay" + LIBS="$LIBS -lpspge -lpspctrl -lpspsdk -lc -lpspnet" + LIBS="$LIBS -lpspnet_inet -lpspnet_apctl -lpspnet_resolver" + LIBS="$LIBS -lpsputility -lpspuser -lpspkernel -lgcc -lpsplibc" + enable_shared="no" + enable_threads="no" # TODO + enable_sockets="no" # TODO + check_pedantic="no" + + AC_SUBST(MAP_LDFLAGS, ['-Wl,-Map,$@.map']) + ;; esac AS_IF([test x"$host_os" = x"msdosdjgpp" -a x"$build_os" = x"msdosdjgpp"], [ dnl Hack to make configure find these on DOS. : ${AR:=ar.exe} @@ -148,18 +138,18 @@ : ${RANLIB:=ranlib.exe} ]) AC_LANG([Objective C]) case "$host_os" in - morphos*) - dnl Don't use clang on MorphOS - it does not support baserel, - dnl which is required for the .library. - potential_compilers="gcc" - ;; - *) - potential_compilers="clang egcc gcc" - ;; +morphos*) + dnl Don't use clang on MorphOS - it does not support baserel, which is + dnl required for the .library. + potential_compilers="gcc" + ;; +*) + potential_compilers="clang egcc gcc" + ;; esac AC_PROG_OBJC($potential_compilers) AC_PROG_OBJCPP AC_PROG_LN_S AC_PROG_INSTALL @@ -248,44 +238,43 @@ dnl amiga-gcc requires -fexceptions in LDFLAGS in order to link in the glue code dnl for registering the frames. LDFLAGS="$LDFLAGS -fexceptions" case "$OBJC" in - *clang*) - case "$host" in - dnl Clang generates MIPS assembly not accepted by GNU - dnl as, however, Clang's integrated assembler doesn't - dnl accept everything used in ObjFW's assembly files. - dnl Therefore, use the integrated assembler for ObjC - dnl files, but not for assembly files. - mips*-*-*) - flag="-integrated-as" - OBJCFLAGS="$OBJCFLAGS $flag" - OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS $flag" - ;; - dnl Don't use -no-integrated-as on Darwin. It breaks - dnl building for the iOS simulator. - i?86-*-darwin* | x86_64-*-darwin*) - ;; - dnl Many older Clang versions don't support jmp short. - i?86-*-* | x86_64-*-*) - ASFLAGS="$ASFLAGS -no-integrated-as" - ;; - dnl Clang's assembler on Windows is not complete yet - dnl and cannot compile all .S files. - *-*-mingw*) - ASFLAGS="$ASFLAGS -no-integrated-as" - ;; - dnl Clang generates assembly output on SPARC64 that - dnl OpenBSD's assembler does not accept. - sparc64-*-*openbsd*) - flag="-integrated-as" - OBJCFLAGS="$OBJCFLAGS $flag" - OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS $flag" - ;; - esac - ;; +*clang*) + case "$host" in + mips*-*-*) + dnl Clang generates MIPS assembly not accepted by GNU as, + dnl however, Clang's integrated assembler doesn't accept + dnl everything used in ObjFW's assembly files. Therefore, use + dnl the integrated assembler for ObjC files, but not for + dnl assembly files. + OBJCFLAGS="$OBJCFLAGS -integrated-as" + OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS -integrated-as" + ;; + i?86-*-darwin* | x86_64-*-darwin*) + dnl Don't use -no-integrated-as on Darwin. It breaks building + dnl for the iOS simulator. + ;; + i?86-*-* | x86_64-*-*) + dnl Many older Clang versions don't support jmp short. + ASFLAGS="$ASFLAGS -no-integrated-as" + ;; + *-*-mingw*) + dnl Clang's assembler on Windows is not complete yet and cannot + dnl compile all .S files. + ASFLAGS="$ASFLAGS -no-integrated-as" + ;; + sparc64-*-*openbsd*) + dnl Clang generates assembly output on SPARC64 that OpenBSD's + dnl assembler does not accept. + flag="-integrated-as" + OBJCFLAGS="$OBJCFLAGS $flag" + OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS $flag" + ;; + esac + ;; esac AX_CHECK_COMPILER_FLAGS(-std=gnu11, [ OBJCFLAGS="$OBJCFLAGS -std=gnu11" ], [ @@ -295,18 +284,11 @@ AX_CHECK_COMPILER_FLAGS(-std=gnu99, [OBJCFLAGS="$OBJCFLAGS -std=gnu99"]) ]) ]) -case "$build_os" in - morphos*) - # MorphOS 3.10 has a buggy ixemul that does not work with -pipe. - ;; - *) - AX_CHECK_COMPILER_FLAGS(-pipe, [OBJCFLAGS="$OBJCFLAGS -pipe"]) - ;; -esac +AX_CHECK_COMPILER_FLAGS(-pipe, [OBJCFLAGS="$OBJCFLAGS -pipe"]) AX_CHECK_COMPILER_FLAGS(-fno-common, [OBJCFLAGS="$OBJCFLAGS -fno-common"]) AX_CHECK_COMPILER_FLAGS(-Xclang -fno-constant-cfstrings, [ flag="-Xclang -fno-constant-cfstrings" OBJCFLAGS="$OBJCFLAGS $flag" OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS $flag" @@ -327,15 +309,14 @@ [OBJCFLAGS="$OBJCFLAGS -Wobjc-missing-property-synthesis"]) AX_CHECK_COMPILER_FLAGS([-Wmissing-method-return-type -Werror], [OBJCFLAGS="$OBJCFLAGS -Wmissing-method-return-type"]) case "$host" in - m68k-*-amigaos*) - dnl The inline headers generate code that triggers - dnl -Wpointer-sign. - OBJCFLAGS="$OBJCFLAGS -Wno-pointer-sign" - ;; +m68k-*-amigaos*) + dnl The inline headers generate code that triggers -Wpointer-sign. + OBJCFLAGS="$OBJCFLAGS -Wno-pointer-sign" + ;; esac AC_MSG_CHECKING(whether Objective C compiler supports properties) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([ @@ -484,13 +465,13 @@ ], [ AC_MSG_RESULT(no) ]) case "$host_os" in - solaris*) - CPPFLAGS="-D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS $CPPFLAGS" - ;; +solaris*) + CPPFLAGS="-D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS $CPPFLAGS" + ;; esac objc_runtime="ObjFW runtime" AC_CHECK_HEADER(objc/objc.h) AC_MSG_CHECKING(which Objective C runtime to use) @@ -516,219 +497,210 @@ ]) ]) AC_MSG_RESULT($objc_runtime) case "$objc_runtime" in - "ObjFW runtime") - AC_DEFINE(OF_OBJFW_RUNTIME, 1, - [Whether we use the ObjFW runtime]) - - AC_MSG_CHECKING([whether -fobjc-runtime=objfw is supported]) - - old_OBJCFLAGS="$OBJCFLAGS" - OBJCFLAGS="$OBJCFLAGS -Xclang -fobjc-runtime=objfw" - AC_LINK_IFELSE([ - AC_LANG_PROGRAM([ - #ifdef __has_attribute - # if __has_attribute(objc_root_class) - __attribute__((__objc_root_class__)) - # endif - #endif - @interface Test - + (void)test; - @end - - @implementation Test - + (void)test - { - } - @end - - void * - objc_msg_lookup(void *obj, void *sel) - { - return (void *)0; - } - - void - __objc_exec_class(void *module) - { - } - ], [[ - [Test test]; - ]]) - ], [ - flag="-Xclang -fobjc-runtime=objfw" - OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS $flag" - AC_MSG_RESULT(yes) - ], [ - flag="-fgnu-runtime" - OBJCFLAGS="$old_OBJCFLAGS $flag" - OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS $flag" - AC_MSG_RESULT(no) - old_compiler="yes" - ]) - - AC_SUBST(RUNTIME, "runtime") - AC_CONFIG_FILES(src/runtime/Info.plist) - - AS_IF([test x"$enable_shared" != x"no"], [ - AC_SUBST(OBJFWRT_SHARED_LIB, - "${LIB_PREFIX}objfwrt${LIB_SUFFIX}") - ]) - - AS_IF([test x"$enable_static" = x"yes"], [ - AC_SUBST(OBJFWRT_STATIC_LIB, "libobjfwrt.a") - ]) - - AS_IF([test x"$build_framework" = x"yes"], [ - AC_SUBST(OBJFWRT_FRAMEWORK, "ObjFWRT.framework") - AC_SUBST(RUNTIME_FRAMEWORK_LIBS, "-framework ObjFWRT") - ]) - - AS_IF([test x"$enable_amiga_lib" != x"no"], [ - AC_SUBST(RUNTIME_LIBS, "-lobjfwrt.library") - tmp="../src/runtime/linklib/libobjfwrt.library.a" - AC_SUBST(LIBOBJFWRT_DEP, "$tmp") - AC_SUBST(LIBOBJFWRT_DEP_LVL2, "../$tmp") - ], [ - AC_SUBST(RUNTIME_LIBS, "-lobjfwrt") - ]) - - AS_IF([test x"$enable_shared" = x"no" \ - -a x"$enable_amiga_lib" = x"no"], [ - tmp="../src/runtime/libobjfwrt.a" - AC_SUBST(LIBOBJFWRT_DEP, "$tmp") - AC_SUBST(LIBOBJFWRT_DEP_LVL2, "../$tmp") - ]) - - AS_IF([test x"$enable_seluid24" = x"yes"], [ - AC_DEFINE(OF_SELUID24, 1, - [Whether to use 24 bit selector UIDs]) - ]) - - AC_MSG_CHECKING(for exception type) - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([ - extern void foo(); - ], [ - @try { - foo(); - } @finally { - foo(); - } - ]) - ], [ - AS_IF([$EGREP __gnu_objc_personality_v0 \ - conftest.$ac_objext >/dev/null], [ - exception_type="DWARF" - ]) - AS_IF([$EGREP __gnu_objc_personality_sj0 \ - conftest.$ac_objext >/dev/null], [ - exception_type="SjLj" - ]) - AS_IF([$EGREP __gnu_objc_personality_seh0 \ - conftest.$ac_objext >/dev/null], [ - exception_type="SEH" - ]) - +"ObjFW runtime") + AC_DEFINE(OF_OBJFW_RUNTIME, 1, [Whether we use the ObjFW runtime]) + + AC_MSG_CHECKING([whether -fobjc-runtime=objfw is supported]) + + old_OBJCFLAGS="$OBJCFLAGS" + OBJCFLAGS="$OBJCFLAGS -Xclang -fobjc-runtime=objfw" + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([ + #ifdef __has_attribute + # if __has_attribute(objc_root_class) + __attribute__((__objc_root_class__)) + # endif + #endif + @interface Test + + (void)test; + @end + + @implementation Test + + (void)test + { + } + @end + + void * + objc_msg_lookup(void *obj, void *sel) + { + return (void *)0; + } + + void + __objc_exec_class(void *module) + { + } + ], [[ + [Test test]; + ]]) + ], [ + OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS -Xclang -fobjc-runtime=objfw" + AC_MSG_RESULT(yes) + ], [ + OBJCFLAGS="$old_OBJCFLAGS -fgnu-runtime" + OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS -fgnu-runtime" + AC_MSG_RESULT(no) + old_compiler="yes" + ]) + + AC_SUBST(RUNTIME, "runtime") + AC_CONFIG_FILES(src/runtime/Info.plist) + + AS_IF([test x"$enable_shared" != x"no"], [ + AC_SUBST(OBJFWRT_SHARED_LIB, + "${LIB_PREFIX}objfwrt${LIB_SUFFIX}") + ]) + + AS_IF([test x"$enable_static" = x"yes"], [ + AC_SUBST(OBJFWRT_STATIC_LIB, "libobjfwrt.a") + ]) + + AS_IF([test x"$build_framework" = x"yes"], [ + AC_SUBST(OBJFWRT_FRAMEWORK, "ObjFWRT.framework") + AC_SUBST(RUNTIME_FRAMEWORK_LIBS, "-framework ObjFWRT") + ]) + + AS_IF([test x"$enable_amiga_lib" != x"no"], [ + AC_SUBST(RUNTIME_LIBS, "-lobjfwrt.library") + tmp="../src/runtime/linklib/libobjfwrt.library.a" + AC_SUBST(LIBOBJFWRT_DEP, "$tmp") + AC_SUBST(LIBOBJFWRT_DEP_LVL2, "../$tmp") + ], [ + AC_SUBST(RUNTIME_LIBS, "-lobjfwrt") + ]) + + AS_IF([test x"$enable_shared" = x"no" \ + -a x"$enable_amiga_lib" = x"no"], [ + AC_SUBST(LIBOBJFWRT_DEP, "../src/runtime/libobjfwrt.a") + AC_SUBST(LIBOBJFWRT_DEP_LVL2, "../../src/runtime/libobjfwrt.a") + ]) + + AS_IF([test x"$enable_seluid24" = x"yes"], [ + AC_DEFINE(OF_SELUID24, 1, [Whether to use 24 bit selector UIDs]) + ]) + + AC_MSG_CHECKING(for exception type) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([ + extern void foo(); + ], [ + @try { + foo(); + } @finally { + foo(); + } + ]) + ], [ + AS_IF([$EGREP __gnu_objc_personality_v0 conftest.$ac_objext \ + >/dev/null], [ + exception_type="DWARF" + ]) + AS_IF([$EGREP __gnu_objc_personality_sj0 conftest.$ac_objext \ + >/dev/null], [ + exception_type="SjLj" + ]) + AS_IF([$EGREP __gnu_objc_personality_seh0 conftest.$ac_objext \ + >/dev/null], [ + exception_type="SEH" + ]) + + case "$exception_type" in + DWARF) + AC_DEFINE(HAVE_DWARF_EXCEPTIONS, 1, + [Whether DWARF exceptions are used]) + raise_exception="_Unwind_RaiseException" + ;; + SjLj) + AC_DEFINE(HAVE_SJLJ_EXCEPTIONS, 1, + [Whether SjLj exceptions are used]) + raise_exception="_Unwind_SjLj_RaiseException" + ;; + SEH) + AC_DEFINE(HAVE_SEH_EXCEPTIONS, 1, + [Whether SEH exceptions are used]) raise_exception="_Unwind_RaiseException" - - case "$exception_type" in - DWARF) - AC_DEFINE(HAVE_DWARF_EXCEPTIONS, 1, - [Whether DWARF exceptions are used]) - ;; - SjLj) - AC_DEFINE(HAVE_SJLJ_EXCEPTIONS, 1, - [Whether SjLj exceptions are used]) - raise_exception="_Unwind_SjLj_RaiseException" - ;; - SEH) - AC_DEFINE(HAVE_SEH_EXCEPTIONS, 1, - [Whether SEH exceptions are used]) - ;; - *) - AC_MSG_RESULT(unknown) - AC_MSG_ERROR([Exception type not detected!]) - ;; - esac - - AC_MSG_RESULT($exception_type) - ], [ - AC_MSG_RESULT(exceptions unavailable!) - AC_MSG_ERROR([Exceptions not accepted by compiler!]) - ]) - - AC_SEARCH_LIBS($raise_exception, [c++abi gcc_s gcc], [ - dnl c++abi requires pthread on OpenBSD - AS_IF([test x"$ac_lib" = x"c++abi"], [ - LIBS="$LIBS -lpthread" - ]) - ], [ - AC_MSG_ERROR([$raise_exception missing!]) - ], [-lpthread]) - - AC_CHECK_FUNCS(_Unwind_GetDataRelBase _Unwind_GetTextRelBase) - ;; - "Apple runtime") - AC_DEFINE(OF_APPLE_RUNTIME, 1, - [Whether we use the Apple ObjC runtime]) - - AC_CHECK_LIB(objc, objc_msgSend, [ - AC_SUBST(RUNTIME_LIBS, "-lobjc") - AC_SUBST(RUNTIME_FRAMEWORK_LIBS, "-lobjc") - ], [ - AC_MSG_ERROR([libobjc not found!]) - ]) - - old_OBJCFLAGS="$OBJCFLAGS" - OBJCFLAGS="$OBJCFLAGS -lobjc" - - AC_CHECK_FUNC(objc_autoreleasePoolPush, [], [ - AC_SUBST(RUNTIME_AUTORELEASE_M, "runtime/autorelease.m") - ]) - AC_CHECK_FUNC(objc_constructInstance, [], [ - AC_SUBST(RUNTIME_INSTANCE_M, "runtime/instance.m") - ]) - - OBJCFLAGS="$old_OBJCFLAGS" - ;; + ;; + *) + AC_MSG_RESULT(unknown) + AC_MSG_ERROR([Exception type not detected!]) + ;; + esac + + AC_MSG_RESULT($exception_type) + ], [ + AC_MSG_RESULT(exceptions unavailable!) + AC_MSG_ERROR([Exceptions not accepted by compiler!]) + ]) + + AC_SEARCH_LIBS($raise_exception, [c++abi gcc_s gcc], [ + dnl c++abi requires pthread on OpenBSD + AS_IF([test x"$ac_lib" = x"c++abi"], [LIBS="$LIBS -lpthread"]) + ], [ + AC_MSG_ERROR([$raise_exception missing!]) + ], [-lpthread]) + + AC_CHECK_FUNCS(_Unwind_GetDataRelBase _Unwind_GetTextRelBase) + ;; +"Apple runtime") + AC_DEFINE(OF_APPLE_RUNTIME, 1, [Whether we use the Apple ObjC runtime]) + + AC_CHECK_LIB(objc, objc_msgSend, [ + AC_SUBST(RUNTIME_LIBS, "-lobjc") + AC_SUBST(RUNTIME_FRAMEWORK_LIBS, "-lobjc") + ], [ + AC_MSG_ERROR([libobjc not found!]) + ]) + + old_OBJCFLAGS="$OBJCFLAGS" + OBJCFLAGS="$OBJCFLAGS -lobjc" + + AC_CHECK_FUNC(objc_autoreleasePoolPush, [], [ + AC_SUBST(RUNTIME_AUTORELEASE_M, "runtime/autorelease.m") + ]) + AC_CHECK_FUNC(objc_constructInstance, [], [ + AC_SUBST(RUNTIME_INSTANCE_M, "runtime/instance.m") + ]) + + OBJCFLAGS="$old_OBJCFLAGS" + ;; esac AC_CHECK_FUNCS(_Unwind_Backtrace) case "$host_os" in - darwin*) - AC_SUBST(LDFLAGS_REEXPORT, ["-Wl,-reexport-lobjfw"]) - AS_IF([test x"$objc_runtime" = x"Apple runtime"], [ - AC_SUBST(REEXPORT_RUNTIME, ["-Wl,-reexport-lobjc"]) - AC_SUBST(REEXPORT_RUNTIME_FRAMEWORK, - ["-Wl,-reexport-lobjc"]) - LDFLAGS="$LDFLAGS -Wl,-U,_NSFoundationVersionNumber" - ]) - - AS_IF([test x"$objc_runtime" = x"ObjFW runtime"], [ - AS_IF([test x"$exception_type" = x"DWARF"], [ - LDFLAGS="$LDFLAGS -Wl,-U,___gxx_personality_v0" - ]) - AS_IF([test x"$exception_type" = x"SjLj"], [ - LDFLAGS="$LDFLAGS -Wl,-U,___gxx_personality_sj0" - ]) - AC_SUBST(REEXPORT_RUNTIME, ["-Wl,-reexport-lobjfwrt"]) - AC_SUBST(REEXPORT_RUNTIME_FRAMEWORK, - ["-Wl,-reexport_framework,ObjFWRT"]) - ]) - - AC_CHECK_HEADERS(sysdir.h) - AC_CHECK_FUNCS(sysdir_start_search_path_enumeration) - - AS_IF([test x"$host_is_ios" = x"yes"], [ - AC_SUBST(TESTS_STATIC_LIB, tests.a) - TESTS_LIBS="$TESTS_LIBS -framework CoreFoundation" - ]) - ;; +darwin*) + AC_SUBST(LDFLAGS_REEXPORT, ["-Wl,-reexport-lobjfw"]) + AS_IF([test x"$objc_runtime" = x"Apple runtime"], [ + AC_SUBST(REEXPORT_RUNTIME, ["-Wl,-reexport-lobjc"]) + AC_SUBST(REEXPORT_RUNTIME_FRAMEWORK, ["-Wl,-reexport-lobjc"]) + LDFLAGS="$LDFLAGS -Wl,-U,_NSFoundationVersionNumber" + ]) + + AS_IF([test x"$objc_runtime" = x"ObjFW runtime"], [ + AS_IF([test x"$exception_type" = x"DWARF"], [ + LDFLAGS="$LDFLAGS -Wl,-U,___gxx_personality_v0" + ]) + AS_IF([test x"$exception_type" = x"SjLj"], [ + LDFLAGS="$LDFLAGS -Wl,-U,___gxx_personality_sj0" + ]) + AC_SUBST(REEXPORT_RUNTIME, ["-Wl,-reexport-lobjfwrt"]) + AC_SUBST(REEXPORT_RUNTIME_FRAMEWORK, + ["-Wl,-reexport_framework,ObjFWRT"]) + ]) + + AC_CHECK_HEADERS(sysdir.h) + AC_CHECK_FUNCS(sysdir_start_search_path_enumeration) + + AS_IF([test x"$host_is_ios" = x"yes"], [ + AC_SUBST(TESTS_STATIC_LIB, tests.a) + TESTS_LIBS="$TESTS_LIBS -framework CoreFoundation" + ]) + ;; esac AC_MSG_CHECKING(whether Objective C compiler supports ARC) old_OBJCFLAGS="$OBJCFLAGS" OBJCFLAGS="$OBJCFLAGS -fobjc-arc -fobjc-arc-exceptions" @@ -850,49 +822,46 @@ AS_IF([test x"$fp_endianess" = x"unknown"], [ AC_MSG_ERROR( [Floating point implementation does not conform to IEEE 754!])]) case "$host_cpu" in - arm* | earm*) - AC_MSG_CHECKING(for VFP2 or above) - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([], [ - #if !defined(__arm64__) && \ - !defined(__aarch64__) && \ - !defined(__ARM64_ARCH_8__) - __asm__ __volatile__ ( - "vstmdb sp!, {d0-d7}" - ); - #endif - ]) - ], [ - AC_DEFINE(HAVE_VFP2, 1, [Whether we have VFP2 or above]) - AC_MSG_RESULT(yes) - ], [ - AC_MSG_RESULT(no) - ]) - ;; +arm* | earm*) + AC_MSG_CHECKING(for VFP2 or above) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([], [ + #if !defined(__arm64__) && !defined(__aarch64__) && \ + !defined(__ARM64_ARCH_8__) + __asm__ __volatile__ ( + "vstmdb sp!, {d0-d7}" + ); + #endif + ]) + ], [ + AC_DEFINE(HAVE_VFP2, 1, [Whether we have VFP2 or above]) + AC_MSG_RESULT(yes) + ], [ + AC_MSG_RESULT(no) + ]) + ;; esac AC_CHECK_LIB(m, fmod, LIBS="$LIBS -lm") AC_CHECK_LIB(complex, creal, TESTS_LIBS="$TESTS_LIBS -lcomplex") AC_CHECK_FUNC(asprintf, [ case "$host" in - *-*-mingw*) - dnl asprintf from MinGW is broken on older Windows - dnl versions - have_asprintf="no" - ;; - *-psp-*) - dnl asprintf is broken on the PSP - have_asprintf="no" - ;; - *) - have_asprintf="yes" - AC_DEFINE(HAVE_ASPRINTF, 1, - [Whether we have asprintf()]) + *-*-mingw*) + dnl asprintf from MinGW is broken on older Windows versions + have_asprintf="no" + ;; + *-psp-*) + dnl asprintf is broken on the PSP + have_asprintf="no" + ;; + *) + have_asprintf="yes" + AC_DEFINE(HAVE_ASPRINTF, 1, [Whether we have asprintf()]) ;; esac ], [ have_asprintf="no" ]) @@ -946,23 +915,23 @@ AS_IF([test x"$host_os" != x"morphos"], [ AC_CHECK_LIB(dl, dlopen, LIBS="$LIBS -ldl") ]) AC_CHECK_HEADERS_ONCE(dlfcn.h) case "$host_os" in - netbsd*) - dnl dladdr exists on NetBSD, but it is completely broken. - dnl When using it with code that uses __thread, it freezes the - dnl process so that it has to be killed using SIGKILL. - dnl When disabling __thread, it doesn't freeze, but all symbols - dnl are wrong. - ;; - morphos*) - dnl MorphOS has a dladdr symbol, but it doesn't work. - ;; - *) - AC_CHECK_FUNCS(dladdr) - ;; +netbsd*) + dnl dladdr exists on NetBSD, but it is completely broken. + dnl When using it with code that uses __thread, it freezes the process + dnl so that it has to be killed using SIGKILL. + dnl When disabling __thread, it doesn't freeze, but all symbols are + dnl wrong. + ;; +morphos*) + dnl MorphOS has a dladdr symbol, but it doesn't work. + ;; +*) + AC_CHECK_FUNCS(dladdr) + ;; esac AC_CHECK_HEADERS(sys/mman.h) AC_CHECK_FUNCS(mmap mlock) @@ -1041,22 +1010,23 @@ AC_ARG_ENABLE(compiler-tls, AS_HELP_STRING([--disable-compiler-tls], [disable compiler thread local storage])) case "$host" in - aarch64*-*-android*) - # Compiler TLS is broken on AArch64 Android with Clang - enable_compiler_tls="no" - ;; - m68k-*-amigaos* | powerpc-*-amigaos*) - # Compiler TLS is broken on AmigaOS - enable_compiler_tls="no" - ;; - *-*-morphos*) - # Compiler TLS needs helpers that we don't want in the - # .library - enable_compiler_tls="no" + aarch64*-*-android*) + dnl Compiler TLS is broken on AArch64 Android with Clang + enable_compiler_tls="no" + ;; + m68k-*-amigaos* | powerpc-*-amigaos*) + dnl Compiler TLS is broken on AmigaOS + enable_compiler_tls="no" + ;; + *-*-morphos*) + dnl Compiler TLS needs helpers that we don't want in the + dnl .library + enable_compiler_tls="no" + ;; esac AS_IF([test x"$enable_compiler_tls" != x"no"], [ AC_CHECK_HEADER(threads.h, [ AC_DEFINE(OF_HAVE_THREADS_H, 1, @@ -1228,20 +1198,19 @@ AC_SUBST(USE_SRCS_FILES, '${SRCS_FILES}') AC_SUBST(OFARC, "ofarc") AC_SUBST(OFHASH, "ofhash") case "$host_os" in - msdosdjgpp*) - dnl DJGPP has the type, but it's not really usable. - ;; - *) - AC_CHECK_TYPE(off64_t, [ - AC_DEFINE(OF_HAVE_OFF64_T, 1, - [Whether we have off64_t]) - AC_CHECK_FUNCS([lseek64 lstat64 open64 stat64]) - ]) - ;; + msdosdjgpp*) + dnl DJGPP has the type, but it's not really usable. + ;; + *) + AC_CHECK_TYPE(off64_t, [ + AC_DEFINE(OF_HAVE_OFF64_T, 1, [Whether we have off64_t]) + AC_CHECK_FUNCS([lseek64 lstat64 open64 stat64]) + ]) + ;; esac AC_CHECK_HEADERS([pwd.h grp.h]) AC_CHECK_FUNC(chmod, [ AC_DEFINE(OF_HAVE_CHMOD, 1, [Whether we have chmod()]) @@ -1279,12 +1248,23 @@ AC_MSG_RESULT(no) ]) OBJCFLAGS="$old_OBJCFLAGS" ]) -AC_CHECK_HEADERS(fcntl.h dirent.h) -AC_CHECK_FUNCS([sysconf gmtime_r localtime_r nanosleep fcntl]) +AC_CHECK_HEADERS(dirent.h) +AC_CHECK_FUNCS([sysconf gmtime_r localtime_r nanosleep]) + +case "$host_os" in +amigaos* | morphos*) + dnl There is a symbol, but we cannot use fcntl() for sockets on + dnl AmigaOS / MorphOS. + ;; +*) + AC_CHECK_HEADERS(fcntl.h) + AC_CHECK_FUNCS(fcntl) + ;; +esac AC_CHECK_HEADERS(xlocale.h) AC_CHECK_FUNCS([strtod_l strtof_l asprintf_l]) AS_IF([test x"$gnu_source" != x"yes" -a \( \ x"$ac_cv_func_strtod_l" = x"yes" -o x"$ac_cv_func_strtof_l" = x"yes" -o \ @@ -1352,21 +1332,21 @@ AS_IF([test x"$enable_sockets" != x"no"], [ AC_DEFINE(OF_HAVE_SOCKETS, 1, [Whether we have sockets]) AC_SUBST(USE_SRCS_SOCKETS, '${SRCS_SOCKETS}') case "$host_os" in - amigaos*) - ;; - haiku*) - LIBS="$LIBS -lnetwork" - ;; - mingw*) - LIBS="$LIBS -lws2_32 -liphlpapi" - ;; - *) - AC_CHECK_LIB(socket, socket, LIBS="$LIBS -lsocket") - ;; + amigaos* | morphos*) + ;; + haiku*) + LIBS="$LIBS -lnetwork" + ;; + mingw*) + LIBS="$LIBS -lws2_32 -liphlpapi" + ;; + *) + AC_CHECK_LIB(socket, socket, LIBS="$LIBS -lsocket") + ;; esac AC_CHECK_HEADER(sys/socket.h, [ AC_DEFINE(OF_HAVE_SYS_SOCKET_H, 1, [Whether we have sys/socket.h]) @@ -1539,25 +1519,24 @@ "OFPollKernelEventObserver.m") ]) ]) case "$host_os" in - amigaos* | mingw* | morphos*) + amigaos* | mingw* | morphos*) + AC_DEFINE(HAVE_SELECT, 1, [Whether we have select() or similar]) + AC_SUBST(OF_SELECT_KERNEL_EVENT_OBSERVER_M, + "OFSelectKernelEventObserver.m") + ;; + *) + AC_CHECK_HEADERS(sys/select.h) + AC_CHECK_FUNC(select, [ AC_DEFINE(HAVE_SELECT, 1, [Whether we have select() or similar]) AC_SUBST(OF_SELECT_KERNEL_EVENT_OBSERVER_M, "OFSelectKernelEventObserver.m") - ;; - *) - AC_CHECK_HEADERS(sys/select.h) - AC_CHECK_FUNC(select, [ - AC_DEFINE(HAVE_SELECT, 1, - [Whether we have select() or similar]) - AC_SUBST(OF_SELECT_KERNEL_EVENT_OBSERVER_M, - "OFSelectKernelEventObserver.m") - ]) - ;; + ]) + ;; esac AS_IF([test x"$enable_threads" != x"no"], [ AC_SUBST(OF_HTTP_CLIENT_TESTS_M, "OFHTTPClientTests.m") ]) @@ -1591,60 +1570,58 @@ CHECK_BUILTIN_BSWAP(16) CHECK_BUILTIN_BSWAP(32) CHECK_BUILTIN_BSWAP(64) case "$host_os" in - darwin*) - AC_MSG_CHECKING(whether we are compiling for macOS) - AC_EGREP_CPP(egrep_cpp_yes, [ - #include - - #if (!defined(TARGET_OS_IPHONE) || \ - !TARGET_OS_IPHONE) && \ - (!defined(TARGET_OS_SIMULATOR) || \ - !TARGET_OS_SIMULATOR) - egrep_cpp_yes - #endif - ], [ - AC_MSG_RESULT(yes) - have_processes="yes" - ], [ - AC_MSG_RESULT(no) - have_processes="no" - ]) - ;; - mingw*) - have_processes="yes" - ;; - msdosdjgpp*) - have_processes="no" - ;; - *) - AC_HEADER_SYS_WAIT - AC_CHECK_FUNCS(kill) - - AC_CHECK_FUNCS(posix_spawnp, [ - AS_IF([test x"$ac_cv_func_kill" = x"yes"], [ - have_processes="yes" - - AC_CHECK_HEADERS(spawn.h) - ]) - ], [ - AC_CHECK_FUNCS([vfork dup2 execvp _exit], [ - AS_IF([test x"$ac_cv_func_vfork" = x"yes" \ - -a x"$ac_cv_func_pipe" = x"yes" \ - -a x"$ac_cv_func_dup2" = x"yes" \ - -a x"$ac_cv_func_execvp" = x"yes" \ - -a x"$ac_cv_func_kill" = x"yes" \ - -a x"$ac_cv_func__exit" = x"yes"], [ - have_processes="yes" - ]) - ], [ - break - ]) - ]) - ;; +darwin*) + AC_MSG_CHECKING(whether we are compiling for macOS) + AC_EGREP_CPP(egrep_cpp_yes, [ + #include + + #if (!defined(TARGET_OS_IPHONE) || !TARGET_OS_IPHONE) && \ + (!defined(TARGET_OS_SIMULATOR) || !TARGET_OS_SIMULATOR) + egrep_cpp_yes + #endif + ], [ + AC_MSG_RESULT(yes) + have_processes="yes" + ], [ + AC_MSG_RESULT(no) + have_processes="no" + ]) + ;; +mingw*) + have_processes="yes" + ;; +msdosdjgpp*) + have_processes="no" + ;; +*) + AC_HEADER_SYS_WAIT + AC_CHECK_FUNCS(kill) + + AC_CHECK_FUNCS(posix_spawnp, [ + AS_IF([test x"$ac_cv_func_kill" = x"yes"], [ + have_processes="yes" + + AC_CHECK_HEADERS(spawn.h) + ]) + ], [ + AC_CHECK_FUNCS([vfork dup2 execvp _exit], [ + AS_IF([test x"$ac_cv_func_vfork" = x"yes" \ + -a x"$ac_cv_func_pipe" = x"yes" \ + -a x"$ac_cv_func_dup2" = x"yes" \ + -a x"$ac_cv_func_execvp" = x"yes" \ + -a x"$ac_cv_func_kill" = x"yes" \ + -a x"$ac_cv_func__exit" = x"yes"], [ + have_processes="yes" + ]) + ], [ + break + ]) + ]) + ;; esac AS_IF([test x"$have_processes" = x"yes"], [ AC_SUBST(OF_PROCESS_M, "OFProcess.m") AC_DEFINE(OF_HAVE_PROCESSES, 1, [Whether we have processes]) ]) @@ -1956,16 +1933,16 @@ AS_IF([test x"$cross_compiling" = x"yes"], [ AC_SUBST(BIN_PREFIX, "${host_alias}-") case "$host" in - i?86-*-mingw*) - AC_CHECK_PROG(WINE, wine, wine) - ;; - x86_64-*-mingw*) - AC_CHECK_PROG(WINE, wine64, wine64) - ;; + i?86-*-mingw*) + AC_CHECK_PROG(WINE, wine, wine) + ;; + x86_64-*-mingw*) + AC_CHECK_PROG(WINE, wine64, wine64) + ;; esac AS_IF([test x"$WINE" != x""], [ AC_SUBST(RUN_TESTS, "run") AC_SUBST(WRAPPER, "$WINE") Index: src/OFDNSResolverSettings.m ================================================================== --- src/OFDNSResolverSettings.m +++ src/OFDNSResolverSettings.m @@ -68,10 +68,11 @@ #else # define HOSTS_PATH @"/etc/hosts" # define RESOLV_CONF_PATH @"/etc/resolv.conf" #endif +#ifndef OF_WII static OFString * domainFromHostname(OFString *hostname) { if (hostname == nil) return nil; @@ -92,10 +93,11 @@ return nil; return [hostname substringFromIndex: pos + 1]; } } +#endif #if !defined(OF_WII) && !defined(OF_MORPHOS) static OFString * obtainHostname(void) { Index: utils/objfw-compile ================================================================== --- utils/objfw-compile +++ utils/objfw-compile @@ -30,14 +30,14 @@ parse_packages() { packages="" while test x"$1" != "x"; do case "$1" in - --package) - shift - packages="$packages --package $1" - ;; + --package) + shift + packages="$packages --package $1" + ;; esac shift done } parse_packages "$@" @@ -122,141 +122,140 @@ out_prefix="" out_suffix="" while test x"$1" != "x"; do case "$1" in - -o|--out) - shift - out="$1" - ;; - --lib) - if test x"$plugin" = x"yes"; then - echo "You can't use --lib and --plugin!" - exit 1 - fi - - shift - - if ! echo "$1" | grep "^[0-9]\+\.[0-9]\+$" >/dev/null - then - echo "$1 is not a valid library version!" - exit 1 - fi - - export LIB_MAJOR="${1%.*}" - export LIB_MINOR="${1#*.}" - - lib="yes" - OBJCFLAGS="$OBJCFLAGS $($OBJFW_CONFIG --lib-cflags)" - out_prefix="$($OBJFW_CONFIG --lib-prefix)" - out_suffix="$($OBJFW_CONFIG --lib-suffix)" - ;; - --package) - # Already included into the flags. - shift - ;; - --plugin) - if test x"$lib" = x"yes"; then - echo "You can't use --lib and --plugin!" - exit 1 - fi - - plugin="yes" - OBJCFLAGS="$OBJCFLAGS $($OBJFW_CONFIG --plugin-cflags)" - LDFLAGS="$LDFLAGS $($OBJFW_CONFIG --plugin-ldflags)" - out_suffix="$($OBJFW_CONFIG --plugin-suffix)" - ;; - --arc) - OBJCFLAGS="$OBJCFLAGS $($OBJFW_CONFIG --arc)" - ;; - --builddir) - shift - builddir="$1" - ;; - -D) - shift - CPPFLAGS="$CPPFLAGS -D$1" - ;; - -D*) - CPPFLAGS="$CPPFLAGS $1" - ;; - -framework) - shift - LIBS="$LIBS -framework $1" - ;; - -f*) - OBJCFLAGS="$OBJCFLAGS $1" - ;; - -F) - shift - LIBS="$LIBS -F$1" - ;; - -F*) - LIBS="$LIBS $1" - ;; - -g*) - OBJCFLAGS="$OBJCFLAGS $1" - ;; - -I) - shift - CPPFLAGS="$CPPFLAGS -I$1" - ;; - -I*) - CPPFLAGS="$CPPFLAGS $1" - ;; - -l) - shift - LIBS="$LIBS -l$1" - ;; - -l*) - LIBS="$LIBS $1" - ;; - -L) - shift - LIBS="$LIBS -L$1" - ;; - -L*) - LIBS="$LIBS $1" - ;; - -m*) - OBJCFLAGS="$OBJCFLAGS $1" - ;; - -O*) - OBJCFLAGS="$OBJCFLAGS $1" - ;; - -pthread) - OBJCFLAGS="$OBJCFLAGS $1" - LDFLAGS="$LDFLAGS $1" - ;; - -std=*) - OBJCFLAGS="$OBJCFLAGS $1" - ;; - -Wl,*) - LDFLAGS="$LDFLAGS $1" - ;; - -W*) - OBJCFLAGS="$OBJCFLAGS $1" - ;; - --help) - show_help - exit 0 - ;; - -*) - echo "Unknown option: $1" - exit 1 - ;; - *.m) - srcs="$srcs $1" - ;; - *.mm) - srcs="$srcs $1" - link_stdcpp="yes" - ;; - *) - echo "Only .m and .mm files can be compiled!" 1>&2 - exit 1 - ;; + -o|--out) + shift + out="$1" + ;; + --lib) + if test x"$plugin" = x"yes"; then + echo "You can't use --lib and --plugin!" + exit 1 + fi + + shift + + if ! echo "$1" | grep "^[0-9]\+\.[0-9]\+$" >/dev/null; then + echo "$1 is not a valid library version!" + exit 1 + fi + + export LIB_MAJOR="${1%.*}" + export LIB_MINOR="${1#*.}" + + lib="yes" + OBJCFLAGS="$OBJCFLAGS $($OBJFW_CONFIG --lib-cflags)" + out_prefix="$($OBJFW_CONFIG --lib-prefix)" + out_suffix="$($OBJFW_CONFIG --lib-suffix)" + ;; + --package) + # Already included into the flags. + shift + ;; + --plugin) + if test x"$lib" = x"yes"; then + echo "You can't use --lib and --plugin!" + exit 1 + fi + + plugin="yes" + OBJCFLAGS="$OBJCFLAGS $($OBJFW_CONFIG --plugin-cflags)" + LDFLAGS="$LDFLAGS $($OBJFW_CONFIG --plugin-ldflags)" + out_suffix="$($OBJFW_CONFIG --plugin-suffix)" + ;; + --arc) + OBJCFLAGS="$OBJCFLAGS $($OBJFW_CONFIG --arc)" + ;; + --builddir) + shift + builddir="$1" + ;; + -D) + shift + CPPFLAGS="$CPPFLAGS -D$1" + ;; + -D*) + CPPFLAGS="$CPPFLAGS $1" + ;; + -framework) + shift + LIBS="$LIBS -framework $1" + ;; + -f*) + OBJCFLAGS="$OBJCFLAGS $1" + ;; + -F) + shift + LIBS="$LIBS -F$1" + ;; + -F*) + LIBS="$LIBS $1" + ;; + -g*) + OBJCFLAGS="$OBJCFLAGS $1" + ;; + -I) + shift + CPPFLAGS="$CPPFLAGS -I$1" + ;; + -I*) + CPPFLAGS="$CPPFLAGS $1" + ;; + -l) + shift + LIBS="$LIBS -l$1" + ;; + -l*) + LIBS="$LIBS $1" + ;; + -L) + shift + LIBS="$LIBS -L$1" + ;; + -L*) + LIBS="$LIBS $1" + ;; + -m*) + OBJCFLAGS="$OBJCFLAGS $1" + ;; + -O*) + OBJCFLAGS="$OBJCFLAGS $1" + ;; + -pthread) + OBJCFLAGS="$OBJCFLAGS $1" + LDFLAGS="$LDFLAGS $1" + ;; + -std=*) + OBJCFLAGS="$OBJCFLAGS $1" + ;; + -Wl,*) + LDFLAGS="$LDFLAGS $1" + ;; + -W*) + OBJCFLAGS="$OBJCFLAGS $1" + ;; + --help) + show_help + exit 0 + ;; + -*) + echo "Unknown option: $1" + exit 1 + ;; + *.m) + srcs="$srcs $1" + ;; + *.mm) + srcs="$srcs $1" + link_stdcpp="yes" + ;; + *) + echo "Only .m and .mm files can be compiled!" 1>&2 + exit 1 + ;; esac shift done @@ -264,39 +263,39 @@ echo "No output name specified! Use -o or --out!" exit 1 fi case "$builddir" in - "") - ;; - */) - ;; - *) - builddir="$builddir/" - ;; +"") + ;; +*/) + ;; +*) + builddir="$builddir/" + ;; esac for i in $srcs; do case $i in - *.m) - if test x"$lib" = x"yes"; then - obj="$builddir${i%.m}.lib.o" - elif test x"$plugin" = x"yes"; then - obj="$builddir${i%.m}.plugin.o" - else - obj="$builddir${i%.m}.o" - fi - ;; - *.mm) - if test x"$lib" = x"yes"; then - obj="$builddir${i%.mm}.lib.o" - elif test x"$plugin" = x"yes"; then - obj="$builddir${i%.mm}.plugin.o" - else - obj="$builddir${i%.mm}.o" - fi - ;; + *.m) + if test x"$lib" = x"yes"; then + obj="$builddir${i%.m}.lib.o" + elif test x"$plugin" = x"yes"; then + obj="$builddir${i%.m}.plugin.o" + else + obj="$builddir${i%.m}.o" + fi + ;; + *.mm) + if test x"$lib" = x"yes"; then + obj="$builddir${i%.mm}.lib.o" + elif test x"$plugin" = x"yes"; then + obj="$builddir${i%.mm}.plugin.o" + else + obj="$builddir${i%.mm}.o" + fi + ;; esac objs="$objs $obj" build="no" deps=$($OBJC -E -M $CPPFLAGS $OBJCFLAGS $i | sed 's/.*: //' | sed 's/\\//g') Index: utils/objfw-config.in ================================================================== --- utils/objfw-config.in +++ utils/objfw-config.in @@ -96,14 +96,14 @@ } parse_packages() { while test x"$1" != "x"; do case "$1" in - --package) - shift - package_depends_on "$1" - ;; + --package) + shift + package_depends_on "$1" + ;; esac shift done } parse_packages "$@" @@ -118,118 +118,114 @@ fi } while test x"$1" != "x"; do case "$1" in - --all) - output_flag "$CFLAGS $CPPFLAGS $CXXFLAGS $OBJCFLAGS" - output_flag "$LDFLAGS $LDFLAGS_REEXPORT $LDFLAGS_RPATH" - output_flag "$LIBS" - ;; - --arc) - output_flag "-fobjc-arc -fobjc-arc-exceptions" - ;; - --cflags) - output_flag "$CFLAGS" - ;; - --cppflags) - output_flag "$CPPFLAGS" - ;; - --cxxflags) - output_flag "$CXXFLAGS" - ;; - --framework-libs) - output_flag "$FRAMEWORK_LIBS" - ;; - --help) - show_help 0 - ;; - --objc) - output_flag "$OBJC" - ;; - --objcflags) - output_flag "$OBJCFLAGS" - ;; - --libs) - output_flag "$LIBS" - ;; - --lib-cflags) - if test x"$LIB_MAJOR" = x"" -o x"$LIB_MINOR" = x""; then - echo "LIB_MAJOR and LIB_MINOR need to be set!" \ - 1>&2 - exit 1 - fi - - output_flag "$LIB_CFLAGS" - ;; - --lib-ldflags) - if test x"$SHARED_LIB" = x"" -o x"$LIB_MAJOR" = x"" \ - -o x"$LIB_MINOR" = x""; then - printf "SHARED_LIB, LIB_MAJOR and " 2>&1 - echo "LIB_MINOR need to be set!" 1>&2 - exit 1 - fi - - output_flag "$LIB_LDFLAGS" - ;; - --lib-prefix) - if test x"$LIB_MAJOR" = x"" -o x"$LIB_MINOR" = x""; then - echo "LIB_MAJOR and LIB_MINOR need to be set!" \ - 1>&2 - exit 1 - fi - - output_flag "$LIB_PREFIX" - ;; - --lib-suffix) - if test x"$LIB_MAJOR" = x"" -o x"$LIB_MINOR" = x""; then - echo "LIB_MAJOR and LIB_MINOR need to be set!" \ - 1>&2 - exit 1 - fi - - output_flag "$LIB_SUFFIX" - ;; - --ldflags) - output_flag "$LDFLAGS" - ;; - --reexport) - output_flag "$LDFLAGS_REEXPORT" - ;; - --rpath) - output_flag "$LDFLAGS_RPATH" - ;; - --package) - # Already included into the flags. - shift - ;; - --packages-dir) - output_flag "$packagesdir" - ;; - --plugin-cflags) - output_flag "$PLUGIN_CFLAGS" - ;; - --plugin-ldflags) - output_flag "$PLUGIN_LDFLAGS" - ;; - --plugin-suffix) - output_flag "$PLUGIN_SUFFIX" - ;; - --prog-suffix) - output_flag "$PROG_SUFFIX" - ;; - --static-libs) - output_flag "$STATIC_LIBS" - ;; - --version) - output_flag "$VERSION" - ;; - *) - echo "Invalid option: $1" 1>&2 - exit 1 - ;; + --all) + output_flag "$CFLAGS $CPPFLAGS $CXXFLAGS $OBJCFLAGS" + output_flag "$LDFLAGS $LDFLAGS_REEXPORT $LDFLAGS_RPATH $LIBS" + ;; + --arc) + output_flag "-fobjc-arc -fobjc-arc-exceptions" + ;; + --cflags) + output_flag "$CFLAGS" + ;; + --cppflags) + output_flag "$CPPFLAGS" + ;; + --cxxflags) + output_flag "$CXXFLAGS" + ;; + --framework-libs) + output_flag "$FRAMEWORK_LIBS" + ;; + --help) + show_help 0 + ;; + --objc) + output_flag "$OBJC" + ;; + --objcflags) + output_flag "$OBJCFLAGS" + ;; + --libs) + output_flag "$LIBS" + ;; + --lib-cflags) + if test x"$LIB_MAJOR" = x"" -o x"$LIB_MINOR" = x""; then + echo "LIB_MAJOR and LIB_MINOR need to be set!" 1>&2 + exit 1 + fi + + output_flag "$LIB_CFLAGS" + ;; + --lib-ldflags) + if test x"$SHARED_LIB" = x"" -o x"$LIB_MAJOR" = x"" \ + -o x"$LIB_MINOR" = x""; then + printf "SHARED_LIB, LIB_MAJOR and " 2>&1 + echo "LIB_MINOR need to be set!" 1>&2 + exit 1 + fi + + output_flag "$LIB_LDFLAGS" + ;; + --lib-prefix) + if test x"$LIB_MAJOR" = x"" -o x"$LIB_MINOR" = x""; then + echo "LIB_MAJOR and LIB_MINOR need to be set!" 1>&2 + exit 1 + fi + + output_flag "$LIB_PREFIX" + ;; + --lib-suffix) + if test x"$LIB_MAJOR" = x"" -o x"$LIB_MINOR" = x""; then + echo "LIB_MAJOR and LIB_MINOR need to be set!" 1>&2 + exit 1 + fi + + output_flag "$LIB_SUFFIX" + ;; + --ldflags) + output_flag "$LDFLAGS" + ;; + --reexport) + output_flag "$LDFLAGS_REEXPORT" + ;; + --rpath) + output_flag "$LDFLAGS_RPATH" + ;; + --package) + # Already included into the flags. + shift + ;; + --packages-dir) + output_flag "$packagesdir" + ;; + --plugin-cflags) + output_flag "$PLUGIN_CFLAGS" + ;; + --plugin-ldflags) + output_flag "$PLUGIN_LDFLAGS" + ;; + --plugin-suffix) + output_flag "$PLUGIN_SUFFIX" + ;; + --prog-suffix) + output_flag "$PROG_SUFFIX" + ;; + --static-libs) + output_flag "$STATIC_LIBS" + ;; + --version) + output_flag "$VERSION" + ;; + *) + echo "Invalid option: $1" 1>&2 + exit 1 + ;; esac shift done test x"$flag_printed" = x"yes" && echo exit 0 Index: utils/objfw-new ================================================================== --- utils/objfw-new +++ utils/objfw-new @@ -14,14 +14,14 @@ name="$2" test -z "$name" && show_help case "$1" in - app) - test -f "$name.m" && already_exists "$name.m" +app) + test -f "$name.m" && already_exists "$name.m" - cat >"$name.m" <<__EOF__ + cat >"$name.m" <<__EOF__ #import @interface $name: OFObject @end @@ -32,16 +32,16 @@ { [OFApplication terminate]; } @end __EOF__ - ;; - class) - test -f "$name.h" && already_exists "$name.h" - test -f "$name.m" && already_exists "$name.m" + ;; +class) + test -f "$name.h" && already_exists "$name.h" + test -f "$name.m" && already_exists "$name.m" - cat >"$name.h" <<__EOF__ + cat >"$name.h" <<__EOF__ #import @interface $name: OFObject @end __EOF__ @@ -49,10 +49,10 @@ #import "$name.h" @implementation $name @end __EOF__ - ;; - *) - show_help - ;; + ;; +*) + show_help + ;; esac