diff --git a/images/base-linux64/Dockerfile b/images/base-linux64/Dockerfile index afd1705..a3c6a4f 100644 --- a/images/base-linux64/Dockerfile +++ b/images/base-linux64/Dockerfile @@ -33,7 +33,8 @@ RUN \ -delete && \ mkdir /opt/ffbuild -RUN git clone --filter=blob:none --depth=1 https://github.com/yugr/Implib.so /opt/implib +RUN git clone --filter=blob:none --depth=1 https://github.com/yugr/Implib.so /opt/implib && \ + sed -i '/^.*\.globl.*/a \ \ .hidden $sym' /opt/implib/arch/*/trampoline.S.tpl ADD toolchain.cmake /toolchain.cmake ADD cross.meson /cross.meson diff --git a/scripts.d/45-x11/20-libxau.sh b/scripts.d/45-x11/20-libxau.sh index c375cdc..17c2acc 100755 --- a/scripts.d/45-x11/20-libxau.sh +++ b/scripts.d/45-x11/20-libxau.sh @@ -38,4 +38,5 @@ ffbuild_dockerbuild() { make install gen-implib "$FFBUILD_PREFIX"/lib/{libXau.so.6,libXau.a} + rm "$FFBUILD_PREFIX"/lib/libXau{.so*,.la} } diff --git a/scripts.d/45-x11/30-libxcb.sh b/scripts.d/45-x11/30-libxcb.sh index 5840f23..c554e50 100755 --- a/scripts.d/45-x11/30-libxcb.sh +++ b/scripts.d/45-x11/30-libxcb.sh @@ -40,6 +40,7 @@ ffbuild_dockerbuild() { for LIBNAME in "$FFBUILD_PREFIX"/lib/libxcb*.so.?; do gen-implib "$LIBNAME" "${LIBNAME%%.*}.a" + rm "${LIBNAME%%.*}"{.so*,.la} done } diff --git a/scripts.d/45-x11/40-libx11.sh b/scripts.d/45-x11/40-libx11.sh index bf7e8e0..cc26c17 100755 --- a/scripts.d/45-x11/40-libx11.sh +++ b/scripts.d/45-x11/40-libx11.sh @@ -47,4 +47,5 @@ ffbuild_dockerbuild() { gen-implib "$FFBUILD_PREFIX"/lib/{libX11-xcb.so.1,libX11-xcb.a} gen-implib "$FFBUILD_PREFIX"/lib/{libX11.so.6,libX11.a} + rm "$FFBUILD_PREFIX"/lib/libX11{,-xcb}{.so*,.la} } diff --git a/scripts.d/45-x11/50-libxext.sh b/scripts.d/45-x11/50-libxext.sh index d0999c6..77d5bad 100755 --- a/scripts.d/45-x11/50-libxext.sh +++ b/scripts.d/45-x11/50-libxext.sh @@ -42,4 +42,5 @@ ffbuild_dockerbuild() { make install gen-implib "$FFBUILD_PREFIX"/lib/{libXext.so.6,libXext.a} + rm "$FFBUILD_PREFIX"/lib/libXext{.so*,.la} } diff --git a/scripts.d/45-x11/50-libxfixes.sh b/scripts.d/45-x11/50-libxfixes.sh index 831aafa..693f3dd 100755 --- a/scripts.d/45-x11/50-libxfixes.sh +++ b/scripts.d/45-x11/50-libxfixes.sh @@ -38,4 +38,5 @@ ffbuild_dockerbuild() { make install gen-implib "$FFBUILD_PREFIX"/lib/{libXfixes.so.3,libXfixes.a} + rm "$FFBUILD_PREFIX"/lib/libXfixes{.so*,.la} } diff --git a/scripts.d/45-x11/50-libxi.sh b/scripts.d/45-x11/50-libxi.sh index 1fdb176..4ba520a 100755 --- a/scripts.d/45-x11/50-libxi.sh +++ b/scripts.d/45-x11/50-libxi.sh @@ -38,4 +38,5 @@ ffbuild_dockerbuild() { make install gen-implib "$FFBUILD_PREFIX"/lib/{libXi.so.6,libXi.a} + rm "$FFBUILD_PREFIX"/lib/libXi{.so*,.la} } diff --git a/scripts.d/45-x11/50-libxinerama.sh b/scripts.d/45-x11/50-libxinerama.sh index 93a5f67..9483165 100755 --- a/scripts.d/45-x11/50-libxinerama.sh +++ b/scripts.d/45-x11/50-libxinerama.sh @@ -38,4 +38,5 @@ ffbuild_dockerbuild() { make install gen-implib "$FFBUILD_PREFIX"/lib/{libXinerama.so.1,libXinerama.a} + rm "$FFBUILD_PREFIX"/lib/libXinerama{.so*,.la} } diff --git a/scripts.d/45-x11/50-libxrender.sh b/scripts.d/45-x11/50-libxrender.sh index 41be3a4..e4ac8af 100755 --- a/scripts.d/45-x11/50-libxrender.sh +++ b/scripts.d/45-x11/50-libxrender.sh @@ -38,4 +38,5 @@ ffbuild_dockerbuild() { make install gen-implib "$FFBUILD_PREFIX"/lib/{libXrender.so.1,libXrender.a} + rm "$FFBUILD_PREFIX"/lib/libXrender{.so*,.la} } diff --git a/scripts.d/45-x11/50-libxscrnsaver.sh b/scripts.d/45-x11/50-libxscrnsaver.sh index 0d1f555..5b37c50 100755 --- a/scripts.d/45-x11/50-libxscrnsaver.sh +++ b/scripts.d/45-x11/50-libxscrnsaver.sh @@ -38,4 +38,5 @@ ffbuild_dockerbuild() { make install gen-implib "$FFBUILD_PREFIX"/lib/{libXss.so.1,libXss.a} + rm "$FFBUILD_PREFIX"/lib/libXss{.so*,.la} } diff --git a/scripts.d/45-x11/50-libxxf86vm.sh b/scripts.d/45-x11/50-libxxf86vm.sh index 18f607e..147573f 100755 --- a/scripts.d/45-x11/50-libxxf86vm.sh +++ b/scripts.d/45-x11/50-libxxf86vm.sh @@ -38,4 +38,5 @@ ffbuild_dockerbuild() { make install gen-implib "$FFBUILD_PREFIX"/lib/{libXxf86vm.so.1,libXxf86vm.a} + rm "$FFBUILD_PREFIX"/lib/libXxf86vm{.so*,.la} } diff --git a/scripts.d/45-x11/60-libxcursor.sh b/scripts.d/45-x11/60-libxcursor.sh index fb59ba7..d79bdb5 100755 --- a/scripts.d/45-x11/60-libxcursor.sh +++ b/scripts.d/45-x11/60-libxcursor.sh @@ -34,8 +34,9 @@ ffbuild_dockerbuild() { export LDFLAFS="$RAW_LDFLAGS" ./configure "${myconf[@]}" - make -j$(nproc) VERBOSE=1 + make -j$(nproc) make install gen-implib "$FFBUILD_PREFIX"/lib/{libXcursor.so.1,libXcursor.a} + rm "$FFBUILD_PREFIX"/lib/libXcursor{.so*,.la} } diff --git a/scripts.d/45-x11/60-libxrandr.sh b/scripts.d/45-x11/60-libxrandr.sh index 7a21a7f..bc159c1 100755 --- a/scripts.d/45-x11/60-libxrandr.sh +++ b/scripts.d/45-x11/60-libxrandr.sh @@ -38,4 +38,5 @@ ffbuild_dockerbuild() { make install gen-implib "$FFBUILD_PREFIX"/lib/{libXrandr.so.2,libXrandr.a} + rm "$FFBUILD_PREFIX"/lib/libXrandr{.so*,.la} } diff --git a/scripts.d/45-x11/60-libxv.sh b/scripts.d/45-x11/60-libxv.sh index efc444f..1648a2e 100755 --- a/scripts.d/45-x11/60-libxv.sh +++ b/scripts.d/45-x11/60-libxv.sh @@ -40,6 +40,7 @@ ffbuild_dockerbuild() { make install gen-implib "$FFBUILD_PREFIX"/lib/{libXv.so.1,libXv.a} + rm "$FFBUILD_PREFIX"/lib/libXv{.so*,.la} } ffbuild_configure() { diff --git a/scripts.d/45-x11/99-finalize.sh b/scripts.d/45-x11/99-finalize.sh index f4b7ab9..4cf3f77 100755 --- a/scripts.d/45-x11/99-finalize.sh +++ b/scripts.d/45-x11/99-finalize.sh @@ -11,7 +11,8 @@ ffbuild_dockerlayer() { } ffbuild_dockerbuild() { - rm "$FFBUILD_PREFIX"/lib/lib*.so* + rm "$FFBUILD_PREFIX"/lib/lib*.so* || true + rm "$FFBUILD_PREFIX"/lib/*.la || true } ffbuild_libs() { diff --git a/scripts.d/50-vaapi/30-libpciaccess.sh b/scripts.d/50-vaapi/30-libpciaccess.sh index 346bf16..c623beb 100755 --- a/scripts.d/50-vaapi/30-libpciaccess.sh +++ b/scripts.d/50-vaapi/30-libpciaccess.sh @@ -16,8 +16,8 @@ ffbuild_dockerbuild() { local myconf=( --prefix="$FFBUILD_PREFIX" - --disable-shared - --enable-static + --enable-shared + --disable-static --with-pic --with-zlib ) @@ -31,7 +31,15 @@ ffbuild_dockerbuild() { return -1 fi + export CFLAGS="$RAW_CFLAGS" + export LDFLAFS="$RAW_LDFLAGS" + ./configure "${myconf[@]}" make -j$(nproc) make install + + gen-implib "$FFBUILD_PREFIX"/lib/{libpciaccess.so.0,libpciaccess.a} + rm "$FFBUILD_PREFIX"/lib/libpciaccess{.so*,.la} + + echo "Libs: -ldl" >> "$FFBUILD_PREFIX"/lib/pkgconfig/pciaccess.pc } diff --git a/scripts.d/50-vaapi/40-libdrm.sh b/scripts.d/50-vaapi/40-libdrm.sh index a608548..7fe67ca 100755 --- a/scripts.d/50-vaapi/40-libdrm.sh +++ b/scripts.d/50-vaapi/40-libdrm.sh @@ -16,7 +16,7 @@ ffbuild_dockerbuild() { local myconf=( --prefix="$FFBUILD_PREFIX" - -Ddefault_library=static + -Ddefault_library=shared -Dlibkms=false -Dudev=false -Dcairo-tests=false @@ -40,9 +40,17 @@ ffbuild_dockerbuild() { return -1 fi + export CFLAGS="$RAW_CFLAGS" + export LDFLAFS="$RAW_LDFLAGS" + meson "${myconf[@]}" .. ninja -j$(nproc) ninja install + + gen-implib "$FFBUILD_PREFIX"/lib/{libdrm.so.2,libdrm.a} + rm "$FFBUILD_PREFIX"/lib/libdrm*.so* + + echo "Libs: -ldl" >> "$FFBUILD_PREFIX"/lib/pkgconfig/libdrm.pc } ffbuild_configure() { diff --git a/scripts.d/50-vaapi/50-libva.sh b/scripts.d/50-vaapi/50-libva.sh index 80b21ce..7bba075 100755 --- a/scripts.d/50-vaapi/50-libva.sh +++ b/scripts.d/50-vaapi/50-libva.sh @@ -16,8 +16,8 @@ ffbuild_dockerbuild() { local myconf=( --prefix="$FFBUILD_PREFIX" - --disable-shared - --enable-static + --enable-shared + --disable-static --with-pic --disable-docs --enable-drm @@ -37,11 +37,19 @@ ffbuild_dockerbuild() { return -1 fi + export CFLAGS="$RAW_CFLAGS" + export LDFLAFS="$RAW_LDFLAGS" + ./configure "${myconf[@]}" - make -j$(nproc) + make -j$(nproc) VERBOSE=1 make install - echo "Libs.private: -ldl" >> "$FFBUILD_PREFIX"/lib/pkgconfig/libva.pc + gen-implib "$FFBUILD_PREFIX"/lib/{libva.so.2,libva.a} + gen-implib "$FFBUILD_PREFIX"/lib/{libva-drm.so.2,libva-drm.a} + gen-implib "$FFBUILD_PREFIX"/lib/{libva-x11.so.2,libva-x11.a} + rm "$FFBUILD_PREFIX"/lib/libva{,-drm,-x11}{.so*,.la} + + echo "Libs: -ldl" >> "$FFBUILD_PREFIX"/lib/pkgconfig/libva.pc } ffbuild_configure() { diff --git a/scripts.d/50-vaapi/99-finalize.sh b/scripts.d/50-vaapi/99-finalize.sh new file mode 100755 index 0000000..f11547e --- /dev/null +++ b/scripts.d/50-vaapi/99-finalize.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +ffbuild_enabled() { + [[ $TARGET != linux* ]] && return -1 + return 0 +} + +ffbuild_dockerbuild() { + rm "$FFBUILD_PREFIX"/lib/lib*.so* || true + rm "$FFBUILD_PREFIX"/lib/*.la || true +}