Deps: Switch to libjpeg-turbo
This commit is contained in:
parent
28919dd475
commit
cc8e65d444
|
@ -216,7 +216,7 @@ jobs:
|
||||||
libssl-dev libudev-dev libwayland-dev libx11-dev libx11-xcb-dev libxcb1-dev libxcb-composite0-dev libxcb-cursor-dev libxcb-damage0-dev libxcb-glx0-dev \
|
libssl-dev libudev-dev libwayland-dev libx11-dev libx11-xcb-dev libxcb1-dev libxcb-composite0-dev libxcb-cursor-dev libxcb-damage0-dev libxcb-glx0-dev \
|
||||||
libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-shape0-dev \
|
libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-shape0-dev \
|
||||||
libxcb-shm0-dev libxcb-sync-dev libxcb-util-dev libxcb-xfixes0-dev libxcb-xinput-dev libxcb-xkb-dev libxext-dev libxkbcommon-x11-dev libxrandr-dev lld-17 \
|
libxcb-shm0-dev libxcb-sync-dev libxcb-util-dev libxcb-xfixes0-dev libxcb-xinput-dev libxcb-xkb-dev libxext-dev libxkbcommon-x11-dev libxrandr-dev lld-17 \
|
||||||
llvm-17 ninja-build patchelf pkg-config zlib1g-dev
|
llvm-17 nasm ninja-build patchelf pkg-config zlib1g-dev
|
||||||
|
|
||||||
- name: Cache Dependencies
|
- name: Cache Dependencies
|
||||||
id: cache-deps
|
id: cache-deps
|
||||||
|
|
|
@ -162,12 +162,12 @@ Requirements:
|
||||||
|
|
||||||
Ubuntu/Debian package names:
|
Ubuntu/Debian package names:
|
||||||
```
|
```
|
||||||
build-essential clang cmake curl extra-cmake-modules git libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdecor-0-dev libegl-dev libevdev-dev libfontconfig-dev libfreetype-dev libgtk-3-dev libgudev-1.0-dev libharfbuzz-dev libinput-dev libopengl-dev libpipewire-0.3-dev libpulse-dev libssl-dev libudev-dev libwayland-dev libx11-dev libx11-xcb-dev libxcb1-dev libxcb-composite0-dev libxcb-cursor-dev libxcb-damage0-dev libxcb-glx0-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-shape0-dev libxcb-shm0-dev libxcb-sync-dev libxcb-util-dev libxcb-xfixes0-dev libxcb-xinput-dev libxcb-xkb-dev libxext-dev libxkbcommon-x11-dev libxrandr-dev lld llvm ninja-build pkg-config zlib1g-dev
|
build-essential clang cmake curl extra-cmake-modules git libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdecor-0-dev libegl-dev libevdev-dev libfontconfig-dev libfreetype-dev libgtk-3-dev libgudev-1.0-dev libharfbuzz-dev libinput-dev libopengl-dev libpipewire-0.3-dev libpulse-dev libssl-dev libudev-dev libwayland-dev libx11-dev libx11-xcb-dev libxcb1-dev libxcb-composite0-dev libxcb-cursor-dev libxcb-damage0-dev libxcb-glx0-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-shape0-dev libxcb-shm0-dev libxcb-sync-dev libxcb-util-dev libxcb-xfixes0-dev libxcb-xinput-dev libxcb-xkb-dev libxext-dev libxkbcommon-x11-dev libxrandr-dev lld llvm nasm ninja-build pkg-config zlib1g-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
Fedora package names:
|
Fedora package names:
|
||||||
```
|
```
|
||||||
alsa-lib-devel brotli-devel clang cmake dbus-devel egl-wayland-devel extra-cmake-modules fontconfig-devel gcc-c++ gtk3-devel libavcodec-free-devel libavformat-free-devel libavutil-free-devel libcurl-devel libdecor-devel libevdev-devel libICE-devel libinput-devel libSM-devel libswresample-free-devel libswscale-free-devel libX11-devel libXau-devel libxcb-devel libXcomposite-devel libXcursor-devel libXext-devel libXfixes-devel libXft-devel libXi-devel libxkbcommon-devel libxkbcommon-x11-devel libXpresent-devel libXrandr-devel libXrender-devel lld llvm make mesa-libEGL-devel mesa-libGL-devel ninja-build openssl-devel patch pcre2-devel perl-Digest-SHA pipewire-devel pulseaudio-libs-devel systemd-devel wayland-devel xcb-util-cursor-devel xcb-util-devel xcb-util-errors-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-renderutil-devel xcb-util-wm-devel xcb-util-xrm-devel zlib-devel
|
alsa-lib-devel brotli-devel clang cmake dbus-devel egl-wayland-devel extra-cmake-modules fontconfig-devel gcc-c++ gtk3-devel libavcodec-free-devel libavformat-free-devel libavutil-free-devel libcurl-devel libdecor-devel libevdev-devel libICE-devel libinput-devel libSM-devel libswresample-free-devel libswscale-free-devel libX11-devel libXau-devel libxcb-devel libXcomposite-devel libXcursor-devel libXext-devel libXfixes-devel libXft-devel libXi-devel libxkbcommon-devel libxkbcommon-x11-devel libXpresent-devel libXrandr-devel libXrender-devel lld llvm make mesa-libEGL-devel mesa-libGL-devel nasm ninja-build openssl-devel patch pcre2-devel perl-Digest-SHA pipewire-devel pulseaudio-libs-devel systemd-devel wayland-devel xcb-util-cursor-devel xcb-util-devel xcb-util-errors-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-renderutil-devel xcb-util-wm-devel xcb-util-xrm-devel zlib-devel
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Building
|
#### Building
|
||||||
|
|
|
@ -15,7 +15,7 @@ if [ "${INSTALLDIR:0:1}" != "/" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LIBBACKTRACE=ad106d5fdd5d960bd33fae1c48a351af567fd075
|
LIBBACKTRACE=ad106d5fdd5d960bd33fae1c48a351af567fd075
|
||||||
LIBJPEG=9f
|
LIBJPEGTURBO=3.0.3
|
||||||
LIBPNG=1.6.43
|
LIBPNG=1.6.43
|
||||||
LIBWEBP=1.4.0
|
LIBWEBP=1.4.0
|
||||||
SDL2=2.30.6
|
SDL2=2.30.6
|
||||||
|
@ -33,7 +33,7 @@ cd deps-build
|
||||||
|
|
||||||
cat > SHASUMS <<EOF
|
cat > SHASUMS <<EOF
|
||||||
fd6f417fe9e3a071cf1424a5152d926a34c4a3c5070745470be6cf12a404ed79 $LIBBACKTRACE.zip
|
fd6f417fe9e3a071cf1424a5152d926a34c4a3c5070745470be6cf12a404ed79 $LIBBACKTRACE.zip
|
||||||
04705c110cb2469caa79fb71fba3d7bf834914706e9641a4589485c1f832565b jpegsrc.v$LIBJPEG.tar.gz
|
343e789069fc7afbcdfe44dbba7dbbf45afa98a15150e079a38e60e44578865d libjpeg-turbo-$LIBJPEGTURBO.tar.gz
|
||||||
6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c libpng-$LIBPNG.tar.xz
|
6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c libpng-$LIBPNG.tar.xz
|
||||||
61f873ec69e3be1b99535634340d5bde750b2e4447caa1db9f61be3fd49ab1e5 libwebp-$LIBWEBP.tar.gz
|
61f873ec69e3be1b99535634340d5bde750b2e4447caa1db9f61be3fd49ab1e5 libwebp-$LIBWEBP.tar.gz
|
||||||
c6ef64ca18a19d13df6eb22df9aff19fb0db65610a74cc81dae33a82235cacd4 SDL2-$SDL2.tar.gz
|
c6ef64ca18a19d13df6eb22df9aff19fb0db65610a74cc81dae33a82235cacd4 SDL2-$SDL2.tar.gz
|
||||||
|
@ -52,7 +52,7 @@ EOF
|
||||||
|
|
||||||
curl -C - -L \
|
curl -C - -L \
|
||||||
-O "https://github.com/ianlancetaylor/libbacktrace/archive/$LIBBACKTRACE.zip" \
|
-O "https://github.com/ianlancetaylor/libbacktrace/archive/$LIBBACKTRACE.zip" \
|
||||||
-O "https://ijg.org/files/jpegsrc.v$LIBJPEG.tar.gz" \
|
-O "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/$LIBJPEGTURBO/libjpeg-turbo-$LIBJPEGTURBO.tar.gz" \
|
||||||
-O "https://downloads.sourceforge.net/project/libpng/libpng16/$LIBPNG/libpng-$LIBPNG.tar.xz" \
|
-O "https://downloads.sourceforge.net/project/libpng/libpng16/$LIBPNG/libpng-$LIBPNG.tar.xz" \
|
||||||
-O "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-$LIBWEBP.tar.gz" \
|
-O "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-$LIBWEBP.tar.gz" \
|
||||||
-O "https://github.com/libsdl-org/SDL/releases/download/release-$SDL2/SDL2-$SDL2.tar.gz" \
|
-O "https://github.com/libsdl-org/SDL/releases/download/release-$SDL2/SDL2-$SDL2.tar.gz" \
|
||||||
|
@ -88,21 +88,19 @@ echo "Building libpng..."
|
||||||
rm -fr "libpng-$LIBPNG"
|
rm -fr "libpng-$LIBPNG"
|
||||||
tar xf "libpng-$LIBPNG.tar.xz"
|
tar xf "libpng-$LIBPNG.tar.xz"
|
||||||
cd "libpng-$LIBPNG"
|
cd "libpng-$LIBPNG"
|
||||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DBUILD_SHARED_LIBS=ON -DPNG_TESTS=OFF -DPNG_STATIC=OFF -DPNG_SHARED=ON -DPNG_TOOLS=OFF -B build -G Ninja
|
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DPNG_TESTS=OFF -DPNG_STATIC=OFF -DPNG_SHARED=ON -DPNG_TOOLS=OFF -B build -G Ninja
|
||||||
cmake --build build --parallel
|
cmake --build build --parallel
|
||||||
ninja -C build install
|
ninja -C build install
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
echo "Building libjpeg..."
|
echo "Building libjpeg..."
|
||||||
rm -fr "jpeg-$LIBJPEG"
|
rm -fr "libjpeg-turbo-$LIBJPEGTURBO"
|
||||||
tar xf "jpegsrc.v$LIBJPEG.tar.gz"
|
tar xf "libjpeg-turbo-$LIBJPEGTURBO.tar.gz"
|
||||||
cd "jpeg-$LIBJPEG"
|
cd "libjpeg-turbo-$LIBJPEGTURBO"
|
||||||
mkdir build
|
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DENABLE_STATIC=OFF -DENABLE_SHARED=ON -B build -G Ninja
|
||||||
cd build
|
cmake --build build --parallel
|
||||||
../configure --prefix="$INSTALLDIR" --disable-static --enable-shared
|
ninja -C build install
|
||||||
make "-j$NPROCS"
|
cd ..
|
||||||
make install
|
|
||||||
cd ../..
|
|
||||||
|
|
||||||
echo "Building Zstandard..."
|
echo "Building Zstandard..."
|
||||||
rm -fr "zstd-$ZSTD"
|
rm -fr "zstd-$ZSTD"
|
||||||
|
|
|
@ -39,7 +39,7 @@ HARFBUZZ=8.3.1
|
||||||
SDL2=2.30.6
|
SDL2=2.30.6
|
||||||
ZSTD=1.5.6
|
ZSTD=1.5.6
|
||||||
LIBPNG=1.6.43
|
LIBPNG=1.6.43
|
||||||
LIBJPEG=9f
|
LIBJPEGTURBO=3.0.3
|
||||||
LIBWEBP=1.4.0
|
LIBWEBP=1.4.0
|
||||||
FFMPEG=7.0.2
|
FFMPEG=7.0.2
|
||||||
MOLTENVK=1.2.9
|
MOLTENVK=1.2.9
|
||||||
|
@ -72,11 +72,11 @@ CMAKE_ARCH_UNIVERSAL=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
|
||||||
cat > SHASUMS <<EOF
|
cat > SHASUMS <<EOF
|
||||||
12991c4e55c506dd7f9b765933e62fd2be2e06d421505d7950a132e4f1bb484d freetype-$FREETYPE.tar.xz
|
12991c4e55c506dd7f9b765933e62fd2be2e06d421505d7950a132e4f1bb484d freetype-$FREETYPE.tar.xz
|
||||||
19a54fe9596f7a47c502549fce8e8a10978c697203774008cc173f8360b19a9a harfbuzz-$HARFBUZZ.tar.gz
|
19a54fe9596f7a47c502549fce8e8a10978c697203774008cc173f8360b19a9a harfbuzz-$HARFBUZZ.tar.gz
|
||||||
|
6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c libpng-$LIBPNG.tar.xz
|
||||||
|
343e789069fc7afbcdfe44dbba7dbbf45afa98a15150e079a38e60e44578865d libjpeg-turbo-$LIBJPEGTURBO.tar.gz
|
||||||
|
61f873ec69e3be1b99535634340d5bde750b2e4447caa1db9f61be3fd49ab1e5 libwebp-$LIBWEBP.tar.gz
|
||||||
c6ef64ca18a19d13df6eb22df9aff19fb0db65610a74cc81dae33a82235cacd4 SDL2-$SDL2.tar.gz
|
c6ef64ca18a19d13df6eb22df9aff19fb0db65610a74cc81dae33a82235cacd4 SDL2-$SDL2.tar.gz
|
||||||
8c29e06cf42aacc1eafc4077ae2ec6c6fcb96a626157e0593d5e82a34fd403c1 zstd-$ZSTD.tar.gz
|
8c29e06cf42aacc1eafc4077ae2ec6c6fcb96a626157e0593d5e82a34fd403c1 zstd-$ZSTD.tar.gz
|
||||||
6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c libpng-$LIBPNG.tar.xz
|
|
||||||
61f873ec69e3be1b99535634340d5bde750b2e4447caa1db9f61be3fd49ab1e5 libwebp-$LIBWEBP.tar.gz
|
|
||||||
04705c110cb2469caa79fb71fba3d7bf834914706e9641a4589485c1f832565b jpegsrc.v$LIBJPEG.tar.gz
|
|
||||||
8646515b638a3ad303e23af6a3587734447cb8fc0a0c064ecdb8e95c4fd8b389 ffmpeg-$FFMPEG.tar.xz
|
8646515b638a3ad303e23af6a3587734447cb8fc0a0c064ecdb8e95c4fd8b389 ffmpeg-$FFMPEG.tar.xz
|
||||||
f415a09385030c6510a936155ce211f617c31506db5fbc563e804345f1ecf56e v$MOLTENVK.tar.gz
|
f415a09385030c6510a936155ce211f617c31506db5fbc563e804345f1ecf56e v$MOLTENVK.tar.gz
|
||||||
c5f22a5e10fb162895ded7de0963328e7307611c688487b5d152c9ee64767599 qtbase-everywhere-src-$QT.tar.xz
|
c5f22a5e10fb162895ded7de0963328e7307611c688487b5d152c9ee64767599 qtbase-everywhere-src-$QT.tar.xz
|
||||||
|
@ -93,11 +93,11 @@ EOF
|
||||||
curl -L \
|
curl -L \
|
||||||
-o "freetype-$FREETYPE.tar.xz" "https://sourceforge.net/projects/freetype/files/freetype2/$FREETYPE/freetype-$FREETYPE.tar.xz/download" \
|
-o "freetype-$FREETYPE.tar.xz" "https://sourceforge.net/projects/freetype/files/freetype2/$FREETYPE/freetype-$FREETYPE.tar.xz/download" \
|
||||||
-o "harfbuzz-$HARFBUZZ.tar.gz" "https://github.com/harfbuzz/harfbuzz/archive/refs/tags/$HARFBUZZ.tar.gz" \
|
-o "harfbuzz-$HARFBUZZ.tar.gz" "https://github.com/harfbuzz/harfbuzz/archive/refs/tags/$HARFBUZZ.tar.gz" \
|
||||||
|
-O "https://downloads.sourceforge.net/project/libpng/libpng16/$LIBPNG/libpng-$LIBPNG.tar.xz" \
|
||||||
|
-O "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/$LIBJPEGTURBO/libjpeg-turbo-$LIBJPEGTURBO.tar.gz" \
|
||||||
|
-O "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-$LIBWEBP.tar.gz" \
|
||||||
-O "https://github.com/libsdl-org/SDL/releases/download/release-$SDL2/SDL2-$SDL2.tar.gz" \
|
-O "https://github.com/libsdl-org/SDL/releases/download/release-$SDL2/SDL2-$SDL2.tar.gz" \
|
||||||
-O "https://github.com/facebook/zstd/releases/download/v$ZSTD/zstd-$ZSTD.tar.gz" \
|
-O "https://github.com/facebook/zstd/releases/download/v$ZSTD/zstd-$ZSTD.tar.gz" \
|
||||||
-O "https://downloads.sourceforge.net/project/libpng/libpng16/$LIBPNG/libpng-$LIBPNG.tar.xz" \
|
|
||||||
-O "https://ijg.org/files/jpegsrc.v$LIBJPEG.tar.gz" \
|
|
||||||
-O "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-$LIBWEBP.tar.gz" \
|
|
||||||
-O "https://ffmpeg.org/releases/ffmpeg-$FFMPEG.tar.xz" \
|
-O "https://ffmpeg.org/releases/ffmpeg-$FFMPEG.tar.xz" \
|
||||||
-O "https://github.com/KhronosGroup/MoltenVK/archive/refs/tags/v$MOLTENVK.tar.gz" \
|
-O "https://github.com/KhronosGroup/MoltenVK/archive/refs/tags/v$MOLTENVK.tar.gz" \
|
||||||
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtbase-everywhere-src-$QT.tar.xz" \
|
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtbase-everywhere-src-$QT.tar.xz" \
|
||||||
|
@ -151,19 +151,13 @@ make -C build install
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
echo "Building libjpeg..."
|
echo "Building libjpeg..."
|
||||||
rm -fr "jpeg-$LIBJPEG"
|
rm -fr "libjpeg-turbo-$LIBJPEGTURBO"
|
||||||
tar xf "jpegsrc.v$LIBJPEG.tar.gz"
|
tar xf "libjpeg-turbo-$LIBJPEGTURBO.tar.gz"
|
||||||
cd "jpeg-$LIBJPEG"
|
cd "libjpeg-turbo-$LIBJPEGTURBO"
|
||||||
mkdir build
|
cmake "${CMAKE_COMMON[@]}" "$CMAKE_ARCH_X64" -DENABLE_STATIC=OFF -DENABLE_SHARED=ON -B build
|
||||||
cd build
|
make -C build "-j$NPROCS"
|
||||||
../configure --prefix="$INSTALLDIR" --disable-static --enable-shared --host="x86_64-apple-darwin" CFLAGS="-arch x86_64"
|
cmake "${CMAKE_COMMON[@]}" "$CMAKE_ARCH_ARM64" -DENABLE_STATIC=OFF -DENABLE_SHARED=ON -B build-arm64
|
||||||
make "-j$NPROCS"
|
make -C build-arm64 "-j$NPROCS"
|
||||||
cd ..
|
|
||||||
mkdir build-arm64
|
|
||||||
cd build-arm64
|
|
||||||
../configure --prefix="$INSTALLDIR" --disable-static --enable-shared --host="aarch64-apple-darwin" CFLAGS="-arch arm64"
|
|
||||||
make "-j$NPROCS"
|
|
||||||
cd ..
|
|
||||||
merge_binaries $(realpath build) $(realpath build-arm64)
|
merge_binaries $(realpath build) $(realpath build-arm64)
|
||||||
make -C build install
|
make -C build install
|
||||||
cd ..
|
cd ..
|
||||||
|
|
|
@ -44,7 +44,7 @@ cd "%BUILDDIR%"
|
||||||
|
|
||||||
set FREETYPE=2.13.2
|
set FREETYPE=2.13.2
|
||||||
set HARFBUZZ=8.3.1
|
set HARFBUZZ=8.3.1
|
||||||
set LIBJPEG=9f
|
set LIBJPEGTURBO=3.0.3
|
||||||
set LIBPNG=1643
|
set LIBPNG=1643
|
||||||
set QT=6.7.2
|
set QT=6.7.2
|
||||||
set QTMINOR=6.7
|
set QTMINOR=6.7
|
||||||
|
@ -63,7 +63,7 @@ set SPIRV_CROSS=vulkan-sdk-1.3.290.0
|
||||||
call :downloadfile "freetype-%FREETYPE%.tar.gz" https://download.savannah.gnu.org/releases/freetype/freetype-%FREETYPE%.tar.gz 1ac27e16c134a7f2ccea177faba19801131116fd682efc1f5737037c5db224b5 || goto error
|
call :downloadfile "freetype-%FREETYPE%.tar.gz" https://download.savannah.gnu.org/releases/freetype/freetype-%FREETYPE%.tar.gz 1ac27e16c134a7f2ccea177faba19801131116fd682efc1f5737037c5db224b5 || goto error
|
||||||
call :downloadfile "harfbuzz-%HARFBUZZ%.zip" https://github.com/harfbuzz/harfbuzz/archive/refs/tags/%HARFBUZZ%.zip b2bc56184ae37324bc4829fde7d3f9e6916866ad711ee85792e457547c9fd127 || goto error
|
call :downloadfile "harfbuzz-%HARFBUZZ%.zip" https://github.com/harfbuzz/harfbuzz/archive/refs/tags/%HARFBUZZ%.zip b2bc56184ae37324bc4829fde7d3f9e6916866ad711ee85792e457547c9fd127 || goto error
|
||||||
call :downloadfile "lpng%LIBPNG%.zip" https://download.sourceforge.net/libpng/lpng1643.zip fc466a1e638e635d6c66363bdf3f38555b81b0141d0b06ba45b49ccca327436d || goto error
|
call :downloadfile "lpng%LIBPNG%.zip" https://download.sourceforge.net/libpng/lpng1643.zip fc466a1e638e635d6c66363bdf3f38555b81b0141d0b06ba45b49ccca327436d || goto error
|
||||||
call :downloadfile "jpegsr%LIBJPEG%.zip" https://ijg.org/files/jpegsr%LIBJPEG%.zip 6255da8c89e09d694e6800688c76145eb6870a76ac0d36c74fccd61b3940aafa || goto error
|
call :downloadfile "libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/%LIBJPEGTURBO%/libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" 343e789069fc7afbcdfe44dbba7dbbf45afa98a15150e079a38e60e44578865d || goto error
|
||||||
call :downloadfile "SDL2-%SDL2%.zip" "https://github.com/libsdl-org/SDL/releases/download/release-%SDL2%/SDL2-%SDL2%.zip" 6d4e00fcbee9fd8985cc2869edeb0b1a751912b87506cf2fb6471e73d981e1f4 || goto error
|
call :downloadfile "SDL2-%SDL2%.zip" "https://github.com/libsdl-org/SDL/releases/download/release-%SDL2%/SDL2-%SDL2%.zip" 6d4e00fcbee9fd8985cc2869edeb0b1a751912b87506cf2fb6471e73d981e1f4 || goto error
|
||||||
call :downloadfile "qtbase-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtbase-everywhere-src-%QT%.zip" 488119aad60719a085a1e45c31641ac2406ef86fc088a3c99885c18e9d6b4bb9 || goto error
|
call :downloadfile "qtbase-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtbase-everywhere-src-%QT%.zip" 488119aad60719a085a1e45c31641ac2406ef86fc088a3c99885c18e9d6b4bb9 || goto error
|
||||||
call :downloadfile "qtimageformats-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtimageformats-everywhere-src-%QT%.zip" 8e736b02db7dd67dbe834d56503b242344ce85d3532da692f1812b30ccf80997 || goto error
|
call :downloadfile "qtimageformats-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtimageformats-everywhere-src-%QT%.zip" 8e736b02db7dd67dbe834d56503b242344ce85d3532da692f1812b30ccf80997 || goto error
|
||||||
|
@ -112,11 +112,10 @@ ninja -C build install || goto error
|
||||||
cd .. || goto error
|
cd .. || goto error
|
||||||
|
|
||||||
echo Building libjpeg...
|
echo Building libjpeg...
|
||||||
rmdir /S /Q "jpeg-%LIBJPEG%"
|
rmdir /S /Q "libjpeg-turbo-%LIBJPEGTURBO%"
|
||||||
%SEVENZIP% x "jpegsr%LIBJPEG%.zip" || goto error
|
tar -xf "libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" || goto error
|
||||||
cd "jpeg-%LIBJPEG%" || goto error
|
cd "libjpeg-turbo-%LIBJPEGTURBO%" || goto error
|
||||||
%PATCH% -p1 < "%SCRIPTDIR%\libjpeg-cmake.patch" || goto error
|
cmake %ARM64TOOLCHAIN% -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DENABLE_STATIC=OFF -DENABLE_SHARED=ON -B build -G Ninja || goto error
|
||||||
cmake %ARM64TOOLCHAIN% -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF -B build -G Ninja || goto error
|
|
||||||
cmake --build build --parallel || goto error
|
cmake --build build --parallel || goto error
|
||||||
ninja -C build install || goto error
|
ninja -C build install || goto error
|
||||||
cd .. || goto error
|
cd .. || goto error
|
||||||
|
|
|
@ -42,7 +42,7 @@ cd "%BUILDDIR%"
|
||||||
|
|
||||||
set FREETYPE=2.13.2
|
set FREETYPE=2.13.2
|
||||||
set HARFBUZZ=8.3.1
|
set HARFBUZZ=8.3.1
|
||||||
set LIBJPEG=9f
|
set LIBJPEGTURBO=3.0.3
|
||||||
set LIBPNG=1643
|
set LIBPNG=1643
|
||||||
set QT=6.7.2
|
set QT=6.7.2
|
||||||
set QTMINOR=6.7
|
set QTMINOR=6.7
|
||||||
|
@ -61,7 +61,7 @@ set SPIRV_CROSS=vulkan-sdk-1.3.290.0
|
||||||
call :downloadfile "freetype-%FREETYPE%.tar.gz" https://download.savannah.gnu.org/releases/freetype/freetype-%FREETYPE%.tar.gz 1ac27e16c134a7f2ccea177faba19801131116fd682efc1f5737037c5db224b5 || goto error
|
call :downloadfile "freetype-%FREETYPE%.tar.gz" https://download.savannah.gnu.org/releases/freetype/freetype-%FREETYPE%.tar.gz 1ac27e16c134a7f2ccea177faba19801131116fd682efc1f5737037c5db224b5 || goto error
|
||||||
call :downloadfile "harfbuzz-%HARFBUZZ%.zip" https://github.com/harfbuzz/harfbuzz/archive/refs/tags/%HARFBUZZ%.zip b2bc56184ae37324bc4829fde7d3f9e6916866ad711ee85792e457547c9fd127 || goto error
|
call :downloadfile "harfbuzz-%HARFBUZZ%.zip" https://github.com/harfbuzz/harfbuzz/archive/refs/tags/%HARFBUZZ%.zip b2bc56184ae37324bc4829fde7d3f9e6916866ad711ee85792e457547c9fd127 || goto error
|
||||||
call :downloadfile "lpng%LIBPNG%.zip" https://download.sourceforge.net/libpng/lpng1643.zip fc466a1e638e635d6c66363bdf3f38555b81b0141d0b06ba45b49ccca327436d || goto error
|
call :downloadfile "lpng%LIBPNG%.zip" https://download.sourceforge.net/libpng/lpng1643.zip fc466a1e638e635d6c66363bdf3f38555b81b0141d0b06ba45b49ccca327436d || goto error
|
||||||
call :downloadfile "jpegsr%LIBJPEG%.zip" https://ijg.org/files/jpegsr%LIBJPEG%.zip 6255da8c89e09d694e6800688c76145eb6870a76ac0d36c74fccd61b3940aafa || goto error
|
call :downloadfile "libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/%LIBJPEGTURBO%/libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" 343e789069fc7afbcdfe44dbba7dbbf45afa98a15150e079a38e60e44578865d || goto error
|
||||||
call :downloadfile "SDL2-%SDL2%.zip" "https://github.com/libsdl-org/SDL/releases/download/release-%SDL2%/SDL2-%SDL2%.zip" 6d4e00fcbee9fd8985cc2869edeb0b1a751912b87506cf2fb6471e73d981e1f4 || goto error
|
call :downloadfile "SDL2-%SDL2%.zip" "https://github.com/libsdl-org/SDL/releases/download/release-%SDL2%/SDL2-%SDL2%.zip" 6d4e00fcbee9fd8985cc2869edeb0b1a751912b87506cf2fb6471e73d981e1f4 || goto error
|
||||||
call :downloadfile "qtbase-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtbase-everywhere-src-%QT%.zip" 488119aad60719a085a1e45c31641ac2406ef86fc088a3c99885c18e9d6b4bb9 || goto error
|
call :downloadfile "qtbase-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtbase-everywhere-src-%QT%.zip" 488119aad60719a085a1e45c31641ac2406ef86fc088a3c99885c18e9d6b4bb9 || goto error
|
||||||
call :downloadfile "qtimageformats-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtimageformats-everywhere-src-%QT%.zip" 8e736b02db7dd67dbe834d56503b242344ce85d3532da692f1812b30ccf80997 || goto error
|
call :downloadfile "qtimageformats-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtimageformats-everywhere-src-%QT%.zip" 8e736b02db7dd67dbe834d56503b242344ce85d3532da692f1812b30ccf80997 || goto error
|
||||||
|
@ -109,11 +109,10 @@ ninja -C build install || goto error
|
||||||
cd .. || goto error
|
cd .. || goto error
|
||||||
|
|
||||||
echo Building libjpeg...
|
echo Building libjpeg...
|
||||||
rmdir /S /Q "jpeg-%LIBJPEG%"
|
rmdir /S /Q "libjpeg-turbo-%LIBJPEGTURBO%"
|
||||||
%SEVENZIP% x "jpegsr%LIBJPEG%.zip" || goto error
|
tar -xf "libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" || goto error
|
||||||
cd "jpeg-%LIBJPEG%" || goto error
|
cd "libjpeg-turbo-%LIBJPEGTURBO%" || goto error
|
||||||
%PATCH% -p1 < "%SCRIPTDIR%\libjpeg-cmake.patch" || goto error
|
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DENABLE_STATIC=OFF -DENABLE_SHARED=ON -B build -G Ninja || goto error
|
||||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF -B build -G Ninja || goto error
|
|
||||||
cmake --build build --parallel || goto error
|
cmake --build build --parallel || goto error
|
||||||
ninja -C build install || goto error
|
ninja -C build install || goto error
|
||||||
cd .. || goto error
|
cd .. || goto error
|
||||||
|
|
|
@ -1,422 +0,0 @@
|
||||||
diff -ruN jpeg-9f/CMakeLists.txt jpeg-9f-new/CMakeLists.txt
|
|
||||||
--- jpeg-9f/CMakeLists.txt 1970-01-01 10:00:00.000000000 +1000
|
|
||||||
+++ jpeg-9f-new/CMakeLists.txt 2024-03-23 21:29:37.969221600 +1000
|
|
||||||
@@ -0,0 +1,110 @@
|
|
||||||
+# CMake configuration for IJG libjpeg
|
|
||||||
+# Modified from https://github.com/csparker247/jpeg-cmake/blob/develop/resources/CMakeLists.txt
|
|
||||||
+# To install, copy this file and jconfig.h.in into a libjpeg source directory
|
|
||||||
+# Adapted from LuaDist's CMakeLists
|
|
||||||
+# https://github.com/LuaDist/libjpeg/blob/master/CMakeLists.txt
|
|
||||||
+
|
|
||||||
+cmake_minimum_required(VERSION 3.5)
|
|
||||||
+
|
|
||||||
+### Setup the project ###
|
|
||||||
+file(READ "configure.ac" ac)
|
|
||||||
+string(REGEX MATCH "AC_INIT\\(\\[libjpeg\\],\ \\[([0-9]*\\.[0-9]*\\.[0-9]*)\\]\\)" _ ${ac})
|
|
||||||
+set(version ${CMAKE_MATCH_1})
|
|
||||||
+project(libjpeg VERSION ${version} LANGUAGES C)
|
|
||||||
+set(C_STANDARD 99)
|
|
||||||
+
|
|
||||||
+### Include extra packages ###
|
|
||||||
+include(CMakeDependentOption)
|
|
||||||
+include(GNUInstallDirs)
|
|
||||||
+
|
|
||||||
+### Options ###
|
|
||||||
+option(BUILD_SHARED_LIBS "Build shared libraries" ON)
|
|
||||||
+option(BUILD_STATIC_LIBS "Build static libraries" ON)
|
|
||||||
+
|
|
||||||
+# Make sure we build at least one library
|
|
||||||
+if(NOT(BUILD_SHARED_LIBS OR BUILD_STATIC_LIBS))
|
|
||||||
+ message(FATAL_ERROR "Both static and shared libraries are disabled. Nothing will be built.")
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
+### Configure jconfig.h ###
|
|
||||||
+include(ConfigureJConfig.cmake)
|
|
||||||
+
|
|
||||||
+### Build the object library ###
|
|
||||||
+set(PUBLIC_HDRS
|
|
||||||
+ jconfig.h
|
|
||||||
+ jerror.h
|
|
||||||
+ jmorecfg.h
|
|
||||||
+ jpeglib.h
|
|
||||||
+)
|
|
||||||
+
|
|
||||||
+set(SRCS
|
|
||||||
+ jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c
|
|
||||||
+ jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c jcomapi.c
|
|
||||||
+ jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c jdapistd.c jdarith.c
|
|
||||||
+ jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c jddctmgr.c jdhuff.c jdinput.c
|
|
||||||
+ jdmainct.c jdmarker.c jdmaster.c jdmerge.c jdpostct.c jdsample.c jdtrans.c
|
|
||||||
+ jerror.c jfdctflt.c jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c
|
|
||||||
+ jmemmgr.c jmemnobs.c jquant1.c jquant2.c jutils.c
|
|
||||||
+)
|
|
||||||
+
|
|
||||||
+### Create static and shared libs ###
|
|
||||||
+if(BUILD_SHARED_LIBS)
|
|
||||||
+ add_library(libjpeg SHARED ${SRCS})
|
|
||||||
+ target_compile_definitions(libjpeg PRIVATE COMPILING_LIBJPEG)
|
|
||||||
+ target_include_directories(libjpeg
|
|
||||||
+ PUBLIC
|
|
||||||
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
|
||||||
+ $<INSTALL_INTERFACE:include>
|
|
||||||
+ )
|
|
||||||
+ set_target_properties(libjpeg
|
|
||||||
+ PROPERTIES
|
|
||||||
+ VERSION ${PROJECT_VERSION_MAJOR}
|
|
||||||
+ POSITION_INDEPENDENT_CODE ON
|
|
||||||
+ CLEAN_DIRECT_OUTPUT ON
|
|
||||||
+ PUBLIC_HEADER "${PUBLIC_HDRS}"
|
|
||||||
+ )
|
|
||||||
+ install(TARGETS libjpeg
|
|
||||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
||||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
||||||
+ )
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
+if(BUILD_STATIC_LIBS)
|
|
||||||
+ add_library(libjpeg_static STATIC $<TARGET_OBJECTS:jpeg_objs>)
|
|
||||||
+ target_include_directories(libjpeg_static
|
|
||||||
+ PUBLIC
|
|
||||||
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
|
||||||
+ $<INSTALL_INTERFACE:include>
|
|
||||||
+ )
|
|
||||||
+ set_target_properties(libjpeg_static
|
|
||||||
+ PROPERTIES
|
|
||||||
+ OUTPUT_NAME jpeg
|
|
||||||
+ VERSION ${PROJECT_VERSION_MAJOR}
|
|
||||||
+ POSITION_INDEPENDENT_CODE ON
|
|
||||||
+ CLEAN_DIRECT_OUTPUT ON
|
|
||||||
+ PUBLIC_HEADER "${PUBLIC_HDRS}"
|
|
||||||
+ )
|
|
||||||
+ install(TARGETS libjpeg_static
|
|
||||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
||||||
+ )
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
+# Configure and install pkg-config and libtool files
|
|
||||||
+if(BUILD_STATIC_LIBS OR BUILD_SHARED_LIBS)
|
|
||||||
+ # Compute the la file's weird version number
|
|
||||||
+ math(EXPR JPEG_CONF_VER_MAJOR "${PROJECT_VERSION_MAJOR} + ${PROJECT_VERSION_MINOR}")
|
|
||||||
+ set(JPEG_LIB_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
|
|
||||||
+ set(JPEG_LIB_VERSION_MINOR ${PROJECT_VERSION_MINOR})
|
|
||||||
+
|
|
||||||
+ # Configure and install
|
|
||||||
+ configure_file(libjpeg.pc.cmakein libjpeg.pc @ONLY)
|
|
||||||
+ install(FILES
|
|
||||||
+ ${CMAKE_CURRENT_BINARY_DIR}/libjpeg.pc
|
|
||||||
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig
|
|
||||||
+ )
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
diff -ruN jpeg-9f/ConfigureJConfig.cmake jpeg-9f-new/ConfigureJConfig.cmake
|
|
||||||
--- jpeg-9f/ConfigureJConfig.cmake 1970-01-01 10:00:00.000000000 +1000
|
|
||||||
+++ jpeg-9f-new/ConfigureJConfig.cmake 2024-03-23 21:09:37.223882900 +1000
|
|
||||||
@@ -0,0 +1,95 @@
|
|
||||||
+include(CheckIncludeFile)
|
|
||||||
+include(CheckSymbolExists)
|
|
||||||
+include(CheckTypeSize)
|
|
||||||
+
|
|
||||||
+# Define this if your system has an ANSI-conforming <stddef.h> file.
|
|
||||||
+check_include_file(stddef.h HAVE_STDDEF_H)
|
|
||||||
+
|
|
||||||
+# Define this if your system has an ANSI-conforming <stdlib.h> file.
|
|
||||||
+check_include_file(stdlib.h HAVE_STDLIB_H)
|
|
||||||
+
|
|
||||||
+# Does your compiler support function prototypes?
|
|
||||||
+# (If not, you also need to use ansi2knr, see install.txt)
|
|
||||||
+set(HAVE_PROTOTYPES true CACHE BOOL "Does your compiler support function prototypes?")
|
|
||||||
+
|
|
||||||
+# Does your compiler support the declaration "unsigned char" ?
|
|
||||||
+# How about "unsigned short" ?
|
|
||||||
+check_type_size("unsigned char" UNSIGNED_CHAR LANGUAGE C)
|
|
||||||
+check_type_size("unsigned short" UNSIGNED_SHORT LANGUAGE C)
|
|
||||||
+
|
|
||||||
+# Define "void" as "char" if your compiler doesn't know about type void.
|
|
||||||
+# NOTE: be sure to define void such that "void *" represents the most general
|
|
||||||
+# pointer type, e.g., that returned by malloc().
|
|
||||||
+# NOT IMPLEMENTED: Modify in jconfig.h.in #
|
|
||||||
+
|
|
||||||
+# Define "const" as empty if your compiler doesn't know the "const" keyword.
|
|
||||||
+# NOT IMPLEMENTED: Modify in jconfig.h.in #
|
|
||||||
+
|
|
||||||
+# Define this if an ordinary "char" type is unsigned.
|
|
||||||
+# If you're not sure, leaving it undefined will work at some cost in speed.
|
|
||||||
+# If you defined HAVE_UNSIGNED_CHAR then the speed difference is minimal.
|
|
||||||
+set(CHAR_IS_UNSIGNED false CACHE BOOL "char type is unsigned")
|
|
||||||
+
|
|
||||||
+# Define this if your system does not have an ANSI/SysV <string.h>,
|
|
||||||
+# but does have a BSD-style <strings.h>.
|
|
||||||
+set(NEED_BSD_STRINGS false CACHE BOOL "Use BSD <strings.h>. Use only if system lacks ANSI/SysV <strings.h>")
|
|
||||||
+
|
|
||||||
+# Define this if your system does not provide typedef size_t in any of the
|
|
||||||
+# ANSI-standard places (stddef.h, stdlib.h, or stdio.h), but places it in
|
|
||||||
+# <sys/types.h> instead.
|
|
||||||
+set(NEED_SYS_TYPES_H false CACHE BOOL "size_t defined in <sys/types.h>")
|
|
||||||
+
|
|
||||||
+# For 80x86 machines, you need to define NEED_FAR_POINTERS,
|
|
||||||
+# unless you are using a large-data memory model or 80386 flat-memory mode.
|
|
||||||
+# On less brain-damaged CPUs this symbol must not be defined.
|
|
||||||
+# (Defining this symbol causes large data structures to be referenced through
|
|
||||||
+# "far" pointers and to be allocated with a special version of malloc.)
|
|
||||||
+set(NEED_FAR_POINTERS false CACHE BOOL "Reference large data structures through 'far' pointers allocated with a special version of malloc")
|
|
||||||
+
|
|
||||||
+# Define this if your linker needs global names to be unique in less
|
|
||||||
+# than the first 15 characters.
|
|
||||||
+set(NEED_SHORT_EXTERNAL_NAMES false CACHE BOOL "Global names must be unique in less than the first 15 characters")
|
|
||||||
+
|
|
||||||
+# Although a real ANSI C compiler can deal perfectly well with pointers to
|
|
||||||
+# unspecified structures (see "incomplete types" in the spec), a few pre-ANSI
|
|
||||||
+# and pseudo-ANSI compilers get confused. To keep one of these bozos happy,
|
|
||||||
+# define INCOMPLETE_TYPES_BROKEN. This is not recommended unless you
|
|
||||||
+# actually get "missing structure definition" warnings or errors while
|
|
||||||
+# compiling the JPEG code.
|
|
||||||
+set(INCOMPLETE_TYPES_BROKEN false CACHE BOOL "Disable pointers to unspecified structures")
|
|
||||||
+
|
|
||||||
+# Define "boolean" as unsigned char, not enum, on Windows systems.
|
|
||||||
+# NOT IMPLEMENTED: Modify in jconfig.h.in #
|
|
||||||
+
|
|
||||||
+# The following options affect code selection within the JPEG library,
|
|
||||||
+# but they don't need to be visible to applications using the library.
|
|
||||||
+# To minimize application namespace pollution, the symbols won't be
|
|
||||||
+# defined unless JPEG_INTERNALS has been defined.
|
|
||||||
+#
|
|
||||||
+
|
|
||||||
+# Define this if your compiler implements ">>" on signed values as a logical
|
|
||||||
+# (unsigned) shift; leave it undefined if ">>" is a signed (arithmetic) shift,
|
|
||||||
+# which is the normal and rational definition.
|
|
||||||
+set(RIGHT_SHIFT_IS_UNSIGNED false CACHE BOOL "Compiler implements >> on signed values as a logical (unsigned) shift")
|
|
||||||
+
|
|
||||||
+# The remaining options do not affect the JPEG library proper,
|
|
||||||
+# but only the sample applications cjpeg/djpeg (see cjpeg.c, djpeg.c).
|
|
||||||
+# Other applications can ignore these.
|
|
||||||
+#
|
|
||||||
+
|
|
||||||
+mark_as_advanced(FORCE
|
|
||||||
+ HAVE_PROTOTYPES
|
|
||||||
+ HAVE_UNSIGNED_CHAR
|
|
||||||
+ HAVE_UNSIGNED_SHORT
|
|
||||||
+ CHAR_IS_UNSIGNED
|
|
||||||
+ HAVE_STDDEF_H
|
|
||||||
+ HAVE_STDLIB_H
|
|
||||||
+ NEED_BSD_STRINGS
|
|
||||||
+ NEED_SYS_TYPES_H
|
|
||||||
+ NEED_FAR_POINTERS
|
|
||||||
+ NEED_SHORT_EXTERNAL_NAMES
|
|
||||||
+ INCOMPLETE_TYPES_BROKEN
|
|
||||||
+ RIGHT_SHIFT_IS_UNSIGNED
|
|
||||||
+)
|
|
||||||
+
|
|
||||||
+configure_file(jconfig.h.in ${CMAKE_CURRENT_SOURCE_DIR}/jconfig.h)
|
|
||||||
diff -ruN jpeg-9f/jconfig.h.in jpeg-9f-new/jconfig.h.in
|
|
||||||
--- jpeg-9f/jconfig.h.in 1970-01-01 10:00:00.000000000 +1000
|
|
||||||
+++ jpeg-9f-new/jconfig.h.in 2024-03-23 21:06:05.204994600 +1000
|
|
||||||
@@ -0,0 +1,173 @@
|
|
||||||
+/*
|
|
||||||
+ * jconfig.h.in
|
|
||||||
+ *
|
|
||||||
+ * Copyright (C) 1991-1994, Thomas G. Lane.
|
|
||||||
+ * Modified 2009-2013 by Guido Vollbeding.
|
|
||||||
+ * This file is part of the Independent JPEG Group's software.
|
|
||||||
+ * For conditions of distribution and use, see the accompanying README file.
|
|
||||||
+ *
|
|
||||||
+ * This file is a modification of jconfig.txt from libjpeg. In addition to
|
|
||||||
+ * documenting the configuration options that are required to customize the
|
|
||||||
+ * JPEG software for a particular system, it is used by jpeg-cmake to configure
|
|
||||||
+ * jconfig.h
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * These symbols indicate the properties of your machine or compiler.
|
|
||||||
+ * #define the symbol if yes, #undef it if no.
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+/* Does your compiler support function prototypes?
|
|
||||||
+ * (If not, you also need to use ansi2knr, see install.txt)
|
|
||||||
+ */
|
|
||||||
+#cmakedefine HAVE_PROTOTYPES
|
|
||||||
+
|
|
||||||
+/* Does your compiler support the declaration "unsigned char" ?
|
|
||||||
+ * How about "unsigned short" ?
|
|
||||||
+ */
|
|
||||||
+#cmakedefine HAVE_UNSIGNED_CHAR
|
|
||||||
+#cmakedefine HAVE_UNSIGNED_SHORT
|
|
||||||
+
|
|
||||||
+/* Define "void" as "char" if your compiler doesn't know about type void.
|
|
||||||
+ * NOTE: be sure to define void such that "void *" represents the most general
|
|
||||||
+ * pointer type, e.g., that returned by malloc().
|
|
||||||
+ */
|
|
||||||
+/* #define void char */
|
|
||||||
+
|
|
||||||
+/* Define "const" as empty if your compiler doesn't know the "const" keyword.
|
|
||||||
+ */
|
|
||||||
+/* #define const */
|
|
||||||
+
|
|
||||||
+/* Define this if an ordinary "char" type is unsigned.
|
|
||||||
+ * If you're not sure, leaving it undefined will work at some cost in speed.
|
|
||||||
+ * If you defined HAVE_UNSIGNED_CHAR then the speed difference is minimal.
|
|
||||||
+ */
|
|
||||||
+#cmakedefine CHAR_IS_UNSIGNED
|
|
||||||
+
|
|
||||||
+/* Define this if your system has an ANSI-conforming <stddef.h> file.
|
|
||||||
+ */
|
|
||||||
+#cmakedefine HAVE_STDDEF_H
|
|
||||||
+
|
|
||||||
+/* Define this if your system has an ANSI-conforming <stdlib.h> file.
|
|
||||||
+ */
|
|
||||||
+#cmakedefine HAVE_STDLIB_H
|
|
||||||
+
|
|
||||||
+/* Define this if your system does not have an ANSI/SysV <string.h>,
|
|
||||||
+ * but does have a BSD-style <strings.h>.
|
|
||||||
+ */
|
|
||||||
+#cmakedefine NEED_BSD_STRINGS
|
|
||||||
+
|
|
||||||
+/* Define this if your system does not provide typedef size_t in any of the
|
|
||||||
+ * ANSI-standard places (stddef.h, stdlib.h, or stdio.h), but places it in
|
|
||||||
+ * <sys/types.h> instead.
|
|
||||||
+ */
|
|
||||||
+#cmakedefine NEED_SYS_TYPES_H
|
|
||||||
+
|
|
||||||
+/* For 80x86 machines, you need to define NEED_FAR_POINTERS,
|
|
||||||
+ * unless you are using a large-data memory model or 80386 flat-memory mode.
|
|
||||||
+ * On less brain-damaged CPUs this symbol must not be defined.
|
|
||||||
+ * (Defining this symbol causes large data structures to be referenced through
|
|
||||||
+ * "far" pointers and to be allocated with a special version of malloc.)
|
|
||||||
+ */
|
|
||||||
+#cmakedefine NEED_FAR_POINTERS
|
|
||||||
+
|
|
||||||
+/* Define this if your linker needs global names to be unique in less
|
|
||||||
+ * than the first 15 characters.
|
|
||||||
+ */
|
|
||||||
+#cmakedefine NEED_SHORT_EXTERNAL_NAMES
|
|
||||||
+
|
|
||||||
+/* Although a real ANSI C compiler can deal perfectly well with pointers to
|
|
||||||
+ * unspecified structures (see "incomplete types" in the spec), a few pre-ANSI
|
|
||||||
+ * and pseudo-ANSI compilers get confused. To keep one of these bozos happy,
|
|
||||||
+ * define INCOMPLETE_TYPES_BROKEN. This is not recommended unless you
|
|
||||||
+ * actually get "missing structure definition" warnings or errors while
|
|
||||||
+ * compiling the JPEG code.
|
|
||||||
+ */
|
|
||||||
+#cmakedefine INCOMPLETE_TYPES_BROKEN
|
|
||||||
+
|
|
||||||
+/* Define "boolean" as unsigned char, not enum, on Windows systems.
|
|
||||||
+ */
|
|
||||||
+#ifdef _WIN32
|
|
||||||
+#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */
|
|
||||||
+typedef unsigned char boolean;
|
|
||||||
+#endif
|
|
||||||
+#ifndef FALSE /* in case these macros already exist */
|
|
||||||
+#define FALSE 0 /* values of boolean */
|
|
||||||
+#endif
|
|
||||||
+#ifndef TRUE
|
|
||||||
+#define TRUE 1
|
|
||||||
+#endif
|
|
||||||
+#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * The following options affect code selection within the JPEG library,
|
|
||||||
+ * but they don't need to be visible to applications using the library.
|
|
||||||
+ * To minimize application namespace pollution, the symbols won't be
|
|
||||||
+ * defined unless JPEG_INTERNALS has been defined.
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#ifdef JPEG_INTERNALS
|
|
||||||
+
|
|
||||||
+/* Define this if your compiler implements ">>" on signed values as a logical
|
|
||||||
+ * (unsigned) shift; leave it undefined if ">>" is a signed (arithmetic) shift,
|
|
||||||
+ * which is the normal and rational definition.
|
|
||||||
+ */
|
|
||||||
+#cmakedefine RIGHT_SHIFT_IS_UNSIGNED
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#endif /* JPEG_INTERNALS */
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * The remaining options do not affect the JPEG library proper,
|
|
||||||
+ * but only the sample applications cjpeg/djpeg (see cjpeg.c, djpeg.c).
|
|
||||||
+ * Other applications can ignore these.
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#ifdef JPEG_CJPEG_DJPEG
|
|
||||||
+
|
|
||||||
+/* These defines indicate which image (non-JPEG) file formats are allowed. */
|
|
||||||
+
|
|
||||||
+#cmakedefine BMP_SUPPORTED /* BMP image file format */
|
|
||||||
+#cmakedefine GIF_SUPPORTED /* GIF image file format */
|
|
||||||
+#cmakedefine PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */
|
|
||||||
+#cmakedefine RLE_SUPPORTED /* Utah RLE image file format */
|
|
||||||
+#cmakedefine TARGA_SUPPORTED /* Targa image file format */
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * This defines the default output format for djpeg. Must be one of the FMT_*
|
|
||||||
+ * enums found in djpeg.c or djpegalt.c
|
|
||||||
+ */
|
|
||||||
+#cmakedefine DEFAULT_FMT @DEFAULT_FMT@
|
|
||||||
+
|
|
||||||
+/* Define this if you want to name both input and output files on the command
|
|
||||||
+ * line, rather than using stdout and optionally stdin. You MUST do this if
|
|
||||||
+ * your system can't cope with binary I/O to stdin/stdout. See comments at
|
|
||||||
+ * head of cjpeg.c or djpeg.c.
|
|
||||||
+ */
|
|
||||||
+#cmakedefine TWO_FILE_COMMANDLINE
|
|
||||||
+
|
|
||||||
+/* Define this if your system needs explicit cleanup of temporary files.
|
|
||||||
+ * This is crucial under MS-DOS, where the temporary "files" may be areas
|
|
||||||
+ * of extended memory; on most other systems it's not as important.
|
|
||||||
+ */
|
|
||||||
+#cmakedefine NEED_SIGNAL_CATCHER
|
|
||||||
+
|
|
||||||
+/* By default, we open image files with fopen(...,"rb") or fopen(...,"wb").
|
|
||||||
+ * This is necessary on systems that distinguish text files from binary files,
|
|
||||||
+ * and is harmless on most systems that don't. If you have one of the rare
|
|
||||||
+ * systems that complains about the "b" spec, define this symbol.
|
|
||||||
+ */
|
|
||||||
+#cmakedefine DONT_USE_B_MODE
|
|
||||||
+
|
|
||||||
+/* Define this if you want percent-done progress reports from cjpeg/djpeg.
|
|
||||||
+ */
|
|
||||||
+#cmakedefine PROGRESS_REPORT
|
|
||||||
+
|
|
||||||
+/* Define this if you *don't* want overwrite confirmation */
|
|
||||||
+#cmakedefine NO_OVERWRITE_CHECK
|
|
||||||
+
|
|
||||||
+#endif /* JPEG_CJPEG_DJPEG */
|
|
||||||
diff -ruN jpeg-9f/jmorecfg.h jpeg-9f-new/jmorecfg.h
|
|
||||||
--- jpeg-9f/jmorecfg.h 2022-03-31 19:41:26.000000000 +1000
|
|
||||||
+++ jpeg-9f-new/jmorecfg.h 2024-03-23 21:20:25.514814400 +1000
|
|
||||||
@@ -244,8 +244,13 @@
|
|
||||||
#define LOCAL(type) static type
|
|
||||||
/* a function referenced thru EXTERNs: */
|
|
||||||
#define GLOBAL(type) type
|
|
||||||
+
|
|
||||||
/* a reference to a GLOBAL function: */
|
|
||||||
-#define EXTERN(type) extern type
|
|
||||||
+#ifdef COMPILING_LIBJPEG
|
|
||||||
+#define EXTERN(type) __declspec(dllexport) extern type
|
|
||||||
+#else
|
|
||||||
+#define EXTERN(type) __declspec(dllimport) extern type
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* This macro is used to declare a "method", that is, a function pointer.
|
|
||||||
diff -ruN jpeg-9f/libjpeg.pc.cmakein jpeg-9f-new/libjpeg.pc.cmakein
|
|
||||||
--- jpeg-9f/libjpeg.pc.cmakein 1970-01-01 10:00:00.000000000 +1000
|
|
||||||
+++ jpeg-9f-new/libjpeg.pc.cmakein 2024-03-23 21:06:13.922695100 +1000
|
|
||||||
@@ -0,0 +1,10 @@
|
|
||||||
+prefix=@CMAKE_INSTALL_PREFIX@
|
|
||||||
+exec_prefix=${prefix}
|
|
||||||
+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
|
|
||||||
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
|
||||||
+
|
|
||||||
+Name: libjpeg
|
|
||||||
+Description: Reads and writes JPEG files
|
|
||||||
+Version: @JPEG_LIB_VERSION_MAJOR@.@JPEG_LIB_VERSION_MINOR@.0
|
|
||||||
+Libs: -L${libdir} -ljpeg
|
|
||||||
+Cflags: -I${includedir}
|
|
|
@ -26,7 +26,7 @@
|
||||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(DepsIncludeDir)SDL2</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(DepsIncludeDir)SDL2</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>%(AdditionalDependencies);cpuinfo.lib;freetype.lib;libjpeg.lib;libpng16.lib;libwebp.lib;SDL2.lib;soundtouch.lib;zlib.lib;zstd.lib</AdditionalDependencies>
|
<AdditionalDependencies>%(AdditionalDependencies);cpuinfo.lib;freetype.lib;jpeg.lib;libpng16.lib;libwebp.lib;SDL2.lib;soundtouch.lib;zlib.lib;zstd.lib</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
<DepsDLLs Include="$(DepsBinDir)discord-rpc.dll" />
|
<DepsDLLs Include="$(DepsBinDir)discord-rpc.dll" />
|
||||||
<DepsDLLs Include="$(DepsBinDir)freetype.dll" />
|
<DepsDLLs Include="$(DepsBinDir)freetype.dll" />
|
||||||
<DepsDLLs Include="$(DepsBinDir)harfbuzz.dll" />
|
<DepsDLLs Include="$(DepsBinDir)harfbuzz.dll" />
|
||||||
<DepsDLLs Include="$(DepsBinDir)libjpeg.dll" />
|
<DepsDLLs Include="$(DepsBinDir)jpeg62.dll" />
|
||||||
<DepsDLLs Include="$(DepsBinDir)libpng16.dll" />
|
<DepsDLLs Include="$(DepsBinDir)libpng16.dll" />
|
||||||
<DepsDLLs Include="$(DepsBinDir)libsharpyuv.dll" />
|
<DepsDLLs Include="$(DepsBinDir)libsharpyuv.dll" />
|
||||||
<DepsDLLs Include="$(DepsBinDir)libwebp.dll" />
|
<DepsDLLs Include="$(DepsBinDir)libwebp.dll" />
|
||||||
|
|
Loading…
Reference in New Issue