mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Update from upstream @21551990
* Patch LevelDB to build for OSX and iOS * Fix race condition in memtable iterator deletion. * Other small fixes. git-svn-id: https://leveldb.googlecode.com/svn/trunk@29 62dab493-f737-651d-591e-8d6aee1b9529
This commit is contained in:
45
Makefile
45
Makefile
@@ -8,7 +8,21 @@ CC = g++
|
||||
#OPT = -O2 -DNDEBUG
|
||||
OPT = -g2
|
||||
|
||||
CFLAGS = -c -DLEVELDB_PLATFORM_POSIX -I. -I./include -std=c++0x $(OPT)
|
||||
UNAME := $(shell uname)
|
||||
|
||||
ifeq ($(UNAME), Darwin)
|
||||
# To build for iOS, set PLATFORM=IOS.
|
||||
ifndef PLATFORM
|
||||
PLATFORM=OSX
|
||||
endif # PLATFORM
|
||||
PLATFORM_CFLAGS = -DLEVELDB_PLATFORM_OSX
|
||||
PORT_MODULE = port_osx.o
|
||||
else # UNAME
|
||||
PLATFORM_CFLAGS = -DLEVELDB_PLATFORM_POSIX -std=c++0x
|
||||
PORT_MODULE = port_posix.o
|
||||
endif # UNAME
|
||||
|
||||
CFLAGS = -c -I. -I./include $(PLATFORM_CFLAGS) $(OPT)
|
||||
|
||||
LDFLAGS=-lpthread
|
||||
|
||||
@@ -26,7 +40,7 @@ LIBOBJECTS = \
|
||||
./db/version_edit.o \
|
||||
./db/version_set.o \
|
||||
./db/write_batch.o \
|
||||
./port/port_posix.o \
|
||||
./port/$(PORT_MODULE) \
|
||||
./table/block.o \
|
||||
./table/block_builder.o \
|
||||
./table/format.o \
|
||||
@@ -69,13 +83,25 @@ TESTS = \
|
||||
|
||||
PROGRAMS = db_bench $(TESTS)
|
||||
|
||||
all: $(PROGRAMS)
|
||||
LIBRARY = libleveldb.a
|
||||
|
||||
ifeq ($(PLATFORM), IOS)
|
||||
# Only XCode can build executable applications for iOS.
|
||||
all: $(LIBRARY)
|
||||
else
|
||||
all: $(PROGRAMS) $(LIBRARY)
|
||||
endif
|
||||
|
||||
check: $(TESTS)
|
||||
for t in $(TESTS); do echo "***** Running $$t"; ./$$t || exit 1; done
|
||||
|
||||
clean:
|
||||
rm -f $(PROGRAMS) */*.o
|
||||
-rm -f $(PROGRAMS) $(LIBRARY) */*.o ios-x86/*/*.o ios-arm/*/*.o
|
||||
-rmdir -p ios-x86/* ios-arm/*
|
||||
|
||||
$(LIBRARY): $(LIBOBJECTS)
|
||||
rm -f $@
|
||||
$(AR) -rs $@ $(LIBOBJECTS)
|
||||
|
||||
db_bench: db/db_bench.o $(LIBOBJECTS) $(TESTUTIL)
|
||||
$(CC) $(LDFLAGS) db/db_bench.o $(LIBOBJECTS) $(TESTUTIL) -o $@
|
||||
@@ -122,8 +148,19 @@ version_edit_test: db/version_edit_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
write_batch_test: db/write_batch_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CC) $(LDFLAGS) db/write_batch_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@
|
||||
|
||||
ifeq ($(PLATFORM), IOS)
|
||||
# For iOS, create universal object files to be used on both the simulator and
|
||||
# a device.
|
||||
.cc.o:
|
||||
mkdir -p ios-x86/$(dir $@)
|
||||
$(CC) $(CFLAGS) -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk -arch i686 $< -o ios-x86/$@
|
||||
mkdir -p ios-arm/$(dir $@)
|
||||
$(CC) $(CFLAGS) -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk -arch armv6 -arch armv7 $< -o ios-arm/$@
|
||||
lipo ios-x86/$@ ios-arm/$@ -create -output $@
|
||||
else
|
||||
.cc.o:
|
||||
$(CC) $(CFLAGS) $< -o $@
|
||||
endif
|
||||
|
||||
# TODO(gabor): dependencies for .o files
|
||||
# TODO(gabor): Build library
|
||||
|
||||
Reference in New Issue
Block a user