From 6dc8a792941ac745fc1c7a56d0a820c8749b3508 Mon Sep 17 00:00:00 2001
From: johns <>
Date: Wed, 1 Aug 2001 00:50:10 +0000
Subject: [PATCH] Added c++ support.

---
 Common.mk       | 10 +++++-----
 Makefile        |  4 ++--
 Rules.make.orig |  1 +
 setup           |  5 ++++-
 4 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/Common.mk b/Common.mk
index 7853a9365..8d8ebe7cc 100644
--- a/Common.mk
+++ b/Common.mk
@@ -37,25 +37,25 @@ clobber: clean
 
 depend::
 	@echo -n >.depend
-	@for i in $(OBJS:.o=.c) ; do\
+	@for i in $(OBJS:.o=.c*) ; do\
 	$(CC) -MM $(IFLAGS) $(DFLAGS) $$i >>.depend ; done
 
 tags::
-	@for i in $(OBJS:.o=.c) ; do\
+	@for i in $(OBJS:.o=.c*) ; do\
 	cd .. ;\
 	ctags $(CTAGSFLAGS) $(TAGS) $(MODULE)/$$i ;\
 	cd $(MODULE) ;\
 	done
 
 ci::
-	ci -l $(OBJS:.o=.c) $(HDRS) Makefile
+	ci -l $(OBJS:.o=.c*) $(HDRS) Makefile
 
 lockver::
-	$(LOCKVER) $(OBJS:.o=.c) $(HDRS) Makefile
+	$(LOCKVER) $(OBJS:.o=.c*) $(HDRS) Makefile
 
 distlist::
 	@echo >>$(DISTLIST)
-	@for i in `echo $(OBJS:.o=.c)` $(HDRS) Makefile $(EXTRA) ; do \
+	@for i in `echo $(OBJS:.o=.c*)` $(HDRS) Makefile $(EXTRA) ; do \
 	echo src/$(MODULE)/$$i >>$(DISTLIST) ; done
 
 $(OBJS): $(TOPDIR)/Rules.make
diff --git a/Makefile b/Makefile
index 15c5a1f49..058d0cd2b 100644
--- a/Makefile
+++ b/Makefile
@@ -89,12 +89,12 @@ etlib/prgname.o: etlib/prgname.c
 
 # UNIX-TARGET
 freecraft:	src etlib/hash.o src/libclone.a
-	$(CC) -o freecraft src/libclone.a $(CLONELIBS) -I. $(CFLAGS)
+	$(CCLD) -o freecraft src/libclone.a $(CLONELIBS) -I. $(CFLAGS)
 
 # WIN32-TARGET
 freecraft.exe:	src etlib/prgname.o etlib/getopt.o etlib/hash.o \
 		src/freecraftrc.o src/libclone.a
-	$(CC) -o freecraft$(EXE) src/main.c src/libclone.a src/freecraftrc.o \
+	$(CCLD) -o freecraft$(EXE) src/main.c src/libclone.a src/freecraftrc.o \
 	-lSDLmain $(CLONELIBS) -I. $(CFLAGS)
 
 src/freecraftrc.o: src/freecraft.rc
diff --git a/Rules.make.orig b/Rules.make.orig
index 4d295b461..ffaeb65fc 100644
--- a/Rules.make.orig
+++ b/Rules.make.orig
@@ -212,6 +212,7 @@ CFLAGS=-g -O3 $(PROFILE) -pipe -Wcast-align -Wall $(IFLAGS)  $(DFLAGS)
 #CFLAGS=-O6 -pipe -fomit-frame-pointer -fconserve-space -fexpensive-optimizations -ffast-math  $(IFLAGS) $(DFLAGS) -static
 
 CC=cc
+CCLD=c++
 RM=rm -f
 MAKE=make
 
diff --git a/setup b/setup
index 2425d24d8..cbb383ea9 100755
--- a/setup
+++ b/setup
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 RULESFILE=Rules.make
 BEOS_CONFIGFILE=/boot/home/config/settings/FreeCraft/FreeCraft.cfg
@@ -56,6 +56,7 @@ EXTRA_CFLAGS="-DUNIT_ON_MAP -DNEW_AI"
 
 # Compile commands
 CC=gcc
+CCLD=g++
 RM="rm -f"
 MAKE=make
 
@@ -227,6 +228,7 @@ if [ "$DARWIN" = "0" ] ; then
     BEOS=0
     WIN32=0
     CC=cc
+    CCLD=c++
    CFLAGS="-O2 -pipe -fomit-frame-pointer -fconserve-space -fexpensive-optimizations -ffast-math  \$(IFLAGS) \$(DFLAGS) -traditional-cpp"
     echo "It appears that you are in a Darwin environment..."
     echo "Use --beos, --win32 or --unix to override"
@@ -313,6 +315,7 @@ fi
 
 echo "# Compile commands" >> $RULESFILE
 echo "CC=$CC" >> $RULESFILE
+echo "CCLD=$CCLD" >> $RULESFILE
 echo "RM=$RM" >> $RULESFILE
 echo "MAKE=$MAKE" >> $RULESFILE
 echo >> $RULESFILE