[Scummvm-cvs-logs] CVS: scummvm-new configure,1.1,1.2

Max Horn fingolfin at users.sourceforge.net
Sat Aug 24 08:25:02 CEST 2002


Update of /cvsroot/scummvm/scummvm-new
In directory usw-pr-cvs1:/tmp/cvs-serv4508

Modified Files:
	configure 
Log Message:
added some configure code which outputs a config.h file. Not near to complete, nor checked for cross platform compatibility

Index: configure
===================================================================
RCS file: /cvsroot/scummvm/scummvm-new/configure,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- configure	24 Aug 2002 14:18:40 -0000	1.1
+++ configure	24 Aug 2002 15:24:38 -0000	1.2
@@ -18,8 +18,121 @@
 # * detect whether mad/ALSA/... are available
 # * detect endianess and write that into config.h
 # * detect size of data types and write that into config.h
+# * check whether compiler supports "bool" and if not, 
+#   define HAVE_NO_BOOL and add code to config.h to implement "bool"
 # * ....
 
-echo "Implement me!"
+
+# Check whether the given command is a working C++ compiler
+test_compiler ()
+{
+cat <<EOF >tmp_cxx_compiler.cpp
+class Foo {
+  int a;
+};
+int main(int argc, char **argv)
+{
+	Foo *a = new Foo();
+	delete a;
+	return 0;
+}
+EOF
+eval "$1 -o tmp_cxx_compiler tmp_cxx_compiler.cpp 2> /dev/null" && eval "./tmp_cxx_compiler 2> /dev/null"
+}
+
+
+#
+# Check any parameters we received
+#
+# TOOD: allow for multi value params, e.g. --target=dreamcast or --backend=morphos
+#
+USE_MAD=0;
+DUMP_SCRIPTS=0;
+
+for x in $@; do
+    case x$x in
+      x--enable-mad)
+        USE_MAD=1;;
+      x--enable-dump-scripts)
+        DUMP_SCRIPTS=1;;
+    esac;
+done;
+
+#
+# Greet user
+#
+echo "Running ScummVM configure..."
+echo -n > config.h
+
+
+#
+# Determine the C++ compiler
+#
+echo -n "Looking for C++ compiler... "
+compilers="$CXX g++ c++"
+CXX=
+for compiler in $compilers; do
+  if test_compiler $compiler; then
+    CXX=$compiler
+    echo $CXX
+    break
+  fi
+done
+if test -z $CXX; then
+    echo "none found!"
+    exit 1
+fi
+
+#
+# Determine hosttype
+#
+# TODO - also add an command line option to override this
+echo -n "Checking hosttype... "
+hosttype=`uname -s`
+echo $hosttype
+case $hosttype in
+	Linux)
+		echo "#define UNIX" >> config.h
+		;;
+	Darwin)
+		echo "#define UNIX" >> config.h
+		echo "#define MACOSX" >> config.h
+		;;
+esac
+
+#
+# Check for endianess
+#
+echo -n "Checking endianess... "
+cat <<EOF >tmp_endianess_check.cpp
+#include <stdio.h>
+#include <stdlib.h>
+int main(int argc, char **argv)
+{
+	unsigned int data = 0x01234567;
+	char *ptr = (char *)&data;
+	if (ptr[0] == 0x01 && ptr[1] == 0x23 && ptr[2] == 0x45 && ptr[3] == 0x67)
+		printf("big\n");
+	else if (ptr[3] == 0x01 && ptr[2] == 0x23 && ptr[1] == 0x45 && ptr[0] == 0x67)
+		printf("little\n");
+	else
+		printf("unknown\n");
+	return 0;
+}
+EOF
+$CXX -o tmp_endianess_check tmp_endianess_check.cpp
+endianess=`./tmp_endianess_check`
+echo $endianess;
+case $endianess in
+	big)
+		echo "#define SCUMM_BIG_ENDIAN" >> config.h
+		;;
+	little)
+		echo "#define SCUMM_LITTLE_ENDIAN" >> config.h
+		;;
+	*)
+		exit 1
+		;;
+esac
 
 





More information about the Scummvm-git-logs mailing list