119 lines
3.9 KiB
Diff
119 lines
3.9 KiB
Diff
This patch force to only build the python bindings, and to do so, we modify
|
|
the setup.py file in oder that finds our compiled libraries (libleveldb.so and
|
|
libsnappy.so)
|
|
--- leveldb-0.194/setup.py.orig 2016-09-17 02:05:55.000000000 +0200
|
|
+++ leveldb-0.194/setup.py 2019-02-26 16:57:40.997435911 +0100
|
|
@@ -11,44 +11,25 @@ import platform
|
|
import sys
|
|
|
|
from setuptools import setup, Extension
|
|
+from os import environ
|
|
|
|
system, node, release, version, machine, processor = platform.uname()
|
|
-common_flags = [
|
|
- '-I./leveldb/include',
|
|
- '-I./leveldb',
|
|
- '-I./snappy',
|
|
+extra_compile_args = [
|
|
+ '-I{}/include'.format(environ.get('LEVELDB_BUILD_PATH')),
|
|
+ '-I{}'.format(environ.get('LEVELDB_BUILD_PATH')),
|
|
+ '-I{}'.format(environ.get('SNAPPY_BUILD_PATH')),
|
|
+ '-I.',
|
|
'-I.',
|
|
- '-fno-builtin-memcmp',
|
|
'-O2',
|
|
'-fPIC',
|
|
'-DNDEBUG',
|
|
'-DSNAPPY',
|
|
+ '-pthread',
|
|
+ '-Wall',
|
|
+ '-D_REENTRANT',
|
|
+ '-DOS_ANDROID',
|
|
]
|
|
|
|
-if system == 'Darwin':
|
|
- extra_compile_args = common_flags + [
|
|
- '-DOS_MACOSX',
|
|
- '-DLEVELDB_PLATFORM_POSIX',
|
|
- '-Wno-error=unused-command-line-argument-hard-error-in-future',
|
|
- ]
|
|
-elif system == 'Linux':
|
|
- extra_compile_args = common_flags + [
|
|
- '-pthread',
|
|
- '-Wall',
|
|
- '-DOS_LINUX',
|
|
- '-DLEVELDB_PLATFORM_POSIX',
|
|
- ]
|
|
-elif system == 'SunOS':
|
|
- extra_compile_args = common_flags + [
|
|
- '-pthread',
|
|
- '-Wall',
|
|
- '-DOS_SOLARIS',
|
|
- '-DLEVELDB_PLATFORM_POSIX',
|
|
- ]
|
|
-else:
|
|
- sys.stderr.write("Don't know how to compile leveldb for %s!\n" % system)
|
|
- sys.exit(1)
|
|
-
|
|
setup(
|
|
name = 'leveldb',
|
|
version = '0.194',
|
|
@@ -81,57 +62,11 @@ setup(
|
|
ext_modules = [
|
|
Extension('leveldb',
|
|
sources = [
|
|
- # snappy
|
|
- './snappy/snappy.cc',
|
|
- './snappy/snappy-stubs-internal.cc',
|
|
- './snappy/snappy-sinksource.cc',
|
|
- './snappy/snappy-c.cc',
|
|
-
|
|
- #leveldb
|
|
- 'leveldb/db/builder.cc',
|
|
- 'leveldb/db/c.cc',
|
|
- 'leveldb/db/db_impl.cc',
|
|
- 'leveldb/db/db_iter.cc',
|
|
- 'leveldb/db/dbformat.cc',
|
|
- 'leveldb/db/filename.cc',
|
|
- 'leveldb/db/log_reader.cc',
|
|
- 'leveldb/db/log_writer.cc',
|
|
- 'leveldb/db/memtable.cc',
|
|
- 'leveldb/db/repair.cc',
|
|
- 'leveldb/db/table_cache.cc',
|
|
- 'leveldb/db/version_edit.cc',
|
|
- 'leveldb/db/version_set.cc',
|
|
- 'leveldb/db/write_batch.cc',
|
|
- 'leveldb/table/block.cc',
|
|
- 'leveldb/table/block_builder.cc',
|
|
- 'leveldb/table/filter_block.cc',
|
|
- 'leveldb/table/format.cc',
|
|
- 'leveldb/table/iterator.cc',
|
|
- 'leveldb/table/merger.cc',
|
|
- 'leveldb/table/table.cc',
|
|
- 'leveldb/table/table_builder.cc',
|
|
- 'leveldb/table/two_level_iterator.cc',
|
|
- 'leveldb/util/arena.cc',
|
|
- 'leveldb/util/bloom.cc',
|
|
- 'leveldb/util/cache.cc',
|
|
- 'leveldb/util/coding.cc',
|
|
- 'leveldb/util/comparator.cc',
|
|
- 'leveldb/util/crc32c.cc',
|
|
- 'leveldb/util/env.cc',
|
|
- 'leveldb/util/env_posix.cc',
|
|
- 'leveldb/util/filter_policy.cc',
|
|
- 'leveldb/util/hash.cc',
|
|
- 'leveldb/util/histogram.cc',
|
|
- 'leveldb/util/logging.cc',
|
|
- 'leveldb/util/options.cc',
|
|
- 'leveldb/util/status.cc',
|
|
- 'leveldb/port/port_posix.cc',
|
|
-
|
|
# python stuff
|
|
'leveldb_ext.cc',
|
|
'leveldb_object.cc',
|
|
],
|
|
- libraries = ['stdc++'],
|
|
+ libraries = ['snappy', 'leveldb', 'stdc++', 'c++_shared'],
|
|
extra_compile_args = extra_compile_args,
|
|
)
|
|
]
|