From a127ba1f2f27300a085e446e99fc1714da648416 Mon Sep 17 00:00:00 2001 From: Aaron Clauson Date: Thu, 19 Oct 2017 14:25:25 +1100 Subject: Port for Berkeley DB v4.8.30 --- ports/berkeleydb/CMakeLists.txt | 276 ++++++++++++++++++++++++++++++++++++++++ ports/berkeleydb/CONTROL | 3 + ports/berkeleydb/portfile.cmake | 29 +++++ 3 files changed, 308 insertions(+) create mode 100644 ports/berkeleydb/CMakeLists.txt create mode 100644 ports/berkeleydb/CONTROL create mode 100644 ports/berkeleydb/portfile.cmake diff --git a/ports/berkeleydb/CMakeLists.txt b/ports/berkeleydb/CMakeLists.txt new file mode 100644 index 000000000..1eb130c3e --- /dev/null +++ b/ports/berkeleydb/CMakeLists.txt @@ -0,0 +1,276 @@ +cmake_minimum_required(VERSION 3.8) +project(berkeleydb C CXX) + +option(INSTALL_HEADERS "Install header files" ON) + +add_definitions( + -DWIN32 + -D_WINDOWS + -D_CRT_SECURE_NO_DEPRECATE + -D_CRT_NONSTDC_NO_DEPRECATE + -D_LIB +) + +if (BUILD_SHARED_LIBS) + add_definitions( + -D_LIB + ) +else() + add_definitions( + -DDB_CREATE_DLL + -D_USRDLL + ) +endif() + +add_library(libdb48 + btree/bt_compact.c + btree/bt_compare.c + btree/bt_compress.c + btree/bt_conv.c + btree/bt_curadj.c + btree/bt_cursor.c + btree/bt_delete.c + btree/bt_method.c + btree/bt_open.c + btree/bt_put.c + btree/bt_rec.c + btree/bt_reclaim.c + btree/bt_recno.c + btree/bt_rsearch.c + btree/bt_search.c + btree/bt_split.c + btree/bt_stat.c + btree/bt_upgrade.c + btree/bt_verify.c + btree/btree_auto.c + db/crdel_auto.c + db/crdel_rec.c + common/crypto_stub.c + cxx/cxx_db.cpp + cxx/cxx_dbc.cpp + cxx/cxx_dbt.cpp + cxx/cxx_env.cpp + cxx/cxx_except.cpp + cxx/cxx_lock.cpp + cxx/cxx_logc.cpp + cxx/cxx_mpool.cpp + cxx/cxx_multi.cpp + cxx/cxx_seq.cpp + cxx/cxx_txn.cpp + db/db.c + db/db_am.c + db/db_auto.c + common/db_byteorder.c + db/db_cam.c + db/db_cds.c + db/db_conv.c + db/db_dispatch.c + db/db_dup.c + common/db_err.c + common/db_getlong.c + common/db_idspace.c + common/db_compint.c + db/db_iface.c + db/db_join.c + common/db_log2.c + db/db_meta.c + db/db_method.c + db/db_open.c + db/db_overflow.c + db/db_ovfl_vrfy.c + db/db_pr.c + db/db_rec.c + db/db_reclaim.c + db/db_remove.c + db/db_rename.c + db/db_ret.c + db/db_setid.c + db/db_setlsn.c + common/db_shash.c + db/db_sort_multiple.c + db/db_stati.c + db/db_truncate.c + db/db_upg.c + db/db_upg_opd.c + db/db_vrfy.c + db/db_vrfyutil.c + db/partition.c + dbm/dbm.c + dbreg/dbreg.c + dbreg/dbreg_auto.c + dbreg/dbreg_rec.c + dbreg/dbreg_stat.c + dbreg/dbreg_util.c + common/dbt.c + env/env_alloc.c + env/env_config.c + env/env_failchk.c + env/env_file.c + env/env_globals.c + env/env_method.c + env/env_name.c + env/env_open.c + env/env_recover.c + env/env_region.c + env/env_register.c + env/env_sig.c + env/env_stat.c + fileops/fileops_auto.c + fileops/fop_basic.c + fileops/fop_rec.c + fileops/fop_util.c + hash/hash.c + hash/hash_auto.c + hash/hash_conv.c + hash/hash_dup.c + hash/hash_func.c + hash/hash_meta.c + hash/hash_method.c + hash/hash_open.c + hash/hash_page.c + hash/hash_rec.c + hash/hash_reclaim.c + hash/hash_stat.c + hash/hash_upgrade.c + hash/hash_verify.c + hmac/hmac.c + hsearch/hsearch.c + build_windows/libdb.def + lock/lock.c + lock/lock_deadlock.c + lock/lock_failchk.c + lock/lock_id.c + lock/lock_list.c + lock/lock_method.c + lock/lock_region.c + lock/lock_stat.c + lock/lock_timer.c + lock/lock_util.c + log/log.c + log/log_archive.c + log/log_compare.c + log/log_debug.c + log/log_get.c + log/log_method.c + log/log_put.c + log/log_stat.c + common/mkpath.c + mp/mp_alloc.c + mp/mp_bh.c + mp/mp_fget.c + mp/mp_fmethod.c + mp/mp_fopen.c + mp/mp_fput.c + mp/mp_fset.c + mp/mp_method.c + mp/mp_mvcc.c + mp/mp_region.c + mp/mp_register.c + mp/mp_resize.c + mp/mp_stat.c + mp/mp_sync.c + mp/mp_trickle.c + mutex/mut_alloc.c + mutex/mut_failchk.c + mutex/mut_method.c + mutex/mut_region.c + mutex/mut_stat.c + mutex/mut_win32.c + common/openflags.c + os/os_abort.c + os/os_addrinfo.c + os_windows/os_abs.c + os/os_alloc.c + os_windows/os_clock.c + os_windows/os_config.c + os_windows/os_cpu.c + os/os_ctime.c + os_windows/os_dir.c + os_windows/os_errno.c + os_windows/os_fid.c + os_windows/os_flock.c + os_windows/os_fsync.c + os_windows/os_getenv.c + os_windows/os_handle.c + os_windows/os_map.c + os_windows/os_mkdir.c + os_windows/os_open.c + os/os_pid.c + os_windows/os_rename.c + os/os_root.c + os/os_rpath.c + os_windows/os_rw.c + os_windows/os_seek.c + os/os_stack.c + os_windows/os_stat.c + os/os_tmpdir.c + os_windows/os_truncate.c + os/os_uid.c + os_windows/os_unlink.c + os_windows/os_yield.c + qam/qam.c + qam/qam_auto.c + qam/qam_conv.c + qam/qam_files.c + qam/qam_method.c + qam/qam_open.c + qam/qam_rec.c + qam/qam_stat.c + qam/qam_upgrade.c + qam/qam_verify.c + rep/rep_auto.c + rep/rep_backup.c + rep/rep_elect.c + rep/rep_lease.c + rep/rep_log.c + rep/rep_method.c + rep/rep_record.c + rep/rep_region.c + rep/rep_stat.c + rep/rep_util.c + rep/rep_verify.c + repmgr/repmgr_auto.c + repmgr/repmgr_elect.c + repmgr/repmgr_method.c + repmgr/repmgr_msg.c + repmgr/repmgr_net.c + repmgr/repmgr_queue.c + repmgr/repmgr_sel.c + repmgr/repmgr_stat.c + repmgr/repmgr_util.c + repmgr/repmgr_windows.c + sequence/seq_stat.c + sequence/sequence.c + hmac/sha1.c + clib/strsep.c + txn/txn.c + txn/txn_auto.c + txn/txn_chkpt.c + txn/txn_failchk.c + txn/txn_method.c + txn/txn_rec.c + txn/txn_recover.c + txn/txn_region.c + txn/txn_stat.c + txn/txn_util.c + common/os_method.c + common/util_cache.c + common/util_log.c + common/util_sig.c + common/zerofill.c +) + +include_directories(${CMAKE_CURRENT_SOURCE_DIR} build_windows dbinc) + +target_link_libraries(libdb48 PUBLIC ws2_32.lib) + +install(TARGETS libdb48 + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) + +if(INSTALL_HEADERS) + file(GLOB HEADERS build_windows/*.h) + install(FILES ${HEADERS} DESTINATION include) +endif() \ No newline at end of file diff --git a/ports/berkeleydb/CONTROL b/ports/berkeleydb/CONTROL new file mode 100644 index 000000000..a0ac528b7 --- /dev/null +++ b/ports/berkeleydb/CONTROL @@ -0,0 +1,3 @@ +Source: berkeleydb +Version: 4.8.30 +Description: A high-performance embedded database for key/value data. diff --git a/ports/berkeleydb/portfile.cmake b/ports/berkeleydb/portfile.cmake new file mode 100644 index 000000000..614b89409 --- /dev/null +++ b/ports/berkeleydb/portfile.cmake @@ -0,0 +1,29 @@ +include(vcpkg_common_functions) + +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/db-4.8.30.NC) + +vcpkg_download_distfile(ARCHIVE + URLS "http://download.oracle.com/berkeley-db/db-4.8.30.NC.zip" + FILENAME "db-4.8.30.NC.zip" + SHA512 59c1d2d5a3551f988ab1dc063900572b67ad087537e0d71760de34601f9ebd4d5c070a49b809bec4a599a62417e9a162683ce0f6442deb1a0dadb80764bf6eab +) +vcpkg_extract_source_archive(${ARCHIVE}) + +#message("CURRENT_PORT_DIR=${CURRENT_PORT_DIR}") + +message(STATUS "Building") + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG + -DINSTALL_HEADERS=OFF + OPTIONS_DEBUG +) + +vcpkg_install_cmake() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/berkeleydb RENAME copyright) -- cgit v1.2.3