~ubuntu-branches/ubuntu/trusty/leveldb/trusty

« back to all changes in this revision

Viewing changes to debian/patches/0101-as_needed.patch

  • Committer: Package Import Robot
  • Author(s): Alessio Treglia
  • Date: 2011-11-30 12:06:07 UTC
  • mfrom: (7.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20111130120607-e973e9fkwp0re29b
Tags: 0+20111031.git36a5f8e-2
* Fix build failure with --as-needed flag enabled (Closes: #647105).
* Re-introduce Cristoph Egger's patch to allow compilation
  on kFreeBSD (Closes: #648248).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Description: fix build with --as-needed linker option
 
2
 Put library flags in LIBS variable rather that LDFLAGS. Add LIBS to makefile
 
3
 after object files.
 
4
Author: Ilya Barygin <randomaction@ubuntu.com>
 
5
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=647105
 
6
Bug: http://code.google.com/p/leveldb/issues/detail?id=57
 
7
Reviewed-by: Alessio Treglia <alessio@debian.org>
 
8
Last-Update: 2011-11-30
 
9
---
 
10
 Makefile              |   50 +++++++++++++++++++++++++-------------------------
 
11
 build_detect_platform |   10 +++++-----
 
12
 2 files changed, 30 insertions(+), 30 deletions(-)
 
13
 
 
14
--- leveldb.orig/Makefile
 
15
+++ leveldb/Makefile
 
16
@@ -22,23 +22,23 @@ include build_config.mk
 
17
 # (see http://code.google.com/p/snappy/)
 
18
 ifeq ($(SNAPPY), 1)
 
19
 SNAPPY_CFLAGS=-DSNAPPY
 
20
-SNAPPY_LDFLAGS=-lsnappy
 
21
+SNAPPY_LIBS=-lsnappy
 
22
 else
 
23
 SNAPPY_CFLAGS=
 
24
-SNAPPY_LDFLAGS=
 
25
+SNAPPY_LIBS=
 
26
 endif
 
27
 
 
28
 # If Google Perf Tools are installed, add compilation and linker flags
 
29
 # (see http://code.google.com/p/google-perftools/)
 
30
 ifeq ($(GOOGLE_PERFTOOLS), 1)
 
31
-GOOGLE_PERFTOOLS_LDFLAGS=-ltcmalloc
 
32
+GOOGLE_PERFTOOLS_LIBS=-ltcmalloc
 
33
 else
 
34
-GOOGLE_PERFTOOLS_LDFLAGS=
 
35
+GOOGLE_PERFTOOLS_LIBS=
 
36
 endif
 
37
 
 
38
 CFLAGS += -c -I. -I./include $(PORT_CFLAGS) $(PLATFORM_CFLAGS) $(OPT) $(SNAPPY_CFLAGS) -fPIC
 
39
 
 
40
-LDFLAGS += $(PLATFORM_LDFLAGS) $(SNAPPY_LDFLAGS) $(GOOGLE_PERFTOOLS_LDFLAGS)
 
41
+LIBS += $(PLATFORM_LIBS) $(SNAPPY_LIBS) $(GOOGLE_PERFTOOLS_LIBS)
 
42
 
 
43
 LIBOBJECTS = \
 
44
        ./db/builder.o \
 
45
@@ -120,68 +120,68 @@ $(LIBRARY): $(LIBOBJECTS)
 
46
        $(AR) -rs $@ $(LIBOBJECTS)
 
47
 
 
48
 db_bench: db/db_bench.o $(LIBOBJECTS) $(TESTUTIL)
 
49
-       $(CC) $(LDFLAGS) db/db_bench.o $(LIBOBJECTS) $(TESTUTIL) -o $@
 
50
+       $(CC) $(LDFLAGS) db/db_bench.o $(LIBOBJECTS) $(TESTUTIL) -o $@ $(LIBS)
 
51
 
 
52
 db_bench_sqlite3: doc/bench/db_bench_sqlite3.o $(LIBOBJECTS) $(TESTUTIL)
 
53
-       $(CC) $(LDFLAGS) -lsqlite3 doc/bench/db_bench_sqlite3.o $(LIBOBJECTS) $(TESTUTIL) -o $@
 
54
+       $(CC) $(LDFLAGS) doc/bench/db_bench_sqlite3.o $(LIBOBJECTS) $(TESTUTIL) -o $@ $(LIBS) -lsqlite3
 
55
 
 
56
 db_bench_tree_db: doc/bench/db_bench_tree_db.o $(LIBOBJECTS) $(TESTUTIL)
 
57
-       $(CC) $(LDFLAGS) -lkyotocabinet doc/bench/db_bench_tree_db.o $(LIBOBJECTS) $(TESTUTIL) -o $@
 
58
+       $(CC) $(LDFLAGS) doc/bench/db_bench_tree_db.o $(LIBOBJECTS) $(TESTUTIL) -o $@ $(LIBS) -lkyotocabinet
 
59
 
 
60
 arena_test: util/arena_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
61
-       $(CC) $(LDFLAGS) util/arena_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
62
+       $(CC) $(LDFLAGS) util/arena_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
63
 
 
64
 c_test: db/c_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
65
-       $(CC) $(LDFLAGS) db/c_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
66
+       $(CC) $(LDFLAGS) db/c_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
67
 
 
68
 cache_test: util/cache_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
69
-       $(CC) $(LDFLAGS) util/cache_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
70
+       $(CC) $(LDFLAGS) util/cache_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
71
 
 
72
 coding_test: util/coding_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
73
-       $(CC) $(LDFLAGS) util/coding_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
74
+       $(CC) $(LDFLAGS) util/coding_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
75
 
 
76
 corruption_test: db/corruption_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
77
-       $(CC) $(LDFLAGS) db/corruption_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
78
+       $(CC) $(LDFLAGS) db/corruption_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
79
 
 
80
 crc32c_test: util/crc32c_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
81
-       $(CC) $(LDFLAGS) util/crc32c_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
82
+       $(CC) $(LDFLAGS) util/crc32c_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
83
 
 
84
 db_test: db/db_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
85
-       $(CC) $(LDFLAGS) db/db_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
86
+       $(CC) $(LDFLAGS) db/db_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
87
 
 
88
 dbformat_test: db/dbformat_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
89
-       $(CC) $(LDFLAGS) db/dbformat_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
90
+       $(CC) $(LDFLAGS) db/dbformat_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
91
 
 
92
 env_test: util/env_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
93
-       $(CC) $(LDFLAGS) util/env_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
94
+       $(CC) $(LDFLAGS) util/env_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
95
 
 
96
 filename_test: db/filename_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
97
-       $(CC) $(LDFLAGS) db/filename_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
98
+       $(CC) $(LDFLAGS) db/filename_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
99
 
 
100
 log_test: db/log_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
101
-       $(CC) $(LDFLAGS) db/log_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
102
+       $(CC) $(LDFLAGS) db/log_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
103
 
 
104
 table_test: table/table_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
105
-       $(CC) $(LDFLAGS) table/table_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
106
+       $(CC) $(LDFLAGS) table/table_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
107
 
 
108
 skiplist_test: db/skiplist_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
109
-       $(CC) $(LDFLAGS) db/skiplist_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
110
+       $(CC) $(LDFLAGS) db/skiplist_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
111
 
 
112
 version_edit_test: db/version_edit_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
113
-       $(CC) $(LDFLAGS) db/version_edit_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
114
+       $(CC) $(LDFLAGS) db/version_edit_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
115
 
 
116
 version_set_test: db/version_set_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
117
-       $(CC) $(LDFLAGS) db/version_set_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
118
+       $(CC) $(LDFLAGS) db/version_set_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
119
 
 
120
 write_batch_test: db/write_batch_test.o $(LIBOBJECTS) $(TESTHARNESS)
 
121
-       $(CC) $(LDFLAGS) db/write_batch_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
 
122
+       $(CC) $(LDFLAGS) db/write_batch_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
 
123
 
 
124
 $(MEMENVLIBRARY) : helpers/memenv/memenv.o
 
125
        rm -f $@
 
126
        $(AR) -rs $@ helpers/memenv/memenv.o
 
127
 
 
128
 memenv_test : helpers/memenv/memenv_test.o $(MEMENVLIBRARY) $(LIBRARY) $(TESTHARNESS)
 
129
-       $(CC) $(LDFLAGS) helpers/memenv/memenv_test.o $(MEMENVLIBRARY) $(LIBRARY) $(TESTHARNESS) -o $@
 
130
+       $(CC) $(LDFLAGS) helpers/memenv/memenv_test.o $(MEMENVLIBRARY) $(LIBRARY) $(TESTHARNESS) -o $@ $(LIBS)
 
131
 
 
132
 ifeq ($(PLATFORM), IOS)
 
133
 # For iOS, create universal object files to be used on both the simulator and
 
134
--- leveldb.orig/build_detect_platform
 
135
+++ leveldb/build_detect_platform
 
136
@@ -8,7 +8,7 @@
 
137
 #               -DLEVELDB_PLATFORM_POSIX if cstatomic is present
 
138
 #               -DLEVELDB_PLATFORM_NOATOMIC if it is not
 
139
 # - PLATFORM_CFLAGS with compiler flags for the platform
 
140
-# - PLATFORM_LDFLAGS with linker flags for the platform
 
141
+# - PLATFORM_LIBS with linker flags for the platform
 
142
 
 
143
 # Delete existing build_config.mk
 
144
 rm -f build_config.mk
 
145
@@ -18,22 +18,22 @@ case `uname -s` in
 
146
     Darwin)
 
147
         PLATFORM=OS_MACOSX
 
148
         echo "PLATFORM_CFLAGS=-DOS_MACOSX" >> build_config.mk
 
149
-        echo "PLATFORM_LDFLAGS="  >> build_config.mk
 
150
+        echo "PLATFORM_LIBS="  >> build_config.mk
 
151
         ;;
 
152
     Linux)
 
153
         PLATFORM=OS_LINUX
 
154
         echo "PLATFORM_CFLAGS=-pthread -DOS_LINUX" >> build_config.mk
 
155
-        echo "PLATFORM_LDFLAGS=-lpthread"  >> build_config.mk
 
156
+        echo "PLATFORM_LIBS=-lpthread"  >> build_config.mk
 
157
         ;;
 
158
     SunOS)
 
159
         PLATFORM=OS_SOLARIS
 
160
         echo "PLATFORM_CFLAGS=-D_REENTRANT -DOS_SOLARIS"  >> build_config.mk
 
161
-        echo "PLATFORM_LDFLAGS=-lpthread -lrt" >> build_config.mk
 
162
+        echo "PLATFORM_LIBS=-lpthread -lrt" >> build_config.mk
 
163
         ;;
 
164
     FreeBSD)
 
165
         PLATFORM=OS_FREEBSD
 
166
         echo "PLATFORM_CFLAGS=-D_REENTRANT -DOS_FREEBSD"  >> build_config.mk
 
167
-        echo "PLATFORM_LDFLAGS=-lpthread" >> build_config.mk
 
168
+        echo "PLATFORM_LIBS=-lpthread" >> build_config.mk
 
169
         ;;
 
170
     *)
 
171
         echo "Unknown platform!"