]> git.sesse.net Git - mlt/blob - src/modules/qt/configure
7f81a39b96c0b27153992ba90c24678c9cc96424
[mlt] / src / modules / qt / configure
1 #!/bin/sh
2
3 if [ "$help" = "1" ]
4 then
5         cat << EOF
6 Qt options:
7
8   --qt-libdir             - Location of Qt lib directory [/usr/lib/qt4]
9   --qt-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         qt_includedir=
35         qt_libdir=
36
37         if [ "$QTDIR" != "" ]
38         then
39                 qt_includedir="$QTDIR/include"
40                 qt_libdir="$QTDIR/lib"
41         fi
42
43         export without_kde=
44
45         for i in "$@"
46         do
47                 case $i in
48                         --qt-libdir=* ) qt_libdir="${i#--qt-libdir=}" ;;
49                         --qt-includedir=* )     qt_includedir="${i#--qt-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 "$qt_libdir" -a -d "$qt_includedir" ]
85         then
86                 # test if we have a Qt5 or Qt4
87                 if [ -f "$qt_libdir/libQt5Core.so" ] || [ -d "$qt_libdir/QtWidgets.framework" ] || [ -f "$qt_libdir/libQt5Core.a" ]
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 "$qt_libdir/libQtCore.so" ] || [ -d "$qt_libdir/QtCore.framework" ] || [ -f "$qt_libdir/libQtCore4.a" ]
93                 then
94                         echo "- Qt version 4.x detected"
95                 else
96                         echo "- Qt not found: disabling"
97                         touch ../disable-qt
98                         exit 0
99                 fi
100
101                 echo "- Include directory: " $qt_includedir
102
103                 # Qt5 on Linux, BSD, or Windows
104                 if [ -f "$qt_libdir/libQt5Core.so" ] || [ -f "$qt_libdir/libQt5Core.a" ]
105                 then
106                         echo QTCXXFLAGS=-I$qt_includedir -I$qt_includedir/QtCore -I$qt_includedir/QtGui -I$qt_includedir/QtXml -I$qt_includedir/QtSvg -I$qt_includedir/QtOpenGL -I$qt_includedir/QtWidgets >> config.mak
107                         echo QTLIBS=-Wl,-rpath-link,"$qt_libdir" -L"$qt_libdir" -lQt5Core -lQt5Gui -lQt5Xml -lQt5Svg -lQt5OpenGL -lQt5Widgets >> config.mak
108                 # Qt5 on OS X
109                 elif [ -d "$qt_libdir/QtWidgets.framework" ]
110                 then
111                                 echo QTCXXFLAGS=-I$qt_includedir -I$qt_includedir/QtCore -I$qt_includedir/QtGui -I$qt_includedir/QtXml -I$qt_includedir/QtSvg -I$qt_includedir/QtOpenGL -I$qt_includedir/QtWidgets >> config.mak
112                                 echo QTLIBS=-F"$qt_libdir" -framework QtCore -framework QtGui -framework QtXml -framework QtSvg -framework QtOpenGL -framework QtWidgets >> config.mak
113                 # Qt4 on OS X
114                 elif [ -d "$qt_libdir/QtGui.framework" ]
115                 then
116                         echo QTCXXFLAGS=$(pkg-config --cflags QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
117                         echo QTLIBS=$(pkg-config --libs QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
118                 # Qt4 on Windows
119                 elif [ -f "$qt_libdir/libQtCore4.a" ]
120                 then
121                         echo QTCXXFLAGS=-I$qt_includedir -I$qt_includedir/QtCore -I$qt_includedir/QtGui -I$qt_includedir/QtXml -I$qt_includedir/QtSvg -I$qt_includedir/QtOpenGL >> config.mak
122                         echo QTLIBS=-Wl,-enable-auto-import -L$qt_libdir -lQtCore4 -lQtGui4 -lQtXml4 -lQtSvg4 -lQtOpenGL4 >> config.mak
123                 # Qt4 on Linux or BSD
124                 else
125                         echo QTCXXFLAGS=-I$qt_includedir  -I$qt_includedir/QtCore -I$qt_includedir/QtGui -I$qt_includedir/QtXml -I$qt_includedir/QtSvg -I$qt_includedir/QtOpenGL >> config.mak
126                         echo QTLIBS=-L$qt_libdir -lQtCore -lQtGui -lQtXml -lQtSvg -lQtOpenGL >> config.mak
127                 fi
128         else
129                 pkg-config --exists 'QtGui >= 4'
130                 if [ $? -eq 0 ]
131                 then
132                         echo "- Qt version 4.x detected"
133                         echo QTCXXFLAGS=$(pkg-config --cflags QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
134                         echo QTLIBS=$(pkg-config --libs QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
135                 else
136                         pkg-config --exists 'Qt5Gui'
137                         if [ $? -eq 0 ]
138                         then
139                                 echo "- Qt version 5.x detected"
140                                 echo QTCXXFLAGS=$(pkg-config --cflags Qt5Core Qt5Gui Qt5Xml Qt5Svg Qt5OpenGL Qt5Widgets) >> config.mak
141                                 echo QTLIBS=$(pkg-config --libs Qt5Core Qt5Gui Qt5Xml Qt5Svg Qt5OpenGL Qt5Widgets) >> config.mak
142                         else
143                                 echo "- Qt not found - disabling"
144                                 touch ../disable-qt
145                         fi
146                 fi
147         fi
148
149         if [ "$without_kde" = "" ]
150         then
151                 kde4-config
152                 if [ $? -eq 0 ] && [ "$qt4_found" != "" ]
153                 then
154                         # test if we have KDE4, required on some systems to get Qt extra formats (xcf, ...)
155                         if [ "$kde_includedir" = "" ]
156                         then
157                                   kde_includedir=`kde4-config --install include`
158                         fi
159                         if [ "$kde_libdir" = "" ]
160                         then
161                                   kde_libdir=`kde4-config --install lib`
162                         fi
163                         if [ -d "$kde_includedir" ] && [ -d "$kde_libdir" ]
164                         then
165                                 echo "- KDE version 4.x detected, will enable extra image formats"
166                                 echo "#define USE_KDE4" >> config.h
167                                 echo "USE_KDE4=1" >> config.mak
168                                 echo KDECXXFLAGS=-I$kde_includedir >> config.mak
169                                 # the -L with kde4/devel is for Fedora
170                                 echo KDELIBS=-L$kde_libdir -L${kde_libdir}/kde4/devel -lkdecore >> config.mak
171                         fi
172                 fi
173         fi
174
175         [ "$gpl3" = "true" ] && echo GPL3=1 >> config.mak
176         exit 0
177 fi