summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-06-06 19:18:22 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-06-06 19:18:22 (GMT)
commit50fd36027a084e0a39b4fa6fc8e49bb1ae044c8a (patch)
treed22a6f5fb268df436bf39760f0e668f1452ceb17
parent263c57146c81d06dd031e0e16d14c4ba87d7c3f6 (diff)
downloadswift-50fd36027a084e0a39b4fa6fc8e49bb1ae044c8a.zip
swift-50fd36027a084e0a39b4fa6fc8e49bb1ae044c8a.tar.bz2
Use separate "MM" variable for make dependency generation tool.
On Windows, the compiler cannot be used as a make dependency generation. Make it possible to specify a different tool (e.g. GCC) for dependency generation through the MM variable.
-rw-r--r--Makefile6
-rw-r--r--Makefile.config.in1
-rw-r--r--configure.in20
3 files changed, 24 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 451d98e..f590b59 100644
--- a/Makefile
+++ b/Makefile
@@ -79,13 +79,13 @@ endif
endif
%.dep: %.cpp
- $(QUIET_MM)$(CXX) -MM -MG -MT $(basename $@).o $(filter-out -arch armv6 -arch i386 -arch ppc,$(CXXFLAGS)) $< > $@
+ $(QUIET_MM)$(MM) -MM -MG -MT $(basename $@).o $(CPPFLAGS) $(filter-out -arch armv6 -arch i386 -arch ppc,$(CXXFLAGS)) $< > $@
%.dep: %.c
- $(QUIET_MM)$(CC) -MM -MG -MT $(basename $@).o $(filter-out -arch armv6 -arch i386 -arch ppc,$(CFLAGS)) $< > $@
+ $(QUIET_MM)$(MM) -MM -MG -MT $(basename $@).o $(CPPFLAGS) $(filter-out -arch armv6 -arch i386 -arch ppc,$(CFLAGS)) $< > $@
%.dep: %.mm
- $(QUIET_MM)$(CC) -MM -MG -MT $(basename $@).o $(filter-out -arch armv6 -arch i386 -arch ppc,$(CXXFLAGS)) $< > $@
+ $(QUIET_MM)$(CC) -MM -MG -MT $(basename $@).o $(CPPFLAGS) $(filter-out -arch armv6 -arch i386 -arch ppc,$(CXXFLAGS)) $< > $@
%.o: %.c
$(QUIET_CC)$(CC) -c $< -o $@ $(CPPFLAGS) $(CFLAGS)
diff --git a/Makefile.config.in b/Makefile.config.in
index c71334d..54ed018 100644
--- a/Makefile.config.in
+++ b/Makefile.config.in
@@ -3,6 +3,7 @@
################################################################################
@SET_MAKE@
+MM=@MM@
CXX=@CONFIG_CXX@
CXXFLAGS=@CONFIG_CXXFLAGS@
CC=@CONFIG_CC@
diff --git a/configure.in b/configure.in
index 5866b63..f1ee664 100644
--- a/configure.in
+++ b/configure.in
@@ -98,6 +98,22 @@ fi
# Checks for programs and sets default compiler options.
################################################################################
+# On windows, use some smart defaults for the compiler
+case $host in
+ *-*-cygwin* | *-mingw32*)
+ if test -z "$CC"; then
+ CC="autoconf/cccl"
+ fi
+ if test -z "$CXX"; then
+ CXX="autoconf/cccl"
+ fi
+ if test -z "$MM"; then
+ MM="gcc"
+ fi
+ ;;
+ *)
+esac
+
AC_PROG_CC
AC_PROG_CXX
AC_GNU_SOURCE
@@ -106,6 +122,9 @@ AC_PROG_INSTALL
#AC_SYS_LARGEFILE
CONFIG_CC="$CC"
CONFIG_CXX="$CXX"
+if test -z "$MM"; then
+ MM="$CC"
+fi
# Expat
AX_LIB_EXPAT()
@@ -171,6 +190,7 @@ AC_SUBST(HAVE_EXPAT)
AC_SUBST(CONFIG_CXX)
AC_SUBST(CONFIG_CXXFLAGS)
AC_SUBST(CONFIG_CC)
+AC_SUBST(MM)
AC_SUBST(CONFIG_CFLAGS)
AC_SUBST(CONFIG_LDFLAGS)
AC_SUBST(CONFIG_LIBS)