From 00541b05b054f741fe5d8a3417d44a6de15e5276 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Tue, 23 Feb 2021 08:57:54 +0100 Subject: [PATCH] Removed GPUJPEG submodule Added a script bootstrap_gpujpeg.sh as a replacement. --- .github/scripts/Linux/prepare.sh | 2 +- .gitmodules | 3 -- bootstrap_gpujpeg.sh | 61 ++++++++++++++++++++++++++++++++ configure.ac | 3 ++ gpujpeg | 1 - 5 files changed, 65 insertions(+), 5 deletions(-) create mode 100755 bootstrap_gpujpeg.sh delete mode 160000 gpujpeg diff --git a/.github/scripts/Linux/prepare.sh b/.github/scripts/Linux/prepare.sh index c307c24c4..731ce3d1b 100755 --- a/.github/scripts/Linux/prepare.sh +++ b/.github/scripts/Linux/prepare.sh @@ -32,7 +32,7 @@ sudo apt --no-install-recommends install asciidoc xmlto sudo apt install libopencv-dev sudo apt install libglib2.0-dev libcurl4-nss-dev sudo apt install libtool # gpujpeg -( mkdir gpujpeg/build && cd gpujpeg/build && CUDA_FLAGS=-D_FORCE_INLINES CXXFLAGS=-std=c++11 CC=$CUDA_HOST_COMPILER ../autogen.sh && make && sudo make install && sudo ldconfig || exit 1 ) +( ./bootstrap_gpujpeg.sh -d && mkdir ext-deps/gpujpeg/build && cd ext-deps/gpujpeg/build && CUDA_FLAGS=-D_FORCE_INLINES CXXFLAGS=-std=c++11 CC=$CUDA_HOST_COMPILER ../autogen.sh && make && sudo make install && sudo ldconfig || exit 1 ) ( sudo apt install uuid-dev && cd cineform-sdk/ && cmake -DBUILD_TOOLS=OFF . && make CFHDCodecStatic || exit 1 ) sudo apt install qtbase5-dev sudo chmod 777 /usr/local diff --git a/.gitmodules b/.gitmodules index c9804baba..e69b13f45 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "gpujpeg"] - path = gpujpeg - url = https://github.com/CESNET/GPUJPEG.git [submodule "cineform-sdk"] path = cineform-sdk url = https://github.com/gopro/cineform-sdk.git diff --git a/bootstrap_gpujpeg.sh b/bootstrap_gpujpeg.sh new file mode 100755 index 000000000..9ccd48e0e --- /dev/null +++ b/bootstrap_gpujpeg.sh @@ -0,0 +1,61 @@ +#!/bin/sh -e + +SRC_DIR=ext-deps/gpujpeg +BUILD_DIR=$SRC_DIR/build +INSTALL_DIR=$SRC_DIR/install +CMAKE_ARGUMENTS="-DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR -DCMAKE_POSITION_INDEPENDENT_CODE=ON" +SUDO= +UPDATE=no +DOWNLOAD_ONLY=no + +while getopts 'dfhsu' opt; do + case "$opt" in + 'h'|'?') + cat <<-EOF + Downlads and builds GPUJPEG to be used with UltraGrid. It is downloaded to $SRC_DIR + and statically built. UltraGrid configure then automatically finds the library with + pkgconfig in $INSTALL_DIR/share/pkgconfig when called from same directory as this script. + + Usage: + $0 [-d|-f|-s|-u] + + Options: + -d - download only + -f - remove previously downloaded GPUJPEG + -s - causes GPUJPEG to be compiled as a dynamic library and installed system-wide + -u - update previously downloaded GPUJPEG + + EOF + exit 0 + ;; + 'd') + DOWNLOAD_ONLY=yes + ;; + 'f') + rm -rf $SRC_DIR + ;; + 's') + CMAKE_ARGUMENTS="-DBUILD_SHARED_LIBS=ON" + SUDO=$(command -v sudo || true) + ;; + 'u') + UPDATE=yes + ;; + esac +done + +if [ $OPTIND -eq 1 ]; then + echo "See also '$0 -h' for available options." +fi + +if [ $UPDATE = yes ]; then + ( cd $SRC_DIR; git pull ) +else + git clone --depth 1 https://github.com/CESNET/GPUJPEG.git $SRC_DIR +fi +[ $DOWNLOAD_ONLY = yes ] && exit 0 +cmake $CMAKE_ARGUMENTS $SRC_DIR -B $BUILD_DIR +cmake --build $BUILD_DIR --parallel +${SUDO}cmake --install $BUILD_DIR + +# vim: set noexpandtab: diff --git a/configure.ac b/configure.ac index 6f6b548da..b8ce28a30 100644 --- a/configure.ac +++ b/configure.ac @@ -2261,8 +2261,11 @@ AC_ARG_ENABLE(gpujpeg, [gpujpeg_req=$build_default]) +SAVED_PKG_CONFIG_PATH=$PKG_CONFIG_PATH +PKG_CONFIG_PATH="ext-deps/gpujpeg/install/share/pkgconfig:$PKG_CONFIG_PATH" PKG_CHECK_MODULES([LIBGPUJPEG_ANY], [libgpujpeg], [ found_gpujpeg_any=yes ], [ found_gpujpeg_any=no ]) PKG_CHECK_MODULES([LIBGPUJPEG], [libgpujpeg >= 0.12.0], [ found_gpujpeg=yes ], [ found_gpujpeg=no ]) +PKG_CONFIG_PATH=$SAVED_PKG_CONFIG_PATH if test "$found_gpujpeg_any" = yes -a "$found_gpujpeg" = no; then AC_MSG_WARN([Old GPUJPEG version found, please upgrade]); diff --git a/gpujpeg b/gpujpeg deleted file mode 160000 index 63daf568a..000000000 --- a/gpujpeg +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 63daf568a38ecda91e9a17a9c1782a549b0995b3