cxx_library(
   name='libpzstd',
   visibility=['PUBLIC'],
   header_namespace='',
   exported_headers=[
       'ErrorHolder.h',
       'Logging.h',
       'Pzstd.h',
   ],
   headers=[
       'SkippableFrame.h',
   ],
   srcs=[
       'Pzstd.cpp',
       'SkippableFrame.cpp',
   ],
   deps=[
       ':options',
       '//contrib/pzstd/utils:utils',
       '//lib:mem',
       '//lib:zstd',
   ],
)

cxx_library(
   name='options',
   visibility=['PUBLIC'],
   header_namespace='',
   exported_headers=['Options.h'],
   srcs=['Options.cpp'],
   deps=[
       '//contrib/pzstd/utils:scope_guard',
       '//lib:zstd',
       '//programs:util',
   ],
)

cxx_binary(
   name='pzstd',
   visibility=['PUBLIC'],
   srcs=['main.cpp'],
   deps=[
       ':libpzstd',
       ':options',
   ],
)

# Must run "make googletest" first
cxx_library(
   name='gtest',
   srcs=glob([
       'googletest/googletest/src/gtest-all.cc',
       'googletest/googlemock/src/gmock-all.cc',
       'googletest/googlemock/src/gmock_main.cc',
   ]),
   header_namespace='',
   exported_headers=subdir_glob([
       ('googletest/googletest/include', '**/*.h'),
       ('googletest/googlemock/include', '**/*.h'),
   ]),
   headers=subdir_glob([
       ('googletest/googletest', 'src/*.cc'),
       ('googletest/googletest', 'src/*.h'),
       ('googletest/googlemock', 'src/*.cc'),
       ('googletest/googlemock', 'src/*.h'),
   ]),
   platform_linker_flags=[
       ('android', []),
       ('', ['-lpthread']),
   ],
   visibility=['PUBLIC'],
)