Home | History | Annotate | Line # | Download | only in lib
      1 cxx_library(
      2     name='zstd',
      3     header_namespace='',
      4     exported_headers=['zstd.h'],
      5     visibility=['PUBLIC'],
      6     deps=[
      7         ':common',
      8         ':compress',
      9         ':decompress',
     10         ':deprecated',
     11     ],
     12 )
     13 
     14 cxx_library(
     15     name='compress',
     16     header_namespace='',
     17     visibility=['PUBLIC'],
     18     exported_headers=subdir_glob([
     19         ('compress', 'zstd*.h'),
     20     ]),
     21     srcs=glob(['compress/zstd*.c', 'compress/hist.c']),
     22     deps=[':common'],
     23 )
     24 
     25 cxx_library(
     26     name='decompress',
     27     header_namespace='',
     28     visibility=['PUBLIC'],
     29     headers=subdir_glob([
     30         ('decompress', '*_impl.h'),
     31     ]),
     32     srcs=glob(['decompress/zstd*.c']),
     33     deps=[
     34         ':common',
     35         ':legacy',
     36     ],
     37 )
     38 
     39 cxx_library(
     40     name='deprecated',
     41     header_namespace='',
     42     visibility=['PUBLIC'],
     43     exported_headers=subdir_glob([
     44         ('deprecated', '*.h'),
     45     ]),
     46     srcs=glob(['deprecated/*.c']),
     47     deps=[':common'],
     48 )
     49 
     50 cxx_library(
     51     name='legacy',
     52     header_namespace='',
     53     visibility=['PUBLIC'],
     54     exported_headers=subdir_glob([
     55         ('legacy', '*.h'),
     56     ]),
     57     srcs=glob(['legacy/*.c']),
     58     deps=[':common'],
     59     exported_preprocessor_flags=[
     60         '-DZSTD_LEGACY_SUPPORT=4',
     61     ],
     62 )
     63 
     64 cxx_library(
     65     name='zdict',
     66     header_namespace='',
     67     visibility=['PUBLIC'],
     68     exported_headers=['zdict.h'],
     69     headers=subdir_glob([
     70         ('dictBuilder', 'divsufsort.h'),
     71         ('dictBuilder', 'cover.h'),
     72     ]),
     73     srcs=glob(['dictBuilder/*.c']),
     74     deps=[':common'],
     75 )
     76 
     77 cxx_library(
     78     name='compiler',
     79     header_namespace='',
     80     visibility=['PUBLIC'],
     81     exported_headers=subdir_glob([
     82         ('common', 'compiler.h'),
     83     ]),
     84 )
     85 
     86 cxx_library(
     87     name='cpu',
     88     header_namespace='',
     89     visibility=['PUBLIC'],
     90     exported_headers=subdir_glob([
     91         ('common', 'cpu.h'),
     92     ]),
     93 )
     94 
     95 cxx_library(
     96     name='bitstream',
     97     header_namespace='',
     98     visibility=['PUBLIC'],
     99     exported_headers=subdir_glob([
    100         ('common', 'bitstream.h'),
    101     ]),
    102 )
    103 
    104 cxx_library(
    105     name='entropy',
    106     header_namespace='',
    107     visibility=['PUBLIC'],
    108     exported_headers=subdir_glob([
    109         ('common', 'fse.h'),
    110         ('common', 'huf.h'),
    111     ]),
    112     srcs=[
    113         'common/entropy_common.c',
    114         'common/fse_decompress.c',
    115         'compress/fse_compress.c',
    116         'compress/huf_compress.c',
    117         'decompress/huf_decompress.c',
    118     ],
    119     deps=[
    120         ':debug',
    121         ':bitstream',
    122         ':compiler',
    123         ':errors',
    124         ':mem',
    125     ],
    126 )
    127 
    128 cxx_library(
    129     name='errors',
    130     header_namespace='',
    131     visibility=['PUBLIC'],
    132     exported_headers=[
    133         'zstd_errors.h',
    134         'common/error_private.h',
    135     ]
    136     srcs=['common/error_private.c'],
    137 )
    138 
    139 cxx_library(
    140     name='mem',
    141     header_namespace='',
    142     visibility=['PUBLIC'],
    143     exported_headers=subdir_glob([
    144         ('common', 'mem.h'),
    145     ]),
    146 )
    147 
    148 cxx_library(
    149     name='pool',
    150     header_namespace='',
    151     visibility=['PUBLIC'],
    152     exported_headers=subdir_glob([
    153         ('common', 'pool.h'),
    154     ]),
    155     srcs=['common/pool.c'],
    156     deps=[
    157         ':threading',
    158         ':zstd_common',
    159     ],
    160 )
    161 
    162 cxx_library(
    163     name='threading',
    164     header_namespace='',
    165     visibility=['PUBLIC'],
    166     exported_headers=subdir_glob([
    167         ('common', 'threading.h'),
    168     ]),
    169     srcs=['common/threading.c'],
    170     exported_preprocessor_flags=[
    171         '-DZSTD_MULTITHREAD',
    172     ],
    173     exported_linker_flags=[
    174         '-pthread',
    175     ],
    176 )
    177 
    178 cxx_library(
    179     name='xxhash',
    180     header_namespace='',
    181     visibility=['PUBLIC'],
    182     exported_headers=subdir_glob([
    183         ('common', 'xxhash.h'),
    184     ]),
    185     srcs=['common/xxhash.c'],
    186     exported_preprocessor_flags=[
    187         '-DXXH_NAMESPACE=ZSTD_',
    188     ],
    189 )
    190 
    191 cxx_library(
    192     name='zstd_common',
    193     header_namespace='',
    194     visibility=['PUBLIC'],
    195     exported_headers=subdir_glob([
    196         ('', 'zstd.h'),
    197         ('common', 'zstd_internal.h'),
    198     ]),
    199     srcs=['common/zstd_common.c'],
    200     deps=[
    201         ':compiler',
    202         ':errors',
    203         ':mem',
    204     ],
    205 )
    206 
    207 cxx_library(
    208     name='debug',
    209     header_namespace='',
    210     visibility=['PUBLIC'],
    211     exported_headers=subdir_glob([
    212         ('common', 'debug.h'),
    213     ]),
    214     srcs=['common/debug.c'],
    215 )
    216 
    217 cxx_library(
    218     name='common',
    219     deps=[
    220         ':debug',
    221         ':bitstream',
    222         ':compiler',
    223         ':cpu',
    224         ':entropy',
    225         ':errors',
    226         ':mem',
    227         ':pool',
    228         ':threading',
    229         ':xxhash',
    230         ':zstd_common',
    231     ]
    232 )
    233