-
Notifications
You must be signed in to change notification settings - Fork 302
/
configure
executable file
·206 lines (188 loc) · 6.57 KB
/
configure
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
#!/bin/sh
if [ "$help" = "1" ]
then
cat << EOF
Qt options:
--qt-libdir - Location of Qt lib directory [/usr/lib/qt4]
--qt-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
qt_includedir=
qt_libdir=
if [ "$QTDIR" != "" ]
then
qt_includedir="$QTDIR/include"
qt_libdir="$QTDIR/lib"
fi
export without_kde=
export without_opengl=
for i in "$@"
do
case $i in
--qt-libdir=* ) qt_libdir="${i#--qt-libdir=}" ;;
--qt-includedir=* ) qt_includedir="${i#--qt-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.mak
pkg-config --exists 'libexif'
if [ $? -eq 0 ]
then
echo "- Libexif found, enabling auto rotate"
echo "USE_EXIF=1" >> config.mak
echo EXIFCXXFLAGS=$(pkg-config --cflags libexif ) >> config.mak
echo EXIFCXXFLAGS += -DUSE_EXIF >> 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 "USE_EXIF=1" >> config.mak
echo EXIFCXXFLAGS=-I$exif_includedir >> config.mak
echo EXIFCXXFLAGS += -DUSE_EXIF >> config.mak
echo EXIFLIBS=-L$exif_libdir lexif >> config.mak
else
echo "- Libexif not found, disabling exif features (auto rotate)"
fi
else
echo "- Libexif not found, disabling exif features (auto rotate)"
fi
if [ -d "$qt_libdir" -a -d "$qt_includedir" ]
then
# test if we have a Qt5 or Qt4
if [ -f "$qt_libdir/libQt5Core.so" ] || [ -d "$qt_libdir/QtWidgets.framework" ] || [ -f "$qt_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 "$qt_libdir/libQtCore.so" ] || [ -d "$qt_libdir/QtCore.framework" ] || [ -f "$qt_libdir/libQtCore4.a" ]
then
echo "- Qt version 4.x detected"
else
echo "- Qt not found: disabling"
touch ../disable-qt
exit 0
fi
echo "- Include directory: " $qt_includedir
# Qt5 on Linux, BSD, or Windows
if [ -f "$qt_libdir/libQt5Core.so" ] || [ -f "$qt_libdir/libQt5Core.a" ]
then
echo QTCXXFLAGS=-I$qt_includedir -I$qt_includedir/QtCore -I$qt_includedir/QtGui -I$qt_includedir/QtXml -I$qt_includedir/QtSvg -I$qt_includedir/QtWidgets >> config.mak
echo QTLIBS=-Wl,-rpath-link,"$qt_libdir" -L"$qt_libdir" -lQt5Core -lQt5Gui -lQt5Xml -lQt5Svg -lQt5Widgets >> config.mak
# Qt5 on OS X
elif [ -d "$qt_libdir/QtWidgets.framework" ]
then
echo QTCXXFLAGS=-I$qt_includedir -F$qt_libdir \
-I$qt_includedir/QtCore -I$qt_libdir/QtCore.framework/Headers \
-I$qt_includedir/QtGui -I$qt_libdir/QtGui.framework/Headers \
-I$qt_includedir/QtXml -I$qt_libdir/QtXml.framework/Headers \
-I$qt_includedir/QtSvg -I$qt_libdir/QtSvg.framework/Headers \
-I$qt_includedir/QtWidgets -I$qt_libdir/QtWidgets.framework/Headers \
>> config.mak
echo QTLIBS=-F"$qt_libdir" -framework QtCore -framework QtGui -framework \
QtXml -framework QtSvg -framework QtWidgets >> config.mak
# Qt4 on OS X
elif [ -d "$qt_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 "$qt_libdir/libQtCore4.a" ]
then
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
echo QTLIBS=-Wl,-enable-auto-import -L$qt_libdir -lQtCore4 -lQtGui4 -lQtXml4 -lQtSvg4 -lQtOpenGL4 >> config.mak
# Qt4 on Linux or BSD
else
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
echo QTLIBS=-L$qt_libdir -lQtCore -lQtGui -lQtXml -lQtSvg -lQtOpenGL >> config.mak
fi
else
pkg-config --exists 'Qt5Gui'
if [ $? -eq 0 ]
then
echo "- Qt version 5.x detected"
without_kde=true
echo QTCXXFLAGS=$(pkg-config --cflags Qt5Core Qt5Gui Qt5Xml Qt5Svg Qt5Widgets) >> config.mak
echo QTLIBS=$(pkg-config --libs Qt5Core Qt5Gui Qt5Xml Qt5Svg Qt5Widgets) >> config.mak
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
echo "- Qt not found - disabling"
touch ../disable-qt
exit 0
fi
fi
fi
if [ "$without_opengl" = "" ]
then
echo "USE_QT_OPENGL=1" >> config.mak
fi
if [ "$without_kde" = "" ]
then
kde4-config
if [ $? -eq 0 ]
then
# test if we have KDE4, required on some systems to get Qt 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 "USE_KDE4=1" >> config.mak
echo KDECXXFLAGS=-I$kde_includedir >> config.mak
echo KDECXXFLAGS += -DUSE_KDE4 >> 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
pkg-config fftw3
if [ $? -eq 0 ]
then
echo "- fftw found, enabling lightshow"
echo "USE_FFTW=1" >> config.mak
echo FFTWCXXFLAGS=$(pkg-config --cflags fftw3 ) >> config.mak
echo FFTWCXXFLAGS += -DUSE_FFTW >> config.mak
echo FFTWLIBS=$(pkg-config --libs fftw3) >> config.mak
else
echo "- fftw not found: disabling lightshow filter"
fi
[ "$gpl3" = "true" ] && echo GPL3=1 >> config.mak
exit 0
fi