1#!/bin/sh
2
3set > testset.txt
4ERROR=0
5WARNING=0
6STRIPOPT='s/-O.// ; s/-isysroot [[:graph:]]*// ; s/-arch ppc// ; s/-arch i386//'
7
8mkdir -p tests
9
10if [ -n "$PKG_CONFIG_PATH" ]; then
11  PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$libdir/pkgconfig
12else
13  PKG_CONFIG_PATH=$libdir/pkgconfig
14fi
15export PKG_CONFIG_PATH
16
17if [ -n "$DSO_LINKING" ] && [ $DSO_LINKING -gt 0 ] && [ $OSUNAME != "Darwin" ]; then
18      rm -f tests/libtest$EXEC_END
19      $CC $CFLAGS -shared -Wl,-soname -Wl,my_so_name -I$includedir $ROOT_DIR/tests/library.c $LDFLAGS -L$libdir -o tests/libtest 2>/dev/null
20      if [ -f tests/libtest ]; then
21          DSO_LIB_VERSION="-Wl,-soname -Wl,"
22          if [ -n "$MAKEFILE_DIR" ]; then
23            for i in $MAKEFILE_DIR; do
24              test -f "$ROOT_DIR/$i/makefile".in && echo "DSO_LIB_VERSION = $DSO_LIB_VERSION" >> "$i/makefile"
25            done
26          fi
27          rm tests/libtest$EXEC_END
28      fi
29    if [ -z "$DSO_LIB_VERSION" ] ; then
30      rm -f tests/libtest$EXEC_END
31      $CC $CFLAGS -shared -Wl,-h -Wl,my_so_name -I$includedir $ROOT_DIR/tests/library.c $LDFLAGS -L$libdir -o tests/libtest 2>/dev/null
32      if [ -f tests/libtest ]; then
33          DSO_LIB_VERSION="-Wl,-h -Wl,"
34          if [ -n "$MAKEFILE_DIR" ]; then
35            for i in $MAKEFILE_DIR; do
36              test -f "$ROOT_DIR/$i/makefile".in && echo "DSO_LIB_VERSION = $DSO_LIB_VERSION" >> "$i/makefile"
37            done
38          fi
39          rm tests/libtest$EXEC_END
40      fi
41    fi
42    if [ -z "$DSO_LIB_VERSION" ] ; then
43          DSO_LIB_VERSION="-L"
44    fi
45    echo_="dso link option: $DSO_LIB_VERSION"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
46fi
47
48if [ -n "$OPENMP_LINKING" ] && [ $OPENMP_LINKING -gt 0 ]; then
49      libname="`pwd`/tests/libtest$SO$LIBEXT"
50      test -f $libname && rm -f $libname
51      $CC $CFLAGS -fopenmp $LINK_FLAGS_DYNAMIC $DSO_LIB_VERSION$libname -I$includedir $ROOT_DIR/tests/openmp.c $LDFLAGS -L$libdir -o $libname 2>/dev/null
52      if [ -f $libname ]; then
53        $CC $CFLAGS -fopenmp -I$includedir $ROOT_DIR/tests/openmp_main.c $LDFLAGS -L$libdir $libname -o tests/openmp 2>/dev/null
54        test -f tests/openmp && (echo_=`tests/openmp`; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_")
55
56        if [ $? = 0 ]; then
57          HAVE_OPENMP=1
58          echo_="OpenMP dynamic linking: yes"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
59          echo "#define HAVE_OPENMP 1" >> $CONF_H
60          if [ -n "$MAKEFILE_DIR" ]; then
61            for i in $MAKEFILE_DIR; do
62              test -f "$ROOT_DIR/$i/makefile".in && echo "OPENMP = -fopenmp" >> "$i/makefile"
63            done
64          fi
65          rm tests/openmp
66        fi
67        test -f $libname && rm $libname
68      else
69        echo_="    could not create $libname"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
70      fi
71    if [ -z "$HAVE_OPENMP" ] ; then
72      echo_="OpenMP dynamic linking: no"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
73    fi
74fi
75
76# let it affect all other tests
77if [ -n "$LIBS" ] && [ $LIBS -gt 0 ]; then
78  if [ -n "$LIBS_TEST" ]; then
79    for l in $LIBS_TEST; do
80      rm -f tests/libtest$EXEC_END
81      $CXX $CFLAGS -I$includedir $ROOT_DIR/tests/lib_test.cxx $LDFLAGS -L$libdir -l$l -o tests/libtest 2>/dev/null
82      if [ -f tests/libtest ]; then
83          echo "$l=-l$l" >> "$CONF_TEMP_SH"
84          LDFLAGS="$LDFLAGS -l$l"
85          echo "#define HAVE_$l 1" >> $CONF_H
86          echo_="lib$l is available"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
87          if [ -n "$MAKEFILE_DIR" ]; then
88            for i in $MAKEFILE_DIR; do
89              test -f "$ROOT_DIR/$i/makefile".in && echo "$l = -l$l" >> "$i/makefile"
90            done
91          fi
92          rm tests/libtest$EXEC_END
93      fi
94    done
95  fi
96fi
97
98if [ -n "$CUPS" ] && [ $CUPS -gt 0 ]; then
99  rm -f tests/libtest$EXEC_END
100  $CXX $CFLAGS -I$includedir $ROOT_DIR/tests/cups_test.cxx $LDFLAGS -L$libdir -lcups -o tests/libtest 2>>$CONF_LOG
101    if [ -f tests/libtest ]; then
102      echo_="`tests/libtest`           detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
103      echo "#define HAVE_CUPS 1" >> $CONF_H
104      echo "CUPS = 1" >> $CONF
105      rm tests/libtest$EXEC_END
106    else
107      echo_="no or too old CUPS print spooler found,"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
108      echo_="  download: http://www.cups.org"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
109    fi
110fi
111
112
113if [ -n "$SANE" ] && [ $SANE -gt 0 ]; then
114  rm -f tests/libtest$EXEC_END
115  $CXX $CFLAGS -I$includedir $ROOT_DIR/tests/sane_test.cxx $LDFLAGS -L$libdir -lsane -o tests/libtest 2>>$CONF_LOG
116    if [ -f tests/libtest ]; then
117      tests/libtest > /dev/null
118      if [ $? = 0 ]; then
119        test_ok=0;
120      else
121        test_ok=1;
122      fi
123      echo_="`tests/libtest`         detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
124      if [ $test_ok = 0 ]; then
125        echo "#define HAVE_SANE 1" >> $CONF_H
126        echo "SANE = 1" >> $CONF
127      else
128      echo_="SANE will not be used!"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
129      fi
130      rm tests/libtest$EXEC_END
131    else
132      echo_="no or too old SANE scanner support library found,"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
133      echo_="  download: http://www.sane-project.org"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
134    fi
135fi
136
137
138if [ -n "$ELEKTRA" ] && [ "$ELEKTRA" -gt "0" ]; then
139  if [ -z "$elektra_min" ]; then
140    elektra_min="0.7"
141  fi
142  if [ -z "$elektra_max" ]; then
143    elektra_max="0.7.100"
144  fi
145  if [ -z "$ELEKTRA_FOUND" ]; then
146    elektra_mod=`pkg-config --modversion elektra`
147  fi
148  if [ $? = 0 ] && [ -z "$ELEKTRA_FOUND" ]; then
149    pkg-config  --atleast-version=$elektra_min elektra 2>>$CONF_LOG
150    if [ $? = 0 ]; then
151      pkg-config --max-version=$elektra_max elektra 2>>$CONF_LOG
152      if [ $? = 0 ]; then
153        echo_="elektra	`pkg-config --modversion elektra`		detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
154        echo "#define HAVE_ELEKTRA 1" >> $CONF_H
155        echo "ELEKTRA = 1" >> $CONF
156        echo "ELEKTRA_H = `pkg-config --cflags elektra`" >> $CONF
157        if [ $elektra_mod = "0.6.4" ]; then
158          echo "ELEKTRA_LIBS = `pkg-config --libs elektra` -lxml2 -ldb" >> $CONF
159        else
160          echo "ELEKTRA_LIBS = `pkg-config --libs elektra`" >> $CONF
161        fi
162        echo "ELEKTRA_SW = `pkg-config --cflags-only-I  elektra | sed 's/\-I// ; s%/include%/etc/kdb/%'`" >> $CONF
163        ELEKTRA_FOUND=1
164      else
165        if [ $ELEKTRA -eq 1 ]; then
166          ERROR=1
167          echo_="!!! Elektra: !!!"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
168        else
169          echo_="    Elektra:"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
170        fi
171        echo_="  too new Elektra found,"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
172        echo_="  need a version not greater than $elektra_max, download: elektra.sf.net"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
173      fi
174    else
175      ELEKTRA_NOT_FOUND=1
176    fi
177  else
178    ELEKTRA_NOT_FOUND=1
179  fi
180  if [ -z "$ELEKTRA_FOUND" ]; then
181    echo_="$elektra_mod"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
182    if [ $ELEKTRA -eq 1 ]; then
183      ERROR=1
184    fi
185    if [ -n "$ELEKTRA_NOT_FOUND" ]; then
186      if [ $ELEKTRA -eq 1 ]; then
187        echo_="!!! ERROR Elektra: !!!"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
188        ERROR=1
189      else
190        echo_="    Warning Elektra:"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
191        WARNING=1
192      fi
193      echo_="  no or too old elektra found,"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
194      echo_="  need at least version $elektra_min, download: elektra.sf.net"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
195    fi
196  fi
197fi
198
199if [ -n "$ARGYLL" ] && [ "$ARGYLL" -gt "0" ]; then
200  if [ -z "$argyll_min" ]; then
201    argyll_min="0.60"
202  fi
203  if [ -z "$argyll_max" ]; then
204    argyll_max="0.61"
205  fi
206  if [ "$internalargyll" != "no" ]; then
207   if [ -d $ARGYLL_VERSION ]; then
208    if [ `ls $ARGYLL_VERSION | grep Readme.txt | wc -l` -gt 0 ]; then
209     echo_="local copy of argyll    detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
210        echo "#define HAVE_ARGYLL 1" >> $CONF_H
211        echo "ARGYLL = 1" >> $CONF
212        echo "ARGYLL_VERSION = $ARGYLL_VERSION" >> $CONF
213        echo "ARGYLL_H = -DUSE_ARGYLL -I\$(ARGYLL_VERSION) -I\$(ARGYLL_VERSION)/icc -I\$(ARGYLL_VERSION)/gamut -I\$(ARGYLL_VERSION)/numlib -I\$(ARGYLL_VERSION)/xicc -I\$(ARGYLL_VERSION)/cgats -I\$(ARGYLL_VERSION)/rspl -I\$(ARGYLL_VERSION)/spectro" >> $CONF
214        echo "ARGYLL_LIBS = \$(ARGYLL_VERSION)/gamut/.libs/libargyllgamut.a \$(ARGYLL_VERSION)/xicc/.libs/libargyllxicc.a \$(ARGYLL_VERSION)/cgats/.libs/libcgats.a \$(ARGYLL_VERSION)/icc/.libs/libicc.a \$(ARGYLL_VERSION)/rspl/.libs/libargyllrspl.a \$(ARGYLL_VERSION)/numlib/.libs/libargyllnum.a" >> $CONF
215        ARGYLL_FOUND=1
216    fi
217   fi
218  fi
219  if [ -z "$ARGYLL_FOUND" ]; then
220    argyll_mod=`pkg-config --modversion argyll 2>>$CONF_LOG`
221  fi
222  if [ $? = 0 ] && [ -z "$ARGYLL_FOUND" ]; then
223    pkg-config  --atleast-version=$argyll_min argyll 2>>$CONF_LOG
224    if [ $? = 0 ]; then
225      pkg-config --max-version=$argyll_max argyll 2>>$CONF_LOG
226      if [ $? = 0 ]; then
227        echo_="argyll `pkg-config --modversion argyll`           detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
228        echo "#define HAVE_ARGYLL 1" >> $CONF_H
229        echo "ARGYLL = 1" >> $CONF
230        echo "ARGYLL_H = `pkg-config --cflags argyll`" >> $CONF
231        if [ $argyll_mod = "0.6.4" ]; then
232          echo "ARGYLL_LIBS = `pkg-config --libs argyll` -lxml2 -ldb" >> $CONF
233        else
234          echo "ARGYLL_LIBS = `pkg-config --libs argyll`" >> $CONF
235        fi
236        ARGYLL_FOUND=1
237      else
238        if [ $ARGYLL -eq 1 ]; then
239#          ERROR=1
240#          test -n "$ECHO" && $ECHO "!!! Argyll: !!!"
241#        else
242          echo_="    Argyll:"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
243        fi
244        echo_="  too new Argyll found,"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
245        echo_="  need a version not greater than $argyll_max, download: www.argyllcms.com"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
246      fi
247    else
248      if [ $ARGYLL -eq 1 ]; then
249#        test -n "$ECHO" && $ECHO "!!! ERROR Argyll: !!!"
250#        ERROR=1
251#      else
252        echo_="    Warning Argyll:"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
253        WARNING=1
254      fi
255      echo_="  no or too old argyll found,"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
256      echo_="  need at least version $argyll_min, download: www.argyllcms.com"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
257    fi
258  fi
259  if [ -z "$ARGYLL_FOUND" ]; then
260      echo_="$argyll_mod"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
261#      if [ $ARGYLL -eq 1 ]; then
262#        ERROR=1
263#      fi
264  fi
265fi
266
267if [ -n "$OYRANOS" ] && [ "$OYRANOS" != "0" ]; then
268  OY_=`oyranos-config 2>>$CONF_LOG`
269  if [ $? = 0 ]; then
270    echo_="Oyranos	`oyranos-config --version`		detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
271    echo "#define HAVE_OY 1" >> $CONF_H
272    echo "OY = 1" >> $CONF
273    echo "OYRANOS_H = `oyranos-config --cflags`" >> $CONF
274    if [ -f /usr/X11R6/include/X11/extensions/xf86vmode.h ]; then
275      echo "OYRANOS_LIBS = `oyranos-config --ldflags`" >> $CONF
276    else
277      echo "OYRANOS_LIBS = `oyranos-config --ldflags`" >> $CONF
278    fi
279  else
280    if [ $OYRANOS -eq 1 ]; then
281      echo_="!!! ERROR: no or too old Oyranos found, !!!"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
282      ERROR=1
283    else
284      echo_="no Oyranos found"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
285    fi
286  fi
287fi
288
289if [ -n "$LIBXML2" ] && [ $LIBXML2 -gt 0 ]; then
290  name="libxml-2.0"
291  minversion=2
292  version=`pkg-config --modversion $name`
293  url="http://xmlsoft.org"
294  HAVE_LIB=0
295  ID=LIBXML2
296  ID_H="$ID"_H
297  ID_LIBS="$ID"_LIBS
298  pkg-config  --atleast-version=$minversion $name
299  if [ $? = 0 ]; then
300    HAVE_LIB=1
301    echo "#define HAVE_$ID 1" >> $CONF_H
302    echo "$ID = 1" >> $CONF
303    echo "$ID_H = `pkg-config --cflags $name | sed \"$STRIPOPT\"`" >> $CONF
304    echo "$ID_LIBS = `pkg-config --libs $name | sed \"$STRIPOPT\"`" >> $CONF
305  else
306    l=xml2
307    rm -f tests/libtest$EXEC_END
308    $CXX $CFLAGS -I$includedir $ROOT_DIR/tests/lib_test.cxx $LDFLAGS -L/usr/X11R6/lib$BARCH -L/usr/lib$BARCH -L$libdir -l$l -o tests/libtest 2>/dev/null
309    if [ -f tests/libtest ]; then
310      HAVE_LIBXML2=1
311      echo "#define HAVE_$ID 1" >> $CONF_H
312      echo "$ID = 1" >> $CONF
313      echo "$ID_H =" >> $CONF
314      echo "$ID_LIBS = -l$l" >> $CONF
315      rm tests/libtest$EXEC_END
316    fi
317  fi
318  if [ $HAVE_LIB -ne 0 ]; then
319    if [ -n $version ]; then
320      echo_="libxml	$version		detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
321    else
322      echo_="libxml-2.0              detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
323    fi
324  else
325    if [ $LIBXML2 -eq 1 ]; then
326      echo_="!!! ERROR: no or too old $name found, !!!"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
327      ERROR=1
328    else
329      echo_="    Warning: no or too old $name found,"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
330      WARNING=1
331    fi
332    echo_="  need at least version $minversion, download: $url"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
333  fi
334fi
335
336if [ -n "$LCMS" ] && [ $LCMS -gt 0 ]; then
337  name="lcms"
338  libname=$name
339  minversion=1.14
340  url="http://www.littlecms.com"
341  TESTER=$LCMS
342  ID=LCMS
343
344  ID_H="$ID"_H
345  ID_LIBS="$ID"_LIBS
346  HAVE_LIB=0
347  version=`pkg-config --modversion $name`
348  pkg-config  --atleast-version=$minversion $name
349  if [ $? = 0 ]; then
350    HAVE_LIB=1
351    echo "#define HAVE_$ID 1" >> $CONF_H
352    echo "$ID = 1" >> $CONF
353    echo "$ID_H = `pkg-config --cflags $name | sed \"$STRIPOPT\"`" >> $CONF
354    echo "$ID_LIBS = `pkg-config --libs $name | sed \"$STRIPOPT\"`" >> $CONF
355  else
356    l=$libname
357    rm -f tests/libtest$EXEC_END
358    $CXX $CFLAGS -I$includedir $ROOT_DIR/tests/lib_test.cxx $LDFLAGS -L/usr/X11R6/lib$BARCH -L/usr/lib$BARCH -L$libdir -l$l -o tests/libtest 2>/dev/null
359    if [ -f tests/libtest ]; then
360      HAVE_LIB=1
361      echo "#define HAVE_$ID 1" >> $CONF_H
362      echo "$ID = 1" >> $CONF
363      echo "$ID_H =" >> $CONF
364      echo "$ID_LIBS = -l$l" >> $CONF
365      rm tests/libtest$EXEC_END
366    fi
367  fi
368  if [ $HAVE_LIB -ne 0 ]; then
369    if [ -n $version ]; then
370      echo_="$name	$version		detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
371    else
372      echo_="$name                    detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
373    fi
374  else
375    if [ $TESTER -eq 1 ]; then
376      echo_="!!! ERROR: no or too old $name found, !!!"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
377      ERROR=1
378    else
379      echo_="    Warning: no or too old $name found,"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
380      WARNING=1
381    fi
382    echo_="  need at least version $minversion, download: $url"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
383  fi
384fi
385
386if [ -n "$LCMS2" ] && [ $LCMS2 -gt 0 ]; then
387  name="lcms2"
388  libname=$name
389  minversion=2.0
390  url="http://www.littlecms.com"
391  TESTER=$LCMS2
392  ID=LCMS2
393
394  ID_H="$ID"_H
395  ID_LIBS="$ID"_LIBS
396  HAVE_LIB=0
397  version=`pkg-config --modversion $name`
398  pkg-config  --atleast-version=$minversion $name
399  if [ $? = 0 ]; then
400    HAVE_LIB=1
401    echo "#define HAVE_$ID 1" >> $CONF_H
402    echo "$ID = 1" >> $CONF
403    echo "$ID_H = `pkg-config --cflags $name | sed \"$STRIPOPT\"`" >> $CONF
404    echo "$ID_LIBS = `pkg-config --libs $name | sed \"$STRIPOPT\"`" >> $CONF
405  else
406    l=$libname
407    rm -f tests/libtest$EXEC_END
408    $CXX $CFLAGS -I$includedir $ROOT_DIR/tests/lib_test.cxx $LDFLAGS -L/usr/X11R6/lib$BARCH -L/usr/lib$BARCH -L$libdir -l$l -o tests/libtest 2>/dev/null
409    if [ -f tests/libtest ]; then
410      HAVE_LIB=1
411      echo "#define HAVE_$ID 1" >> $CONF_H
412      echo "$ID = 1" >> $CONF
413      echo "$ID_H =" >> $CONF
414      echo "$ID_LIBS = -l$l" >> $CONF
415      rm tests/libtest$EXEC_END
416    fi
417  fi
418  if [ $HAVE_LIB -ne 0 ]; then
419    if [ -n $version ]; then
420      echo_="$name	$version		detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
421    else
422      echo_="$name                    detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
423    fi
424  else
425    if [ $TESTER -eq 1 ]; then
426      echo_="!!! ERROR: no or too old $name found, !!!"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
427      ERROR=1
428    else
429      echo_="    Warning: no or too old $name found,"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
430      WARNING=1
431    fi
432    echo_="  need at least version $minversion, download: $url"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
433  fi
434fi
435
436if [ -n "$LRAW" ] && [ $LRAW -gt 0 ]; then
437  name="raw"
438  libname=$name
439  minversion=0.7
440  url="http://www.libraw.org"
441  TESTER=$LRAW
442  ID=LRAW
443
444  ID_H="$ID"_H
445  ID_LIBS="$ID"_LIBS
446  HAVE_LIB=0
447  version=`pkg-config --modversion $name`
448  pkg-config  --atleast-version=$minversion $name
449  if [ $? = 0 ]; then
450    HAVE_LIB=1
451    echo "#define HAVE_$ID 1" >> $CONF_H
452    echo "$ID = 1" >> $CONF
453    echo "$ID_H = `pkg-config --cflags $name | sed \"$STRIPOPT\"`" >> $CONF
454    echo "$ID_LIBS = `pkg-config --libs $name | sed \"$STRIPOPT\"`" >> $CONF
455  else
456    l=$libname
457    rm -f tests/libtest$EXEC_END
458    $CXX $CXXFLAGS -I$includedir $ROOT_DIR/tests/lib_test.cxx $LDFLAGS -L/usr/X11R6/lib$BARCH -L/usr/lib$BARCH -L$libdir -l$l -o tests/libtest 2>/dev/null
459    if [ -f tests/libtest ]; then
460      HAVE_LIB=1
461      echo "#define HAVE_$ID 1" >> $CONF_H
462      echo "$ID = 1" >> $CONF
463      echo "$ID_H = -I$includedir" >> $CONF
464      echo "$ID_LIBS =  -L/usr/lib$BARCH -L$libdir -l$l" >> $CONF
465      rm tests/libtest$EXEC_END
466    fi
467  fi
468  if [ $HAVE_LIB -eq 1 ]; then
469    if [ "$version" != "" ]; then
470      echo_="$name $version           detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
471    else
472      echo_="lib$name                  detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
473    fi
474  else
475    if [ $TESTER -eq 1 ]; then
476      echo_="!!! ERROR: no or too old $name found, !!!"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
477      ERROR=1
478    else
479      echo_="    Warning: no or too old $name found,"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
480      WARNING=1
481    fi
482    echo_="  need at least version $minversion, download: $url"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
483  fi
484fi
485
486if [ -n "$X11" ] && [ $X11 -gt 0 ]; then
487    found=""
488    version=""
489    pc_package=x11
490    if [ -z "$found" ]; then
491      pkg-config  --atleast-version=1.0 $pc_package
492      if [ $? = 0 ]; then
493        found=`pkg-config --cflags $pc_package`
494        version=`pkg-config --modversion $pc_package`
495      fi
496    fi
497    if [ -z "$found" ]; then
498      if [ -f /usr/X11R6/include/X11/Xlib.h ]; then
499        found="-I/usr/X11R6/include"
500      elif [ -f /usr/include/X11/Xlib.h ]; then
501        found="-I/usr/include"
502      elif [ -f $includedir/X11/Xlib.h ]; then
503        found="-I$includedir"
504      fi
505    fi
506    if [ -z "$found" ] && [ $OSUNAME = "Linux" ]; then
507      echo_="X11 header not found in /usr/X11R6/include/X11/Xlib.h or"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
508      echo_="  /usr/include/X11/Xlib.h or"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
509      echo_="  $pc_package.pc"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
510      X11=0
511    fi
512fi
513if [ -n "$X11" ] && [ $X11 -gt 0 ]; then
514  if [ -n "$XCM" ] && [ $XCM -gt 0 ]; then
515    found=""
516    version=""
517    pc_package=xcm
518    if [ -z "$found" ]; then
519      pkg-config  --atleast-version=0.2 $pc_package
520      if [ $? = 0 ]; then
521        found=`pkg-config --cflags $pc_package`
522        version=`pkg-config --modversion $pc_package`
523      fi
524    fi
525    if [ -n "$found" ]; then
526      if [ -n "$version" ]; then
527        echo_="X CM $version              detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
528      else
529        echo_="X CM                    detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
530      fi
531      echo "#define HAVE_XCM 1" >> $CONF_H
532      if [ -n "$MAKEFILE_DIR" ]; then
533        for i in $MAKEFILE_DIR; do
534          test -f "$ROOT_DIR/$i/makefile".in && echo "XCM = 1" >> "$i/makefile"
535          test -f "$ROOT_DIR/$i/makefile".in && echo "XCM_H = $found" >> "$i/makefile"
536        done
537      fi
538    elif [ $OSUNAME = "Linux" ]; then
539      echo_="X CM not found in"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
540      echo_="  $pc_package.pc"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
541    fi
542  fi
543
544  if [ -n "$XF86VMODE" ] && [ $XF86VMODE -gt 0 ]; then
545    found=""
546    version=""
547    pc_package=xf86vidmodeproto
548    if [ -z "$found" ]; then
549      pkg-config  --atleast-version=1.0 $pc_package
550      if [ $? = 0 ]; then
551        found=`pkg-config --cflags $pc_package`
552        version=`pkg-config --modversion $pc_package`
553      fi
554    fi
555    if [ -z "$found" ]; then
556      if [ -f /usr/X11R6/include/X11/extensions/xf86vmode.h ]; then
557        found="-I/usr/X11R6/include"
558      elif [ -f /usr/include/X11/extensions/xf86vmode.h ]; then
559        found="-I/usr/include"
560      elif [ -f $includedir/X11/extensions/xf86vmode.h ]; then
561        found="-I$includedir"
562      fi
563    fi
564    if [ -n "$found" ]; then
565      if [ -n "$version" ]; then
566        echo_="X VidMode $version         detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
567      else
568        echo_="X VidMode               detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
569      fi
570      echo "#define HAVE_XF86VMODE 1" >> $CONF_H
571      if [ -n "$MAKEFILE_DIR" ]; then
572        for i in $MAKEFILE_DIR; do
573          test -f "$ROOT_DIR/$i/makefile".in && echo "XF86VMODE = 1" >> "$i/makefile"
574          test -f "$ROOT_DIR/$i/makefile".in && echo "XF86VMODE_INC = $found" >> "$i/makefile"
575        done
576      fi
577    elif [ $OSUNAME = "Linux" ]; then
578      echo_="X VidMode extension not found in /usr/X11R6/include/X11/extensions/xf86vmode.h or"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
579      echo_="  /usr/include/X11/extensions/xf86vmode.h or"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
580      echo_="  $pc_package.pc"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
581    fi
582  fi
583
584  if [ -n "$XINERAMA" ] && [ $XINERAMA -gt 0 ]; then
585    found=""
586    version=""
587    pc_package=xinerama
588    if [ -z "$found" ]; then
589      pkg-config  --atleast-version=1.0 $pc_package
590      if [ $? = 0 ]; then
591        found=`pkg-config --cflags $pc_package`
592        version=`pkg-config --modversion $pc_package`
593      fi
594    fi
595    if [ -z "$found" ]; then
596      if [ -f /usr/X11R6/include/X11/extensions/Xinerama.h ]; then
597        found="-I/usr/X11R6/include"
598      elif [ -f /usr/include/X11/extensions/Xinerama.h ]; then
599        found="-I/usr/include"
600      elif [ -f $includedir/X11/extensions/Xinerama.h ]; then
601        found="-I$includedir"
602      fi
603    fi
604    if [ -n "$found" ]; then
605      if [ -n "$version" ]; then
606        echo_="X Xinerama $version        detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
607      else
608        echo_="X Xinerama              detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
609      fi
610      echo "#define HAVE_XIN 1" >> $CONF_H
611      if [ -n "$MAKEFILE_DIR" ]; then
612        for i in $MAKEFILE_DIR; do
613          test -f "$ROOT_DIR/$i/makefile".in && echo "XIN = 1" >> "$i/makefile"
614          test -f "$ROOT_DIR/$i/makefile".in && echo "XINERAMA_INC = $found" >> "$i/makefile"
615        done
616      fi
617    elif [ $OSUNAME = "Linux" ]; then
618        echo_="X Xinerama not found in /usr/X11R6/include/X11/extensions/Xinerama.h or"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
619        echo_="  /usr/include/X11/extensions/Xinerama.h or"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
620        echo_="  $pc_package.pc"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
621    fi
622  fi
623
624  if [ -n "$XRANDR" ] && [ $XRANDR -gt 0 ]; then
625    found=""
626    version=""
627    pc_package=xrandr
628    if [ -z "$found" ]; then
629      pkg-config  --atleast-version=1.2 $pc_package
630      if [ $? = 0 ]; then
631        found=`pkg-config --cflags $pc_package`
632        version=`pkg-config --modversion $pc_package`
633      fi
634    fi
635    if [ -n "$found" ]; then
636      if [ -n "$version" ]; then
637        echo_="X Xrandr $version          detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
638      else
639        echo_="X Xrandr                detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
640      fi
641      echo "#define HAVE_XRANDR 1" >> $CONF_H
642      if [ -n "$MAKEFILE_DIR" ]; then
643        for i in $MAKEFILE_DIR; do
644          test -f "$ROOT_DIR/$i/makefile".in && echo "XRANDR = 1" >> "$i/makefile"
645          test -f "$ROOT_DIR/$i/makefile".in && echo "XRANDR_INC = $found" >> "$i/makefile"
646        done
647      fi
648    elif [ $OSUNAME = "Linux" ]; then
649      pkg-config  --atleast-version=1.0 $pc_package
650      if [ $? = 0 ]; then
651        version=`pkg-config --modversion $pc_package`
652      fi
653      if [ -n "$version" ]; then
654        echo_="X Xrandr $version          detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
655      fi
656      echo_="X Xrandr not sufficiently found in $pc_package.pc"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
657    fi
658  fi
659
660
661  if [ -n "$GLU" ] && [ $GLU -gt 0 ]; then
662    name="glu"
663    libname=$name
664    minversion=1.0
665    url="http://www.x.org"
666    TESTER=$GLU
667    ID=GLU
668
669    ID_H="$ID"_H
670    ID_LIBS="$ID"_LIBS
671    HAVE_LIB=0
672    version=`pkg-config --modversion $name`
673    pkg-config  --atleast-version=$minversion $name
674    if [ $? = 0 ]; then
675      HAVE_LIB=1
676      echo "#define HAVE_$ID 1" >> $CONF_H
677      echo "$ID = 1" >> $CONF
678      echo "$ID_H = `pkg-config --cflags $name | sed \"$STRIPOPT\"`" >> $CONF
679      echo "$ID_LIBS = `pkg-config --libs $name | sed \"$STRIPOPT\"`" >> $CONF
680    else
681      l=$libname
682      rm -f tests/libtest$EXEC_END
683      $CXX $CXXFLAGS -I$includedir $ROOT_DIR/tests/lib_test.cxx $LDFLAGS -L/usr/X11R6/lib$BARCH -L/usr/lib$BARCH -L$libdir -l$l -o tests/libtest 2>/dev/null
684      if [ -f tests/libtest ]; then
685        HAVE_LIB=1
686        echo "#define HAVE_$ID 1" >> $CONF_H
687        echo "$ID = 1" >> $CONF
688        echo "$ID_H = -I$includedir" >> $CONF
689        echo "$ID_LIBS =  -L/usr/lib$BARCH -L$libdir -l$l" >> $CONF
690        rm tests/libtest$EXEC_END
691      fi
692    fi
693    if [ $HAVE_LIB -eq 1 ]; then
694      if [ "$version" != "" ]; then
695        echo_="$name	$version		detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
696      else
697        echo_="lib$name                  detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
698      fi
699    else
700      if [ $TESTER -eq 1 ]; then
701        echo_="!!! ERROR: no or too old $name found, !!!"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
702        ERROR=1
703      else
704        echo_="    Warning: no or too old $name found,"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
705        WARNING=1
706      fi
707      echo_="  need at least version $minversion, download: $url"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
708    fi
709  fi
710
711
712  echo "X_CPP = \$(X_CPPFILES)" >> $CONF
713  if [ -n "$MAKEFILE_DIR" ]; then
714    for i in $MAKEFILE_DIR; do
715      test -f "$ROOT_DIR/$i/makefile".in && echo "X11_LIB_PATH = -L/usr/X11R6/lib\$(BARCH) -L/usr/lib\$(BARCH) -L\$(libdir)" >> "$i/makefile"
716    done
717  fi
718  if [ -n "$CONF_SH" ]; then
719    test -f "$ROOT_DIR/$CONF_SH".in && echo "X11_LIB_PATH=\"-L/usr/X11R6/lib\$BARCH -L/usr/lib\$BARCH -L\$libdir\"" >> "$CONF_SH"
720  fi
721
722  if [ -n "$X_ADD" ]; then
723    for l in $X_ADD; do
724      rm -f tests/libtest$EXEC_END
725      $CXX $CFLAGS -I$includedir $ROOT_DIR/tests/lib_test.cxx $LDFLAGS -L/usr/X11R6/lib$BARCH -L/usr/lib$BARCH -L$libdir -l$l -o tests/libtest 2>/dev/null
726      if [ -f tests/libtest ]; then
727          echo_="lib$l is available"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
728          if [ -z "$X_ADD_LIBS" ]; then
729            X_ADD_LIBS="-l$l"
730          else
731            X_ADD_LIBS="$X_ADD_LIBS -l$l"
732          fi
733          echo "#define HAVE_$l 1"  >> $CONF_H
734          # Test if we need to link explicitely, possibly symbols are included
735          if [ $OSUNAME = "Darwin" ]; then
736            if [ -n "`otool -L tests/libtest | grep $l`" ]; then
737              echo "$l=-l$l" >> "$CONF_TEMP_SH"
738            fi
739          else
740            if [ -n "`ldd tests/libtest | grep $l`" ]; then
741              echo "$l=-l$l" >> "$CONF_TEMP_SH"
742            fi
743          fi
744          rm tests/libtest$EXEC_END
745      else
746        echo_="lib$l is missed"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
747      fi
748    done
749  fi
750  if [ -n "$X_ADD_2" ]; then
751    for l in $X_ADD_2; do
752      rm -f tests/libtest$EXEC_END
753      $CXX $CFLAGS -I$includedir $ROOT_DIR/tests/lib_test.cxx $LDFLAGS -L/usr/X11R6/lib$BARCH -L/usr/lib$BARCH -L$libdir -l$l -o tests/libtest 2>/dev/null
754      if [ -f tests/libtest ]; then
755          echo_="lib$l is available"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
756          if [ -z "$X_ADD_LIBS" ]; then
757            X_ADD_LIBS="-l$l"
758          else
759            X_ADD_LIBS="$X_ADD_LIBS -l$l"
760          fi
761          echo "#define HAVE_$l 1"  >> $CONF_H
762          echo "$l=-l$l" >> "$CONF_TEMP_SH"
763          rm tests/libtest$EXEC_END
764      else
765        if [ $X11 -eq 1 ]; then
766          echo_="!!! ERROR lib$l is missed"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
767          ERROR=1
768        else
769          echo_="lib$l is missed"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
770        fi
771      fi
772    done
773  fi
774  if [ -n "$MAKEFILE_DIR" ]; then
775    for i in $MAKEFILE_DIR; do
776      test -f "$ROOT_DIR/$i/makefile".in && echo "X11_INCL=\$(XF86VMODE_INC) \$(XINERAMA_INC) \$(XRANDR_INC)" >> "$i/makefile"
777      test -f "$ROOT_DIR/$i/makefile".in && echo "X11_LIBS=\$(X11_LIB_PATH) -lX11 $X_ADD_LIBS" >> "$i/makefile"
778    done
779  fi
780fi
781if [ -n "$X11" ] && [ $X11 -gt 0 ]; then
782    found=""
783    version=""
784    pc_package=x11
785    if [ -z "$found" ]; then
786      pkg-config  --atleast-version=1.0 $pc_package
787      if [ $? = 0 ]; then
788        found=`pkg-config --cflags $pc_package`
789        version=`pkg-config --modversion $pc_package`
790      fi
791    fi
792    if [ -z "$found" ]; then
793      if [ -f /usr/X11R6/include/X11/Xlib.h ]; then
794        found="-I/usr/X11R6/include"
795      elif [ -f /usr/include/X11/Xlib.h ]; then
796        found="-I/usr/include"
797      elif [ -f $includedir/X11/Xlib.h ]; then
798        found="-I$includedir"
799      fi
800    fi
801    if [ -n "$found" ]; then
802      if [ -n "$version" ]; then
803        echo_="X11	$version		detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
804      else
805        echo_="X11                     detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
806      fi
807      echo "#define HAVE_X 1" >> $CONF_H
808      if [ -n "$MAKEFILE_DIR" ]; then
809        for i in $MAKEFILE_DIR; do
810          test -f "$ROOT_DIR/$i/makefile".in && echo "X11 = X11" >> "$i/makefile"
811          test -f "$ROOT_DIR/$i/makefile".in && echo "X_H = -I/usr/X11R6/include -I/usr/include $found \$(X11_INCL)" >> "$i/makefile"
812        done
813      fi
814    elif [ $OSUNAME = "Linux" ]; then
815      echo_="X11 header not found in /usr/X11R6/include/X11/Xlib.h or"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
816      echo_="  /usr/include/X11/Xlib.h or"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
817      echo_="  $pc_package.pc"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
818      X11=0
819    fi
820fi
821
822if [ -n "$FTGL" ] && [ $FTGL -gt 0 ]; then
823  pkg-config  --atleast-version=1.0 ftgl
824  if [ $? = 0 ]; then
825    echo_="FTGL	`pkg-config --modversion ftgl`		detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
826    echo "#define HAVE_FTGL 1" >> $CONF_H
827    echo "FTGL = 1" >> $CONF
828    echo "FTGL_H = `pkg-config --cflags ftgl | sed \"$STRIPOPT\"`" >> $CONF
829    echo "FTGL_LIBS = `pkg-config --libs ftgl | sed \"$STRIPOPT\"`" >> $CONF
830  else
831    l=ftgl
832    rm -f tests/libtest$EXEC_END
833    $CXX $CFLAGS -I$includedir $ROOT_DIR/tests/lib_test.cxx $LDFLAGS -L/usr/X11R6/lib$BARCH -L/usr/lib$BARCH -L$libdir -l$l -o tests/libtest 2>/dev/null
834    if [ -f tests/libtest ]; then
835      echo_="FTGL                    detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
836      echo "#define HAVE_FTGL 1" >> $CONF_H
837      echo "FTGL = 1" >> $CONF
838      echo "FTGL_H =" >> $CONF
839      echo "FTGL_LIBS = -lftgl -lfreetype" >> $CONF
840      rm tests/libtest$EXEC_END
841    else
842      echo_="  no or too old FTGL found, need FTGL to render text in OpenGL"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
843    fi
844  fi
845fi
846
847if [ -n "$FLTK" ] && [ $FLTK -gt 0 ]; then
848  if [ -z "$fltkconfig" ]; then
849    # add /usr/X11R6/bin to path for Fedora
850    fltkconfig=fltk-config
851    PATH=$PATH:/usr/X11R6/bin; export PATH
852    echo_="add fltk-config"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
853  fi
854
855  FLTK_="`$fltkconfig --api-version 2>>$CONF_LOG | sed \"$STRIPOPT\"`"
856  if [ $? = 0 ] && [ -n "$FLTK_" ]; then
857    # check for utf-8 capability in version 1.3 and higher
858    if [ "1.1" != `$fltkconfig --api-version` ] && [ "1.0" != `$fltkconfig --api-version` ]; then
859      echo "#define HAVE_FLTK_UTF8 1" >> $CONF_H
860      echo "HAVE_FLTK_UTF8 = -DHAVE_FLTK_UTF8" >> $CONF_I18N
861      fltk_utf8="utf-8 `$fltkconfig --version`"
862    else
863      fltk_utf8="`$fltkconfig --version`      "
864    fi
865    echo_="FLTK	$fltk_utf8	detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
866    if [ "0" -ne "`$fltkconfig --compile tests/fltk_test.cxx 2>&1 | grep lock | wc -l`" ]; then
867      echo_="!!! ERROR: FLTK has no threads support !!!"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
868      echo_="           Configure FLTK with the --enable-threads option and recompile."; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
869      $fltkconfig --compile $ROOT_DIR/tests/fltk_test.cxx 1>> $CONF_LOG 2>> $CONF_LOG
870      ERROR=1
871    else
872      test -f fltk_test$EXEC_END && rm fltk_test$EXEC_END || rm fltk-test$EXEC_END
873    fi
874    if [ -z "$fltkldflags" ]; then
875      fltkldflags="--ldflags"
876    fi
877    echo "#define HAVE_FLTK 1" >> $CONF_H
878    echo "FLTK = 1" >> $CONF
879    echo "FLTK_H = `$fltkconfig --cxxflags | sed \"$STRIPOPT\"`" >> $CONF
880    echo "FLTK_LIBS = `$fltkconfig --use-images --use-gl $fltkldflags | sed \"$STRIPOPT\"`" >> $CONF
881    echo "fltkconfig = $fltkconfig" >> $CONF
882    echo "FLTK = 1" >> $CONF_I18N
883    echo "FLTK_H = `$fltkconfig --cxxflags | sed \"$STRIPOPT\"`" >> $CONF_I18N
884    echo "FLTK_LIBS = `$fltkconfig --use-images --use-gl $fltkldflags | sed \"$STRIPOPT\"`" >> $CONF_I18N
885    echo "fltkconfig = $fltkconfig" >> $CONF_I18N
886
887  else
888    if [ $FLTK -eq 1 ]; then
889      ERROR=1
890      echo_="!!! ERROR !!!"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
891    else
892      echo_="    Warning"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
893      WARNING=1
894    fi
895    echo_="           FLTK ($fltkconfig) is not found; download: www.fltk.org"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
896  fi
897fi
898
899
900if [ -n "$QT" ] && [ $QT -gt 0 ]; then
901  pc_package=QtGui
902  pkg-config  --atleast-version=4.0 $pc_package
903  if [ $? = 0 ]; then
904    echo_="$pc_package	`pkg-config --modversion $pc_package`		detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
905    echo "#define HAVE_QT 1" >> $CONF_H
906    echo "QT = 1" >> $CONF
907    echo "QT_H = `pkg-config --cflags $pc_package | sed \"$STRIPOPT\"`" >> $CONF
908    echo "QT_LIBS = `pkg-config --libs $pc_package | sed \"$STRIPOPT\"`" >> $CONF
909  else
910    echo_="  no or too old $pc_package found, need $pc_package to build examples"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
911  fi
912fi
913
914if [ -n "$CAIRO" ] && [ $CAIRO -gt 0 ]; then
915  pc_package=cairo
916  pkg-config  --atleast-version=1.0 $pc_package
917  if [ $? = 0 ]; then
918    echo_="$pc_package	`pkg-config --modversion $pc_package`		detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
919    echo "#define HAVE_CAIRO 1" >> $CONF_H
920    echo "CAIRO = 1" >> $CONF
921    echo "CAIRO_H = `pkg-config --cflags $pc_package | sed \"$STRIPOPT\"`" >> $CONF
922    echo "CAIRO_LIBS = `pkg-config --libs $pc_package | sed \"$STRIPOPT\"`" >> $CONF
923  else
924    echo_="  no or too old $pc_package found, need $pc_package to build examples"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
925  fi
926fi
927
928if [ -n "$COMPIZ" ] && [ $COMPIZ -gt 0 ]; then
929  pc_package=compiz
930  pkg-config  --atleast-version=0.7 $pc_package
931  if [ $? = 0 ]; then
932    echo_="$pc_package	`pkg-config --modversion $pc_package`		detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
933    echo "#define HAVE_COMPIZ 1" >> $CONF_H
934    echo "COMPIZ = 1" >> $CONF
935    echo "COMPIZ_H = `pkg-config --cflags $pc_package | sed \"$STRIPOPT\"`" >> $CONF
936    echo "COMPIZ_LIBS = `pkg-config --libs $pc_package | sed \"$STRIPOPT\"`" >> $CONF
937  else
938    echo_="  no or too old $pc_package found, need $pc_package to build examples"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
939  fi
940fi
941
942
943if [ -n "$DOXYGEN" ] && [ $DOXYGEN -gt 0 ]; then
944  if [ "`doxygen --help`" != "" ]; then
945    echo_="Doxygen	`doxygen --version`		detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
946  else
947    echo_="Doxygen                 not detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
948  fi
949fi
950
951if [ -n "$LIBPNG" ] && [ $LIBPNG -gt 0 ]; then
952  LIBPNG=libpng
953  pkg-config  --atleast-version=1.0 $LIBPNG 2>>$CONF_LOG
954  if [ $? != 0 ]; then
955    LIBPNG=libpng12
956    pkg-config  --atleast-version=1.0 $LIBPNG 2>>$CONF_LOG
957  fi
958  if [ $? = 0 ]; then
959    echo_="PNG	`pkg-config --modversion $LIBPNG`		detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
960    echo "#define HAVE_PNG 1" >> $CONF_H
961    echo "PNG = 1" >> $CONF
962    echo "PNG_H = `pkg-config --cflags $LIBPNG | sed \"$STRIPOPT\"`" >> $CONF
963    echo "PNG_LIBS = `pkg-config --libs $LIBPNG | sed \"$STRIPOPT\"`" >> $CONF
964  else
965    echo_="no or too old libpng found,"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
966    echo_="  need at least version 1.0, download: www.libpng.org"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
967  fi
968fi
969
970if [ -n "$LIBTIFF" ] && [ $LIBTIFF -gt 0 ]; then
971  rm -f tests/libtest$EXEC_END
972  $CXX $CFLAGS -I$includedir $ROOT_DIR/tests/tiff_test.cxx $LDFLAGS -L$libdir -ltiff -ljpeg -o tests/libtest 2>>$CONF_LOG
973    if [ -f tests/libtest ]; then
974      echo_="`tests/libtest`
975                        detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
976      echo "#define HAVE_TIFF 1" >> $CONF_H
977      echo "TIFF = 1" >> $CONF
978      rm tests/libtest$EXEC_END
979    else
980      echo_="no or too old libtiff found,"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
981    fi
982fi
983
984if [ -n "$GETTEXT" ] && [ $GETTEXT -gt 0 ]; then
985  rm -f tests/libtest$EXEC_END
986    $CXX $CFLAGS -I$includedir $ROOT_DIR/tests/gettext_test.cxx $LDFLAGS -L$libdir -o tests/libtest 2>/dev/null
987    if [ ! -f tests/libtest ]; then
988       echo $CXX $CFLAGS -I$includedir $ROOT_DIR/tests/gettext_test.cxx $LDFLAGS -L$libdir -lintl -o tests/libtest >> $CONF_LOG
989       $CXX $CFLAGS -I$includedir $ROOT_DIR/tests/gettext_test.cxx $LDFLAGS -L$libdir -lintl -o tests/libtest 2>>$CONF_LOG
990    fi
991    if [ -f tests/libtest ]; then
992      echo_="Gettext                 detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
993      echo "#define USE_GETTEXT 1" >> $CONF_H
994      echo "GETTEXT = -DUSE_GETTEXT" >> $CONF
995      echo "GETTEXT = -DUSE_GETTEXT" >> $CONF_I18N
996      rm tests/libtest$EXEC_END
997
998      if [ "`msgcat --help`" != "" ]; then
999        echo_="msgcat                  detected"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
1000      else
1001        echo_="msgcat                  not detected; gettext-dev(el) missed?"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
1002      fi
1003    else
1004      echo_="no or too old Gettext found,"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
1005    fi
1006
1007fi
1008
1009if [ -n "$PO" ] && [ $PO -gt 0 ]; then
1010  pos_dir="`ls $ROOT_DIR/po/*.po 2> /dev/null`"
1011  LING="`echo $pos_dir | sed s%$ROOT_DIR/%%g`"
1012  LINGUAS="`echo $pos_dir | sed s%\.po%%g | sed s%$ROOT_DIR/%%g`"
1013  echo "LINGUAS = $LINGUAS" >> $CONF
1014  echo_="translations available: $LINGUAS"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
1015  echo "LING = $LING" >> $CONF
1016  #echo "#define USE_GETTEXT 1" >> $CONF_H
1017fi
1018
1019if [ -n "$PREPARE_MAKEFILES" ] && [ $PREPARE_MAKEFILES -gt 0 ]; then
1020  if [ -n "$MAKEFILE_DIR" ]; then
1021    for i in $MAKEFILE_DIR; do
1022      echo_="preparing Makefile in $i/"; echo "$echo_" >> $CONF_LOG; test -n "$ECHO" && $ECHO "$echo_"
1023      echo "" >> "$i/makefile"
1024      echo "### End of automatic generated options ###" >> "$i/makefile"
1025      echo "" >> "$i/makefile"
1026      echo "" >> "$i/makefile"
1027      if [ $OSUNAME = "BSD" ]; then
1028        test -f "$ROOT_DIR/$i/makefile".in && cat  "$ROOT_DIR/$i/makefile".in | sed 's/#if/.if/g ; s/#end/.end/g ; s/#else/.else/g '  >> "$i/makefile"
1029      else
1030        test -f "$ROOT_DIR/$i/makefile".in && cat  "$ROOT_DIR/$i/makefile".in | sed 's/#if/if/g ; s/#elif/elif/g ; s/#else/else/g ; s/#end/end/g '  >> "$i/makefile"
1031      fi
1032      mv "$i/makefile" "$i/Makefile"
1033      if [ "$i" != "." ]; then
1034        (cd $i; make clean)
1035      fi
1036    done
1037  fi
1038fi
1039
1040
1041if [ -n "$DEBUG" ] && [ $DEBUG -gt 0 ]; then
1042  if [ -n "$MAKEFILE_DIR" ]; then
1043    for i in $MAKEFILE_DIR; do
1044      if [ "$debug" -eq "1" ]; then
1045        if [ $OSUNAME = "Darwin" ] || [ $OSUNAME = "Windows" ]; then
1046          DEBUG_="-Wall -g -DDEBUG"
1047        else
1048          DEBUG_="-Wall -g -DDEBUG --pedantic"
1049        fi
1050        test -f "$ROOT_DIR/$i/makefile".in && echo "DEBUG = $DEBUG_"  >> "$i/makefile"
1051        test -f "$ROOT_DIR/$i/makefile".in && echo "DEBUG_SWITCH = -v"  >> "$i/makefile"
1052      fi
1053      if [ "$static" = "0" ]; then
1054        test -f "$ROOT_DIR/$i/makefile".in && echo "STATIC = \$(RM)"  >> "$i/makefile"
1055      fi
1056      if [ "$verbose" -eq "0" ]; then
1057        test -f "$ROOT_DIR/$i/makefile".in && echo ".SILENT:"  >> "$i/makefile"
1058        test -f "$ROOT_DIR/$i/makefile".in && echo ""  >> "$i/makefile"
1059      fi
1060    done
1061  fi
1062fi
1063
1064# we cannot reimport, just return
1065if [ "$ERROR" -ne "0" ]; then
1066  echo "error" > error.tmp
1067fi
1068if [ "$WARNING" -ne "0" ]; then
1069  echo "warning" > warning.tmp
1070fi
1071exit $ERROR
1072
1073