buildroot/package/berkeleydb/berkeleydb.mk
Bernd Kuhls 244a8c52ef package/berkeleydb: add option for historic dbm interface
Berkeley DB support in python depends on dbm, when missing python fails
to detect libdb:
d2340ef257/configure.ac (L4002)

quoting python configure log:
checking for libdb... no

quoting python config.log:
conftest.c:(.text.startup+0x8): undefined reference to `__db_ndbm_open'

This patch provides a configure option for the historic dbm interface
to be used by the python package.

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-08-09 20:16:25 +02:00

84 lines
2.5 KiB
Makefile

################################################################################
#
# berkeleydb
#
################################################################################
# Since BerkeleyDB version 6 and above are licensed under the Affero
# GPL (AGPL), we want to keep this 'bdb' package at version 5.x to
# avoid licensing issues.
# BerkeleyDB version 6 or above should be provided by a dedicated
# package instead.
BERKELEYDB_VERSION = 5.3.28
BERKELEYDB_SITE = http://download.oracle.com/berkeley-db
BERKELEYDB_SOURCE = db-$(BERKELEYDB_VERSION).NC.tar.gz
BERKELEYDB_SUBDIR = build_unix
BERKELEYDB_LICENSE = BerkeleyDB License
BERKELEYDB_LICENSE_FILES = LICENSE
BERKELEYDB_CPE_ID_VENDOR = oracle
BERKELEYDB_CPE_ID_PRODUCT = berkeley_db
BERKELEYDB_INSTALL_STAGING = YES
BERKELEYDB_BINARIES = db_archive db_checkpoint db_deadlock db_dump \
db_hotbackup db_load db_log_verify db_printlog db_recover db_replicate \
db_stat db_tuner db_upgrade db_verify
# build directory can't be the directory where configure are there, so..
define BERKELEYDB_CONFIGURE_CMDS
(cd $(@D)/build_unix; rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
$(TARGET_CONFIGURE_ARGS) \
../dist/configure $(QUIET) \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--sysconfdir=/etc \
--with-gnu-ld \
$(if $(BR2_INSTALL_LIBSTDCPP),--enable-cxx,--disable-cxx) \
--disable-java \
--disable-tcl \
$(if $(BR2_PACKAGE_BERKELEYDB_COMPAT185),--enable-compat185,--disable-compat185) \
$(if $(BR2_PACKAGE_BERKELEYDB_DBM),--enable-dbm,--disable-dbm) \
$(SHARED_STATIC_LIBS_OPTS) \
--with-pic \
--enable-o_direct \
$(if $(BR2_TOOLCHAIN_HAS_THREADS),--enable-mutexsupport,--disable-mutexsupport) \
)
endef
define HOST_BERKELEYDB_CONFIGURE_CMDS
(cd $(@D)/build_unix; rm -rf config.cache; \
$(HOST_CONFIGURE_OPTS) \
../dist/configure $(QUIET) \
--prefix=$(HOST_DIR) \
--with-gnu-ld \
--disable-cxx \
--disable-java \
--disable-tcl \
--disable-compat185 \
--with-pic \
--enable-o_direct \
--disable-mutexsupport \
)
endef
ifneq ($(BR2_PACKAGE_BERKELEYDB_TOOLS),y)
define BERKELEYDB_REMOVE_TOOLS
rm -f $(addprefix $(TARGET_DIR)/usr/bin/, $(BERKELEYDB_BINARIES))
endef
BERKELEYDB_POST_INSTALL_TARGET_HOOKS += BERKELEYDB_REMOVE_TOOLS
endif
define BERKELEYDB_REMOVE_DOCS
rm -rf $(TARGET_DIR)/usr/docs
endef
BERKELEYDB_POST_INSTALL_TARGET_HOOKS += BERKELEYDB_REMOVE_DOCS
$(eval $(autotools-package))
$(eval $(host-autotools-package))