build-support: allow CC and CXX to be overridden.

db4
John Benediktsson 2014-06-06 15:06:48 -07:00
parent 3ec5c7074d
commit 56a3a3cd62
2 changed files with 15 additions and 17 deletions

View File

@ -1,7 +1,4 @@
ifdef CONFIG ifdef CONFIG
CC = gcc
CPP = g++
VERSION = 0.97 VERSION = 0.97
BUNDLE = Factor.app BUNDLE = Factor.app
@ -210,11 +207,11 @@ $(ENGINE): $(DLL_OBJS)
factor-lib: $(ENGINE) factor-lib: $(ENGINE)
factor: $(EXE_OBJS) $(DLL_OBJS) factor: $(EXE_OBJS) $(DLL_OBJS)
$(TOOLCHAIN_PREFIX)$(CPP) $(LIBPATH) -L. $(DLL_OBJS) \ $(TOOLCHAIN_PREFIX)$(CXX) $(LIBPATH) -L. $(DLL_OBJS) \
$(CFLAGS) -o $(EXECUTABLE) $(LIBS) $(EXE_OBJS) $(CFLAGS) -o $(EXECUTABLE) $(LIBS) $(EXE_OBJS)
factor-console: $(EXE_OBJS) $(DLL_OBJS) factor-console: $(EXE_OBJS) $(DLL_OBJS)
$(TOOLCHAIN_PREFIX)$(CPP) $(LIBPATH) -L. $(DLL_OBJS) \ $(TOOLCHAIN_PREFIX)$(CXX) $(LIBPATH) -L. $(DLL_OBJS) \
$(CFLAGS) $(CFLAGS_CONSOLE) -o $(CONSOLE_EXECUTABLE) $(LIBS) $(EXE_OBJS) $(CFLAGS) $(CFLAGS_CONSOLE) -o $(CONSOLE_EXECUTABLE) $(LIBS) $(EXE_OBJS)
factor-ffi-test: $(FFI_TEST_LIBRARY) factor-ffi-test: $(FFI_TEST_LIBRARY)
@ -229,16 +226,16 @@ vm/ffi_test.o: vm/ffi_test.c
$(TOOLCHAIN_PREFIX)$(CC) -c $(CFLAGS) $(FFI_TEST_CFLAGS) -o $@ $< $(TOOLCHAIN_PREFIX)$(CC) -c $(CFLAGS) $(FFI_TEST_CFLAGS) -o $@ $<
vm/master.hpp.gch: vm/master.hpp $(MASTER_HEADERS) vm/master.hpp.gch: vm/master.hpp $(MASTER_HEADERS)
$(TOOLCHAIN_PREFIX)$(CPP) -c -x c++-header $(CFLAGS) -o $@ $< $(TOOLCHAIN_PREFIX)$(CXX) -c -x c++-header $(CFLAGS) -o $@ $<
%.o: %.cpp vm/master.hpp.gch %.o: %.cpp vm/master.hpp.gch
$(TOOLCHAIN_PREFIX)$(CPP) -c $(CFLAGS) -o $@ $< $(TOOLCHAIN_PREFIX)$(CXX) -c $(CFLAGS) -o $@ $<
%.o: %.S %.o: %.S
$(TOOLCHAIN_PREFIX)$(CC) -c $(CFLAGS) -o $@ $< $(TOOLCHAIN_PREFIX)$(CC) -c $(CFLAGS) -o $@ $<
%.o: %.mm vm/master.hpp.gch %.o: %.mm vm/master.hpp.gch
$(TOOLCHAIN_PREFIX)$(CPP) -c $(CFLAGS) -o $@ $< $(TOOLCHAIN_PREFIX)$(CXX) -c $(CFLAGS) -o $@ $<
.SUFFIXES: .mm .SUFFIXES: .mm

View File

@ -92,16 +92,16 @@ set_gcc() {
macosx) macosx)
xcode_major=`xcodebuild -version | sed -E -ne 's/^Xcode ([0-9]+).*$/\1/p'` xcode_major=`xcodebuild -version | sed -E -ne 's/^Xcode ([0-9]+).*$/\1/p'`
if [[ $xcode_major -ge 4 ]]; then if [[ $xcode_major -ge 4 ]]; then
CC=clang [ -z "$CC" ] && CC=clang
CPP=clang++ [ -z "$CXX" ] && CXX=clang++
else else
CC=gcc [ -z "$CC" ] && CC=gcc
CPP=g++ [ -z "$CXX" ] && CXX=g++
fi fi
;; ;;
*) *)
CC=gcc [ -z "$CC" ] && CC=gcc
CPP=g++ [ -z "$CXX" ] && CXX=g++
;; ;;
esac esac
} }
@ -232,7 +232,7 @@ c_find_word_size() {
$ECHO "Finding WORD..." $ECHO "Finding WORD..."
C_WORD=factor-word-size C_WORD=factor-word-size
write_test_program write_test_program
gcc -o $C_WORD $C_WORD.c $CC -o $C_WORD $C_WORD.c
WORD=$(./$C_WORD) WORD=$(./$C_WORD)
check_ret $C_WORD check_ret $C_WORD
$DELETE -f $C_WORD* $DELETE -f $C_WORD*
@ -294,6 +294,7 @@ echo_build_info() {
$ECHO GIT_URL=$GIT_URL $ECHO GIT_URL=$GIT_URL
$ECHO DOWNLOADER=$DOWNLOADER $ECHO DOWNLOADER=$DOWNLOADER
$ECHO CC=$CC $ECHO CC=$CC
$ECHO CXX=$CXX
$ECHO MAKE=$MAKE $ECHO MAKE=$MAKE
$ECHO COPY=$COPY $ECHO COPY=$COPY
$ECHO DELETE=$DELETE $ECHO DELETE=$DELETE
@ -345,7 +346,7 @@ parse_build_info() {
if [[ $OS == linux && $ARCH == ppc ]] ; then WORD=32; fi if [[ $OS == linux && $ARCH == ppc ]] ; then WORD=32; fi
if [[ $OS == linux && $ARCH == arm ]] ; then WORD=32; fi if [[ $OS == linux && $ARCH == arm ]] ; then WORD=32; fi
if [[ $OS == macosx && $ARCH == ppc ]] ; then WORD=32; fi if [[ $OS == macosx && $ARCH == ppc ]] ; then WORD=32; fi
$ECHO "OS=$OS" $ECHO "OS=$OS"
$ECHO "ARCH=$ARCH" $ECHO "ARCH=$ARCH"
$ECHO "WORD=$WORD" $ECHO "WORD=$WORD"
@ -354,13 +355,13 @@ parse_build_info() {
find_build_info() { find_build_info() {
find_os find_os
find_architecture find_architecture
set_gcc
find_word_size find_word_size
set_factor_binary set_factor_binary
set_factor_library set_factor_library
set_factor_image set_factor_image
set_build_info set_build_info
set_downloader set_downloader
set_gcc
set_make set_make
echo_build_info echo_build_info
} }