(libdb.so): Depend on libc.so for dynamic loading and for Linux ld.so.
[kopensolaris-gnu/glibc.git] / db / Makefile
index 48e2570..331c8b1 100644 (file)
@@ -8,14 +8,17 @@ subdir = db
 subdir-dirs = btree db hash mpool recno
 vpath %.c $(subdir-dirs)
 
-routines := bt_close bt_conv bt_debug bt_delete bt_get bt_open bt_overflow \
-           bt_page bt_put bt_search bt_seq bt_split bt_utils              \
-           db                                                             \
-           hash hash_bigkey hash_buf hash_func hash_log2 hash_page        \
-           ndbm                                                           \
-           mpool                                                          \
-           rec_close rec_delete rec_get rec_open rec_put rec_search       \
-           rec_seq rec_utils
+extra-libs := libdb
+extra-libs-others := $(extra-libs)
+libdb-routines := bt_close bt_conv bt_debug bt_delete bt_get \
+                 bt_open bt_overflow bt_page bt_put bt_search \
+                 bt_seq bt_split bt_utils \
+                 db \
+                 hash hash_bigkey hash_buf hash_func hash_log2 hash_page \
+                 ndbm \
+                 mpool \
+                 rec_close rec_delete rec_get rec_open rec_put rec_search \
+                 rec_seq rec_utils
 
 headers                := db.h mpool.h ndbm.h
 distribute     := compat.h                                     \
@@ -23,6 +26,9 @@ distribute    := compat.h                                     \
                   hash/extern.h hash/hash.h hash/page.h        \
                   recno/extern.h recno/recno.h
 
+others         := makedb
+install-bin    := makedb
+
 include ../Rules
 
 CPPFLAGS += -D__DBINTERFACE_PRIVATE
@@ -33,3 +39,14 @@ CFLAGS-hash_func.c := -Wno-unused
 
 # The db code outsmarts the compiler frequently.
 override CFLAGS += -Wno-uninitialized
+
+ifeq ($(build-shared),yes)
+$(objpfx)makedb: $(objpfx)libdb.so$(libdb.so-version)
+else
+$(objpfx)makedb: $(objpfx)libdb.a
+endif
+
+# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
+# This ensures they will load libc.so for needed symbols if loaded by
+# a statically-linked program that hasn't already loaded it.
+$(objpfx)libdb.so: $(common-objpfx)libc.so