Skip to content

Commit

Permalink
Merge pull request microsoft#2013 from sipsorcery/port_berkeleydb
Browse files Browse the repository at this point in the history
Port for Berkeley DB v4.8.30
  • Loading branch information
ras0219-msft authored Oct 19, 2017
2 parents 9964d84 + 2f02ebd commit 0b75d75
Show file tree
Hide file tree
Showing 3 changed files with 302 additions and 0 deletions.
276 changes: 276 additions & 0 deletions ports/berkeleydb/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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()
3 changes: 3 additions & 0 deletions ports/berkeleydb/CONTROL
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Source: berkeleydb
Version: 4.8.30
Description: A high-performance embedded database for key/value data.
23 changes: 23 additions & 0 deletions ports/berkeleydb/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
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})

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
)

vcpkg_install_cmake()

# Handle copyright
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/berkeleydb RENAME copyright)

0 comments on commit 0b75d75

Please sign in to comment.