diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 44870f9f..7dad9c85 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -27,23 +27,28 @@ if( WITH_GCC_VISIBILITY ) endif( ) -# check for berkeley db +##### check for berkeley db #################### # we need at least bdb 4.1, but I do not check for version # because this is really old and trinity will not # working anyway on such old systems +find_file( USE_DB_H_PATH NAMES "db5/db.h" "db4/db.h" "db.h" ) + check_c_source_compiles(" - #include - void main() { DB *db; db->open(db, 0, 0, NULL, DB_BTREE, DB_CREATE, 0644); } " + #include <${USE_DB_H_PATH}> + #include + int main() { DB *db; db->open(db, 0, 0, NULL, DB_BTREE, DB_CREATE, 0644); } " HAVE_BERKELEY_DB ) if( HAVE_BERKELEY_DB ) - set( BDB_LIBRARY db ) -else( ) - tde_message_fatal( "berkeley db are required, but not found on your system" ) + find_library( BDB_LIBRARY db PATH_SUFFIXES db5 db4 ) +endif( ) + +if( NOT BDB_LIBRARY ) + tde_message_fatal( "berkeley db is required, but was not found on your system" ) endif( ) -# check for subversion +##### check for subversion ##################### if( WITH_VCS_SUBVERSION ) pkg_search_module( APR apr-1 ) if( NOT APR_FOUND ) diff --git a/config.h.cmake b/config.h.cmake index d472dc5d..790ee5b3 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -5,3 +5,6 @@ #cmakedefine HAVE_SYS_STROPTS_H 1 #cmakedefine HAVE_MKFIFO 1 + +// lib/catalog +#cmakedefine USE_DB_H_PATH <@USE_DB_H_PATH@> diff --git a/lib/catalog/catalog.cpp b/lib/catalog/catalog.cpp index 1422a624..f86dd88d 100644 --- a/lib/catalog/catalog.cpp +++ b/lib/catalog/catalog.cpp @@ -25,13 +25,17 @@ #include #include - #include #include -#include #include +#ifdef USE_DB_H_PATH +#include USE_DB_H_PATH +#else +#include +#endif + struct _Catalog_Private { TQString dbName;