svt-av1: Build static libraries
Add Cflags.private in pkgconfig file.
This commit is contained in:
14
mingw-w64-svt-av1/0001-pkgconfig-add-Cflags-private.patch
Normal file
14
mingw-w64-svt-av1/0001-pkgconfig-add-Cflags-private.patch
Normal file
@@ -0,0 +1,14 @@
|
||||
--- a/Source/Lib/Decoder/pkg-config.pc.in
|
||||
+++ b/Source/Lib/Decoder/pkg-config.pc.in
|
||||
@@ -7,3 +7,4 @@
|
||||
Version: @DEC_VERSION_MAJOR@.@DEC_VERSION_MINOR@.@DEC_VERSION_PATCH@
|
||||
Libs: -L${libdir} -lSvtAv1Dec @LIBS_PRIVATE@
|
||||
Cflags: -I${includedir}@DEC_PKG_CONFIG_EXTRA_CFLAGS@
|
||||
+Cflags.private: -UEB_DLL
|
||||
--- a/Source/Lib/Encoder/pkg-config.pc.in
|
||||
+++ b/Source/Lib/Encoder/pkg-config.pc.in
|
||||
@@ -7,3 +7,4 @@
|
||||
Version: @ENC_VERSION_MAJOR@.@ENC_VERSION_MINOR@.@ENC_VERSION_PATCH@
|
||||
Libs: -L${libdir} -lSvtAv1Enc @LIBS_PRIVATE@
|
||||
Cflags: -I${includedir}@ENC_PKG_CONFIG_EXTRA_CFLAGS@
|
||||
+Cflags.private: -UEB_DLL
|
||||
@@ -4,7 +4,7 @@ _realname=SVT-AV1
|
||||
pkgbase=mingw-w64-svt-av1
|
||||
pkgname=("${MINGW_PACKAGE_PREFIX}-svt-av1")
|
||||
pkgver=0.9.1
|
||||
pkgrel=1
|
||||
pkgrel=2
|
||||
pkgdesc="Scalable Video Technology AV1 encoder and decoder (mingw-w64)"
|
||||
arch=('any')
|
||||
mingw_arch=('mingw64' 'ucrt64' 'clang64')
|
||||
@@ -14,17 +14,17 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
|
||||
"${MINGW_PACKAGE_PREFIX}-ninja"
|
||||
"${MINGW_PACKAGE_PREFIX}-yasm"
|
||||
"${MINGW_PACKAGE_PREFIX}-cc")
|
||||
source=("${url}/-/archive/v${pkgver}/${_realname}-v${pkgver}.tar.gz")
|
||||
sha256sums=('714154c08a90a5eb1f09c4d0d766621132711137af127468dc122c04ca9784ae')
|
||||
source=("${url}/-/archive/v${pkgver}/${_realname}-v${pkgver}.tar.gz"
|
||||
0001-pkgconfig-add-Cflags-private.patch)
|
||||
sha256sums=('714154c08a90a5eb1f09c4d0d766621132711137af127468dc122c04ca9784ae'
|
||||
'0d277f525052e64e33b5c65406e82dfd16b2318539bfc063ca2ca24c9a0ca74b')
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}"/${_realname}-v${pkgver}
|
||||
patch -p1 -i "${srcdir}/0001-pkgconfig-add-Cflags-private.patch"
|
||||
}
|
||||
|
||||
build() {
|
||||
[[ -d "${srcdir}"/build-${MSYSTEM} ]] && rm -rf "${srcdir}"/build-${MSYSTEM}
|
||||
mkdir -p "${srcdir}"/build-${MSYSTEM} && cd "${srcdir}"/build-${MSYSTEM}
|
||||
|
||||
declare -a extra_config
|
||||
if check_option "debug" "n"; then
|
||||
extra_config+=("-DCMAKE_BUILD_TYPE=Release")
|
||||
@@ -32,6 +32,23 @@ build() {
|
||||
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
|
||||
fi
|
||||
|
||||
[[ -d "${srcdir}"/build-${MSYSTEM}-static ]] && rm -rf "${srcdir}"/build-${MSYSTEM}-static
|
||||
mkdir -p "${srcdir}"/build-${MSYSTEM}-static && cd "${srcdir}"/build-${MSYSTEM}-static
|
||||
|
||||
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
|
||||
${MINGW_PREFIX}/bin/cmake \
|
||||
-GNinja \
|
||||
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
|
||||
"${extra_config[@]}" \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DREPRODUCIBLE_BUILDS=ON \
|
||||
../${_realname}-v${pkgver}
|
||||
|
||||
${MINGW_PREFIX}/bin/cmake --build .
|
||||
|
||||
[[ -d "${srcdir}"/build-${MSYSTEM}-shared ]] && rm -rf "${srcdir}"/build-${MSYSTEM}-shared
|
||||
mkdir -p "${srcdir}"/build-${MSYSTEM}-shared && cd "${srcdir}"/build-${MSYSTEM}-shared
|
||||
|
||||
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
|
||||
${MINGW_PREFIX}/bin/cmake \
|
||||
-GNinja \
|
||||
@@ -45,9 +62,12 @@ build() {
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}"/build-${MSYSTEM}
|
||||
cd "${srcdir}"/build-${MSYSTEM}-static
|
||||
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install .
|
||||
|
||||
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --build . --target install
|
||||
# pkg-config file adds -DEB_DLL in cflags for shared libs only
|
||||
cd "${srcdir}"/build-${MSYSTEM}-shared
|
||||
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install .
|
||||
|
||||
install -Dm644 ${srcdir}/${_realname}-v${pkgver}/LICENSE.md ${pkgdir}${MINGW_PREFIX}/share/licenses/svt-av1/LICENSE
|
||||
install -Dm644 ${srcdir}/${_realname}-v${pkgver}/PATENTS.md ${pkgdir}${MINGW_PREFIX}/share/licenses/svt-av1/PATENTS.md
|
||||
|
||||
Reference in New Issue
Block a user