]> git.sesse.net Git - mlt/blob - src/modules/qimage/configure
Add support for Qt 5, drop support for Qt 3 and KDE 3.
[mlt] / src / modules / qimage / configure
1 #!/bin/sh
2
3 if [ "$help" = "1" ]
4 then
5         cat << EOF
6 QImage options:
7
8   --qimage-libdir         - Location of QT lib directory [/usr/lib/qt4]
9   --qimage-includedir     - Location of QT include directory [/usr/include/qt4]
10   --kde-libdir            - Location of KDE lib directory [/usr/lib]
11   --kde-includedir        - Location of KDE include directory [/usr/include/kde]
12   --exif-libdir           - Location of libexif lib directory [/usr/lib]
13   --exif-includedir       - Location of libexif include directory [/usr/include/libexif]
14   --without-kde           - Don't link to KDE libraries
15
16 EOF
17
18 else
19         targetos=$(uname -s)
20         case $targetos in
21         MINGW32*)
22                 export LIBSUF=.dll
23                 ;;
24         Darwin)
25                 export LIBSUF=.dylib
26                 ;;
27         Linux|FreeBSD|NetBSD)
28                 export LIBSUF=.so
29                 ;;
30         *)
31                 ;;
32         esac
33
34         qimage_includedir=
35         qimage_libdir=
36
37         if [ "$QTDIR" != "" ]
38         then
39                 qimage_includedir="$QTDIR/include"
40                 qimage_libdir="$QTDIR/lib"
41         fi
42
43         export without_kde=
44
45         for i in "$@"
46         do
47                 case $i in
48                         --qimage-libdir=* )     qimage_libdir="${i#--qimage-libdir=}" ;;
49                         --qimage-includedir=* ) qimage_includedir="${i#--qimage-includedir=}" ;;
50                         --kde-libdir=* )        kde_libdir="${i#--kde-libdir=}" ;;
51                         --kde-includedir=* )    kde_includedir="${i#--kde-includedir=}" ;;
52                         --exif-libdir=* )       exif_libdir="${i#--exif-libdir=}" ;;
53                         --exif-includedir=* )   exif_includedir="${i#--exif-includedir=}" ;;
54                         --without-kde ) without_kde="true" ;;
55                 esac
56         done
57
58         echo > config.h
59         echo > config.mak
60
61         pkg-config --exists 'libexif'
62         if [ $? -eq 0 ]
63         then
64                 echo "- Libexif found, enabling auto rotate"
65                 echo "#define USE_EXIF" >> config.h
66                 echo "USE_EXIF=1" >> config.mak
67                 echo EXIFCXXFLAGS=$(pkg-config --cflags libexif ) >> config.mak
68                 echo EXIFLIBS=$(pkg-config --libs libexif) >> config.mak
69         elif [ -d "$exif_libdir" -a -d "$exif_includedir" ]
70         then
71                 # test if we have a libexif
72                 if [ -f "$exif_libdir/exif-data.h" ]
73                 then
74                         echo "- Libexif found, enabling auto rotate"
75                         echo "#define USE_EXIF" >> config.h
76                         echo "USE_EXIF=1" >> config.mak
77                         echo EXIFCXXFLAGS=-I$exif_includedir >> config.mak
78                         echo EXIFLIBS=-L$exif_libdir lexif >> config.mak
79                 else
80                         echo "- Libexif not found, disabling exif features (auto rotate)"
81                 fi
82         fi
83
84         if [ -d "$qimage_libdir" -a -d "$qimage_includedir" ]
85         then
86                 # test if we have a Qt5 or Qt4
87                 if [ -f "$qimage_libdir/libQt5Core.so" ]
88                 then
89                         echo "- Qt version 5.x detected"
90                         # TODO re-enable KDE support when KDE Frameworks 5 widely available
91                         without_kde=true
92                 elif [ -f "$qimage_libdir/libQtCore.so" ] || [ -d "$qimage_libdir/QtGui.framework" ] || [ -f "$qimage_libdir/libQtCore4.a" ] && [ "$force_qt3" = "" ]
93                 then
94                         echo "- Qt version 4.x detected"
95                 else
96                         echo "- Qt not found: disabling"
97                         touch ../disable-qimage
98                         exit 0
99                 fi
100
101                 echo "- Include directory: " $qimage_includedir
102
103                 if [ -f "$qimage_libdir/libQt5Core.so" ]
104                 then
105                         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
106                         echo QTLIBS=-Wl,-rpath-link,"$qimage_includedir" -L"$qimage_libdir" -lQt5Core -lQt5Gui -lQt5Xml -lQt5Svg -lQt5OpenGL -lQt5Widgets >> config.mak
107                 elif [ -d "$qimage_libdir/QtGui.framework" ]
108                 then
109                         echo QTCXXFLAGS=$(pkg-config --cflags QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
110                         echo QTLIBS=$(pkg-config --libs QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
111                 elif [ -f "$qimage_libdir/libQtCore4.a" ]
112                 then
113                         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
114                         echo QTLIBS=-Wl,-enable-auto-import -L$qimage_libdir -lQtCore4 -lQtGui4 -lQtXml4 -lQtSvg4 -lQtOpenGL4 >> config.mak
115                 else
116                         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
117                         echo QTLIBS=-L$qimage_libdir -lQtCore -lQtGui -lQtXml -lQtSvg -lQtOpenGL >> config.mak
118                 fi
119         else
120                 pkg-config --exists 'QtGui >= 4'
121                 if [ $? -eq 0 ]
122                 then
123                         echo "- Qt version 4.x detected"
124                         echo QTCXXFLAGS=$(pkg-config --cflags QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
125                         echo QTLIBS=$(pkg-config --libs QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
126                 else
127                         pkg-config --exists 'Qt5Gui'
128                         if [ $? -eq 0 ]
129                         then
130                                 echo "- Qt version 5.x detected"
131                                 echo QTCXXFLAGS=$(pkg-config --cflags Qt5Core Qt5Gui Qt5Xml Qt5Svg Qt5OpenGL Qt5Widgets) >> config.mak
132                                 echo QTLIBS=$(pkg-config --libs Qt5Core Qt5Gui Qt5Xml Qt5Svg Qt5OpenGL Qt5Widgets) >> config.mak
133                         else
134                                 echo "- Qt not found - disabling"
135                                 touch ../disable-qimage
136                         fi
137                 fi
138         fi
139
140         if [ "$without_kde" = "" ]
141         then
142                 kde4-config
143                 if [ $? -eq 0 ] && [ "$qt4_found" != "" ]
144                 then
145                         # test if we have KDE4, required on some systems to get QImage extra formats (xcf, ...)
146                         if [ "$kde_includedir" = "" ]
147                         then
148                                   kde_includedir=`kde4-config --install include`
149                         fi
150                         if [ "$kde_libdir" = "" ]
151                         then
152                                   kde_libdir=`kde4-config --install lib`
153                         fi
154                         if [ -d "$kde_includedir" ] && [ -d "$kde_libdir" ]
155                         then
156                                 echo "- KDE version 4.x detected, will enable extra image formats"
157                                 echo "#define USE_KDE4" >> config.h
158                                 echo "USE_KDE4=1" >> config.mak
159                                 echo KDECXXFLAGS=-I$kde_includedir >> config.mak
160                                 # the -L with kde4/devel is for Fedora
161                                 echo KDELIBS=-L$kde_libdir -L${kde_libdir}/kde4/devel -lkdecore >> config.mak
162                         fi
163                 fi
164         fi
165
166         [ "$gpl3" = "true" ] && echo GPL3=1 >> config.mak
167         exit 0
168 fi