blob: 5d08d279ae6168a63f63fa89eb45501fc843e54f [file] [log] [blame]
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05001From 7bad268de8b32281e2a12ccd88038b3ec5eb1be3 Mon Sep 17 00:00:00 2001
2From: Yuanjie Huang <Yuanjie.Huang@windriver.com>
3Date: Tue, 15 Dec 2015 18:50:21 +0800
4Subject: [PATCH] Support both db5 and db6.
Patrick Williamsc124f4f2015-09-15 14:41:29 -05005
6Upstream-Status: Inappropriate [configuration]
7
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05008Signed-off-by: Yuanjie Huang <Yuanjie.Huang@windriver.com>
9---
10 configure.ac | 103 ++++++++++++++++++++++++++++++++++++++++++++++-------------
11 1 file changed, 81 insertions(+), 22 deletions(-)
Patrick Williamsc124f4f2015-09-15 14:41:29 -050012
13Index: rpm/configure.ac
14===================================================================
15--- rpm.orig/configure.ac
16+++ rpm/configure.ac
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050017@@ -871,8 +871,6 @@ else
Patrick Williamsc124f4f2015-09-15 14:41:29 -050018 MYPATH=$PATH
19 fi
20
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050021-DBXY=db61
Patrick Williamsc124f4f2015-09-15 14:41:29 -050022-
23 AC_PATH_PROG(__BASH, bash, %{_bindir}/bash, $MYPATH)
24 AC_PATH_PROG(__BZIP2, bzip2, %{_bindir}/bzip2, $MYPATH)
25 AC_PATH_PROG(__CAT, cat, /bin/cat, $MYPATH)
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050026@@ -884,22 +882,6 @@ AC_PATH_PROG(__CMAKE, cmake, %{_bindir}/
Patrick Williamsc124f4f2015-09-15 14:41:29 -050027 AC_PATH_PROG(__CPIO, cpio, /bin/cpio, $MYPATH)
28 AC_PATH_PROG(__CURL, curl, %{_bindir}/curl, $MYPATH)
29 AC_PATH_PROG(__CVS, cvs, %{_bindir}/cvs, $MYPATH)
30-AC_PATH_PROG(__DB_ARCHIVE, ${DBXY}_archive, %{_bindir}/${DBXY}_archive, $MYPATH)
31-AC_PATH_PROG(__DB_CHECKPOINT, ${DBXY}_checkpoint, %{_bindir}/${DBXY}_checkpoint, $MYPATH)
32-AC_PATH_PROG(__DB_DEADLOCK, ${DBXY}_deadlock, %{_bindir}/${DBXY}_deadlock, $MYPATH)
33-AC_PATH_PROG(__DB_DUMP, ${DBXY}_dump, %{_bindir}/${DBXY}_dump, $MYPATH)
34-AC_PATH_PROG(__DB_HOTBACKUP, ${DBXY}_hotbackup, %{_bindir}/${DBXY}_hotbackup, $MYPATH)
35-AC_PATH_PROG(__DB_LOAD, ${DBXY}_load, %{_bindir}/${DBXY}_load, $MYPATH)
36-AC_PATH_PROG(__DB_LOG_VERIFY, ${DBXY}_log_verify, %{_bindir}/${DBXY}_log_verify, $MYPATH)
37-AC_PATH_PROG(__DB_PRINTLOG, ${DBXY}_printlog, %{_bindir}/${DBXY}_printlog, $MYPATH)
38-AC_PATH_PROG(__DB_RECOVER, ${DBXY}_recover, %{_bindir}/${DBXY}_recover, $MYPATH)
39-AC_PATH_PROG(__DB_REPLICATE, ${DBXY}_replicate, %{_bindir}/${DBXY}_replicate, $MYPATH)
40-AC_PATH_PROG(__DBSQL, ${DBXY}sql, %{_bindir}/${DBXY}sql, $MYPATH)
41-AC_PATH_PROG(__DB_SQL_CODEGEN, ${DBXY}_sql_codegen, %{_bindir}/${DBXY}_sql_codegen, $MYPATH)
42-AC_PATH_PROG(__DB_STAT, ${DBXY}_stat, %{_bindir}/${DBXY}_stat, $MYPATH)
43-AC_PATH_PROG(__DB_TUNER, ${DBXY}_tuner, %{_bindir}/${DBXY}_tuner, $MYPATH)
44-AC_PATH_PROG(__DB_UPGRADE, ${DBXY}_upgrade, %{_bindir}/${DBXY}_upgrade, $MYPATH)
45-AC_PATH_PROG(__DB_VERIFY, ${DBXY}_verify, %{_bindir}/${DBXY}_verify, $MYPATH)
46 AC_PATH_PROG(__DIFF, diff, /bin/diff, $MYPATH)
47 AC_PATH_PROG(__DITTO, ditto, %{_bindir}/ditto, $MYPATH)
48 AC_PATH_PROG(__FILE, file, %{_bindir}/file, $MYPATH)
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050049@@ -2050,13 +2032,46 @@ RPM_CHECK_LIB(
Patrick Williamsc124f4f2015-09-15 14:41:29 -050050
51 dnl # Berkeley-DB & SQLite
52 DBLIBSRCS=""
53+DBXY=db
54+
55 # XXX won't handle --includedir override
56-CPPFLAGS="${CPPFLAGS} -I${prefix}/include/${DBXY}"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050057-RPM_CHECK_LIB(
Patrick Williamsc124f4f2015-09-15 14:41:29 -050058+CPPFLAGS_save="${CPPFLAGS}"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050059+CPPFLAGS="${CPPFLAGS_save}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050060+with_db_save="${with_db}"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050061+
62+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
63+#include <db.h>
64+]],
65+[[
66+#if DB_VERSION_MAJOR < 6
67+#error DB_VERSION_MAJOR is below 6
68+#endif
69+]])],
70+[RPM_CHECK_LIB(
Patrick Williamsc124f4f2015-09-15 14:41:29 -050071 [Berkeley-DB], [db],
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050072 [db-6.1], [db_create], [db.h],
Patrick Williamsc124f4f2015-09-15 14:41:29 -050073- [yes,external], [db3],
74+ [yes,external], [db6],
75 [ DBLIBSRCS="$DBLIBSRCS db3.c"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050076+ DBXY=db61
77+ AM_CONDITIONAL(WITH_DB, [ true ])
78+ AM_CONDITIONAL(WITH_DB_INTERNAL, [ test ".$RPM_CHECK_LIB_LOCATION" = .internal ])
79+ if test ".$RPM_CHECK_LIB_LOCATION" = .internal; then
80+ AC_DEFINE(HAVE_DB_H, 1, [Have <db.h> header])
81+ else
82+ WITH_DB_SUBDIR=""
83+ fi
84+ ],
85+ [ AM_CONDITIONAL(WITH_DB, [ false ])
86+ AM_CONDITIONAL(WITH_DB_INTERNAL, [ false ])
87+ ])],
88+[with_db="${with_db_save}"
89+ CPPFLAGS="${CPPFLAGS_save}"
90+ RPM_CHECK_LIB(
91+ [Berkeley-DB], [db],
92+ [db-5.3], [db_create], [db.h],
93+ [yes,external], [db53],
94+ [ DBLIBSRCS="$DBLIBSRCS db3.c"
95+ DBXY=db53
Patrick Williamsc124f4f2015-09-15 14:41:29 -050096 AM_CONDITIONAL(WITH_DB, [ true ])
97 AM_CONDITIONAL(WITH_DB_INTERNAL, [ test ".$RPM_CHECK_LIB_LOCATION" = .internal ])
98 if test ".$RPM_CHECK_LIB_LOCATION" = .internal; then
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050099@@ -2068,6 +2083,11 @@ RPM_CHECK_LIB(
100 [ AM_CONDITIONAL(WITH_DB, [ false ])
101 AM_CONDITIONAL(WITH_DB_INTERNAL, [ false ])
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500102 ])
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500103+])
104+
105+if test ".$ac_cv_lib_db_6_1_db_create" != .yes -a ".$ac_cv_lib_db_5_3_db_create" != .yes; then
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500106+ CPPFLAGS="${CPPFLAGS_save}"
107+fi
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500108
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500109 dnl # Sqlite external
110 RPM_CHECK_LIB(
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500111@@ -2078,10 +2098,11 @@ RPM_CHECK_LIB(
112 [])
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500113
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500114 dnl # Sqlite 3.8.3.1 from db-6.1.19
115+if test ".$ac_cv_lib_db_6_1_db_create" = .yes; then
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500116 RPM_CHECK_LIB(
117 [Berkeley-DB (+SQLite3)], [dbsql],
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500118 [db_sql-6.1], [sqlite3_open], [dbsql.h],
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500119- [yes,external], [db3/sql],
120+ [yes,external], [db6/sql],
121 [
122 AM_CONDITIONAL(WITH_DBSQL, [ true ])
123 AC_DEFINE(WITH_SQLITE, 1, [Define as 1 if building with SQLite library])
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500124@@ -2095,12 +2116,50 @@ RPM_CHECK_LIB(
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500125 ], [
126 AM_CONDITIONAL(WITH_DBSQL, [ false ])
127 ])
128+elif test ".$ac_cv_lib_db_5_3_db_create" = .yes; then
129+RPM_CHECK_LIB(
130+ [Berkeley-DB (+SQLite3)], [dbsql],
131+ [db_sql-5.3], [sqlite3_open], [dbsql.h],
132+ [yes,external], [db53/sql],
133+ [
134+ AM_CONDITIONAL(WITH_DBSQL, [ true ])
135+ AC_DEFINE(WITH_SQLITE, 1, [Define as 1 if building with SQLite library])
136+ if test ".$RPM_CHECK_LIB_LOCATION" = .internal; then
137+ WITH_DB_CPPFLAGS="${WITH_DB_CPPFLAGS} -I\$(top_srcdir)/db/sql/generated"
138+ WITH_DB_LIBS="${WITH_DBSQL_LIBS}"
139+ DBLIBSRCS="$DBLIBSRCS sqlite.c"
140+ else
141+ WITH_DBSQL_SUBDIR=""
142+ fi
143+ ], [
144+ AM_CONDITIONAL(WITH_DBSQL, [ false ])
145+ ])
146+else
147+AM_CONDITIONAL(WITH_DBSQL, [ false ])
148+fi
149
150 DBLIBOBJS=`echo $DBLIBSRCS | sed -e "s/\.c/\.lo/g"`
151
152 AC_SUBST(DBLIBSRCS)
153 AC_SUBST(DBLIBOBJS)
154
155+AC_PATH_PROG(__DB_ARCHIVE, ${DBXY}_archive, %{_bindir}/${DBXY}_archive, $MYPATH)
156+AC_PATH_PROG(__DB_CHECKPOINT, ${DBXY}_checkpoint, %{_bindir}/${DBXY}_checkpoint, $MYPATH)
157+AC_PATH_PROG(__DB_DEADLOCK, ${DBXY}_deadlock, %{_bindir}/${DBXY}_deadlock, $MYPATH)
158+AC_PATH_PROG(__DB_DUMP, ${DBXY}_dump, %{_bindir}/${DBXY}_dump, $MYPATH)
159+AC_PATH_PROG(__DB_HOTBACKUP, ${DBXY}_hotbackup, %{_bindir}/${DBXY}_hotbackup, $MYPATH)
160+AC_PATH_PROG(__DB_LOAD, ${DBXY}_load, %{_bindir}/${DBXY}_load, $MYPATH)
161+AC_PATH_PROG(__DB_LOG_VERIFY, ${DBXY}_log_verify, %{_bindir}/${DBXY}_log_verify, $MYPATH)
162+AC_PATH_PROG(__DB_PRINTLOG, ${DBXY}_printlog, %{_bindir}/${DBXY}_printlog, $MYPATH)
163+AC_PATH_PROG(__DB_RECOVER, ${DBXY}_recover, %{_bindir}/${DBXY}_recover, $MYPATH)
164+AC_PATH_PROG(__DB_REPLICATE, ${DBXY}_replicate, %{_bindir}/${DBXY}_replicate, $MYPATH)
165+AC_PATH_PROG(__DBSQL, ${DBXY}sql, %{_bindir}/${DBXY}sql, $MYPATH)
166+AC_PATH_PROG(__DB_SQL_CODEGEN, ${DBXY}_sql_codegen, %{_bindir}/${DBXY}_sql_codegen, $MYPATH)
167+AC_PATH_PROG(__DB_STAT, ${DBXY}_stat, %{_bindir}/${DBXY}_stat, $MYPATH)
168+AC_PATH_PROG(__DB_TUNER, ${DBXY}_tuner, %{_bindir}/${DBXY}_tuner, $MYPATH)
169+AC_PATH_PROG(__DB_UPGRADE, ${DBXY}_upgrade, %{_bindir}/${DBXY}_upgrade, $MYPATH)
170+AC_PATH_PROG(__DB_VERIFY, ${DBXY}_verify, %{_bindir}/${DBXY}_verify, $MYPATH)
171+
172 AC_ARG_WITH(db-largefile, AS_HELP_STRING([--with-db-largefile], [build Berkeley-DB with LARGEFILE support]))
173 AC_ARG_WITH(db-mutex, AS_HELP_STRING([--with-db-mutex=ARG], [build Berkeley-DB with MUTEX type ARG]))
174