4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
23 # Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
24 # Copyright (c) 2018, Michal Nowak
27 include ..
/..
/..
/make-rules
/shared-macros.mk
29 COMPONENT_NAME
= berkeleydb
30 COMPONENT_VERSION
= 5.3.28
32 COMPONENT_SUMMARY
= Berkeley DB is a computer software library that provides a high-performance embedded database for key
/value data
33 COMPONENT_PROJECT_URL
= https
://www.oracle.com
/technetwork
/database
/database-technologies
/berkeleydb
/overview
/index.html
34 COMPONENT_SRC_NAME
= db
35 COMPONENT_SRC
= $(COMPONENT_SRC_NAME
)-$(COMPONENT_VERSION
)
36 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).
tar.gz
37 COMPONENT_ARCHIVE_HASH
= sha256
:e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628
38 COMPONENT_ARCHIVE_URL
= https
://download.oracle.com
/berkeley-db
/$(COMPONENT_ARCHIVE
)
39 COMPONENT_FMRI
= database
/berkeleydb-5
40 COMPONENT_CLASSIFICATION
= System
/Databases
41 COMPONENT_LICENSE
= berkeleydb license
43 include $(WS_MAKE_RULES
)/common.mk
45 PATH
=/usr
/gnu
/bin
:$(JAVA_HOME
)/bin
:/usr
/bin
47 COMPONENT_PRE_CONFIGURE_ACTION
= \
48 ($(CLONEY
) $(SOURCE_DIR
) $(@D
))
50 # Berkeley DB uses TCLSH to run all the test suite test cases.
51 # Per the test suite instructions in the BDB build manual, the tclsh
52 # include path must be correct in include.tcl then tclsh is run by
53 # sourcing the test.tcl header and finally running the "run_std" command.
54 # COMPONENT_POST_TEST_ACTION does this after BDB has been recompiled
55 # for test (--enable-test)
57 COMPONENT_POST_TEST_ACTION
= \
59 echo
"source test/tcl/test.tcl" > $(@D
)/run_bdb.tcl
; \
60 echo
"$(RUN)" >> $(@D
)/run_bdb.tcl
; \
62 $(CP
) include.tcl
include.tcl.orig
; \
64 's;set tclsh_path .*;set tclsh_path '$(TCLSH
)';' \
65 < include.tcl.orig
> include.tcl
; \
66 $(ENV
) $(TCLSH
) run_bdb.tcl
)
68 CONFIGURE_SCRIPT
= dist/configure
70 # adding to the C++ compiler because libtool appears to strip it from CXXFLAGS
71 # CXX += $(studio_NORUNPATH)
73 # we need to enable large file support and build PIC for our shared libraries
74 CFLAGS
+= $(CPP_LARGEFILES
) $(CC_PIC
)
75 CXXFLAGS
+= $(CPP_LARGEFILES
)
77 CONFIGURE_ENV
+= CFLAGS
="$(CFLAGS)"
78 CONFIGURE_ENV
+= HOSTCC
="$(CC)"
79 CONFIGURE_ENV
+= CXXFLAGS
="$(CXXFLAGS)"
80 CONFIGURE_ENV
+= PKG_CONFIG_PATH
="$(PKG_CONFIG_PATH)"
81 CONFIGURE_ENV
+= JAVA_HOME
="$(JAVA_HOME)"
83 CONFIGURE_OPTIONS
+= --includedir=/usr
/include
84 CONFIGURE_OPTIONS
+= --enable-shared
85 CONFIGURE_OPTIONS
+= --disable-static
86 CONFIGURE_OPTIONS
+= --enable-cxx
87 CONFIGURE_OPTIONS
+= --disable-java
88 CONFIGURE_OPTIONS
+= --enable-sql
89 CONFIGURE_OPTIONS
+= --enable-sql_codegen
90 CONFIGURE_OPTIONS
+= --disable-jdbc
91 CONFIGURE_OPTIONS
+= --enable-tcl
92 CONFIGURE_OPTIONS
+= --with-tcl
=/usr
/lib
93 CONFIGURE_OPTIONS
+= --enable-dbm
94 CONFIGURE_OPTIONS
+= $(configure_test
)
97 COMPONENT_POST_CONFIGURE_ACTION
.32 = \
98 (cd
$(BUILD_DIR_32
) ; \
99 find .
-name libtool
-exec
$(GSED
) -i
's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' {} \
; ; \
100 find .
-name libtool
-exec
$(GSED
) -i
's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' {} \
;)
101 COMPONENT_POST_CONFIGURE_ACTION
.64 = \
102 (cd
$(BUILD_DIR_64
) ; \
103 find .
-name libtool
-exec
$(GSED
) -i
's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' {} \
; ; \
104 find .
-name libtool
-exec
$(GSED
) -i
's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' {} \
;)
105 COMPONENT_POST_CONFIGURE_ACTION
= $(COMPONENT_POST_CONFIGURE_ACTION.
$(BITS
))
107 COMPONENT_TEST_TARGETS
= test
109 # Enable ASLR for this component
110 ASLR_MODE
= $(ASLR_ENABLE
)
112 $(BUILD_DIR
)/%/.tested
: configure_test
= --enable-test
114 # Do not apply the standard licence transforms for this component.
117 install: $(INSTALL_32_and_64
)
118 $(CP
) berkeleydb.license
$(PROTOUSRDIR
)/docs
/LICENSE
120 # By default "gmake test" runs standard tests, takes ~2 days per $(BITS).
123 # Auto-generated dependencies
124 REQUIRED_PACKAGES
+= $(GCC_RUNTIME_PKG
)
125 REQUIRED_PACKAGES
+= $(GXX_RUNTIME_PKG
)
126 REQUIRED_PACKAGES
+= system
/library