Update stage scripts for crosstools based linux build

This commit is contained in:
BtbN 2021-05-14 04:52:29 +02:00
parent bd36724a09
commit 4a2c335c06
37 changed files with 84 additions and 121 deletions

View File

@ -21,11 +21,11 @@ ffbuild_dockerbuild() {
--with-pic
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -19,11 +19,11 @@ ffbuild_dockerbuild() {
--enable-static
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -20,10 +20,10 @@ ffbuild_dockerbuild() {
--static
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
export CC="${FFBUILD_CROSS_PREFIX}gcc"
export AR="${FFBUILD_CROSS_PREFIX}ar"
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -33,11 +33,11 @@ ffbuild_dockerbuild() {
--enable-avx2
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -21,11 +21,11 @@ ffbuild_dockerbuild() {
--enable-static
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -22,11 +22,11 @@ ffbuild_dockerbuild() {
-Dtests=false
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--cross-file=/cross.meson
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -20,11 +20,11 @@ ffbuild_dockerbuild() {
--enable-static
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -20,11 +20,11 @@ ffbuild_dockerbuild() {
--with-pic
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -33,6 +33,7 @@ ffbuild_dockerbuild() {
)
elif [[ $TARGET == linux64 ]]; then
myconf+=(
--cross-compile-prefix="$FFBUILD_CROSS_PREFIX"
linux-x86_64
)
else

View File

@ -22,11 +22,11 @@ ffbuild_dockerbuild() {
--with-pic
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -24,11 +24,11 @@ ffbuild_dockerbuild() {
--enable-static
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi
@ -36,10 +36,6 @@ ffbuild_dockerbuild() {
./configure "${myconf[@]}"
make -j$(nproc)
make install
if [[ $TARGET == linux* ]]; then
sed -i 's/Libs.private:/Libs.private: -lintl/' "$FFBUILD_PREFIX"/lib/pkgconfig/fontconfig.pc
fi
}
ffbuild_configure() {

View File

@ -18,11 +18,11 @@ ffbuild_dockerbuild() {
--with-pic
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -20,11 +20,11 @@ ffbuild_dockerbuild() {
--with-pic
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -20,11 +20,11 @@ ffbuild_dockerbuild() {
--disable-oggtest
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -35,9 +35,14 @@ ffbuild_dockerbuild() {
echo "Description: OpenCL ICD Loader" >> OpenCL.pc
echo "Version: 9999" >> OpenCL.pc
echo "Libs: -L\${libdir} -lOpenCL" >> OpenCL.pc
echo "Libs.private: -lole32 -lshlwapi -lcfgmgr32" >> OpenCL.pc
echo "Cflags: -I\${includedir}" >> OpenCL.pc
if [[ $TARGET == linux* ]]; then
echo "Libs.private: -ldl" >> OpenCL.pc
elif [[ $TARGET == win* ]]; then
echo "Libs.private: -lole32 -lshlwapi -lcfgmgr32" >> OpenCL.pc
fi
mkdir -p "$FFBUILD_PREFIX"/lib/pkgconfig
mv OpenCL.pc "$FFBUILD_PREFIX"/lib/pkgconfig/OpenCL.pc
}

View File

@ -27,11 +27,11 @@ ffbuild_dockerbuild() {
-Denable_float=true
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--cross-file=/cross.meson
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -19,11 +19,11 @@ ffbuild_dockerbuild() {
--default-library=static
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--cross-file=/cross.meson
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -21,12 +21,12 @@ ffbuild_dockerbuild() {
--prefix="$FFBUILD_PREFIX"
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
--cross-prefix="$FFBUILD_CROSS_PREFIX"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -20,11 +20,11 @@ ffbuild_dockerbuild() {
--with-pic
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -27,11 +27,11 @@ ffbuild_dockerbuild() {
--disable-bdjava-jar
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -24,11 +24,11 @@ ffbuild_dockerbuild() {
--disable-frontend
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -20,11 +20,11 @@ ffbuild_dockerbuild() {
--disable-extra-programs
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -25,11 +25,11 @@ ffbuild_dockerbuild() {
--disable-doc
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -32,7 +32,12 @@ ffbuild_dockerbuild() {
--target=x86-win32-gcc
)
export CROSS="$FFBUILD_CROSS_PREFIX"
elif [[ $TARGET != linux* ]]; then
elif [[ $TARGET == linux* ]]; then
myconf+=(
--target=x86_64-linux-gcc
)
export CROSS="$FFBUILD_CROSS_PREFIX"
else
echo "Unknown target"
return -1
fi

View File

@ -29,11 +29,11 @@ ffbuild_dockerbuild() {
--disable-gif
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -20,11 +20,11 @@ ffbuild_dockerbuild() {
--with-pic
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -26,11 +26,11 @@ ffbuild_dockerbuild() {
--disable-examples
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -27,11 +27,11 @@ ffbuild_dockerbuild() {
-Dno_shared=true
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--cross-file=/cross.meson
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -23,11 +23,11 @@ ffbuild_dockerbuild() {
--enable-static
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -14,15 +14,11 @@ ffbuild_dockerbuild() {
mkdir build && cd build
if [[ $VARIANT == *shared* && $TARGET == linux* ]]; then
USE_OMP="OFF"
else
USE_OMP="ON"
fi
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DWITH_OPENMP="$USE_OMP" -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF ..
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DWITH_OPENMP=ON -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF ..
make -j$(nproc)
make install
echo "Libs.private: -lgomp" >> "$FFBUILD_PREFIX"/lib/pkgconfig/soxr.pc
}
ffbuild_configure() {
@ -33,10 +29,6 @@ ffbuild_unconfigure() {
echo --disable-libsoxr
}
ffbuild_ldflags() {
echo -pthread
}
ffbuild_libs() {
[[ $VARIANT == *shared* && $TARGET == linux* ]] || echo -lgomp
echo -lgomp
}

View File

@ -22,11 +22,11 @@ ffbuild_dockerbuild() {
--disable-sndfile
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -15,15 +15,13 @@ ffbuild_dockerbuild() {
mkdir build && cd build
if [[ $VARIANT == *shared* && $TARGET == linux* ]]; then
USE_OMP="OFF"
else
USE_OMP="ON"
fi
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_SHARED_LIBS=OFF -DUSE_OMP="$USE_OMP" ..
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_SHARED_LIBS=OFF -DUSE_OMP=ON ..
make -j$(nproc)
make install
if [[ $TARGET == linux* ]]; then
echo "Libs.private: -ldl" >> "$FFBUILD_PREFIX"/lib/pkgconfig/vidstab.pc
fi
}
ffbuild_configure() {

View File

@ -21,12 +21,12 @@ ffbuild_dockerbuild() {
--prefix="$FFBUILD_PREFIX"
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
--cross-prefix="$FFBUILD_CROSS_PREFIX"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -29,12 +29,12 @@ ffbuild_dockerbuild() {
--prefix="$FFBUILD_PREFIX"
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
--cross-prefix="$FFBUILD_CROSS_PREFIX"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -29,11 +29,11 @@ ffbuild_dockerbuild() {
--prefix="$FFBUILD_PREFIX"
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -20,11 +20,11 @@ ffbuild_dockerbuild() {
--with-pic
)
if [[ $TARGET == win* ]]; then
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET != linux* ]]; then
else
echo "Unknown target"
return -1
fi

View File

@ -1,34 +0,0 @@
#!/bin/bash
ffbuild_enabled() {
[[ $TARGET == linux* ]]
}
ffbuild_dockerfinal() {
to_df "RUN find /lib /usr/lib -maxdepth 1 -and -type l -and -name '*.so' -delete"
}
ffbuild_dockerlayer() {
return 0
}
ffbuild_dockerstage() {
return 0
}
ffbuild_dockerbuild() {
return 0
}
ffbuild_ldflags() {
if [[ $VARIANT != *shared* ]]; then
echo "-pie -fPIE -static"
fi
}
ffbuild_configure() {
if [[ $VARIANT == *shared* ]]; then
# Can't escape hell
echo --extra-ldexeflags=\'-Wl,-rpath='\\\\\\\$\\\$ORIGIN'\\ -Wl,-rpath='\\\\\\\$\\\$ORIGIN/../lib'\'
fi
}