cat << EOF
QImage options:
- --qimage-libdir - Location of QT lib directory [/usr/lib/qt3]
- --qimage-includedir - Location of QT include directory [/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
else
targetos=$(uname -s)
case $targetos in
- MINGW32*)
- export LIBSUF=.dll
- ;;
+ MINGW32*)
+ export LIBSUF=.dll
+ ;;
Darwin)
export LIBSUF=.dylib
;;
- Linux)
+ Linux|FreeBSD|NetBSD)
export LIBSUF=.so
;;
*)
;;
esac
- qimage_includedir=/usr/include/qt3
- qimage_libdir=/usr/lib/qt3
-
- kde_includedir=/usr/include/kde
- kde_libdir=/usr/lib
+ qimage_includedir=
+ qimage_libdir=
if [ "$QTDIR" != "" ]
then
qimage_includedir="$QTDIR/include"
- qimage_libdir="$QTDIR"
+ qimage_libdir="$QTDIR/lib"
fi
- if [ "$KDEDIR" != "" ]
- then
- kde_includedir="$KDEDIR/include"
- kde_libdir="$KDEDIR"
- fi
+ export without_kde=
for i in "$@"
do
--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
- echo > config.h
- echo > config.mak
- if [ -d "$kde_includedir" ]
- then
- echo "#define USE_KDE" >> config.h
- echo "USE_KDE=1" >> config.mak
- echo QTCXXFLAGS=-I$qimage_includedir -I$kde_includedir >> config.mak
- echo QTLIBS=-L$qimage_libdir/lib -L$kde_libdir/lib -lqt-mt >> config.mak
- else
- echo "qimage: KDE environment not found - disabling extra image formats"
- echo QTCXXFLAGS=-I$qimage_includedir >> config.mak
- echo QTLIBS=-L$qimage_libdir/lib -lqt-mt >> config.mak
+ # test if we have a Qt5 or Qt4
+ if [ -f "$qimage_libdir/libQt5Core.so" ]
+ 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/QtGui.framework" ] || [ -f "$qimage_libdir/libQtCore4.a" ] && [ "$force_qt3" = "" ]
+ then
+ echo "- Qt version 4.x detected"
+ else
+ echo "- Qt not found: disabling"
+ touch ../disable-qimage
+ exit 0
+ fi
+
+ echo "- Include directory: " $qimage_includedir
+
+ if [ -f "$qimage_libdir/libQt5Core.so" ]
+ 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_includedir" -L"$qimage_libdir" -lQt5Core -lQt5Gui -lQt5Xml -lQt5Svg -lQt5OpenGL -lQt5Widgets >> 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
- echo qimage libmltqimage$LIBSUF >> ../producers.dat
else
- echo "qimage: QT environment not found - disabling"
- touch ../disable-qimage
+ 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