aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbootstrap4
-rwxr-xr-xcompile315
-rw-r--r--configure.ac22
-rw-r--r--doc/version.texi2
-rw-r--r--m4/gtk-3.0.m4219
5 files changed, 491 insertions, 71 deletions
diff --git a/bootstrap b/bootstrap
index e219832..435da14 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,7 +1,3 @@
1#!/bin/sh 1#!/bin/sh
2rm -rf libltdl 2rm -rf libltdl
3libtoolize --force
4aclocal
5autoheader
6automake --force-missing --add-missing
7autoreconf -if 3autoreconf -if
diff --git a/compile b/compile
index a81e000..862a14e 100755
--- a/compile
+++ b/compile
@@ -1,9 +1,10 @@
1#! /bin/sh 1#! /bin/sh
2# Wrapper for compilers which do not understand `-c -o'. 2# Wrapper for compilers which do not understand '-c -o'.
3 3
4scriptversion=2003-11-09.00 4scriptversion=2012-03-05.13; # UTC
5 5
6# Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc. 6# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free
7# Software Foundation, Inc.
7# Written by Tom Tromey <tromey@cygnus.com>. 8# Written by Tom Tromey <tromey@cygnus.com>.
8# 9#
9# This program is free software; you can redistribute it and/or modify 10# This program is free software; you can redistribute it and/or modify
@@ -17,8 +18,7 @@ scriptversion=2003-11-09.00
17# GNU General Public License for more details. 18# GNU General Public License for more details.
18# 19#
19# You should have received a copy of the GNU General Public License 20# You should have received a copy of the GNU General Public License
20# along with this program; if not, write to the Free Software 21# along with this program. If not, see <http://www.gnu.org/licenses/>.
21# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 22
23# As a special exception to the GNU General Public License, if you 23# As a special exception to the GNU General Public License, if you
24# distribute this file as part of a program that contains a 24# distribute this file as part of a program that contains a
@@ -29,102 +29,308 @@ scriptversion=2003-11-09.00
29# bugs to <bug-automake@gnu.org> or send patches to 29# bugs to <bug-automake@gnu.org> or send patches to
30# <automake-patches@gnu.org>. 30# <automake-patches@gnu.org>.
31 31
32nl='
33'
34
35# We need space, tab and new line, in precisely that order. Quoting is
36# there to prevent tools from complaining about whitespace usage.
37IFS=" "" $nl"
38
39file_conv=
40
41# func_file_conv build_file lazy
42# Convert a $build file to $host form and store it in $file
43# Currently only supports Windows hosts. If the determined conversion
44# type is listed in (the comma separated) LAZY, no conversion will
45# take place.
46func_file_conv ()
47{
48 file=$1
49 case $file in
50 / | /[!/]*) # absolute file, and not a UNC file
51 if test -z "$file_conv"; then
52 # lazily determine how to convert abs files
53 case `uname -s` in
54 MINGW*)
55 file_conv=mingw
56 ;;
57 CYGWIN*)
58 file_conv=cygwin
59 ;;
60 *)
61 file_conv=wine
62 ;;
63 esac
64 fi
65 case $file_conv/,$2, in
66 *,$file_conv,*)
67 ;;
68 mingw/*)
69 file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
70 ;;
71 cygwin/*)
72 file=`cygpath -m "$file" || echo "$file"`
73 ;;
74 wine/*)
75 file=`winepath -w "$file" || echo "$file"`
76 ;;
77 esac
78 ;;
79 esac
80}
81
82# func_cl_dashL linkdir
83# Make cl look for libraries in LINKDIR
84func_cl_dashL ()
85{
86 func_file_conv "$1"
87 if test -z "$lib_path"; then
88 lib_path=$file
89 else
90 lib_path="$lib_path;$file"
91 fi
92 linker_opts="$linker_opts -LIBPATH:$file"
93}
94
95# func_cl_dashl library
96# Do a library search-path lookup for cl
97func_cl_dashl ()
98{
99 lib=$1
100 found=no
101 save_IFS=$IFS
102 IFS=';'
103 for dir in $lib_path $LIB
104 do
105 IFS=$save_IFS
106 if $shared && test -f "$dir/$lib.dll.lib"; then
107 found=yes
108 lib=$dir/$lib.dll.lib
109 break
110 fi
111 if test -f "$dir/$lib.lib"; then
112 found=yes
113 lib=$dir/$lib.lib
114 break
115 fi
116 done
117 IFS=$save_IFS
118
119 if test "$found" != yes; then
120 lib=$lib.lib
121 fi
122}
123
124# func_cl_wrapper cl arg...
125# Adjust compile command to suit cl
126func_cl_wrapper ()
127{
128 # Assume a capable shell
129 lib_path=
130 shared=:
131 linker_opts=
132 for arg
133 do
134 if test -n "$eat"; then
135 eat=
136 else
137 case $1 in
138 -o)
139 # configure might choose to run compile as 'compile cc -o foo foo.c'.
140 eat=1
141 case $2 in
142 *.o | *.[oO][bB][jJ])
143 func_file_conv "$2"
144 set x "$@" -Fo"$file"
145 shift
146 ;;
147 *)
148 func_file_conv "$2"
149 set x "$@" -Fe"$file"
150 shift
151 ;;
152 esac
153 ;;
154 -I)
155 eat=1
156 func_file_conv "$2" mingw
157 set x "$@" -I"$file"
158 shift
159 ;;
160 -I*)
161 func_file_conv "${1#-I}" mingw
162 set x "$@" -I"$file"
163 shift
164 ;;
165 -l)
166 eat=1
167 func_cl_dashl "$2"
168 set x "$@" "$lib"
169 shift
170 ;;
171 -l*)
172 func_cl_dashl "${1#-l}"
173 set x "$@" "$lib"
174 shift
175 ;;
176 -L)
177 eat=1
178 func_cl_dashL "$2"
179 ;;
180 -L*)
181 func_cl_dashL "${1#-L}"
182 ;;
183 -static)
184 shared=false
185 ;;
186 -Wl,*)
187 arg=${1#-Wl,}
188 save_ifs="$IFS"; IFS=','
189 for flag in $arg; do
190 IFS="$save_ifs"
191 linker_opts="$linker_opts $flag"
192 done
193 IFS="$save_ifs"
194 ;;
195 -Xlinker)
196 eat=1
197 linker_opts="$linker_opts $2"
198 ;;
199 -*)
200 set x "$@" "$1"
201 shift
202 ;;
203 *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
204 func_file_conv "$1"
205 set x "$@" -Tp"$file"
206 shift
207 ;;
208 *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
209 func_file_conv "$1" mingw
210 set x "$@" "$file"
211 shift
212 ;;
213 *)
214 set x "$@" "$1"
215 shift
216 ;;
217 esac
218 fi
219 shift
220 done
221 if test -n "$linker_opts"; then
222 linker_opts="-link$linker_opts"
223 fi
224 exec "$@" $linker_opts
225 exit 1
226}
227
228eat=
229
32case $1 in 230case $1 in
33 '') 231 '')
34 echo "$0: No command. Try \`$0 --help' for more information." 1>&2 232 echo "$0: No command. Try '$0 --help' for more information." 1>&2
35 exit 1; 233 exit 1;
36 ;; 234 ;;
37 -h | --h*) 235 -h | --h*)
38 cat <<\EOF 236 cat <<\EOF
39Usage: compile [--help] [--version] PROGRAM [ARGS] 237Usage: compile [--help] [--version] PROGRAM [ARGS]
40 238
41Wrapper for compilers which do not understand `-c -o'. 239Wrapper for compilers which do not understand '-c -o'.
42Remove `-o dest.o' from ARGS, run PROGRAM with the remaining 240Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
43arguments, and rename the output as expected. 241arguments, and rename the output as expected.
44 242
45If you are trying to build a whole package this is not the 243If you are trying to build a whole package this is not the
46right script to run: please start by reading the file `INSTALL'. 244right script to run: please start by reading the file 'INSTALL'.
47 245
48Report bugs to <bug-automake@gnu.org>. 246Report bugs to <bug-automake@gnu.org>.
49EOF 247EOF
50 exit 0 248 exit $?
51 ;; 249 ;;
52 -v | --v*) 250 -v | --v*)
53 echo "compile $scriptversion" 251 echo "compile $scriptversion"
54 exit 0 252 exit $?
253 ;;
254 cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
255 func_cl_wrapper "$@" # Doesn't return...
55 ;; 256 ;;
56esac 257esac
57 258
58
59prog=$1
60shift
61
62ofile= 259ofile=
63cfile= 260cfile=
64args= 261
65while test $# -gt 0; do 262for arg
66 case "$1" in 263do
67 -o) 264 if test -n "$eat"; then
68 # configure might choose to run compile as `compile cc -o foo foo.c'. 265 eat=
69 # So we do something ugly here. 266 else
70 ofile=$2 267 case $1 in
71 shift 268 -o)
72 case "$ofile" in 269 # configure might choose to run compile as 'compile cc -o foo foo.c'.
73 *.o | *.obj) 270 # So we strip '-o arg' only if arg is an object.
74 ;; 271 eat=1
75 *) 272 case $2 in
76 args="$args -o $ofile" 273 *.o | *.obj)
77 ofile= 274 ofile=$2
78 ;; 275 ;;
79 esac 276 *)
80 ;; 277 set x "$@" -o "$2"
81 *.c) 278 shift
82 cfile=$1 279 ;;
83 args="$args $1" 280 esac
84 ;; 281 ;;
85 *) 282 *.c)
86 args="$args $1" 283 cfile=$1
87 ;; 284 set x "$@" "$1"
88 esac 285 shift
286 ;;
287 *)
288 set x "$@" "$1"
289 shift
290 ;;
291 esac
292 fi
89 shift 293 shift
90done 294done
91 295
92if test -z "$ofile" || test -z "$cfile"; then 296if test -z "$ofile" || test -z "$cfile"; then
93 # If no `-o' option was seen then we might have been invoked from a 297 # If no '-o' option was seen then we might have been invoked from a
94 # pattern rule where we don't need one. That is ok -- this is a 298 # pattern rule where we don't need one. That is ok -- this is a
95 # normal compilation that the losing compiler can handle. If no 299 # normal compilation that the losing compiler can handle. If no
96 # `.c' file was seen then we are probably linking. That is also 300 # '.c' file was seen then we are probably linking. That is also
97 # ok. 301 # ok.
98 exec "$prog" $args 302 exec "$@"
99fi 303fi
100 304
101# Name of file we expect compiler to create. 305# Name of file we expect compiler to create.
102cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'` 306cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
103 307
104# Create the lock directory. 308# Create the lock directory.
105# Note: use `[/.-]' here to ensure that we don't use the same name 309# Note: use '[/\\:.-]' here to ensure that we don't use the same name
106# that we are using for the .o file. Also, base the name on the expected 310# that we are using for the .o file. Also, base the name on the expected
107# object file name, since that is what matters with a parallel build. 311# object file name, since that is what matters with a parallel build.
108lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d 312lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
109while true; do 313while true; do
110 if mkdir $lockdir > /dev/null 2>&1; then 314 if mkdir "$lockdir" >/dev/null 2>&1; then
111 break 315 break
112 fi 316 fi
113 sleep 1 317 sleep 1
114done 318done
115# FIXME: race condition here if user kills between mkdir and trap. 319# FIXME: race condition here if user kills between mkdir and trap.
116trap "rmdir $lockdir; exit 1" 1 2 15 320trap "rmdir '$lockdir'; exit 1" 1 2 15
117 321
118# Run the compile. 322# Run the compile.
119"$prog" $args 323"$@"
120status=$? 324ret=$?
121 325
122if test -f "$cofile"; then 326if test -f "$cofile"; then
123 mv "$cofile" "$ofile" 327 test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
328elif test -f "${cofile}bj"; then
329 test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
124fi 330fi
125 331
126rmdir $lockdir 332rmdir "$lockdir"
127exit $status 333exit $ret
128 334
129# Local Variables: 335# Local Variables:
130# mode: shell-script 336# mode: shell-script
@@ -132,5 +338,6 @@ exit $status
132# eval: (add-hook 'write-file-hooks 'time-stamp) 338# eval: (add-hook 'write-file-hooks 'time-stamp)
133# time-stamp-start: "scriptversion=" 339# time-stamp-start: "scriptversion="
134# time-stamp-format: "%:y-%02m-%02d.%02H" 340# time-stamp-format: "%:y-%02m-%02d.%02H"
135# time-stamp-end: "$" 341# time-stamp-time-zone: "UTC"
342# time-stamp-end: "; # UTC"
136# End: 343# End:
diff --git a/configure.ac b/configure.ac
index 17647a9..ab6fe98 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,6 +2,7 @@
2AC_PREREQ(2.61) 2AC_PREREQ(2.61)
3AC_INIT([libextractor], [0.7.0], [bug-libextractor@gnu.org]) 3AC_INIT([libextractor], [0.7.0], [bug-libextractor@gnu.org])
4AC_CONFIG_HEADERS([config.h]) 4AC_CONFIG_HEADERS([config.h])
5AC_CONFIG_MACRO_DIR([m4])
5AH_TOP([#define _GNU_SOURCE 1]) 6AH_TOP([#define _GNU_SOURCE 1])
6AC_CANONICAL_TARGET 7AC_CANONICAL_TARGET
7AC_CANONICAL_HOST 8AC_CANONICAL_HOST
@@ -14,8 +15,6 @@ AC_SUBST(LIB_VERSION_CURRENT)
14AC_SUBST(LIB_VERSION_REVISION) 15AC_SUBST(LIB_VERSION_REVISION)
15AC_SUBST(LIB_VERSION_AGE) 16AC_SUBST(LIB_VERSION_AGE)
16 17
17LT_CONFIG_LTDL_DIR([libltdl])
18AC_CONFIG_AUX_DIR([libltdl/config])
19AM_INIT_AUTOMAKE([silent-rules]) 18AM_INIT_AUTOMAKE([silent-rules])
20 19
21# Checks for programs. 20# Checks for programs.
@@ -30,6 +29,8 @@ AC_PROG_INSTALL
30AC_PROG_LN_S 29AC_PROG_LN_S
31AC_PROG_MAKE_SET 30AC_PROG_MAKE_SET
32AC_CANONICAL_HOST 31AC_CANONICAL_HOST
32AC_LIBLTDL_CONVENIENCE
33AC_PROG_LIBTOOL
33# save LIBS, libtool does a AC_SEARCH_LIBS(dlopen, dl), but plugins 34# save LIBS, libtool does a AC_SEARCH_LIBS(dlopen, dl), but plugins
34# need not have -ldl added 35# need not have -ldl added
35LIBSOLD=$LIBS 36LIBSOLD=$LIBS
@@ -530,7 +531,6 @@ AC_CHECK_LIB(gsf-1, gsf_init, AC_DEFINE(HAVE_GSF_INIT,1,[gsf_init supported]))
530AC_CHECK_PROG([HAVE_ZZUF],[zzuf], 1, 0) 531AC_CHECK_PROG([HAVE_ZZUF],[zzuf], 1, 0)
531AM_CONDITIONAL(HAVE_ZZUF, test 0 != $HAVE_ZZUF) 532AM_CONDITIONAL(HAVE_ZZUF, test 0 != $HAVE_ZZUF)
532 533
533ffmpeg_enabled=0
534AC_MSG_CHECKING([whether to enable the FFmpeg thumbnail extractor]) 534AC_MSG_CHECKING([whether to enable the FFmpeg thumbnail extractor])
535AC_ARG_ENABLE(ffmpeg, 535AC_ARG_ENABLE(ffmpeg,
536 [AC_HELP_STRING([--enable-ffmpeg],[Enable FFmpeg support]) 536 [AC_HELP_STRING([--enable-ffmpeg],[Enable FFmpeg support])
@@ -543,16 +543,16 @@ AC_ARG_ENABLE(ffmpeg,
543 ffmpeg_enabled=1 543 ffmpeg_enabled=1
544 ;; 544 ;;
545 esac], 545 esac],
546 [ AC_MSG_RESULT(no) 546 [ AC_MSG_RESULT(yes)
547 ffmpeg_enabled=0]) 547 ffmpeg_enabled=1])
548AM_CONDITIONAL(HAVE_FFMPEG, test x$ffmpeg_enabled != x0)
549if test x$ffmpeg_enabled = x1 548if test x$ffmpeg_enabled = x1
550then 549then
551 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h) 550 ffmpeg_enabled=0
552 AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h) 551 AC_CHECK_LIB(swscale, sws_getContext,
553 AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h) 552 ffmpeg_enabled=1)
554 AC_CHECK_HEADERS(libswscale/swscale.h ffmpeg/swscale.h) 553 AC_CHECK_HEADERS([libavutil/avutil.h ffmpeg/avutil.h libavformat/avformat.h ffmpeg/avformat.h libavcodec/avcodec.h ffmpeg/avcodec.h libswscale/swscale.h ffmpeg/swscale.h])
555fi 554fi
555AM_CONDITIONAL(HAVE_FFMPEG, test x$ffmpeg_enabled != x0)
556 556
557 557
558LE_INTLINCL="" 558LE_INTLINCL=""
@@ -658,8 +658,6 @@ fi
658if test "x$ffmpeg_enabled" = "x0" 658if test "x$ffmpeg_enabled" = "x0"
659then 659then
660 AC_MSG_NOTICE([NOTICE: FFmpeg thumbnailer plugin disabled]) 660 AC_MSG_NOTICE([NOTICE: FFmpeg thumbnailer plugin disabled])
661else
662 AC_MSG_NOTICE([NOTICE: FFmpeg thumbnailer plugin enabled (security untested)])
663fi 661fi
664 662
665if test "x$without_gtk" = "xtrue" 663if test "x$without_gtk" = "xtrue"
diff --git a/doc/version.texi b/doc/version.texi
index b7f4560..b3e6e4c 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,4 +1,4 @@
1@set UPDATED 26 August 2012 1@set UPDATED 28 August 2012
2@set UPDATED-MONTH August 2012 2@set UPDATED-MONTH August 2012
3@set EDITION 0.7.0 3@set EDITION 0.7.0
4@set VERSION 0.7.0 4@set VERSION 0.7.0
diff --git a/m4/gtk-3.0.m4 b/m4/gtk-3.0.m4
new file mode 100644
index 0000000..5238b43
--- /dev/null
+++ b/m4/gtk-3.0.m4
@@ -0,0 +1,219 @@
1# Configure paths for GTK+
2# Owen Taylor 1997-2001
3
4dnl AM_PATH_GTK_3_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
5dnl Test for GTK+, and define GTK_CFLAGS and GTK_LIBS, if gthread is specified in MODULES,
6dnl pass to pkg-config
7dnl
8AC_DEFUN([AM_PATH_GTK_3_0],
9[dnl
10dnl Get the cflags and libraries from pkg-config
11dnl
12AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run a test GTK+ program],
13 , enable_gtktest=yes)
14
15 pkg_config_args=gtk+-3.0
16 for module in . $4
17 do
18 case "$module" in
19 gthread)
20 pkg_config_args="$pkg_config_args gthread-2.0"
21 ;;
22 esac
23 done
24
25 no_gtk=""
26
27 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
28
29 if test x$PKG_CONFIG != xno ; then
30 if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
31 :
32 else
33 echo "*** pkg-config too old; version 0.7 or better required."
34 no_gtk=yes
35 PKG_CONFIG=no
36 fi
37 else
38 no_gtk=yes
39 fi
40
41 min_gtk_version=ifelse([$1], ,3.0.0,$1)
42 AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version)
43
44 if test x$PKG_CONFIG != xno ; then
45 ## don't try to run the test against uninstalled libtool libs
46 if $PKG_CONFIG --uninstalled $pkg_config_args; then
47 echo "Will use uninstalled version of GTK+ found in PKG_CONFIG_PATH"
48 enable_gtktest=no
49 fi
50
51 if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args; then
52 :
53 else
54 no_gtk=yes
55 fi
56 fi
57
58 if test x"$no_gtk" = x ; then
59 GTK_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags`
60 GTK_LIBS=`$PKG_CONFIG $pkg_config_args --libs`
61 gtk_config_major_version=`$PKG_CONFIG --modversion gtk+-3.0 | \
62 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
63 gtk_config_minor_version=`$PKG_CONFIG --modversion gtk+-3.0 | \
64 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
65 gtk_config_micro_version=`$PKG_CONFIG --modversion gtk+-3.0 | \
66 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
67 if test "x$enable_gtktest" = "xyes" ; then
68 ac_save_CFLAGS="$CFLAGS"
69 ac_save_LIBS="$LIBS"
70 CFLAGS="$CFLAGS $GTK_CFLAGS"
71 LIBS="$GTK_LIBS $LIBS"
72dnl
73dnl Now check if the installed GTK+ is sufficiently new. (Also sanity
74dnl checks the results of pkg-config to some extent)
75dnl
76 rm -f conf.gtktest
77 AC_TRY_RUN([
78#include <gtk/gtk.h>
79#include <stdio.h>
80#include <stdlib.h>
81
82int
83main ()
84{
85 int major, minor, micro;
86 char *tmp_version;
87
88 fclose (fopen ("conf.gtktest", "w"));
89
90 /* HP/UX 9 (%@#!) writes to sscanf strings */
91 tmp_version = g_strdup("$min_gtk_version");
92 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
93 printf("%s, bad version string\n", "$min_gtk_version");
94 exit(1);
95 }
96
97 if ((gtk_major_version != $gtk_config_major_version) ||
98 (gtk_minor_version != $gtk_config_minor_version) ||
99 (gtk_micro_version != $gtk_config_micro_version))
100 {
101 printf("\n*** 'pkg-config --modversion gtk+-3.0' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
102 $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
103 gtk_major_version, gtk_minor_version, gtk_micro_version);
104 printf ("*** was found! If pkg-config was correct, then it is best\n");
105 printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
106 printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
107 printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
108 printf("*** required on your system.\n");
109 printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
110 printf("*** to point to the correct configuration files\n");
111 }
112 else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
113 (gtk_minor_version != GTK_MINOR_VERSION) ||
114 (gtk_micro_version != GTK_MICRO_VERSION))
115 {
116 printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
117 GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
118 printf("*** library (version %d.%d.%d)\n",
119 gtk_major_version, gtk_minor_version, gtk_micro_version);
120 }
121 else
122 {
123 if ((gtk_major_version > major) ||
124 ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
125 ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
126 {
127 return 0;
128 }
129 else
130 {
131 printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
132 gtk_major_version, gtk_minor_version, gtk_micro_version);
133 printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
134 major, minor, micro);
135 printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
136 printf("***\n");
137 printf("*** If you have already installed a sufficiently new version, this error\n");
138 printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
139 printf("*** being found. The easiest way to fix this is to remove the old version\n");
140 printf("*** of GTK+, but you can also set the PKG_CONFIG environment to point to the\n");
141 printf("*** correct copy of pkg-config. (In this case, you will have to\n");
142 printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
143 printf("*** so that the correct libraries are found at run-time))\n");
144 }
145 }
146 return 1;
147}
148],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
149 CFLAGS="$ac_save_CFLAGS"
150 LIBS="$ac_save_LIBS"
151 fi
152 fi
153 if test "x$no_gtk" = x ; then
154 AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version))
155 ifelse([$2], , :, [$2])
156 else
157 AC_MSG_RESULT(no)
158 if test "$PKG_CONFIG" = "no" ; then
159 echo "*** A new enough version of pkg-config was not found."
160 echo "*** See http://pkgconfig.sourceforge.net"
161 else
162 if test -f conf.gtktest ; then
163 :
164 else
165 echo "*** Could not run GTK+ test program, checking why..."
166 ac_save_CFLAGS="$CFLAGS"
167 ac_save_LIBS="$LIBS"
168 CFLAGS="$CFLAGS $GTK_CFLAGS"
169 LIBS="$LIBS $GTK_LIBS"
170 AC_TRY_LINK([
171#include <gtk/gtk.h>
172#include <stdio.h>
173], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
174 [ echo "*** The test program compiled, but did not run. This usually means"
175 echo "*** that the run-time linker is not finding GTK+ or finding the wrong"
176 echo "*** version of GTK+. If it is not finding GTK+, you'll need to set your"
177 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
178 echo "*** to the installed location Also, make sure you have run ldconfig if that"
179 echo "*** is required on your system"
180 echo "***"
181 echo "*** If you have an old version installed, it is best to remove it, although"
182 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
183 [ echo "*** The test program failed to compile or link. See the file config.log for the"
184 echo "*** exact error that occured. This usually means GTK+ is incorrectly installed."])
185 CFLAGS="$ac_save_CFLAGS"
186 LIBS="$ac_save_LIBS"
187 fi
188 fi
189 GTK_CFLAGS=""
190 GTK_LIBS=""
191 ifelse([$3], , :, [$3])
192 fi
193 AC_SUBST(GTK_CFLAGS)
194 AC_SUBST(GTK_LIBS)
195 rm -f conf.gtktest
196])
197
198dnl GTK_CHECK_BACKEND(BACKEND-NAME [, MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
199dnl Tests for BACKEND-NAME in the GTK targets list
200dnl
201AC_DEFUN([GTK_CHECK_BACKEND],
202[
203 pkg_config_args=ifelse([$1],,gtk+-3.0, gtk+-$1-3.0)
204 min_gtk_version=ifelse([$2],,3.0.0,$2)
205
206 AC_PATH_PROG(PKG_CONFIG, [pkg-config], [AC_MSG_ERROR([No pkg-config found])])
207
208 if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args ; then
209 target_found=yes
210 else
211 target_found=no
212 fi
213
214 if test "x$target_found" = "xno"; then
215 ifelse([$4],,[AC_MSG_ERROR([Backend $backend not found.])],[$4])
216 else
217 ifelse([$3],,[:],[$3])
218 fi
219])