]> git.sesse.net Git - mlt/blobdiff - src/modules/qt/configure
Rename 'qimage' module to 'qt'
[mlt] / src / modules / qt / configure
diff --git a/src/modules/qt/configure b/src/modules/qt/configure
new file mode 100755 (executable)
index 0000000..61433c7
--- /dev/null
@@ -0,0 +1,177 @@
+#!/bin/sh
+
+if [ "$help" = "1" ]
+then
+       cat << EOF
+QImage options:
+
+  --qimage-libdir         - Location of QT lib directory [/usr/lib/qt4]
+  --qimage-includedir     - Location of QT include directory [/usr/include/qt4]
+  --kde-libdir            - Location of KDE lib directory [/usr/lib]
+  --kde-includedir        - Location of KDE include directory [/usr/include/kde]
+  --exif-libdir           - Location of libexif lib directory [/usr/lib]
+  --exif-includedir       - Location of libexif include directory [/usr/include/libexif]
+  --without-kde           - Don't link to KDE libraries
+
+EOF
+
+else
+       targetos=$(uname -s)
+       case $targetos in
+       MINGW32*)
+               export LIBSUF=.dll
+               ;;
+       Darwin)
+               export LIBSUF=.dylib
+               ;;
+       Linux|FreeBSD|NetBSD)
+               export LIBSUF=.so
+               ;;
+       *)
+               ;;
+       esac
+
+       qimage_includedir=
+       qimage_libdir=
+
+       if [ "$QTDIR" != "" ]
+       then
+               qimage_includedir="$QTDIR/include"
+               qimage_libdir="$QTDIR/lib"
+       fi
+
+       export without_kde=
+
+       for i in "$@"
+       do
+               case $i in
+                       --qimage-libdir=* )     qimage_libdir="${i#--qimage-libdir=}" ;;
+                       --qimage-includedir=* ) qimage_includedir="${i#--qimage-includedir=}" ;;
+                       --kde-libdir=* )        kde_libdir="${i#--kde-libdir=}" ;;
+                       --kde-includedir=* )    kde_includedir="${i#--kde-includedir=}" ;;
+                       --exif-libdir=* )       exif_libdir="${i#--exif-libdir=}" ;;
+                       --exif-includedir=* )   exif_includedir="${i#--exif-includedir=}" ;;
+                       --without-kde ) without_kde="true" ;;
+               esac
+       done
+
+       echo > config.h
+       echo > config.mak
+
+       pkg-config --exists 'libexif'
+       if [ $? -eq 0 ]
+       then
+               echo "- Libexif found, enabling auto rotate"
+               echo "#define USE_EXIF" >> config.h
+               echo "USE_EXIF=1" >> config.mak
+               echo EXIFCXXFLAGS=$(pkg-config --cflags libexif ) >> config.mak
+               echo EXIFLIBS=$(pkg-config --libs libexif) >> config.mak
+       elif [ -d "$exif_libdir" -a -d "$exif_includedir" ]
+       then
+               # test if we have a libexif
+               if [ -f "$exif_libdir/exif-data.h" ]
+               then
+                       echo "- Libexif found, enabling auto rotate"
+                       echo "#define USE_EXIF" >> config.h
+                       echo "USE_EXIF=1" >> config.mak
+                       echo EXIFCXXFLAGS=-I$exif_includedir >> config.mak
+                       echo EXIFLIBS=-L$exif_libdir lexif >> config.mak
+               else
+                       echo "- Libexif not found, disabling exif features (auto rotate)"
+               fi
+       fi
+
+       if [ -d "$qimage_libdir" -a -d "$qimage_includedir" ]
+       then
+               # test if we have a Qt5 or Qt4
+               if [ -f "$qimage_libdir/libQt5Core.so" ] || [ -d "$qimage_libdir/QtWidgets.framework" ] || [ -f "$qimage_libdir/libQt5Core.a" ]
+               then
+                       echo "- Qt version 5.x detected"
+                       # TODO re-enable KDE support when KDE Frameworks 5 widely available
+                       without_kde=true
+               elif [ -f "$qimage_libdir/libQtCore.so" ] || [ -d "$qimage_libdir/QtCore.framework" ] || [ -f "$qimage_libdir/libQtCore4.a" ]
+               then
+                       echo "- Qt version 4.x detected"
+               else
+                       echo "- Qt not found: disabling"
+                       touch ../disable-qimage
+                       exit 0
+               fi
+
+               echo "- Include directory: " $qimage_includedir
+
+               # Qt5 on Linux, BSD, or Windows
+               if [ -f "$qimage_libdir/libQt5Core.so" ] || [ -f "$qimage_libdir/libQt5Core.a" ]
+               then
+                       echo QTCXXFLAGS=-I$qimage_includedir -I$qimage_includedir/QtCore -I$qimage_includedir/QtGui -I$qimage_includedir/QtXml -I$qimage_includedir/QtSvg -I$qimage_includedir/QtOpenGL -I$qimage_includedir/QtWidgets >> config.mak
+                       echo QTLIBS=-Wl,-rpath-link,"$qimage_libdir" -L"$qimage_libdir" -lQt5Core -lQt5Gui -lQt5Xml -lQt5Svg -lQt5OpenGL -lQt5Widgets >> config.mak
+               # Qt5 on OS X
+               elif [ -d "$qimage_libdir/QtWidgets.framework" ]
+               then
+                               echo QTCXXFLAGS=-I$qimage_includedir -I$qimage_includedir/QtCore -I$qimage_includedir/QtGui -I$qimage_includedir/QtXml -I$qimage_includedir/QtSvg -I$qimage_includedir/QtOpenGL -I$qimage_includedir/QtWidgets >> config.mak
+                               echo QTLIBS=-F"$qimage_libdir" -framework QtCore -framework QtGui -framework QtXml -framework QtSvg -framework QtOpenGL -framework QtWidgets >> config.mak
+               # Qt4 on OS X
+               elif [ -d "$qimage_libdir/QtGui.framework" ]
+               then
+                       echo QTCXXFLAGS=$(pkg-config --cflags QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
+                       echo QTLIBS=$(pkg-config --libs QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
+               # Qt4 on Windows
+               elif [ -f "$qimage_libdir/libQtCore4.a" ]
+               then
+                       echo QTCXXFLAGS=-I$qimage_includedir -I$qimage_includedir/QtCore -I$qimage_includedir/QtGui -I$qimage_includedir/QtXml -I$qimage_includedir/QtSvg -I$qimage_includedir/QtOpenGL >> config.mak
+                       echo QTLIBS=-Wl,-enable-auto-import -L$qimage_libdir -lQtCore4 -lQtGui4 -lQtXml4 -lQtSvg4 -lQtOpenGL4 >> config.mak
+               # Qt4 on Linux or BSD
+               else
+                       echo QTCXXFLAGS=-I$qimage_includedir  -I$qimage_includedir/QtCore -I$qimage_includedir/QtGui -I$qimage_includedir/QtXml -I$qimage_includedir/QtSvg -I$qimage_includedir/QtOpenGL >> config.mak
+                       echo QTLIBS=-L$qimage_libdir -lQtCore -lQtGui -lQtXml -lQtSvg -lQtOpenGL >> config.mak
+               fi
+       else
+               pkg-config --exists 'QtGui >= 4'
+               if [ $? -eq 0 ]
+               then
+                       echo "- Qt version 4.x detected"
+                       echo QTCXXFLAGS=$(pkg-config --cflags QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
+                       echo QTLIBS=$(pkg-config --libs QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
+               else
+                       pkg-config --exists 'Qt5Gui'
+                       if [ $? -eq 0 ]
+                       then
+                               echo "- Qt version 5.x detected"
+                               echo QTCXXFLAGS=$(pkg-config --cflags Qt5Core Qt5Gui Qt5Xml Qt5Svg Qt5OpenGL Qt5Widgets) >> config.mak
+                               echo QTLIBS=$(pkg-config --libs Qt5Core Qt5Gui Qt5Xml Qt5Svg Qt5OpenGL Qt5Widgets) >> config.mak
+                       else
+                               echo "- Qt not found - disabling"
+                               touch ../disable-qimage
+                       fi
+               fi
+       fi
+
+       if [ "$without_kde" = "" ]
+       then
+               kde4-config
+               if [ $? -eq 0 ] && [ "$qt4_found" != "" ]
+               then
+                       # test if we have KDE4, required on some systems to get QImage extra formats (xcf, ...)
+                       if [ "$kde_includedir" = "" ]
+                       then
+                                 kde_includedir=`kde4-config --install include`
+                       fi
+                       if [ "$kde_libdir" = "" ]
+                       then
+                                 kde_libdir=`kde4-config --install lib`
+                       fi
+                       if [ -d "$kde_includedir" ] && [ -d "$kde_libdir" ]
+                       then
+                               echo "- KDE version 4.x detected, will enable extra image formats"
+                               echo "#define USE_KDE4" >> config.h
+                               echo "USE_KDE4=1" >> config.mak
+                               echo KDECXXFLAGS=-I$kde_includedir >> config.mak
+                               # the -L with kde4/devel is for Fedora
+                               echo KDELIBS=-L$kde_libdir -L${kde_libdir}/kde4/devel -lkdecore >> config.mak
+                       fi
+               fi
+       fi
+
+       [ "$gpl3" = "true" ] && echo GPL3=1 >> config.mak
+       exit 0
+fi