X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmodules%2Fqimage%2Fconfigure;h=e96ada18440288b92d82acf343edeeba9ec040ac;hb=caea542e6de5682445dcb2387068efe1f2db3bbe;hp=68f1f29ec5d2fe59c26fcdd9c1861e4cce17e958;hpb=f549442f05e5a0ba3a6d41ef96fced96a11de51e;p=mlt diff --git a/src/modules/qimage/configure b/src/modules/qimage/configure index 68f1f29e..e96ada18 100755 --- a/src/modules/qimage/configure +++ b/src/modules/qimage/configure @@ -5,11 +5,13 @@ then cat << EOF QImage options: - --force-qt3 - Force compile against Qt3 if Qt4 is present on the system - --qimage-libdir - Location of QT lib directory [/usr/lib/qt4 or /usr/lib/qt3] - --qimage-includedir - Location of QT include directory [/usr/include/qt4 or /usr/include/qt3] + --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 @@ -22,28 +24,15 @@ else Darwin) export LIBSUF=.dylib ;; - Linux|FreeBSD) + Linux|FreeBSD|NetBSD) export LIBSUF=.so ;; *) ;; esac - qimage_includedir=/usr/include/qt4 - qimage_libdir=/usr/lib/qt4 - - if [ ! -d "$qimage_libdir" -o ! -d "$qimage_includedir" ] - then - qimage_includedir=/usr/include/qt3 - qimage_libdir=/usr/lib/qt3 - kde_includedir=/usr/include/kde - kde_libdir=/usr/lib - if [ "$KDEDIR" != "" ] - then - kde_includedir="$KDEDIR/include" - kde_libdir="$KDEDIR" - fi - fi + qimage_includedir= + qimage_libdir= if [ "$QTDIR" != "" ] then @@ -51,8 +40,7 @@ else qimage_libdir="$QTDIR/lib" fi - export force_qt3= - export qt4_found= + export without_kde= for i in "$@" do @@ -61,68 +49,124 @@ else --qimage-includedir=* ) qimage_includedir="${i#--qimage-includedir=}" ;; --kde-libdir=* ) kde_libdir="${i#--kde-libdir=}" ;; --kde-includedir=* ) kde_includedir="${i#--kde-includedir=}" ;; - --force-qt3 ) force_qt3="true" ;; + --exif-libdir=* ) exif_libdir="${i#--exif-libdir=}" ;; + --exif-includedir=* ) exif_includedir="${i#--exif-includedir=}" ;; + --without-kde ) without_kde="true" ;; esac done - pkg-config --exists 'QtGui >= 4' - if [ $? -eq 0 ] && [ "$force_qt3" = "" ] + echo > config.h + echo > config.mak + + pkg-config --exists 'libexif' + if [ $? -eq 0 ] then - echo "Qt version 4.x detected, will compile Qt4 qimage producer" - qt4_found=true - echo "#define USE_QT4" > config.h - echo "USE_QT4=1" > config.mak - echo QTCXXFLAGS=$(pkg-config --cflags QtCore QtGui) >> config.mak - echo QTLIBS=$(pkg-config --libs QtCore QtGui) >> config.mak - - elif [ -d "$qimage_libdir" -a -d "$qimage_includedir" ] + 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 - # test if we have a Qt3 or Qt4 - if [ -f "$qimage_libdir/libQtCore.so" ] || [ -d "$qimage_libdir/QtGui.framework" ] && [ "$force_qt3" = "" ] + 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/libQtCore5.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, will compile Qt4 qimage producer" - qt4_found=true + echo "- Qt version 4.x detected" else - echo "Qt version 3.x detected, will compile Qt3 qimage producer" + echo "- Qt not found: disabling" + touch ../disable-qimage + exit 0 fi - echo "Include directory: " $qimage_includedir + echo "- Include directory: " $qimage_includedir - echo > config.h - echo > config.mak - if [ "$qt4_found" != "" ] && [ "$force_qt3" = "" ] + if [ -f "$qimage_libdir/libQt5Core.so" ] || [ -f "$qimage_libdir/libQtCore5.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 + 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 + 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 + 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 + 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 "#define USE_QT4" >> config.h - echo "USE_QT4=1" >> config.mak - if [ -d "$qimage_libdir/QtGui.framework" ] + 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 QTCXXFLAGS=$(pkg-config --cflags QtCore QtGui) >> config.mak - echo QTLIBS=$(pkg-config --libs QtCore QtGui) >> config.mak + 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 QTCXXFLAGS=-I$qimage_includedir >> config.mak - echo QTLIBS=-L$qimage_libdir -lQtCore -lQtGui >> config.mak + 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 - else - if [ -d "$kde_includedir" ] - then - echo "#define USE_KDE" >> config.h - echo "USE_KDE=1" >> config.mak - echo "#define USE_QT3" >> config.h - echo "USE_QT3=1" >> config.mak - echo QTCXXFLAGS=-I$qimage_includedir -I$kde_includedir -DQT_THREAD_SUPPORT >> config.mak - echo QTLIBS=-L$qimage_libdir -L$kde_libdir/lib -lqt-mt >> config.mak - else - echo "qimage: KDE environment not found - disabling extra image formats" - echo "#define USE_QT3" >> config.h - echo "USE_QT3=1" >> config.mak - echo QTCXXFLAGS=-I$qimage_includedir -DQT_THREAD_SUPPORT>> config.mak - echo QTLIBS=-L$qimage_libdir -lqt-mt >> config.mak - fi fi - else - echo "qimage: QT environment not found - disabling" - touch ../disable-qimage fi + [ "$gpl3" = "true" ] && echo GPL3=1 >> config.mak + exit 0 fi