diff --git a/cmake/macros.cmake b/cmake/macros.cmake index 974a3f2d7083be7b3cea2e4463cbcd3eceda51e5..0402928a7285cfdb97d30b40ea5b43e11e158235 100644 --- a/cmake/macros.cmake +++ b/cmake/macros.cmake @@ -70,8 +70,8 @@ MACRO (CHECK_CC_FLAG flag var) SET (OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS}) SET (CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Werror ${flag}") # Generate the name of the check as it is cached - STRING (REPLACE "-" "" FLAG "${flag}") - STRING (REPLACE "=" "" FLAG "${FLAG}") + STRING (REGEX REPLACE "[-= ]" "" FLAG "${flag}") + STRING (REGEX REPLACE "/.*" "" FLAG "${FLAG}") STRING (TOUPPER ${FLAG} FLAG) CHECK_C_SOURCE_COMPILES ("int main (void) {return 0;}" CC_HAS_${FLAG}_FLAG) IF (${CC_HAS_${FLAG}_FLAG}) diff --git a/cmake/sac2c/config.cmake b/cmake/sac2c/config.cmake index fedf0579f474d80ccfa460ea54c5f999177731f2..9f0c24f25dfd3f267d2aabbcc15d85684da3c5dc 100644 --- a/cmake/sac2c/config.cmake +++ b/cmake/sac2c/config.cmake @@ -665,6 +665,7 @@ ELSEIF (MACC) IF ("${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang") CHECK_CC_FLAG ("-fbracket-depth=2048" MACCC_FLAGS) ENDIF () + CHECK_CC_FLAG ("-isysroot ${CMAKE_OSX_SYSROOT}" MACCC_FLAGS) CHECK_CC_FLAG ("-Wall" MACCC_FLAGS) CHECK_CC_FLAG ("-Wextra" MACCC_FLAGS) CHECK_CC_FLAG ("-Weverything" MACCC_FLAGS) diff --git a/src/tools/saccc.in b/src/tools/saccc.in index 54497daf3357996cef1f994902e6dfea967703de..a0f55833de27bf718463149dc6c0142d6a72be53 100755 --- a/src/tools/saccc.in +++ b/src/tools/saccc.in @@ -26,6 +26,7 @@ outfile= mode=ld asm= preproc= +tmparg= for arg in "$@"; do # if the previous option needs an argument, assign it if test -n "$prev_arg"; then @@ -70,7 +71,10 @@ for arg in "$@"; do if [ "$arg" == "-install_name" ]; then followaction=ccarg; ccarg=$arg else - cmdline+=( -Xc "$arg" -Xl "$arg") + # install_name needs its argument to be seperate (unlike -L), otherwise + # clang will complain. + tmparg=${arg#-install_name} + cmdline+=( -Xc "-install_name" -Xc "$tmparg" -Xl "-install_name" -Xl "$tmparg") fi ;; -save-temps) cmdline+=(-d nocleanup -Xc -save-temps -Xl -save-temps) ;;