~james-page/ubuntu/precise/leveldb/cloud-archive

« back to all changes in this revision

Viewing changes to .pc/as-needed.patch/Makefile

  • 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
 
# Copyright (c) 2011 The LevelDB Authors. All rights reserved.
2
 
# Use of this source code is governed by a BSD-style license that can be
3
 
# found in the LICENSE file. See the AUTHORS file for names of contributors.
4
 
 
5
 
CC = g++
6
 
 
7
 
#-----------------------------------------------
8
 
# Uncomment exactly one of the lines labelled (A), (B), and (C) below
9
 
# to switch between compilation modes.
10
 
 
11
 
OPT ?= -O2 -DNDEBUG       # (A) Production use (optimized mode)
12
 
# OPT = -g2              # (B) Debug mode, w/ full line-level debugging symbols
13
 
# OPT = -O2 -g2 -DNDEBUG # (C) Profiling mode: opt, but w/debugging symbols
14
 
#-----------------------------------------------
15
 
 
16
 
# detect what platform we're building on
17
 
$(shell sh ./build_detect_platform)
18
 
# this file is generated by build_detect_platform to set build flags
19
 
include build_config.mk
20
 
 
21
 
# If Snappy is installed, add compilation and linker flags
22
 
# (see http://code.google.com/p/snappy/)
23
 
ifeq ($(SNAPPY), 1)
24
 
SNAPPY_CFLAGS=-DSNAPPY
25
 
SNAPPY_LDFLAGS=-lsnappy
26
 
else
27
 
SNAPPY_CFLAGS=
28
 
SNAPPY_LDFLAGS=
29
 
endif
30
 
 
31
 
# If Google Perf Tools are installed, add compilation and linker flags
32
 
# (see http://code.google.com/p/google-perftools/)
33
 
ifeq ($(GOOGLE_PERFTOOLS), 1)
34
 
GOOGLE_PERFTOOLS_LDFLAGS=-ltcmalloc
35
 
else
36
 
GOOGLE_PERFTOOLS_LDFLAGS=
37
 
endif
38
 
 
39
 
CFLAGS += -c -I. -I./include $(PORT_CFLAGS) $(PLATFORM_CFLAGS) $(OPT) $(SNAPPY_CFLAGS) -fPIC
40
 
 
41
 
LDFLAGS += $(PLATFORM_LDFLAGS) $(SNAPPY_LDFLAGS) $(GOOGLE_PERFTOOLS_LDFLAGS)
42
 
 
43
 
LIBOBJECTS = \
44
 
        ./db/builder.o \
45
 
        ./db/c.o \
46
 
        ./db/db_impl.o \
47
 
        ./db/db_iter.o \
48
 
        ./db/filename.o \
49
 
        ./db/dbformat.o \
50
 
        ./db/log_reader.o \
51
 
        ./db/log_writer.o \
52
 
        ./db/memtable.o \
53
 
        ./db/repair.o \
54
 
        ./db/table_cache.o \
55
 
        ./db/version_edit.o \
56
 
        ./db/version_set.o \
57
 
        ./db/write_batch.o \
58
 
        ./port/port_posix.o \
59
 
        ./table/block.o \
60
 
        ./table/block_builder.o \
61
 
        ./table/format.o \
62
 
        ./table/iterator.o \
63
 
        ./table/merger.o \
64
 
        ./table/table.o \
65
 
        ./table/table_builder.o \
66
 
        ./table/two_level_iterator.o \
67
 
        ./util/arena.o \
68
 
        ./util/cache.o \
69
 
        ./util/coding.o \
70
 
        ./util/comparator.o \
71
 
        ./util/crc32c.o \
72
 
        ./util/env.o \
73
 
        ./util/env_posix.o \
74
 
        ./util/hash.o \
75
 
        ./util/histogram.o \
76
 
        ./util/logging.o \
77
 
        ./util/options.o \
78
 
        ./util/status.o
79
 
 
80
 
TESTUTIL = ./util/testutil.o
81
 
TESTHARNESS = ./util/testharness.o $(TESTUTIL)
82
 
 
83
 
TESTS = \
84
 
        arena_test \
85
 
        c_test \
