diff --git a/build/meson/programs/meson.build b/build/meson/programs/meson.build index 0704155d8..55ebf166c 100644 --- a/build/meson/programs/meson.build +++ b/build/meson/programs/meson.build @@ -19,12 +19,7 @@ zstd_programs_sources = [join_paths(zstd_rootdir, 'programs/zstdcli.c'), join_paths(zstd_rootdir, 'programs/benchzstd.c'), join_paths(zstd_rootdir, 'programs/datagen.c'), join_paths(zstd_rootdir, 'programs/dibio.c'), - join_paths(zstd_rootdir, 'programs/zstdcli_trace.c'), - # needed due to use of private symbol + -fvisibility=hidden - join_paths(zstd_rootdir, 'lib/common/xxhash.c'), - join_paths(zstd_rootdir, 'lib/common/pool.c'), - join_paths(zstd_rootdir, 'lib/common/zstd_common.c'), - join_paths(zstd_rootdir, 'lib/common/error_private.c')] + join_paths(zstd_rootdir, 'programs/zstdcli_trace.c')] zstd_deps = [ libzstd_dep ] zstd_c_args = libzstd_debug_cflags @@ -75,6 +70,12 @@ zstd = executable('zstd', zstd_programs_sources, c_args: zstd_c_args, dependencies: zstd_deps, + # needed due to use of private symbol + -fvisibility=hidden + objects: libzstd.extract_objects( + join_paths(zstd_rootdir, 'lib/common/xxhash.c'), + join_paths(zstd_rootdir, 'lib/common/pool.c'), + join_paths(zstd_rootdir, 'lib/common/zstd_common.c'), + join_paths(zstd_rootdir, 'lib/common/error_private.c')), export_dynamic: export_dynamic_on_windows, # Since Meson 0.45.0 install: true) @@ -82,16 +83,18 @@ zstd_frugal_sources = [join_paths(zstd_rootdir, 'programs/zstdcli.c'), join_paths(zstd_rootdir, 'programs/timefn.c'), join_paths(zstd_rootdir, 'programs/util.c'), join_paths(zstd_rootdir, 'programs/fileio.c'), - join_paths(zstd_rootdir, 'programs/fileio_asyncio.c'), - join_paths(zstd_rootdir, 'lib/common/pool.c'), - join_paths(zstd_rootdir, 'lib/common/zstd_common.c'), - join_paths(zstd_rootdir, 'lib/common/error_private.c')] + join_paths(zstd_rootdir, 'programs/fileio_asyncio.c')] # Minimal target, with only zstd compression and decompression. # No bench. No legacy. executable('zstd-frugal', zstd_frugal_sources, dependencies: zstd_frugal_deps, + # needed due to use of private symbol + -fvisibility=hidden + objects: libzstd.extract_objects( + join_paths(zstd_rootdir, 'lib/common/pool.c'), + join_paths(zstd_rootdir, 'lib/common/zstd_common.c'), + join_paths(zstd_rootdir, 'lib/common/error_private.c')), c_args: zstd_frugal_c_args, install: true)