Mercurial > pidgin.yaz
comparison acinclude.m4 @ 3357:e2b682769dfd
[gaim-migrate @ 3376]
This should cause some useful errors to be generated when the
necessary GTK+ or GLIB development files are not installed, instead
of just missing macro errors.
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Sat, 13 Jul 2002 07:34:29 +0000 |
| parents | |
| children | 3fd9f8e2c463 |
comparison
equal
deleted
inserted
replaced
| 3356:8647a5b37b5c | 3357:e2b682769dfd |
|---|---|
| 1 # Configure paths for GLIB | |
| 2 # Owen Taylor 97-11-3 | |
| 3 | |
| 4 dnl AM_PATH_GLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) | |
| 5 dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if "gmodule" or | |
| 6 dnl gthread is specified in MODULES, pass to glib-config | |
| 7 dnl | |
| 8 AC_DEFUN(AM_PATH_GLIB, | |
| 9 [dnl | |
| 10 dnl Get the cflags and libraries from the glib-config script | |
| 11 dnl | |
| 12 AC_ARG_WITH(glib-prefix,[ --with-glib-prefix=PFX Prefix where GLIB is installed (optional)], | |
| 13 glib_config_prefix="$withval", glib_config_prefix="") | |
| 14 AC_ARG_WITH(glib-exec-prefix,[ --with-glib-exec-prefix=PFX Exec prefix where GLIB is installed (optional)], | |
| 15 glib_config_exec_prefix="$withval", glib_config_exec_prefix="") | |
| 16 AC_ARG_ENABLE(glibtest, [ --disable-glibtest Do not try to compile and run a test GLIB program], | |
| 17 , enable_glibtest=yes) | |
| 18 | |
| 19 if test x$glib_config_exec_prefix != x ; then | |
| 20 glib_config_args="$glib_config_args --exec-prefix=$glib_config_exec_prefix" | |
| 21 if test x${GLIB_CONFIG+set} != xset ; then | |
| 22 GLIB_CONFIG=$glib_config_exec_prefix/bin/glib-config | |
| 23 fi | |
| 24 fi | |
| 25 if test x$glib_config_prefix != x ; then | |
| 26 glib_config_args="$glib_config_args --prefix=$glib_config_prefix" | |
| 27 if test x${GLIB_CONFIG+set} != xset ; then | |
| 28 GLIB_CONFIG=$glib_config_prefix/bin/glib-config | |
| 29 fi | |
| 30 fi | |
| 31 | |
| 32 for module in . $4 | |
| 33 do | |
| 34 case "$module" in | |
| 35 gmodule) | |
| 36 glib_config_args="$glib_config_args gmodule" | |
| 37 ;; | |
| 38 gthread) | |
| 39 glib_config_args="$glib_config_args gthread" | |
| 40 ;; | |
| 41 esac | |
| 42 done | |
| 43 | |
| 44 AC_PATH_PROG(GLIB_CONFIG, glib-config, no) | |
| 45 min_glib_version=ifelse([$1], ,0.99.7,$1) | |
| 46 AC_MSG_CHECKING(for GLIB - version >= $min_glib_version) | |
| 47 no_glib="" | |
| 48 if test "$GLIB_CONFIG" = "no" ; then | |
| 49 no_glib=yes | |
| 50 else | |
| 51 GLIB_CFLAGS=`$GLIB_CONFIG $glib_config_args --cflags` | |
| 52 GLIB_LIBS=`$GLIB_CONFIG $glib_config_args --libs` | |
| 53 glib_config_major_version=`$GLIB_CONFIG $glib_config_args --version | \ | |
| 54 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` | |
| 55 glib_config_minor_version=`$GLIB_CONFIG $glib_config_args --version | \ | |
| 56 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` | |
| 57 glib_config_micro_version=`$GLIB_CONFIG $glib_config_args --version | \ | |
| 58 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` | |
| 59 if test "x$enable_glibtest" = "xyes" ; then | |
| 60 ac_save_CFLAGS="$CFLAGS" | |
| 61 ac_save_LIBS="$LIBS" | |
| 62 CFLAGS="$CFLAGS $GLIB_CFLAGS" | |
| 63 LIBS="$GLIB_LIBS $LIBS" | |
| 64 dnl | |
| 65 dnl Now check if the installed GLIB is sufficiently new. (Also sanity | |
| 66 dnl checks the results of glib-config to some extent | |
| 67 dnl | |
| 68 rm -f conf.glibtest | |
| 69 AC_TRY_RUN([ | |
| 70 #include <glib.h> | |
| 71 #include <stdio.h> | |
| 72 #include <stdlib.h> | |
| 73 | |
| 74 int | |
| 75 main () | |
| 76 { | |
| 77 int major, minor, micro; | |
| 78 char *tmp_version; | |
| 79 | |
| 80 system ("touch conf.glibtest"); | |
| 81 | |
| 82 /* HP/UX 9 (%@#!) writes to sscanf strings */ | |
| 83 tmp_version = g_strdup("$min_glib_version"); | |
| 84 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { | |
| 85 printf("%s, bad version string\n", "$min_glib_version"); | |
| 86 exit(1); | |
| 87 } | |
| 88 | |
| 89 if ((glib_major_version != $glib_config_major_version) || | |
| 90 (glib_minor_version != $glib_config_minor_version) || | |
| 91 (glib_micro_version != $glib_config_micro_version)) | |
| 92 { | |
| 93 printf("\n*** 'glib-config --version' returned %d.%d.%d, but GLIB (%d.%d.%d)\n", | |
| 94 $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version, | |
| 95 glib_major_version, glib_minor_version, glib_micro_version); | |
| 96 printf ("*** was found! If glib-config was correct, then it is best\n"); | |
| 97 printf ("*** to remove the old version of GLIB. You may also be able to fix the error\n"); | |
| 98 printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); | |
| 99 printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); | |
| 100 printf("*** required on your system.\n"); | |
| 101 printf("*** If glib-config was wrong, set the environment variable GLIB_CONFIG\n"); | |
| 102 printf("*** to point to the correct copy of glib-config, and remove the file config.cache\n"); | |
| 103 printf("*** before re-running configure\n"); | |
| 104 } | |
| 105 else if ((glib_major_version != GLIB_MAJOR_VERSION) || | |
| 106 (glib_minor_version != GLIB_MINOR_VERSION) || | |
| 107 (glib_micro_version != GLIB_MICRO_VERSION)) | |
| 108 { | |
| 109 printf("*** GLIB header files (version %d.%d.%d) do not match\n", | |
| 110 GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION); | |
| 111 printf("*** library (version %d.%d.%d)\n", | |
| 112 glib_major_version, glib_minor_version, glib_micro_version); | |
| 113 } | |
| 114 else | |
| 115 { | |
| 116 if ((glib_major_version > major) || | |
| 117 ((glib_major_version == major) && (glib_minor_version > minor)) || | |
| 118 ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro))) | |
| 119 { | |
| 120 return 0; | |
| 121 } | |
| 122 else | |
| 123 { | |
| 124 printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n", | |
| 125 glib_major_version, glib_minor_version, glib_micro_version); | |
| 126 printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n", | |
| 127 major, minor, micro); | |
| 128 printf("*** GLIB is always available from ftp://ftp.gtk.org.\n"); | |
| 129 printf("***\n"); | |
| 130 printf("*** If you have already installed a sufficiently new version, this error\n"); | |
| 131 printf("*** probably means that the wrong copy of the glib-config shell script is\n"); | |
| 132 printf("*** being found. The easiest way to fix this is to remove the old version\n"); | |
| 133 printf("*** of GLIB, but you can also set the GLIB_CONFIG environment to point to the\n"); | |
| 134 printf("*** correct copy of glib-config. (In this case, you will have to\n"); | |
| 135 printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); | |
| 136 printf("*** so that the correct libraries are found at run-time))\n"); | |
| 137 } | |
| 138 } | |
| 139 return 1; | |
| 140 } | |
| 141 ],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) | |
| 142 CFLAGS="$ac_save_CFLAGS" | |
| 143 LIBS="$ac_save_LIBS" | |
| 144 fi | |
| 145 fi | |
| 146 if test "x$no_glib" = x ; then | |
| 147 AC_MSG_RESULT(yes) | |
| 148 ifelse([$2], , :, [$2]) | |
| 149 else | |
| 150 AC_MSG_RESULT(no) | |
| 151 if test "$GLIB_CONFIG" = "no" ; then | |
| 152 echo "*** The glib-config script installed by GLIB could not be found" | |
| 153 echo "*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in" | |
| 154 echo "*** your path, or set the GLIB_CONFIG environment variable to the" | |
| 155 echo "*** full path to glib-config." | |
| 156 else | |
| 157 if test -f conf.glibtest ; then | |
| 158 : | |
| 159 else | |
| 160 echo "*** Could not run GLIB test program, checking why..." | |
| 161 CFLAGS="$CFLAGS $GLIB_CFLAGS" | |
| 162 LIBS="$LIBS $GLIB_LIBS" | |
| 163 AC_TRY_LINK([ | |
| 164 #include <glib.h> | |
| 165 #include <stdio.h> | |
| 166 ], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ], | |
| 167 [ echo "*** The test program compiled, but did not run. This usually means" | |
| 168 echo "*** that the run-time linker is not finding GLIB or finding the wrong" | |
| 169 echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your" | |
| 170 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" | |
| 171 echo "*** to the installed location Also, make sure you have run ldconfig if that" | |
| 172 echo "*** is required on your system" | |
| 173 echo "***" | |
| 174 echo "*** If you have an old version installed, it is best to remove it, although" | |
| 175 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" | |
| 176 echo "***" | |
| 177 echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that" | |
| 178 echo "*** came with the system with the command" | |
| 179 echo "***" | |
| 180 echo "*** rpm --erase --nodeps gtk gtk-devel" ], | |
| 181 [ echo "*** The test program failed to compile or link. See the file config.log for the" | |
| 182 echo "*** exact error that occured. This usually means GLIB was incorrectly installed" | |
| 183 echo "*** or that you have moved GLIB since it was installed. In the latter case, you" | |
| 184 echo "*** may want to edit the glib-config script: $GLIB_CONFIG" ]) | |
| 185 CFLAGS="$ac_save_CFLAGS" | |
| 186 LIBS="$ac_save_LIBS" | |
| 187 fi | |
| 188 fi | |
| 189 GLIB_CFLAGS="" | |
| 190 GLIB_LIBS="" | |
| 191 ifelse([$3], , :, [$3]) | |
| 192 fi | |
| 193 AC_SUBST(GLIB_CFLAGS) | |
| 194 AC_SUBST(GLIB_LIBS) | |
| 195 rm -f conf.glibtest | |
| 196 ]) | |
| 197 # Configure paths for GTK+ | |
| 198 # Owen Taylor 97-11-3 | |
| 199 | |
| 200 dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) | |
| 201 dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS | |
| 202 dnl | |
| 203 AC_DEFUN(AM_PATH_GTK, | |
| 204 [dnl | |
| 205 dnl Get the cflags and libraries from the gtk-config script | |
| 206 dnl | |
| 207 AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)], | |
| 208 gtk_config_prefix="$withval", gtk_config_prefix="") | |
| 209 AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)], | |
| 210 gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="") | |
| 211 AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program], | |
| 212 , enable_gtktest=yes) | |
| 213 | |
| 214 for module in . $4 | |
| 215 do | |
| 216 case "$module" in | |
| 217 gthread) | |
| 218 gtk_config_args="$gtk_config_args gthread" | |
| 219 ;; | |
| 220 esac | |
| 221 done | |
| 222 | |
| 223 if test x$gtk_config_exec_prefix != x ; then | |
| 224 gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix" | |
| 225 if test x${GTK_CONFIG+set} != xset ; then | |
| 226 GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config | |
| 227 fi | |
| 228 fi | |
| 229 if test x$gtk_config_prefix != x ; then | |
| 230 gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix" | |
| 231 if test x${GTK_CONFIG+set} != xset ; then | |
| 232 GTK_CONFIG=$gtk_config_prefix/bin/gtk-config | |
| 233 fi | |
| 234 fi | |
| 235 | |
| 236 AC_PATH_PROG(GTK_CONFIG, gtk-config, no) | |
| 237 min_gtk_version=ifelse([$1], ,0.99.7,$1) | |
| 238 AC_MSG_CHECKING(for GTK - version >= $min_gtk_version) | |
| 239 no_gtk="" | |
| 240 if test "$GTK_CONFIG" = "no" ; then | |
| 241 no_gtk=yes | |
| 242 else | |
| 243 GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags` | |
| 244 GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs` | |
| 245 gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \ | |
| 246 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` | |
| 247 gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \ | |
| 248 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` | |
| 249 gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \ | |
| 250 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` | |
| 251 if test "x$enable_gtktest" = "xyes" ; then | |
| 252 ac_save_CFLAGS="$CFLAGS" | |
| 253 ac_save_LIBS="$LIBS" | |
| 254 CFLAGS="$CFLAGS $GTK_CFLAGS" | |
| 255 LIBS="$GTK_LIBS $LIBS" | |
| 256 dnl | |
| 257 dnl Now check if the installed GTK is sufficiently new. (Also sanity | |
| 258 dnl checks the results of gtk-config to some extent | |
| 259 dnl | |
| 260 rm -f conf.gtktest | |
| 261 AC_TRY_RUN([ | |
| 262 #include <gtk/gtk.h> | |
| 263 #include <stdio.h> | |
| 264 #include <stdlib.h> | |
| 265 | |
| 266 int | |
| 267 main () | |
| 268 { | |
| 269 int major, minor, micro; | |
| 270 char *tmp_version; | |
| 271 | |
| 272 system ("touch conf.gtktest"); | |
| 273 | |
| 274 /* HP/UX 9 (%@#!) writes to sscanf strings */ | |
| 275 tmp_version = g_strdup("$min_gtk_version"); | |
| 276 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { | |
| 277 printf("%s, bad version string\n", "$min_gtk_version"); | |
| 278 exit(1); | |
| 279 } | |
| 280 | |
| 281 if ((gtk_major_version != $gtk_config_major_version) || | |
| 282 (gtk_minor_version != $gtk_config_minor_version) || | |
| 283 (gtk_micro_version != $gtk_config_micro_version)) | |
| 284 { | |
| 285 printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", | |
| 286 $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, | |
| 287 gtk_major_version, gtk_minor_version, gtk_micro_version); | |
| 288 printf ("*** was found! If gtk-config was correct, then it is best\n"); | |
| 289 printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); | |
| 290 printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); | |
| 291 printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); | |
| 292 printf("*** required on your system.\n"); | |
| 293 printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n"); | |
| 294 printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n"); | |
| 295 printf("*** before re-running configure\n"); | |
| 296 } | |
| 297 #if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION) | |
| 298 else if ((gtk_major_version != GTK_MAJOR_VERSION) || | |
| 299 (gtk_minor_version != GTK_MINOR_VERSION) || | |
| 300 (gtk_micro_version != GTK_MICRO_VERSION)) | |
| 301 { | |
| 302 printf("*** GTK+ header files (version %d.%d.%d) do not match\n", | |
| 303 GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); | |
| 304 printf("*** library (version %d.%d.%d)\n", | |
| 305 gtk_major_version, gtk_minor_version, gtk_micro_version); | |
| 306 } | |
| 307 #endif /* defined (GTK_MAJOR_VERSION) ... */ | |
| 308 else | |
| 309 { | |
| 310 if ((gtk_major_version > major) || | |
| 311 ((gtk_major_version == major) && (gtk_minor_version > minor)) || | |
| 312 ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) | |
| 313 { | |
| 314 return 0; | |
| 315 } | |
| 316 else | |
| 317 { | |
| 318 printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", | |
| 319 gtk_major_version, gtk_minor_version, gtk_micro_version); | |
| 320 printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", | |
| 321 major, minor, micro); | |
| 322 printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); | |
| 323 printf("***\n"); | |
| 324 printf("*** If you have already installed a sufficiently new version, this error\n"); | |
| 325 printf("*** probably means that the wrong copy of the gtk-config shell script is\n"); | |
| 326 printf("*** being found. The easiest way to fix this is to remove the old version\n"); | |
| 327 printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n"); | |
| 328 printf("*** correct copy of gtk-config. (In this case, you will have to\n"); | |
| 329 printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); | |
| 330 printf("*** so that the correct libraries are found at run-time))\n"); | |
| 331 } | |
| 332 } | |
| 333 return 1; | |
| 334 } | |
| 335 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) | |
| 336 CFLAGS="$ac_save_CFLAGS" | |
| 337 LIBS="$ac_save_LIBS" | |
| 338 fi | |
| 339 fi | |
| 340 if test "x$no_gtk" = x ; then | |
| 341 AC_MSG_RESULT(yes) | |
| 342 ifelse([$2], , :, [$2]) | |
| 343 else | |
| 344 AC_MSG_RESULT(no) | |
| 345 if test "$GTK_CONFIG" = "no" ; then | |
| 346 echo "*** The gtk-config script installed by GTK could not be found" | |
| 347 echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in" | |
| 348 echo "*** your path, or set the GTK_CONFIG environment variable to the" | |
| 349 echo "*** full path to gtk-config." | |
| 350 else | |
| 351 if test -f conf.gtktest ; then | |
| 352 : | |
| 353 else | |
| 354 echo "*** Could not run GTK test program, checking why..." | |
| 355 CFLAGS="$CFLAGS $GTK_CFLAGS" | |
| 356 LIBS="$LIBS $GTK_LIBS" | |
| 357 AC_TRY_LINK([ | |
| 358 #include <gtk/gtk.h> | |
| 359 #include <stdio.h> | |
| 360 ], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ], | |
| 361 [ echo "*** The test program compiled, but did not run. This usually means" | |
| 362 echo "*** that the run-time linker is not finding GTK or finding the wrong" | |
| 363 echo "*** version of GTK. If it is not finding GTK, you'll need to set your" | |
| 364 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" | |
| 365 echo "*** to the installed location Also, make sure you have run ldconfig if that" | |
| 366 echo "*** is required on your system" | |
| 367 echo "***" | |
| 368 echo "*** If you have an old version installed, it is best to remove it, although" | |
| 369 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" | |
| 370 echo "***" | |
| 371 echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that" | |
| 372 echo "*** came with the system with the command" | |
| 373 echo "***" | |
| 374 echo "*** rpm --erase --nodeps gtk gtk-devel" ], | |
| 375 [ echo "*** The test program failed to compile or link. See the file config.log for the" | |
| 376 echo "*** exact error that occured. This usually means GTK was incorrectly installed" | |
| 377 echo "*** or that you have moved GTK since it was installed. In the latter case, you" | |
| 378 echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ]) | |
| 379 CFLAGS="$ac_save_CFLAGS" | |
| 380 LIBS="$ac_save_LIBS" | |
| 381 fi | |
| 382 fi | |
| 383 GTK_CFLAGS="" | |
| 384 GTK_LIBS="" | |
| 385 ifelse([$3], , :, [$3]) | |
| 386 fi | |
| 387 AC_SUBST(GTK_CFLAGS) | |
| 388 AC_SUBST(GTK_LIBS) | |
| 389 rm -f conf.gtktest | |
| 390 ]) |
