meson: avoid rebuilding some libzstd sources in the programs
These need to be explicitly included as we use their private symbols, but we don't need to recompile them when we can reuse the existing objects. Minus 7 compile steps.
This commit is contained in:
parent
df6eefb3bb
commit
8d522b8a9d
@ -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/benchzstd.c'),
|
||||||
join_paths(zstd_rootdir, 'programs/datagen.c'),
|
join_paths(zstd_rootdir, 'programs/datagen.c'),
|
||||||
join_paths(zstd_rootdir, 'programs/dibio.c'),
|
join_paths(zstd_rootdir, 'programs/dibio.c'),
|
||||||
join_paths(zstd_rootdir, 'programs/zstdcli_trace.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')]
|
|
||||||
|
|
||||||
zstd_deps = [ libzstd_dep ]
|
zstd_deps = [ libzstd_dep ]
|
||||||
zstd_c_args = libzstd_debug_cflags
|
zstd_c_args = libzstd_debug_cflags
|
||||||
@ -75,6 +70,12 @@ zstd = executable('zstd',
|
|||||||
zstd_programs_sources,
|
zstd_programs_sources,
|
||||||
c_args: zstd_c_args,
|
c_args: zstd_c_args,
|
||||||
dependencies: zstd_deps,
|
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
|
export_dynamic: export_dynamic_on_windows, # Since Meson 0.45.0
|
||||||
install: true)
|
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/timefn.c'),
|
||||||
join_paths(zstd_rootdir, 'programs/util.c'),
|
join_paths(zstd_rootdir, 'programs/util.c'),
|
||||||
join_paths(zstd_rootdir, 'programs/fileio.c'),
|
join_paths(zstd_rootdir, 'programs/fileio.c'),
|
||||||
join_paths(zstd_rootdir, 'programs/fileio_asyncio.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')]
|
|
||||||
|
|
||||||
# Minimal target, with only zstd compression and decompression.
|
# Minimal target, with only zstd compression and decompression.
|
||||||
# No bench. No legacy.
|
# No bench. No legacy.
|
||||||
executable('zstd-frugal',
|
executable('zstd-frugal',
|
||||||
zstd_frugal_sources,
|
zstd_frugal_sources,
|
||||||
dependencies: zstd_frugal_deps,
|
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,
|
c_args: zstd_frugal_c_args,
|
||||||
install: true)
|
install: true)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user