buildroot/package/berkeleydb/berkeleydb.mk
Yann E. MORIN 8c3f1d5102 package/berkeleydb: fix shared-only build
Changeset f1d3e09 (Build shared libraries only as the default) broke the
berkeleydb package.

For some reason, we had a very strange post-configure action in bdb:
        $(SED) 's/\.lo/.o/g' $(@D)/build_unix/Makefile

This means that it is using non-libtool object files. This breaks
building shared-only.

This code has been present almost the whole time we've had a berkeleydb
package, that is:
  - November 2003: use a sed expression instead of perl
  - March 2003   : use a perl program
  - August 2002  : introduce berkeleydb

Getting rid of this sed expression fixes the build, and allows building
the three new static/shared combinations: static only, shared only,
both static and shared.

Fixes numerous build failures:
    http://autobuild.buildroot.net/results/b41/b41e13ec6c13830667770b3731f8990062f202bd/
    http://autobuild.buildroot.net/results/925/925433ef505b190aa5ac83c23e9359afe4b21829/
    http://autobuild.buildroot.net/results/9af/9afa0dd835af079411a2ea5d94e5e4db7c993111/
    ...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-13 10:36:02 +01:00

63 lines
1.9 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_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) \
$(SHARED_STATIC_LIBS_OPTS) \
--with-pic \
--enable-o_direct \
)
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))