# HG changeset patch
# User Alpar Juttner <alpar@cs.elte.hu>
# Date 1235153170 0
# Node ID 7992dcb0d0e6562056e16635b3a1b2a8908652d9
# Parent  14a7e712e80f0ebc39e51678e95dcef3ae7e98b2
Add long long checking to build systems (#230)

diff -r 14a7e712e80f -r 7992dcb0d0e6 CMakeLists.txt
--- a/CMakeLists.txt	Fri Feb 20 06:59:00 2009 +0000
+++ b/CMakeLists.txt	Fri Feb 20 18:06:10 2009 +0000
@@ -14,6 +14,9 @@
 INCLUDE(FindDoxygen)
 INCLUDE(FindGhostscript)
 
+INCLUDE(CheckTypeSize)
+CHECK_TYPE_SIZE("long long" LONG_LONG)
+
 ENABLE_TESTING()
 
 ADD_SUBDIRECTORY(lemon)
diff -r 14a7e712e80f -r 7992dcb0d0e6 configure.ac
--- a/configure.ac	Fri Feb 20 06:59:00 2009 +0000
+++ b/configure.ac	Fri Feb 20 18:06:10 2009 +0000
@@ -24,6 +24,12 @@
 dnl Do compilation tests using the C++ compiler.
 AC_LANG([C++])
 
+dnl Check the existence of long long type.
+AC_CHECK_TYPE(long long, [long_long_found=yes], [long_long_found=no])
+if test x"$long_long_found" = x"yes"; then
+  AC_DEFINE([HAVE_LONG_LONG], [1], [Define to 1 if you have long long.])
+fi
+
 dnl Checks for programs.
 AC_PROG_CXX
 AC_PROG_CXXCPP
@@ -116,6 +122,8 @@
 echo C++ compiler.................. : $CXX
 echo C++ compiles flags............ : $CXXFLAGS
 echo
+echo Compiler supports long long... : $long_long_found
+echo
 #echo GLPK support.................. : $lx_glpk_found
 #echo CPLEX support................. : $lx_cplex_found
 #echo SOPLEX support................ : $lx_soplex_found
diff -r 14a7e712e80f -r 7992dcb0d0e6 lemon/bits/default_map.h
--- a/lemon/bits/default_map.h	Fri Feb 20 06:59:00 2009 +0000
+++ b/lemon/bits/default_map.h	Fri Feb 20 18:06:10 2009 +0000
@@ -96,7 +96,7 @@
   };
 
 
-#if defined __GNUC__ && !defined __STRICT_ANSI__
+#if defined HAVE_LONG_LONG
 
   // long long
   template <typename _Graph, typename _Item>
diff -r 14a7e712e80f -r 7992dcb0d0e6 lemon/config.h.cmake
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lemon/config.h.cmake	Fri Feb 20 18:06:10 2009 +0000
@@ -0,0 +1,1 @@
+#cmakedefine HAVE_LONG_LONG 1
\ No newline at end of file
diff -r 14a7e712e80f -r 7992dcb0d0e6 lemon/config.h.in
--- a/lemon/config.h.in	Fri Feb 20 06:59:00 2009 +0000
+++ b/lemon/config.h.in	Fri Feb 20 18:06:10 2009 +0000
@@ -3,3 +3,6 @@
 
 /* Define to 1 if you have GLPK. */
 #undef HAVE_GLPK
+
+/* Define to 1 if you have long long */
+#undef HAVE_LONG_LONG
diff -r 14a7e712e80f -r 7992dcb0d0e6 lemon/tolerance.h
--- a/lemon/tolerance.h	Fri Feb 20 06:59:00 2009 +0000
+++ b/lemon/tolerance.h	Fri Feb 20 18:06:10 2009 +0000
@@ -371,7 +371,7 @@
     static Value zero() {return 0;}
   };
 
-#if defined __GNUC__ && !defined __STRICT_ANSI__
+#if HAVE_LONG_LONG 
 
   ///Long long integer specialization of Tolerance.