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