You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							177 lines
						
					
					
						
							6.1 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							177 lines
						
					
					
						
							6.1 KiB
						
					
					
				
								#                                               -*- Autoconf -*-
							 | 
						|
								# Process this file with autoconf to produce a configure script.
							 | 
						|
								
							 | 
						|
								AC_PREREQ([2.69])
							 | 
						|
								AC_INIT([cudd], [3.0.0], [Fabio@Colorado.EDU])
							 | 
						|
								AC_CONFIG_AUX_DIR([build-aux])
							 | 
						|
								AC_CONFIG_MACRO_DIR([m4])
							 | 
						|
								AC_CANONICAL_HOST
							 | 
						|
								AM_INIT_AUTOMAKE(
							 | 
						|
								  [1.13.4 -Wall -Werror foreign subdir-objects color-tests silent-rules]
							 | 
						|
								)
							 | 
						|
								AC_REQUIRE_AUX_FILE([tap-driver.sh])
							 | 
						|
								
							 | 
						|
								AC_ARG_ENABLE([dddmp],
							 | 
						|
								  [AS_HELP_STRING([--enable-dddmp],[include libdddmp in libcudd])])
							 | 
						|
								AM_CONDITIONAL([DDDMP], [test x$enable_dddmp = xyes])
							 | 
						|
								
							 | 
						|
								AC_ARG_ENABLE([obj],
							 | 
						|
								  [AS_HELP_STRING([--enable-obj],[include libobj in libcudd])])
							 | 
						|
								AM_CONDITIONAL([OBJ], [test x$enable_obj = xyes])
							 | 
						|
								
							 | 
						|
								AC_ARG_WITH([system-qsort],
							 | 
						|
								  [AS_HELP_STRING([--with-system-qsort],
							 | 
						|
								                  [use system qsort instead of portable one])],
							 | 
						|
								  [],[with_system_qsort=no])
							 | 
						|
								if test x$with_system_qsort != xno ; then
							 | 
						|
								  AC_DEFINE([USE_SYSTEM_QSORT], [1], [Define to 1 to use system qsort])
							 | 
						|
								fi
							 | 
						|
								
							 | 
						|
								# Set our own default (instead of "-g -O2") unless CFLAGS is already defined.
							 | 
						|
								: ${CFLAGS="-Wall -Wextra -g -O3"}
							 | 
						|
								: ${CXXFLAGS="-Wall -Wextra -std=c++0x -g -O3"}
							 | 
						|
								
							 | 
						|
								AC_PROG_CC
							 | 
						|
								AM_PROG_CC_C_O
							 | 
						|
								AC_PROG_CXX
							 | 
						|
								AM_PROG_AR
							 | 
						|
								LT_PREREQ([2.4])
							 | 
						|
								LT_INIT([win32-dll disable-shared])
							 | 
						|
								
							 | 
						|
								AC_CONFIG_SRCDIR([st/st.c])
							 | 
						|
								AC_CONFIG_HEADERS([config.h])
							 | 
						|
								
							 | 
						|
								# Checks for programs.
							 | 
						|
								AC_C_BIGENDIAN
							 | 
						|
								AM_CONDITIONAL([CROSS_COMPILING],[test x$cross_compiling = xyes])
							 | 
						|
								
							 | 
						|
								# Building documentation requires doxygen, pdflatex, and makeindex.
							 | 
						|
								AC_CHECK_PROGS([DOXYGEN], [doxygen])
							 | 
						|
								if test -z "$DOXYGEN"; then
							 | 
						|
								   AC_MSG_WARN([Doxygen not found - continuing without Doxygen support])
							 | 
						|
								fi
							 | 
						|
								AM_CONDITIONAL([HAVE_DOXYGEN],[test -n "$DOXYGEN"])
							 | 
						|
								AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([Doxyfile])])
							 | 
						|
								
							 | 
						|
								AC_CHECK_PROGS([PDFLATEX], [pdflatex])
							 | 
						|
								if test -z "$PDFLATEX"; then
							 | 
						|
								    AC_MSG_WARN([pdflatex not found - unable to compile manual to PDF])
							 | 
						|
								fi
							 | 
						|
								AC_CHECK_PROGS([MAKEINDEX], [makeindex])
							 | 
						|
								if test -z "$MAKEINDEX"; then
							 | 
						|
								    AC_MSG_WARN([makeindex not found - unable to compile manual to PDF])
							 | 
						|
								fi
							 | 
						|
								AM_CONDITIONAL([HAVE_PDFLATEX],[test -n "$PDFLATEX" && test -n "$MAKEINDEX"])
							 | 
						|
								AM_COND_IF([HAVE_PDFLATEX], [AC_CONFIG_FILES([doc/cudd.tex])])
							 | 
						|
								
							 | 
						|
								# Checks for libraries.
							 | 
						|
								#AC_CHECK_LIB([m],[pow])
							 | 
						|
								AC_SEARCH_LIBS([pow],[m])
							 | 
						|
								AC_CHECK_LIB([pthread],[pthread_create],[have_pthreads=yes],[have_pthreads=no])
							 | 
						|
								AM_CONDITIONAL([HAVE_PTHREADS],[test x$have_pthreads = xyes])
							 | 
						|
								# Check for Windows API functions.
							 | 
						|
								AC_SEARCH_LIBS([WSAStartup],[ws2_32])
							 | 
						|
								AC_SEARCH_LIBS([GetProcessMemoryInfo],[psapi])
							 | 
						|
								
							 | 
						|
								# Checks for header files.
							 | 
						|
								# First check for mandatory headers...
							 | 
						|
								AC_CHECK_HEADERS([float.h inttypes.h limits.h stddef.h stdlib.h string.h assert.h math.h], [], [have_mandatory_headers=no])
							 | 
						|
								if test "x${have_mandatory_headers}" = xno; then
							 | 
						|
								  AC_MSG_ERROR([One or more mandatory headers missing.  Check 'config.log'.])
							 | 
						|
								fi
							 | 
						|
								# ...then check for optional C headers.
							 | 
						|
								AC_CHECK_HEADERS([unistd.h sys/time.h sys/times.h sys/resource.h sys/wait.h])
							 | 
						|
								# Finally, check C++ optional headers.
							 | 
						|
								AC_MSG_CHECKING([for working C++ thread header])
							 | 
						|
								AC_LANG_PUSH([C++])
							 | 
						|
								AC_COMPILE_IFELSE(
							 | 
						|
								  [AC_LANG_PROGRAM([#include <thread>], [[  std::thread([] {}).join()]])],
							 | 
						|
								  [have_working_thread=yes],[have_working_thread=no])
							 | 
						|
								AC_LANG_POP([C++])
							 | 
						|
								if test x$have_working_thread = xyes ; then
							 | 
						|
								  AC_MSG_RESULT(yes)
							 | 
						|
								  AC_DEFINE([HAVE_WORKING_THREAD], [1], [Define to 1 if C++ thread header is usable])
							 | 
						|
								else
							 | 
						|
								  AC_MSG_RESULT(no)
							 | 
						|
								fi
							 | 
						|
								
							 | 
						|
								# Checks for typedefs, structures, and compiler characteristics.
							 | 
						|
								AC_CHECK_HEADER_STDBOOL
							 | 
						|
								AC_C_INLINE
							 | 
						|
								AC_TYPE_SIZE_T
							 | 
						|
								AC_TYPE_UINT16_T
							 | 
						|
								AC_TYPE_UINT32_T
							 | 
						|
								AC_CHECK_TYPES([ptrdiff_t])
							 | 
						|
								AC_CHECK_SIZEOF([int])
							 | 
						|
								AC_CHECK_SIZEOF([long])
							 | 
						|
								AC_CHECK_SIZEOF([void *])
							 | 
						|
								AC_CHECK_SIZEOF([long double])
							 | 
						|
								MINGW_AC_WIN32_NATIVE_HOST
							 | 
						|
								AM_CONDITIONAL([MINGW64], [test x$mingw_cv_win32_host = xyes])
							 | 
						|
								if test x$mingw_cv_win32_host = xyes ; then
							 | 
						|
								  AC_DEFINE([__USE_MINGW_ANSI_STDIO], [1], [Define to 1 to enable C99-compliant printf on MinGW-w64])
							 | 
						|
								fi
							 | 
						|
								MODERN_CXX
							 | 
						|
								if test x$ac_cv_have_modern_cxx = xyes ; then
							 | 
						|
								  AC_DEFINE([HAVE_MODERN_CXX], [1], [Define to 1 if your compiler supports enough C++11])
							 | 
						|
								fi
							 | 
						|
								
							 | 
						|
								# Checks for library functions.
							 | 
						|
								# First the mandatory functions...
							 | 
						|
								AC_CHECK_FUNCS([pow sqrt strchr strstr],
							 | 
						|
								  [], [have_mandatory_functions=no])
							 | 
						|
								if test "x${have_mandatory_functions}" = xno; then
							 | 
						|
								  AC_MSG_ERROR([One or more mandatory functions missing.  Check 'config.log'.])
							 | 
						|
								fi
							 | 
						|
								# ...then check for optional functions.   
							 | 
						|
								AC_CHECK_FUNCS([powl gethostname getrlimit getrusage sysconf])
							 | 
						|
								
							 | 
						|
								# Check for a working implementation of IEEE 754 floating point
							 | 
						|
								# Specifically, check for correct treatment of +Infinity
							 | 
						|
								AC_MSG_CHECKING([for +Infinity (IEEE 754 floating point)])
							 | 
						|
								AC_CACHE_VAL(ac_cv_have_ieee_754,
							 | 
						|
								[ AC_TRY_RUN([
							 | 
						|
								#include <math.h>
							 | 
						|
								main(void)
							 | 
						|
								{
							 | 
						|
								    if (HUGE_VAL != HUGE_VAL * 3 || HUGE_VAL != HUGE_VAL / 3) return 1;
							 | 
						|
								    return 0;
							 | 
						|
								}
							 | 
						|
								],ac_cv_have_ieee_754=yes,ac_cv_have_ieee_754=no,ac_cv_have_ieee_754=maybe)])
							 | 
						|
								if test x$ac_cv_have_ieee_754 = xmaybe ; then
							 | 
						|
								  AC_COMPILE_IFELSE(
							 | 
						|
								  [AC_LANG_PROGRAM([#include <math.h>], [  double x = INFINITY])],
							 | 
						|
								  [ac_cv_have_ieee_754=yes],[ac_cv_have_ieee_754=no])
							 | 
						|
								fi
							 | 
						|
								if test x$ac_cv_have_ieee_754 = xyes ; then
							 | 
						|
								  AC_MSG_RESULT(yes)
							 | 
						|
								  AC_DEFINE([HAVE_IEEE_754], [1], [Define to 1 if you have working floating-point infinities])
							 | 
						|
								else
							 | 
						|
								  AC_MSG_RESULT(no)
							 | 
						|
								fi
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								AC_CONFIG_FILES([Makefile])
							 | 
						|
								AC_CONFIG_FILES([dddmp/exp/test1.sh], [chmod +x dddmp/exp/test1.sh])
							 | 
						|
								AC_CONFIG_FILES([dddmp/exp/test2.sh], [chmod +x dddmp/exp/test2.sh])
							 | 
						|
								AC_CONFIG_FILES([dddmp/exp/test3.sh], [chmod +x dddmp/exp/test3.sh])
							 | 
						|
								AC_CONFIG_FILES([dddmp/exp/test4.sh], [chmod +x dddmp/exp/test4.sh])
							 | 
						|
								AC_CONFIG_FILES([dddmp/exp/test5.sh], [chmod +x dddmp/exp/test5.sh])
							 | 
						|
								AC_CONFIG_FILES([dddmp/exp/test6.sh], [chmod +x dddmp/exp/test6.sh])
							 | 
						|
								AC_CONFIG_FILES([dddmp/exp/test7.sh], [chmod +x dddmp/exp/test7.sh])
							 | 
						|
								
							 | 
						|
								AC_OUTPUT
							 | 
						|
								
							 | 
						|
								echo \
							 | 
						|
								"--------------------------------------------------
							 | 
						|
								Configuration summary for ${PACKAGE_NAME} ${PACKAGE_VERSION}
							 | 
						|
								
							 | 
						|
								Build system   : ${build}
							 | 
						|
								Host system    : ${host}
							 | 
						|
								Prefix         : '${prefix}'
							 | 
						|
								Compilers      : '${CC} ${AM_CPPFLAGS} ${CPPFLAGS} ${AM_CFLAGS} ${CFLAGS}'
							 | 
						|
								               : '${CXX} ${AM_CPPFLAGS} ${CPPFLAGS} ${AM_CXXFLAGS} ${CXXFLAGS}'
							 | 
						|
								Shared library : ${enable_shared}
							 | 
						|
								 dddmp enabled : ${enable_dddmp:-no}
							 | 
						|
								 obj enabled   : ${enable_obj:-no}
							 | 
						|
								--------------------------------------------------"
							 |