libraw: Fix building on clang subsystems

This commit is contained in:
Mehdi Chinoune
2021-09-18 09:09:53 +01:00
parent 774c923da9
commit 3cc37f78a6
2 changed files with 16 additions and 39 deletions

View File

@@ -1,22 +0,0 @@
diff --git a/libraw/libraw_types.h b/libraw/libraw_types.h
index 53d1ab96..1492f06c 100644
--- a/libraw/libraw_types.h
+++ b/libraw/libraw_types.h
@@ -47,6 +47,9 @@ typedef unsigned __int64 uint64_t;
#if defined(_OPENMP)
+#if defined(LIBRAW_FORCE_OPENMP)
+#define LIBRAW_USE_OPENMP
+#else
#if defined(_WIN32)
#if defined(_MSC_VER) && \
(_MSC_VER >= 1600 || (_MSC_VER == 1500 && _MSC_FULL_VER >= 150030729))
@@ -67,6 +70,7 @@ typedef unsigned __int64 uint64_t;
#define LIBRAW_USE_OPENMP
#endif
#endif
+#endif
#ifdef LIBRAW_USE_OPENMP
#include <omp.h>

View File

@@ -8,53 +8,52 @@ provides=("${MINGW_PACKAGE_PREFIX}-${_realname}")
replaces=("${MINGW_PACKAGE_PREFIX}-${_realname}")
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=0.20.2
pkgrel=2
pkgrel=3
pkgdesc="Library for reading RAW files obtained from digital photo cameras (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
url="https://www.libraw.org/"
license=("LGPL")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-pkg-config")
makedepends=("${MINGW_PACKAGE_PREFIX}-pkgconf")
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-jasper"
"${MINGW_PACKAGE_PREFIX}-lcms2"
"${MINGW_PACKAGE_PREFIX}-libjpeg"
"${MINGW_PACKAGE_PREFIX}-zlib")
"${MINGW_PACKAGE_PREFIX}-zlib"
$([[ ${MSYSTEM} == CLANG* ]] && \
[[ ${MSYSTEM} != CLANGARM64 ]] && echo \
${MINGW_PACKAGE_PREFIX}-openmp) )
options=('staticlibs' 'strip')
source=("https://www.libraw.org/data/${_realname}-${pkgver}.tar.gz"
"LibRaw_obsolete-macros.patch"
"LibRaw_force-openmp.patch")
"LibRaw_obsolete-macros.patch")
sha256sums=('dc1b486c2003435733043e4e05273477326e51c3ea554c6864a4eafaff1004a6'
'4a31c0ee066f43915beff6f7959b6b2cd246d390720df379bfc047d4cedb6a8f'
'50ad9fc6b91ed8ed5072d508024e9b745b3c9cfcb5d867db98fd1a3b01a9d326')
'4a31c0ee066f43915beff6f7959b6b2cd246d390720df379bfc047d4cedb6a8f')
prepare() {
cd "${srcdir}"/${_realname}-${pkgver}
cd "${srcdir}/${_realname}-${pkgver}"
patch -p1 -i "${srcdir}/LibRaw_obsolete-macros.patch"
# From https://github.com/LibRaw/LibRaw/commit/4c954948ba2de262b9cb23a1843fb8651aa3dcc1
patch -p1 -i "${srcdir}/LibRaw_force-openmp.patch"
autoreconf -ifv
}
build() {
[[ -d "${srcdir}"/build-${CARCH} ]] && rm -rf "${srcdir}"/build-${CARCH}
mkdir -p "${srcdir}"/build-${CARCH} && cd "${srcdir}"/build-${CARCH}
[[ -d "${srcdir}/build-${MSYSTEM}" ]] && rm -rf "${srcdir}/build-${MSYSTEM}"
mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"
CPPFLAGS+=" -DLIBRAW_FORCE_OPENMP"
../${_realname}-${pkgver}/configure \
--prefix=${MINGW_PREFIX} \
--build=${MINGW_CHOST} \
--host=${MINGW_CHOST}
--host=${MINGW_CHOST} \
$([[ ${MSYSTEM} == CLANGARM64 ]] || echo --enable-openmp)
make
}
package() {
cd "${srcdir}"/build-${CARCH}
cd "${srcdir}/build-${MSYSTEM}"
make install DESTDIR="${pkgdir}"
install -Dm644 "${srcdir}"/${_realname}-${pkgver}/LICENSE.LGPL "${pkgdir}"${MINGW_PREFIX}/share/licenses/libraw/LICENSE
install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE.LGPL" "${pkgdir}${MINGW_PREFIX}/share/licenses/libraw/LICENSE"
}