diff options
-rw-r--r-- | Source/ThirdParty/leveldb/Target.pri | 115 | ||||
-rw-r--r-- | Source/ThirdParty/leveldb/leveldb.pri | 13 | ||||
-rw-r--r-- | Source/ThirdParty/leveldb/leveldb.pro | 12 | ||||
-rw-r--r-- | Source/WebCore/Target.pri | 3 | ||||
-rw-r--r-- | Source/WebCore/WebCore.pri | 2 | ||||
-rw-r--r-- | Source/WebCore/platform/leveldb/LevelDBDatabase.cpp | 2 | ||||
-rw-r--r-- | Tools/qmake/config.tests/leveldb/leveldb.cpp | 2 | ||||
-rw-r--r-- | Tools/qmake/mkspecs/features/features.prf | 4 | ||||
-rw-r--r-- | Tools/qmake/mkspecs/features/webkit_modules.prf | 2 | ||||
-rw-r--r-- | Tools/qmake/mkspecs/modules/leveldb.prf | 9 | ||||
-rw-r--r-- | WebKit.pro | 6 |
11 files changed, 164 insertions, 6 deletions
diff --git a/Source/ThirdParty/leveldb/Target.pri b/Source/ThirdParty/leveldb/Target.pri new file mode 100644 index 000000000..48d8550ff --- /dev/null +++ b/Source/ThirdParty/leveldb/Target.pri @@ -0,0 +1,115 @@ +# ------------------------------------------------------------------- +# Target file for the leveldb static library +# +# See 'Tools/qmake/README' for an overview of the build system +# ------------------------------------------------------------------- + +TEMPLATE = lib +TARGET = leveldb + +include(leveldb.pri) + +CONFIG += staticlib + +HEADERS += \ + db/builder.h \ + db/dbformat.h \ + db/db_impl.h \ + db/db_iter.h \ + db/filename.h \ + db/log_format.h \ + db/log_reader.h \ + db/log_writer.h \ + db/memtable.h \ + db/skiplist.h \ + db/snapshot.h \ + db/table_cache.h \ + db/version_edit.h \ + db/version_set.h \ + db/write_batch_internal.h \ + port/atomic_pointer.h \ + port/port_example.h \ + port/port.h \ + port/port_posix.h \ + port/thread_annotations.h \ + port/win/stdint.h \ + helpers/memenv/memenv.h \ + table/block_builder.h \ + table/block.h \ + table/filter_block.h \ + table/format.h \ + table/iterator_wrapper.h \ + table/merger.h \ + table/two_level_iterator.h \ + include/leveldb/cache.h \ + include/leveldb/c.h \ + include/leveldb/comparator.h \ + include/leveldb/db.h \ + include/leveldb/env.h \ + include/leveldb/filter_policy.h \ + include/leveldb/iterator.h \ + include/leveldb/options.h \ + include/leveldb/slice.h \ + include/leveldb/status.h \ + include/leveldb/table_builder.h \ + include/leveldb/table.h \ + include/leveldb/write_batch.h \ + util/arena.h \ + util/coding.h \ + util/crc32c.h \ + util/hash.h \ + util/histogram.h \ + util/logging.h \ + util/mutexlock.h \ + util/posix_logger.h \ + util/random.h + +SOURCES += \ + db/builder.cc\ + db/c.cc \ + db/dbformat.cc \ + db/db_impl.cc \ + db/db_iter.cc \ + db/filename.cc \ + db/log_reader.cc \ + db/log_writer.cc \ + db/memtable.cc \ + db/repair.cc \ + db/table_cache.cc \ + db/version_edit.cc \ + db/version_set.cc \ + db/write_batch.cc \ + helpers/memenv/memenv.cc \ + port/port_posix.cc \ + table/block_builder.cc \ + table/block.cc \ + table/filter_block.cc \ + table/format.cc \ + table/iterator.cc \ + table/merger.cc \ + table/table_builder.cc \ + table/table.cc \ + table/two_level_iterator.cc \ + util/arena.cc \ + util/bloom.cc \ + util/cache.cc \ + util/coding.cc \ + util/comparator.cc \ + util/crc32c.cc \ + util/env.cc \ + util/env_posix.cc \ + util/filter_policy.cc \ + util/hash.cc \ + util/histogram.cc \ + util/logging.cc \ + util/options.cc \ + util/status.cc + +posix: DEFINES += LEVELDB_PLATFORM_POSIX +win: DEFINES += OS_WIN +mac: DEFINES += OS_MACOSX +linux: DEFINES += OS_LINUX +freebsd*: DEFINES += OS_FREEBSD + +# We do not need anything from Qt +QT = diff --git a/Source/ThirdParty/leveldb/leveldb.pri b/Source/ThirdParty/leveldb/leveldb.pri new file mode 100644 index 000000000..e58c03211 --- /dev/null +++ b/Source/ThirdParty/leveldb/leveldb.pri @@ -0,0 +1,13 @@ +# ------------------------------------------------------------------- +# This file contains shared rules used both when building leveldb +# itself, and by targets that use leveldb. +# +# See 'Tools/qmake/README' for an overview of the build system +# ------------------------------------------------------------------- + +SOURCE_DIR = $${ROOT_WEBKIT_DIR}/Source/ThirdParty/leveldb + +INCLUDEPATH += \ + $$SOURCE_DIR/include \ + $$SOURCE_DIR + diff --git a/Source/ThirdParty/leveldb/leveldb.pro b/Source/ThirdParty/leveldb/leveldb.pro new file mode 100644 index 000000000..f502a826f --- /dev/null +++ b/Source/ThirdParty/leveldb/leveldb.pro @@ -0,0 +1,12 @@ +# ------------------------------------------------------------------- +# Main project file for ANGLE +# +# See 'Tools/qmake/README' for an overview of the build system +# ------------------------------------------------------------------- + +TEMPLATE = subdirs + +target.file = Target.pri + +SUBDIRS += target + diff --git a/Source/WebCore/Target.pri b/Source/WebCore/Target.pri index 9b162f620..9e8f0b526 100644 --- a/Source/WebCore/Target.pri +++ b/Source/WebCore/Target.pri @@ -3138,6 +3138,9 @@ enable?(INDEXED_DATABASE) { Modules/indexeddb/IDBVersionChangeEvent.cpp \ Modules/indexeddb/PageGroupIndexedDatabase.cpp \ Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp + + use?(leveldb):!use?(system_leveldb): WEBKIT += leveldb + } enable?(DATA_TRANSFER_ITEMS) { diff --git a/Source/WebCore/WebCore.pri b/Source/WebCore/WebCore.pri index 43b655ad6..fd33777f7 100644 --- a/Source/WebCore/WebCore.pri +++ b/Source/WebCore/WebCore.pri @@ -246,7 +246,7 @@ have?(sqlite3) { } } -use?(leveldb): LIBS += -lleveldb -lmemenv +use?(system_leveldb): LIBS += -lleveldb -lmemenv use?(libjpeg): LIBS += -ljpeg use?(libpng): LIBS += -lpng diff --git a/Source/WebCore/platform/leveldb/LevelDBDatabase.cpp b/Source/WebCore/platform/leveldb/LevelDBDatabase.cpp index 994d2c568..281a784d3 100644 --- a/Source/WebCore/platform/leveldb/LevelDBDatabase.cpp +++ b/Source/WebCore/platform/leveldb/LevelDBDatabase.cpp @@ -38,7 +38,7 @@ #include <leveldb/comparator.h> #include <leveldb/db.h> #include <leveldb/env.h> -#include <leveldb/helpers/memenv.h> +#include <helpers/memenv/memenv.h> #include <leveldb/slice.h> #include <string> #include <wtf/PassOwnPtr.h> diff --git a/Tools/qmake/config.tests/leveldb/leveldb.cpp b/Tools/qmake/config.tests/leveldb/leveldb.cpp index 84a52beb7..9c647bc1e 100644 --- a/Tools/qmake/config.tests/leveldb/leveldb.cpp +++ b/Tools/qmake/config.tests/leveldb/leveldb.cpp @@ -19,7 +19,7 @@ #include <leveldb/db.h> #include <leveldb/env.h> -#include <leveldb/helpers/memenv.h> +#include <helpers/memenv/memenv.h> int main(int, char**) { diff --git a/Tools/qmake/mkspecs/features/features.prf b/Tools/qmake/mkspecs/features/features.prf index d8da581c6..9f9677d0b 100644 --- a/Tools/qmake/mkspecs/features/features.prf +++ b/Tools/qmake/mkspecs/features/features.prf @@ -44,7 +44,7 @@ defineTest(detectFeatures) { config_libxslt: WEBKIT_CONFIG += xslt config_libzlib: WEBKIT_CONFIG += use_zlib config_libwebp: WEBKIT_CONFIG += use_webp - config_leveldb: WEBKIT_CONFIG += use_leveldb + config_leveldb: WEBKIT_CONFIG += use_system_leveldb # We can't use Qt's 3rdparty sources for libjpeg and libpng outside of qtbase, but if Qt # is using the system libraries, use them to take advantage of the WebCore image decoders as well. @@ -170,7 +170,7 @@ defineTest(santizeFeatures) { use?(gstreamer): WEBKIT_CONFIG += use_glib # IndexedDB requires leveldb - !use?(leveldb): WEBKIT_CONFIG -= indexed_database + enable?(indexed_database): WEBKIT_CONFIG += use_leveldb # VideoTrack requires video !enable?(video): WEBKIT_CONFIG -= video_track diff --git a/Tools/qmake/mkspecs/features/webkit_modules.prf b/Tools/qmake/mkspecs/features/webkit_modules.prf index 189387835..005a1bd3d 100644 --- a/Tools/qmake/mkspecs/features/webkit_modules.prf +++ b/Tools/qmake/mkspecs/features/webkit_modules.prf @@ -7,7 +7,7 @@ # Reorder libraries so that the link and include order is correct, # and make sure the case matches the original case. -libraries = WebKit1 WebKit2 WebCore ANGLE JavaScriptCore WTF +libraries = WebKit1 WebKit2 WebCore ANGLE leveldb JavaScriptCore WTF for(library, libraries) { contains(WEBKIT, $$lower($$library)) { WEBKIT -= $$lower($$library) diff --git a/Tools/qmake/mkspecs/modules/leveldb.prf b/Tools/qmake/mkspecs/modules/leveldb.prf new file mode 100644 index 000000000..d06acf05e --- /dev/null +++ b/Tools/qmake/mkspecs/modules/leveldb.prf @@ -0,0 +1,9 @@ +# ------------------------------------------------------------------- +# Module file for leveldb, used by targets that depend on leveldb +# +# See 'Tools/qmake/README' for an overview of the build system +# ------------------------------------------------------------------- + +WEBKIT.leveldb.root_source_dir = $${ROOT_WEBKIT_DIR}/Source/ThirdParty/leveldb + +include($${WEBKIT.leveldb.root_source_dir}/leveldb.pri) diff --git a/WebKit.pro b/WebKit.pro index f7167129f..11b59e58b 100644 --- a/WebKit.pro +++ b/WebKit.pro @@ -24,6 +24,12 @@ use?(3D_GRAPHICS) { SUBDIRS += ANGLE } +use?(leveldb):!use?(system_leveldb) { + leveldb.file = Source/ThirdParty/leveldb/leveldb.pro + leveldb.makefile = Makefile.leveldb + SUBDIRS += leveldb +} + WebCore.file = Source/WebCore/WebCore.pro WebCore.makefile = Makefile.WebCore SUBDIRS += WebCore |