support cudd 3.0

This commit is contained in:
Vitor Santos Costa 2016-04-14 11:58:35 +01:00
parent 5a5829a583
commit 29fba0238d
9 changed files with 62 additions and 110 deletions

View File

@ -183,9 +183,15 @@ ENDIF (NOT MSVC)
set_target_properties(libYap
PROPERTIES VERSION ${YAP_FULL_VERSION}
SOVERSION ${YAP_MAJOR_VERSION}.${YAP_MINOR_VERSION}
OUTPUT_NAME libYap
OUTPUT_NAME Yap
)
if (ANDROID)
set_target_properties(libYap
PROPERTIES OUTPUT_NAME libayap
)
endif (ANDROID)
set(CMAKE_TOP_BINARY_DIR ${CMAKE_BINARY_DIR})
set(YAP_PL_SRCDIR ${CMAKE_SOURCE_DIR}/pl)

View File

@ -14,10 +14,10 @@ if (NOT CUDD_ROOT)
set(CUDD_ROOT "" CACHE PATH "Root of Cudd compiled source tree.")
endif()
set (CUDD_FOUND NO CACHE "system Has CUDD" PARENT_SCOPE)
if (NOT CUDD_ROOT)
set(CUDD_ROOT "" CACHE PATH "Root of Cudd compiled source tree.")
set(CUDD_ROOT "" CACHE PATH "Root of Cudd compiled source tree." PARENT_SCOPE)
endif()
# Check if we have cached results in case the last round was successful.
@ -34,6 +34,8 @@ if ( NOT( CUDD_INCLUDE_DIR AND CUDD_LIBRARIES ) OR NOT CUDD_FOUND )
$ENV{CUDD_ROOT}
/usr/local/yap/include
/usr/local/Yap/include
/usr/local/cudd/include
/usr/lib/cudd/include
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
@ -46,31 +48,10 @@ if ( NOT( CUDD_INCLUDE_DIR AND CUDD_LIBRARIES ) OR NOT CUDD_FOUND )
NO_DEFAULT_PATHS
)
mark_as_advanced (CUDD_INCLUDE_DIR)
find_path(CUDD_INT_INCLUDE_DIR
NAMES cuddInt.h
NAMES cuddInt.h cudd/cuddInt.h
$ENV{CUDD_ROOT}/include
$ENV{CUDD_ROOT}
/usr/local/yap/include
/usr/local/Yap/include
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
/usr/include/
/sw/include # Fink
/opt/local/include # MacPorts
/opt/csw/include # Blastwave
/opt/include
/usr/freeware/include
NO_DEFAULT_PATHS
)
set (CUDD_INCLUDE_DIR ${CUDD_INCLUDE_DIR} ${CUDD_INT_INCLUDE_DIR})
mark_as_advanced (CUDD_INCLUDE_DIR CUDD_INT_INCLUDE_DIR)
if (ENV{CUDD_ROOT})
if ($ENV{CUDD_ROOT})
set (CUDD_LIB_SEARCH_PATH
$ENV{CUDD_ROOT}/lib
$ENV{CUDD_ROOT}/lib64
@ -78,9 +59,9 @@ if (ENV{CUDD_ROOT})
$ENV{CUDD_ROOT}
$ENV{CUDD_ROOT}/cudd
)
endif()
endif ($ENV{CUDD_ROOT})
if (CUDD_ROOT)
if (${CUDD_ROOT})
set (CUDD_LIB_SEARCH_PATH
${CUDD_ROOT}/lib
${CUDD_ROOT}/lib64
@ -89,27 +70,32 @@ if (CUDD_ROOT)
${CUDD_ROOT}/cudd
)
endif()
set (CUDD_LIB_SEARCH_PATH
${CUDD_LIB_SEARCH_PATH}
/usr/local/lib/cudd
/usr/local/lib64/cudd
/usr/local/cudd/lib
/usr/lib/cudd
/usr/lib/cudd/lib
/usr/lib64/cudd
/usr/freeware/lib64 )
find_library(CUDD_CUDD_LIBRARY
find_library(CUDD_LIBRARIES
NAMES cudd
PATHS
${CUDD_LIB_SEARCH_PATH}
)
find_library(CUDD_DDMP_LIBRARY
NAMES ddmp
IF (NOT EXISTS ${CUDD_INCLUDE_DIR}/epdInt.h )
find_library(CUDD_DDDMP_LIBRARY
NAMES dddmp
PATHS
${CUDD_LIB_SEARCH_PATH}
)
find_library(CUDD_EPD_LIBRARY
NAMES epd
PATHS
@ -144,20 +130,17 @@ find_library(CUDD_EPD_LIBRARY
PATHS
${CUDD_LIB_SEARCH_PATH}
)
mark_as_advanced (CUDD_CUDD_LIBRARY CUDD_DDDMP_LIBRARY CUDD_EPD_LIBRARY
CUDD_ST_LIBRARY CUDD_UTIL_LIBRARY CUDD_MTR_LIBRARY)
set(CUDD_LIBRARIES
${CUDD_CUDD_LIBRARY} ${CUDD_ST_LIBRARY} ${CUDD_UTIL_LIBRARY}
${CUDD_LIBRARIES} ${CUDD_ST_LIBRARY} ${CUDD_UTIL_LIBRARY}
${CUDD_MTR_LIBRARY} ${CUDD_EPD_LIBRARY} ${CUDD_DDDMP_LIBRARY} )
mark_as_advanced (CUDD_LIBRARIES)
if ( CUDD_CUDD_LIBRARY AND CUDD_INCLUDE_DIR )
set( CUDD_FOUND ON )
endif ()
endif()
if ( CUDD_LIBRARIES AND CUDD_INCLUDE_DIR )
set( CUDD_FOUND ON CACHE CACHE "system Has CUDD" FORCE)
endif()
mark_as_advanced (CUDD_FOUND)

View File

@ -36,12 +36,12 @@ IF (CUDD_FOUND)
${CMAKE_CURRENT_BINARY_DIR}
)
check_include_files( util.h HAVE_UTIL_H )
check_include_files( cudd/util.h HAVE_CUDD_UTIL_H )
check_include_files( cudd.h HAVE_CUDD_H )
check_include_files( "stdio.h;cudd/cudd.h" HAVE_CUDD_CUDD_H )
check_include_files( cuddInt.h HAVE_CUDDINT_H )
check_include_files( "stdio.h;cudd/cudd.h;cudd/cuddInt.h" HAVE_CUDD_CUDDINT_H )
check_include_files( "stdio.h;cuddInt.h" HAVE_CUDDINT_H )
check_include_files( "stdio.h;cudd/cuddInt.h" HAVE_CUDD_CUDDINT_H )
check_include_files( "stdio.h;dddmpInt.h" HAVE_DDDMPINT_H )
check_include_files( "stdio.h;dddmp/dddmpInt.h" HAVE_DDDMP_DDDMPINT_H )
check_include_files( "stdio.h;cuddObj.hh" HAVE_CUDDOBJ_HH )
check_include_files( "stdio.h;cudd/cuddObj.hh" HAVE_CUDD_CUDDOBJ_HH )
configure_file ("${PROJECT_SOURCE_DIR}/cudd_config.h.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/cudd_config.h" )

View File

@ -44,15 +44,13 @@ CUDD will generate better/faster code.
#include "config.h"
#include "cudd_config.h"
#if HAVE_CUDD_UTIL_H
#include <cudd/util.h>
#elif HAVE_UTIL_H
#include <util.h>
#if HAVE_STRING_H
#include <string.h>
#endif
#if HAVE_CUDD_CUDD_H
#include "cudd/cudd.h"
#elif HAVE_CUDD_H
#include "cudd.h"
#if HAVE_CUDDINT_H
#include "cuddInt.h"
#elif HAVE_CUDD_CUDDINT_H
#include "cudd/cuddInt.h"
#endif
static YAP_Functor FunctorDollarVar, FunctorCudd, FunctorAnd, FunctorAnd4,

View File

@ -1,32 +0,0 @@
// cmake template file
/* Define to 1 if you have the <cuddInt.h> header file. */
#ifndef HAVE_CUDDINT_H
/* #undef HAVE_CUDDINT_H */
#endif
/* Define to 1 if you have the <cudd/cuddInt.h> header file. */
#ifndef HAVE_CUDD_CUDDINT_H
#define HAVE_CUDD_CUDDINT_H 1
#endif
/* Define to 1 if you have the <cudd/cudd.h> header file. */
#ifndef HAVE_CUDD_CUDD_H
#define HAVE_CUDD_CUDD_H 1
#endif
/*Define to 1 if you have the <cudd.h> header file. */
#ifndef HAVE_CUDD_H
/* #undef HAVE_CUDD_H */
#endif
/* Define to 1 if you have the <cudd/util.h> header file. */
#ifndef HAVE_CUDD_UTIL_H
#define HAVE_CUDD_UTIL_H 1
#endif
/* Define to 1 if you have the <util.h> header file. */
#ifndef HAVE_UTIL_H
#define HAVE_UTIL_H 1
#endif

View File

@ -10,23 +10,24 @@
#cmakedefine HAVE_CUDD_CUDDINT_H ${HAVE_CUDD_CUDDINT_H}
#endif
/* Define to 1 if you have the <cudd/cudd.h> header file. */
#ifndef HAVE_CUDD_CUDD_H
#cmakedefine HAVE_CUDD_CUDD_H ${HAVE_CUDD_CUDD_H}
/* Define to 1 if you have the <cuddObj.hh> header file. */
#ifndef HAVE_CUDDOBJ_HH
#cmakedefine HAVE_CUDDOBJ_HH ${HAVE_CUDDOBJ_HH}
#endif
/*Define to 1 if you have the <cudd.h> header file. */
#ifndef HAVE_CUDD_H
#cmakedefine HAVE_CUDD_H ${HAVE_CUDD_H}
/* Define to 1 if you have the <cudd/cuddObj.hh> header file. */
#ifndef HAVE_CUDD_CUDDOBJ_HH
#cmakedefine HAVE_CUDD_CUDDOBJ_HH ${HAVE_CUDD_CUDDOBJ_HH}
#endif
/* Define to 1 if you have the <cudd/util.h> header file. */
#ifndef HAVE_CUDD_UTIL_H
#cmakedefine HAVE_CUDD_UTIL_H ${HAVE_CUDD_UTIL_H}
/* Define to 1 if you have the <dddmpInt.h> header file. */
#ifndef HAVE_DDDMPINT_H
#cmakedefine HAVE_DDDMPINT_H ${HAVE_DDDMPINT_H}
#endif
/* Define to 1 if you have the <util.h> header file. */
#ifndef HAVE_UTIL_H
#cmakedefine HAVE_UTIL_H ${HAVE_UTIL_H}
/* Define to 1 if you have the <cudd/dddmpInt.h> header file. */
#ifndef HAVE_CUDD_CUDDINT_H
#cmakedefine HAVE_CUDD_DDDMPINT_H ${HAVE_CUDD_DDDMPINT_H}
#endif

View File

@ -10,7 +10,7 @@ add_executable (Problogbdd
${SRC})
set_target_properties (Problogbdd PROPERTIES
OUTPUT_NAME simplecudd
OUTPUT_NAME problogbdd
)
target_link_libraries(Problogbdd

View File

@ -14,7 +14,7 @@ add_executable (Problogbdd-Lfi
${SRC})
set_target_properties (Problogbdd-Lfi PROPERTIES
OUTPUT_NAME simplecudd_lfi
OUTPUT_NAME problogbdd_lfi
)
target_link_libraries(Problogbdd-Lfi

View File

@ -9,14 +9,10 @@ for the relative license.
*/
#include "config.h"
#include "cudd_config.h"
#if HAVE_CUDD_UTIL_H
#include "cudd/util.h"
#if HAVE_CUDD_CUDDINT_H
#include "cudd/cuddInt.h"
#include "cudd/mtr.h"
#else
#include "util.h"
#include "cuddInt.h"
#include "mtr.h"
#endif
#include "YapInterface.h"