Home | History | Annotate | Download | only in leveldatabase
      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 {
      6   'variables': {
      7     'use_snappy%': 1,
      8   },
      9   'conditions': [
     10     ['OS == "android" and android_webview_build == 1', {
     11       'variables': {
     12         # Snappy not used in Android WebView
     13         # crbug.com/236780
     14         'use_snappy': 0,
     15       },
     16     }],
     17     ['OS=="android"', {
     18       'targets': [{
     19         'target_name': 'env_chromium_unittests_apk',
     20         'type': 'none',
     21         'dependencies': [
     22           '<(DEPTH)/base/base.gyp:base_java',
     23           'env_chromium_unittests',
     24         ],
     25         'variables': {
     26           'test_suite_name': 'env_chromium_unittests',
     27         },
     28         'includes': [ '../../build/apk_test.gypi' ],
     29       }],
     30     }],
     31   ],
     32   'target_defaults': {
     33     'defines': [
     34       'LEVELDB_PLATFORM_CHROMIUM=1',
     35     ],
     36     'include_dirs': [
     37       '.',
     38       'src/',
     39       'src/include/',
     40     ],
     41     'conditions': [
     42       ['OS!="win"', {
     43         'sources/': [ ['exclude', '_win.(h|cc)$'], ],
     44       }],
     45       ['use_snappy', {
     46         'defines': [
     47           'USE_SNAPPY=1',
     48         ],
     49       }],
     50     ],
     51   },
     52   'targets': [
     53     {
     54       'target_name': 'leveldatabase',
     55       'type': 'static_library',
     56       'dependencies': [
     57         '../../third_party/re2/re2.gyp:re2',
     58         '../../base/base.gyp:base',
     59         # base::LazyInstance is a template that pulls in dynamic_annotations so
     60         # we need to explictly link in the code for dynamic_annotations.
     61         '../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
     62       ],
     63       'conditions': [
     64         ['use_snappy', {
     65           'dependencies': [
     66             '../../third_party/snappy/snappy.gyp:snappy',
     67           ],
     68         }],
     69       ],
     70       'direct_dependent_settings': {
     71         'include_dirs': [
     72           'src/include/',
     73           'src/',
     74           '.',
     75         ],
     76       },
     77       # Patch posted for upstream, can be removed once that's landed and
     78       # rolled into Chromium.
     79       # Internal link: https://mondrian.corp.google.com/#review/29997992
     80       'msvs_disabled_warnings': [
     81         # Signed/unsigned comparison.
     82         4018,
     83 
     84         # TODO(jschuh): http://crbug.com/167187 size_t -> int
     85         4267,
     86       ],
     87       'sources': [
     88         # Include and then exclude so that all files show up in IDEs, even if
     89         # they don't build.
     90         'chromium_logger.h',
     91         'env_chromium.cc',
     92         'env_chromium.h',
     93         'env_chromium_stdio.cc',
     94         'env_chromium_stdio.h',
     95         'env_chromium_win.cc',
     96         'env_chromium_win.h',
     97         'env_idb.h',
     98         'port/port_chromium.cc',
     99         'port/port_chromium.h',
    100         'src/db/builder.cc',
    101         'src/db/builder.h',
    102         'src/db/db_impl.cc',
    103         'src/db/db_impl.h',
    104         'src/db/db_iter.cc',
    105         'src/db/db_iter.h',
    106         'src/db/filename.cc',
    107         'src/db/filename.h',
    108         'src/db/dbformat.cc',
    109         'src/db/dbformat.h',
    110         'src/db/log_format.h',
    111         'src/db/log_reader.cc',
    112         'src/db/log_reader.h',
    113         'src/db/log_writer.cc',
    114         'src/db/log_writer.h',
    115         'src/db/memtable.cc',
    116         'src/db/memtable.h',
    117         'src/db/repair.cc',
    118         'src/db/skiplist.h',
    119         'src/db/snapshot.h',
    120         'src/db/table_cache.cc',
    121         'src/db/table_cache.h',
    122         'src/db/version_edit.cc',
    123         'src/db/version_edit.h',
    124         'src/db/version_set.cc',
    125         'src/db/version_set.h',
    126         'src/db/write_batch.cc',
    127         'src/db/write_batch_internal.h',
    128         'src/helpers/memenv/memenv.cc',
    129         'src/helpers/memenv/memenv.h',
    130         'src/include/leveldb/cache.h',
    131         'src/include/leveldb/comparator.h',
    132         'src/include/leveldb/db.h',
    133         'src/include/leveldb/env.h',
    134         'src/include/leveldb/filter_policy.h',
    135         'src/include/leveldb/iterator.h',
    136         'src/include/leveldb/options.h',
    137         'src/include/leveldb/slice.h',
    138         'src/include/leveldb/status.h',
    139         'src/include/leveldb/table.h',
    140         'src/include/leveldb/table_builder.h',
    141         'src/include/leveldb/write_batch.h',
    142         'src/port/port.h',
    143         'src/port/port_example.h',
    144         'src/port/port_posix.cc',
    145         'src/port/port_posix.h',
    146         'src/table/block.cc',
    147         'src/table/block.h',
    148         'src/table/block_builder.cc',
    149         'src/table/block_builder.h',
    150         'src/table/filter_block.cc',
    151         'src/table/filter_block.h',
    152         'src/table/format.cc',
    153         'src/table/format.h',
    154         'src/table/iterator.cc',
    155         'src/table/iterator_wrapper.h',
    156         'src/table/merger.cc',
    157         'src/table/merger.h',
    158         'src/table/table.cc',
    159         'src/table/table_builder.cc',
    160         'src/table/two_level_iterator.cc',
    161         'src/table/two_level_iterator.h',
    162         'src/util/arena.cc',
    163         'src/util/arena.h',
    164         'src/util/bloom.cc',
    165         'src/util/cache.cc',
    166         'src/util/coding.cc',
    167         'src/util/coding.h',
    168         'src/util/comparator.cc',
    169         'src/util/crc32c.cc',
    170         'src/util/crc32c.h',
    171         'src/util/env.cc',
    172         'src/util/filter_policy.cc',
    173         'src/util/hash.cc',
    174         'src/util/hash.h',
    175         'src/util/logging.cc',
    176         'src/util/logging.h',
    177         'src/util/mutexlock.h',
    178         'src/util/options.cc',
    179         'src/util/random.h',
    180         'src/util/status.cc',
    181       ],
    182       'sources/': [
    183         ['exclude', '_(example|posix)\\.(h|cc)$'],
    184       ],
    185     },
    186     {
    187       'target_name': 'env_chromium_unittests',
    188       'type': '<(gtest_target_type)',
    189       'dependencies': [
    190         'leveldatabase',
    191         '../../base/base.gyp:test_support_base',
    192         '../../testing/gtest.gyp:gtest',
    193       ],
    194       'sources': [
    195         'env_chromium_unittest.cc',
    196       ],
    197       'conditions': [
    198         ['OS=="android"', {
    199           'type': 'shared_library',
    200           'dependencies': [
    201             '../../testing/android/native_test.gyp:native_test_native_code',
    202             '../../tools/android/forwarder2/forwarder.gyp:forwarder2',
    203           ],
    204         }],
    205       ],
    206     },
    207     {
    208       'target_name': 'leveldb_testutil',
    209       'type': 'static_library',
    210       'dependencies': [
    211         '../../base/base.gyp:base',
    212         'leveldatabase',
    213       ],
    214       'export_dependent_settings': [
    215         # The tests use include directories from these projects.
    216         '../../base/base.gyp:base',
    217         'leveldatabase',
    218       ],
    219       'sources': [
    220         'src/util/histogram.cc',
    221         'src/util/histogram.h',
    222         'src/util/testharness.cc',
    223         'src/util/testharness.h',
    224         'src/util/testutil.cc',
    225         'src/util/testutil.h',
    226       ],
    227     },
    228     {
    229       'target_name': 'leveldb_arena_test',
    230       'type': 'executable',
    231       'dependencies': [
    232         'leveldb_testutil',
    233       ],
    234       'sources': [
    235         'src/util/arena_test.cc',
    236       ],
    237     },
    238     {
    239       'target_name': 'leveldb_bloom_test',
    240       'type': 'executable',
    241       'dependencies': [
    242         'leveldb_testutil',
    243       ],
    244       'sources': [
    245         'src/util/bloom_test.cc',
    246       ],
    247     },
    248     {
    249       'target_name': 'leveldb_cache_test',
    250       'type': 'executable',
    251       'dependencies': [
    252         'leveldb_testutil',
    253       ],
    254       'sources': [
    255         'src/util/cache_test.cc',
    256       ],
    257     },
    258     {
    259       'target_name': 'leveldb_coding_test',
    260       'type': 'executable',
    261       'dependencies': [
    262         'leveldb_testutil',
    263       ],
    264       'sources': [
    265         'src/util/coding_test.cc',
    266       ],
    267     },
    268     {
    269       'target_name': 'leveldb_corruption_test',
    270       'type': 'executable',
    271       'dependencies': [
    272         'leveldb_testutil',
    273       ],
    274       'sources': [
    275         'src/db/corruption_test.cc',
    276       ],
    277     },
    278     {
    279       'target_name': 'leveldb_crc32c_test',
    280       'type': 'executable',
    281       'dependencies': [
    282         'leveldb_testutil',
    283       ],
    284       'sources': [
    285         'src/util/crc32c_test.cc',
    286       ],
    287     },
    288     {
    289       'target_name': 'leveldb_db_bench',
    290       'type': 'executable',
    291       'dependencies': [
    292         'leveldb_testutil',
    293       ],
    294       'sources': [
    295         'src/db/db_bench.cc',
    296       ],
    297     },
    298     {
    299       'target_name': 'leveldb_db_test',
    300       'type': 'executable',
    301       'dependencies': [
    302         'leveldb_testutil',
    303       ],
    304       'sources': [
    305         'src/db/db_test.cc',
    306       ],
    307     },
    308     {
    309       'target_name': 'leveldb_dbformat_test',
    310       'type': 'executable',
    311       'dependencies': [
    312         'leveldb_testutil',
    313       ],
    314       'sources': [
    315         'src/db/dbformat_test.cc',
    316       ],
    317     },
    318     {
    319       'target_name': 'leveldb_env_test',
    320       'type': 'executable',
    321       'dependencies': [
    322         'leveldb_testutil',
    323       ],
    324       'sources': [
    325         'src/util/env_test.cc',
    326       ],
    327     },
    328     {
    329       'target_name': 'leveldb_filename_test',
    330       'type': 'executable',
    331       'dependencies': [
    332         'leveldb_testutil',
    333       ],
    334       'sources': [
    335         'src/db/filename_test.cc',
    336       ],
    337     },
    338     {
    339       'target_name': 'leveldb_filter_block_test',
    340       'type': 'executable',
    341       'dependencies': [
    342         'leveldb_testutil',
    343       ],
    344       'sources': [
    345         'src/table/filter_block_test.cc',
    346       ],
    347     },
    348     {
    349       'target_name': 'leveldb_log_test',
    350       'type': 'executable',
    351       'dependencies': [
    352         'leveldb_testutil',
    353       ],
    354       'sources': [
    355         'src/db/log_test.cc',
    356       ],
    357     },
    358     {
    359       'target_name': 'leveldb_skiplist_test',
    360       'type': 'executable',
    361       'dependencies': [
    362         'leveldb_testutil',
    363       ],
    364       'sources': [
    365         'src/db/skiplist_test.cc',
    366       ],
    367     },
    368     {
    369       'target_name': 'leveldb_table_test',
    370       'type': 'executable',
    371       'dependencies': [
    372         'leveldb_testutil',
    373       ],
    374       'sources': [
    375         'src/table/table_test.cc',
    376       ],
    377     },
    378     {
    379       'target_name': 'leveldb_version_edit_test',
    380       'type': 'executable',
    381       'dependencies': [
    382         'leveldb_testutil',
    383       ],
    384       'sources': [
    385         'src/db/version_edit_test.cc',
    386       ],
    387     },
    388     {
    389       'target_name': 'leveldb_write_batch_test',
    390       'type': 'executable',
    391       'dependencies': [
    392         'leveldb_testutil',
    393       ],
    394       'sources': [
    395         'src/db/write_batch_test.cc',
    396       ],
    397     },
    398     {
    399       'target_name': 'leveldb_main',
    400       'type': 'executable',
    401       'dependencies': [
    402         'leveldb_testutil',
    403       ],
    404       'sources': [
    405         'src/db/leveldb_main.cc',
    406       ],
    407     },
    408   ],
    409 }
    410 
    411 # Local Variables:
    412 # tab-width:2
    413 # indent-tabs-mode:nil
    414 # End:
    415 # vim: set expandtab tabstop=2 shiftwidth=2:
    416