12.06.2020, 18:29
Hi,
A solution may be :
The file meson.build uses the very strict keyword "dependency" for liblsmash.
It's useful only for official library, dpkg declared, usually dynamic.
My solution is to hack this file and replaces dependency by declare_dependency, which accepts
link and include directories. This line is included by sed before the declaration of
the vapoursynth dependencies.
I have to include and link two levels up, because ninja creates another build subdirectory.
vsprefix is empty in the shell (why ? not exported ? only for tests ?). Meson doesn't accept empty
prefix, so in this case I put it to the default /usr/local.
Vapoursynth is a fantastic toolbox; it would be a pity to lose it to Linux.
All the best,
Alain
--
A solution may be :
ghdl HolyWu/L-SMASH-Works
ghdl l-smash/l-smash
./configure --prefix="$vsprefix" --extra-cflags="$CFLAGS" || cat config.log
make -j$JOBS lib
cp liblsmash.a ..
cd ../VapourSynth
mv meson.build meson.build.ORIGINAL
sed < meson.build.ORIGINAL > meson.build \
-e "/vapoursynth_dep *=/i\
liblsmash_dep = declare_dependency(link_args : ['-L../../build', '-llsmash'],\\
include_directories : ['../../build'])\n" \
-e "s/dependency('liblsmash')/liblsmash_dep/g"
if [ -z "$vsprefix" ]; then
vsprefix="/usr/local"
fi
CFLAGS="$CFLAGS -Wno-deprecated-declarations" meson build --prefix="$vsprefix"
ninja -C build -j $JOBS
cp build/libvslsmashsource.so ../libvslsmashsource.so
cd ..
finish libvslsmashsource.so
It's useful only for official library, dpkg declared, usually dynamic.
My solution is to hack this file and replaces dependency by declare_dependency, which accepts
link and include directories. This line is included by sed before the declaration of
the vapoursynth dependencies.
I have to include and link two levels up, because ninja creates another build subdirectory.
vsprefix is empty in the shell (why ? not exported ? only for tests ?). Meson doesn't accept empty
prefix, so in this case I put it to the default /usr/local.
Vapoursynth is a fantastic toolbox; it would be a pity to lose it to Linux.
All the best,
Alain
--