86
 
        cache_test \
87
 
        coding_test \
88
 
        corruption_test \
89
 
        crc32c_test \
90
 
        db_test \
91
 
        dbformat_test \
92
 
        env_test \
93
 
        filename_test \
94
 
        log_test \
95
 
        memenv_test \
96
 
        skiplist_test \
97
 
        table_test \
98
 
        version_edit_test \
99
 
        version_set_test \
100
 
        write_batch_test
101
 
 
102
 
PROGRAMS = db_bench $(TESTS)
103
 
BENCHMARKS = db_bench_sqlite3 db_bench_tree_db
104
 
 
105
 
LIBRARY = libleveldb.a
106
 
MEMENVLIBRARY = libmemenv.a
107
 
 
108
 
all: $(LIBRARY)
109
 
 
110
 
check: $(PROGRAMS) $(TESTS)
111
 
        for t in $(TESTS); do echo "***** Running $$t"; ./$$t || exit 1; done
112
 
 
113
 
clean:
114
 
        -rm -f $(PROGRAMS) $(BENCHMARKS) $(LIBRARY) $(MEMENVLIBRARY) */*.o */*/*.o ios-x86/*/*.o ios-arm/*/*.o
115
 
        -rm -rf ios-x86/* ios-arm/*
116
 
        -rm build_config.mk
117
 
 
118
 
$(LIBRARY): $(LIBOBJECTS)
119
 
        rm -f $@
120
 
        $(AR) -rs $@ $(LIBOBJECTS)
121
 
 
122
 
db_bench: db/db_bench.o $(LIBOBJECTS) $(TESTUTIL)
123
 
        $(CC) $(LDFLAGS) db/db_bench.o $(LIBOBJECTS) $(TESTUTIL) -o $@
124
 
 
125
 
db_bench_sqlite3: doc/bench/db_bench_sqlite3.o $(LIBOBJECTS) $(TESTUTIL)
126
 
        $(CC) $(LDFLAGS) -lsqlite3 doc/bench/db_bench_sqlite3.o $(LIBOBJECTS) $(TESTUTIL) -o $@
127
 
 
128
 
db_bench_tree_db: doc/bench/db_bench_tree_db.o $(LIBOBJECTS) $(TESTUTIL)
129
 
        $(CC) $(LDFLAGS) -lkyotocabinet doc/bench/db_bench_tree_db.o $(LIBOBJECTS) $(TESTUTIL) -o $@
130
 
 
131
 
arena_test: util/arena_test.o $(LIBOBJECTS) $(TESTHARNESS)
132
 
        $(CC) $(LDFLAGS) util/arena_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
133
 
 
134
 
c_test: db/c_test.o $(LIBOBJECTS) $(TESTHARNESS)
135
 
        $(CC) $(LDFLAGS) db/c_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
136
 
 
137
 
cache_test: util/cache_test.o $(LIBOBJECTS) $(TESTHARNESS)
138
 
        $(CC) $(LDFLAGS) util/cache_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
139
 
 
140
 
coding_test: util/coding_test.o $(LIBOBJECTS) $(TESTHARNESS)
141
 
        $(CC) $(LDFLAGS) util/coding_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
142
 
 
143
 
corruption_test: db/corruption_test.o $(LIBOBJECTS) $(TESTHARNESS)
144
 
        $(CC) $(LDFLAGS) db/corruption_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
145
 
 
146
 
crc32c_test: util/crc32c_test.o $(LIBOBJECTS) $(TESTHARNESS)
147
 
        $(CC) $(LDFLAGS) util/crc32c_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
148
 
 
149
 
db_test: db/db_test.o $(LIBOBJECTS) $(TESTHARNESS)
150
 
        $(CC) $(LDFLAGS) db/db_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
151
 
 
152
 
dbformat_test: db/dbformat_test.o $(LIBOBJECTS) $(TESTHARNESS)
153
 
        $(CC) $(LDFLAGS) db/dbformat_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
154
 
 
155
 
env_test: util/env_test.o $(LIBOBJECTS) $(TESTHARNESS)
156
 
        $(CC) $(LDFLAGS) util/env_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
157
 
 
158
 
filename_test: db/filename_test.o $(LIBOBJECTS) $(TESTHARNESS)
159
 
        $(CC) $(LDFLAGS) db/filename_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
160
 
 
161
 
log_test: db/log_test.o $(LIBOBJECTS) $(TESTHARNESS)
162
 
        $(CC) $(LDFLAGS) db/log_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
163
 
 
164
 
table_test: table/table_test.o $(LIBOBJECTS) $(TESTHARNESS)
165
 
        $(CC) $(LDFLAGS) table/table_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
166
 
 
167
 
skiplist_test: db/skiplist_test.o $(LIBOBJECTS) $(TESTHARNESS)
168
 
        $(CC) $(LDFLAGS) db/skiplist_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
169
 
 
170
 
version_edit_test: db/version_edit_test.o $(LIBOBJECTS) $(TESTHARNESS)
171
 
        $(CC) $(LDFLAGS) db/version_edit_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
172
 
 
173
 
version_set_test: db/version_set_test.o $(LIBOBJECTS) $(TESTHARNESS)
174
 
        $(CC) $(LDFLAGS) db/version_set_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
175
 
 
176
 
write_batch_test: db/write_batch_test.o $(LIBOBJECTS) $(TESTHARNESS)
177
 
        $(CC) $(LDFLAGS) db/write_batch_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
178
 
 
179
 
$(MEMENVLIBRARY) : helpers/memenv/memenv.o
180
 
        rm -f $@
181
 
        $(AR) -rs $@ helpers/memenv/memenv.o
182
 
 
183
 
memenv_test : helpers/memenv/memenv_test.o $(MEMENVLIBRARY) $(LIBRARY) $(TESTHARNESS)
184
 
        $(CC) $(LDFLAGS) helpers/memenv/memenv_test.o $(MEMENVLIBRARY) $(LIBRARY) $(TESTHARNESS) -o $@
185
 
 
186
 
ifeq ($(PLATFORM), IOS)
187
 
# For iOS, create universal object files to be used on both the simulator and
188
 
# a device.
189
 
SIMULATORROOT=/Developer/Platforms/iPhoneSimulator.platform/Developer
190
 
DEVICEROOT=/Developer/Platforms/iPhoneOS.platform/Developer
191
 
IOSVERSION=$(shell defaults read /Developer/Platforms/iPhoneOS.platform/version CFBundleShortVersionString)
192
 
 
193
 
.cc.o:
194
 
        mkdir -p ios-x86/$(dir $@)
195
 
        $(SIMULATORROOT)/usr/bin/$(CC) $(CFLAGS) -isysroot $(SIMULATORROOT)/SDKs/iPhoneSimulator$(IOSVERSION).sdk -arch i686 $< -o ios-x86/$@
196
 
        mkdir -p ios-arm/$(dir $@)
197
 
        $(DEVICEROOT)/usr/bin/$(CC) $(CFLAGS) -isysroot $(DEVICEROOT)/SDKs/iPhoneOS$(IOSVERSION).sdk -arch armv6 -arch armv7 $< -o ios-arm/$@
198
 
        lipo ios-x86/$@ ios-arm/$@ -create -output $@
199
 
 
200
 
.c.o:
201
 
        mkdir -p ios-x86/$(dir $@)
202
 
        $(SIMULATORROOT)/usr/bin/$(CC) $(CFLAGS) -isysroot $(SIMULATORROOT)/SDKs/iPhoneSimulator$(IOSVERSION).sdk -arch i686 $< -o ios-x86/$@
203
 
        mkdir -p ios-arm/$(dir $@)
204
 
        $(DEVICEROOT)/usr/bin/$(CC) $(CFLAGS) -isysroot $(DEVICEROOT)/SDKs/iPhoneOS$(IOSVERSION).sdk -arch armv6 -arch armv7 $< -o ios-arm/$@
205
 
        lipo ios-x86/$@ ios-arm/$@ -create -output $@
206
 
 
207
 
else
208
 
.cc.o:
209
 
        $(CC) $(CFLAGS) $< -o $@
210
 
 
211
 
.c.o:
212
 
        $(CC) $(CFLAGS) $< -o $@
213
 
endif