aboutsummaryrefslogtreecommitdiff
path: root/projects/libvips
diff options
context:
space:
mode:
authorLovell Fuller <lovell@users.noreply.github.com>2021-04-27 20:00:49 +0100
committerGitHub <noreply@github.com>2021-04-27 20:00:49 +0100
commit4295227ccbd178b6c23951f82912e580179af04e (patch)
tree1cb23438753bbb16fb44e0d2f12d551afba16e75 /projects/libvips
parentd1f2191cc5c9b6b85ff3403ef343ad25ae3e35af (diff)
downloadoss-fuzz-4295227ccbd178b6c23951f82912e580179af04e.tar.gz
libvips: add libjxl (JPEG-XL) as a dependency (#5673)
Diffstat (limited to 'projects/libvips')
-rw-r--r--projects/libvips/Dockerfile1
-rwxr-xr-xprojects/libvips/build.sh30
2 files changed, 31 insertions, 0 deletions
diff --git a/projects/libvips/Dockerfile b/projects/libvips/Dockerfile
index 66fc66aee..5f2c59a43 100644
--- a/projects/libvips/Dockerfile
+++ b/projects/libvips/Dockerfile
@@ -38,6 +38,7 @@ RUN git clone --depth 1 https://chromium.googlesource.com/webm/libwebp
RUN git clone --depth 1 https://gitlab.com/libtiff/libtiff
RUN git clone --depth 1 https://aomedia.googlesource.com/aom
RUN git clone --depth 1 https://github.com/strukturag/libheif
+RUN git clone --depth 1 --recursive https://gitlab.com/wg1/jpeg-xl.git
WORKDIR libvips
COPY build.sh $SRC/
diff --git a/projects/libvips/build.sh b/projects/libvips/build.sh
index 732bbe7a6..0f30275b5 100755
--- a/projects/libvips/build.sh
+++ b/projects/libvips/build.sh
@@ -122,6 +122,34 @@ make -j$(nproc)
make install
popd
+# jpeg-xl (libjxl)
+pushd $SRC/jpeg-xl
+sed -i'.bak' "/add_subdirectory(tools)/d" CMakeLists.txt
+cmake -G "Unix Makefiles" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_COMPILER=$CC \
+ -DCMAKE_CXX_COMPILER=$CXX \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" \
+ -DCMAKE_MODULE_LINKER_FLAGS="$LDFLAGS" \
+ -DCMAKE_INSTALL_PREFIX="$WORK" \
+ -DCMAKE_THREAD_LIBS_INIT="-lpthread" \
+ -DCMAKE_USE_PTHREADS_INIT=1 \
+ -DBUILD_SHARED_LIBS=0 \
+ -DBUILD_TESTING=0 \
+ -DJPEGXL_ENABLE_FUZZERS=0 \
+ -DJPEGXL_ENABLE_MANPAGES=0 \
+ -DJPEGXL_ENABLE_BENCHMARK=0 \
+ -DJPEGXL_ENABLE_EXAMPLES=0 \
+ .
+make -j$(nproc)
+make install
+# libbrotli-dev package is too old in Ubuntu 16.04, use jpeg-xl version
+cp -r third_party/brotli/c/include/brotli $WORK/include
+cp third_party/brotli/*.a $WORK/lib
+popd
+
# libvips
./autogen.sh \
--disable-shared \
@@ -160,6 +188,8 @@ for fuzzer in fuzz/*_fuzzer.cc; do
$WORK/lib/libtiff.a \
$WORK/lib/libheif.a \
$WORK/lib/libaom.a \
+ $WORK/lib/libjxl.a \
+ $WORK/lib/libjxl_threads.a \
$LIB_FUZZING_ENGINE \
-Wl,-Bstatic \
-lfftw3 -lgmodule-2.0 -lgio-2.0 -lgobject-2.0 -lffi -lglib-2.0 -lpcre -lexpat \