]> gitweb.factorcode.org Git - factor.git/commitdiff
build-support: allow CC and CXX to be overridden.
authorJohn Benediktsson <mrjbq7@gmail.com>
Fri, 6 Jun 2014 22:06:48 +0000 (15:06 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Fri, 6 Jun 2014 22:06:48 +0000 (15:06 -0700)
GNUmakefile
build-support/factor.sh

index 750d9f8f7071b8168b2a9823706fa4e26151f903..b4ccd5f7b71807fc7625942f02ef590f6077e195 100755 (executable)
@@ -1,7 +1,4 @@
 ifdef CONFIG
-       CC = gcc
-       CPP = g++
-
        VERSION = 0.97
 
        BUNDLE = Factor.app
@@ -210,11 +207,11 @@ $(ENGINE): $(DLL_OBJS)
 factor-lib: $(ENGINE)
 
 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)
 
 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)
 
 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 $@ $<
 
 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
-       $(TOOLCHAIN_PREFIX)$(CPP) -c $(CFLAGS) -o $@ $<
+       $(TOOLCHAIN_PREFIX)$(CXX) -c $(CFLAGS) -o $@ $<
 
 %.o: %.S
        $(TOOLCHAIN_PREFIX)$(CC) -c $(CFLAGS) -o $@ $<
 
 %.o: %.mm vm/master.hpp.gch
-       $(TOOLCHAIN_PREFIX)$(CPP) -c $(CFLAGS) -o $@ $<
+       $(TOOLCHAIN_PREFIX)$(CXX) -c $(CFLAGS) -o $@ $<
 
 .SUFFIXES: .mm
 
index d3d1a3ec3289546d711d8ab08e65b959962d81e6..8b11038cab6723718e5feadb556b9afff951faac 100755 (executable)
@@ -92,16 +92,16 @@ set_gcc() {
         macosx)
             xcode_major=`xcodebuild -version | sed -E -ne 's/^Xcode ([0-9]+).*$/\1/p'`
             if [[ $xcode_major -ge 4 ]]; then
-                CC=clang
-                CPP=clang++
+                [ -z "$CC" ] && CC=clang
+                [ -z "$CXX" ] && CXX=clang++
             else
-                CC=gcc
-                CPP=g++
+                [ -z "$CC" ] && CC=gcc
+                [ -z "$CXX" ] && CXX=g++
             fi
         ;;
         *)
-            CC=gcc
-            CPP=g++
+            [ -z "$CC" ] && CC=gcc
+            [ -z "$CXX" ] && CXX=g++
         ;;
     esac
 }
@@ -232,7 +232,7 @@ c_find_word_size() {
     $ECHO "Finding WORD..."
     C_WORD=factor-word-size
     write_test_program
-    gcc -o $C_WORD $C_WORD.c
+    $CC -o $C_WORD $C_WORD.c
     WORD=$(./$C_WORD)
     check_ret $C_WORD
     $DELETE -f $C_WORD*
@@ -294,6 +294,7 @@ echo_build_info() {
     $ECHO GIT_URL=$GIT_URL
     $ECHO DOWNLOADER=$DOWNLOADER
     $ECHO CC=$CC
+    $ECHO CXX=$CXX
     $ECHO MAKE=$MAKE
     $ECHO COPY=$COPY
     $ECHO DELETE=$DELETE
@@ -345,7 +346,7 @@ parse_build_info() {
     if [[ $OS == linux && $ARCH == ppc ]] ; then WORD=32; fi
     if [[ $OS == linux && $ARCH == arm ]] ; then WORD=32; fi
     if [[ $OS == macosx && $ARCH == ppc ]] ; then WORD=32; fi
-    
+
     $ECHO "OS=$OS"
     $ECHO "ARCH=$ARCH"
     $ECHO "WORD=$WORD"
@@ -354,13 +355,13 @@ parse_build_info() {
 find_build_info() {
     find_os
     find_architecture
+    set_gcc
     find_word_size
     set_factor_binary
     set_factor_library
     set_factor_image
     set_build_info
     set_downloader
-    set_gcc
     set_make
     echo_build_info
 }