Index: configure.ac ================================================================== --- configure.ac +++ configure.ac @@ -91,10 +91,25 @@ CPP="$OBJCPP" CPPFLAGS="$CPPFLAGS $OBJCPPFLAGS" OBJCFLAGS="$OBJCFLAGS -Wall -fexceptions -fobjc-exceptions -funwind-tables" OBJCFLAGS="$OBJCFLAGS -fconstant-string-class=OFConstantString" + +dnl Clang generates MIPS assembly not accepted by GNU as, however, Clang's +dnl integrated assembler doesn't accept everything used in ObjFW's assembly +dnl files. Therefore, use the integrated assembler for ObjC files, but not for +dnl assembly files. +case "$OBJC" in + *clang*) + case "$host_cpu" in + mips*) + OBJCFLAGS="$OBJCFLAGS -integrated-as" + AC_SUBST(INTEGRATED_AS, "-integrated-as") + ;; + esac + ;; +esac AX_CHECK_COMPILER_FLAGS(-std=gnu11, [ OBJCFLAGS="$OBJCFLAGS -std=gnu11" ], [ AX_CHECK_COMPILER_FLAGS(-std=gnu1x, [ Index: utils/objfw-config.in ================================================================== --- utils/objfw-config.in +++ utils/objfw-config.in @@ -20,12 +20,12 @@ libdir="@libdir@" CFLAGS="" CPPFLAGS="-I@includedir@" CXXFLAGS="" OBJC="@OBJC@" -OBJCFLAGS="@RUNTIME_FLAGS@ -fexceptions -fobjc-exceptions -funwind-tables" -OBJCFLAGS="$OBJCFLAGS -fconstant-string-class=OFConstantString" +OBJCFLAGS="@INTEGRATED_AS@ @RUNTIME_FLAGS@ -fexceptions -fobjc-exceptions" +OBJCFLAGS="$OBJCFLAGS -funwind-tables -fconstant-string-class=OFConstantString" OBJCFLAGS="$OBJCFLAGS @NO_CONST_CFSTRINGS@ @BLOCKS_FLAGS@ @NO_WARN_UNUSED@" LIB_CFLAGS="@LIB_CFLAGS@" LIB_LDFLAGS="@LIB_LDFLAGS@" LIB_PREFIX="@LIB_PREFIX@" LIB_SUFFIX="@LIB_SUFFIX@"