Mercurial > pidgin
comparison acinclude.m4 @ 3661:de4c62f656ee
[gaim-migrate @ 3790]
Added macros for gtk2 and glib2.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Sun, 13 Oct 2002 08:04:47 +0000 |
parents | 3fd9f8e2c463 |
children | 9df99116840a |
comparison
equal
deleted
inserted
replaced
3660:a9445dd25786 | 3661:de4c62f656ee |
---|---|
388 AC_SUBST(GTK_LIBS) | 388 AC_SUBST(GTK_LIBS) |
389 rm -f conf.gtktest | 389 rm -f conf.gtktest |
390 ]) | 390 ]) |
391 | 391 |
392 AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) | 392 AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) |
393 # Configure paths for GLIB | |
394 # Owen Taylor 1997-2001 | |
395 | |
396 dnl AM_PATH_GLIB_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) | |
397 dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gmodule, gobject or | |
398 dnl gthread is specified in MODULES, pass to pkg-config | |
399 dnl | |
400 AC_DEFUN(AM_PATH_GLIB_2_0, | |
401 [dnl | |
402 dnl Get the cflags and libraries from pkg-config | |
403 dnl | |
404 AC_ARG_ENABLE(glibtest, [ --disable-glibtest do not try to compile and run a test GLIB program], | |
405 , enable_glibtest=yes) | |
406 | |
407 pkg_config_args=glib-2.0 | |
408 for module in . $4 | |
409 do | |
410 case "$module" in | |
411 gmodule) | |
412 pkg_config_args="$pkg_config_args gmodule-2.0" | |
413 ;; | |
414 gobject) | |
415 pkg_config_args="$pkg_config_args gobject-2.0" | |
416 ;; | |
417 gthread) | |
418 pkg_config_args="$pkg_config_args gthread-2.0" | |
419 ;; | |
420 esac | |
421 done | |
422 | |
423 AC_PATH_PROG(PKG_CONFIG, pkg-config, no) | |
424 | |
425 no_glib="" | |
426 | |
427 if test x$PKG_CONFIG != xno ; then | |
428 if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then | |
429 : | |
430 else | |
431 echo *** pkg-config too old; version 0.7 or better required. | |
432 no_glib=yes | |
433 PKG_CONFIG=no | |
434 fi | |
435 else | |
436 no_glib=yes | |
437 fi | |
438 | |
439 min_glib_version=ifelse([$1], ,2.0.0,$1) | |
440 AC_MSG_CHECKING(for GLIB - version >= $min_glib_version) | |
441 | |
442 if test x$PKG_CONFIG != xno ; then | |
443 ## don't try to run the test against uninstalled libtool libs | |
444 if $PKG_CONFIG --uninstalled $pkg_config_args; then | |
445 echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH" | |
446 enable_glibtest=no | |
447 fi | |
448 | |
449 if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then | |
450 : | |
451 else | |
452 no_glib=yes | |
453 fi | |
454 fi | |
455 | |
456 if test x"$no_glib" = x ; then | |
457 GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0` | |
458 GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0` | |
459 GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` | |
460 | |
461 GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args` | |
462 GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args` | |
463 glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \ | |
464 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` | |
465 glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 | \ | |
466 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` | |
467 glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 | \ | |
468 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` | |
469 if test "x$enable_glibtest" = "xyes" ; then | |
470 ac_save_CFLAGS="$CFLAGS" | |
471 ac_save_LIBS="$LIBS" | |
472 CFLAGS="$CFLAGS $GLIB_CFLAGS" | |
473 LIBS="$GLIB_LIBS $LIBS" | |
474 dnl | |
475 dnl Now check if the installed GLIB is sufficiently new. (Also sanity | |
476 dnl checks the results of pkg-config to some extent) | |
477 dnl | |
478 rm -f conf.glibtest | |
479 AC_TRY_RUN([ | |
480 #include <glib.h> | |
481 #include <stdio.h> | |
482 #include <stdlib.h> | |
483 | |
484 int | |
485 main () | |
486 { | |
487 int major, minor, micro; | |
488 char *tmp_version; | |
489 | |
490 system ("touch conf.glibtest"); | |
491 | |
492 /* HP/UX 9 (%@#!) writes to sscanf strings */ | |
493 tmp_version = g_strdup("$min_glib_version"); | |
494 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { | |
495 printf("%s, bad version string\n", "$min_glib_version"); | |
496 exit(1); | |
497 } | |
498 | |
499 if ((glib_major_version != $glib_config_major_version) || | |
500 (glib_minor_version != $glib_config_minor_version) || | |
501 (glib_micro_version != $glib_config_micro_version)) | |
502 { | |
503 printf("\n*** 'pkg-config --modversion glib-2.0' returned %d.%d.%d, but GLIB (%d.%d.%d)\n", | |
504 $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version, | |
505 glib_major_version, glib_minor_version, glib_micro_version); | |
506 printf ("*** was found! If pkg-config was correct, then it is best\n"); | |
507 printf ("*** to remove the old version of GLib. You may also be able to fix the error\n"); | |
508 printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); | |
509 printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); | |
510 printf("*** required on your system.\n"); | |
511 printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n"); | |
512 printf("*** to point to the correct configuration files\n"); | |
513 } | |
514 else if ((glib_major_version != GLIB_MAJOR_VERSION) || | |
515 (glib_minor_version != GLIB_MINOR_VERSION) || | |
516 (glib_micro_version != GLIB_MICRO_VERSION)) | |
517 { | |
518 printf("*** GLIB header files (version %d.%d.%d) do not match\n", | |
519 GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION); | |
520 printf("*** library (version %d.%d.%d)\n", | |
521 glib_major_version, glib_minor_version, glib_micro_version); | |
522 } | |
523 else | |
524 { | |
525 if ((glib_major_version > major) || | |
526 ((glib_major_version == major) && (glib_minor_version > minor)) || | |
527 ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro))) | |
528 { | |
529 return 0; | |
530 } | |
531 else | |
532 { | |
533 printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n", | |
534 glib_major_version, glib_minor_version, glib_micro_version); | |
535 printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n", | |
536 major, minor, micro); | |
537 printf("*** GLIB is always available from ftp://ftp.gtk.org.\n"); | |
538 printf("***\n"); | |
539 printf("*** If you have already installed a sufficiently new version, this error\n"); | |
540 printf("*** probably means that the wrong copy of the pkg-config shell script is\n"); | |
541 printf("*** being found. The easiest way to fix this is to remove the old version\n"); | |
542 printf("*** of GLIB, but you can also set the PKG_CONFIG environment to point to the\n"); | |
543 printf("*** correct copy of pkg-config. (In this case, you will have to\n"); | |
544 printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); | |
545 printf("*** so that the correct libraries are found at run-time))\n"); | |
546 } | |
547 } | |
548 return 1; | |
549 } | |
550 ],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) | |
551 CFLAGS="$ac_save_CFLAGS" | |
552 LIBS="$ac_save_LIBS" | |
553 fi | |
554 fi | |
555 if test "x$no_glib" = x ; then | |
556 AC_MSG_RESULT(yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)) | |
557 ifelse([$2], , :, [$2]) | |
558 else | |
559 AC_MSG_RESULT(no) | |
560 if test "$PKG_CONFIG" = "no" ; then | |
561 echo "*** A new enough version of pkg-config was not found." | |
562 echo "*** See http://www.freedesktop.org/software/pkgconfig/" | |
563 else | |
564 if test -f conf.glibtest ; then | |
565 : | |
566 else | |
567 echo "*** Could not run GLIB test program, checking why..." | |
568 ac_save_CFLAGS="$CFLAGS" | |
569 ac_save_LIBS="$LIBS" | |
570 CFLAGS="$CFLAGS $GLIB_CFLAGS" | |
571 LIBS="$LIBS $GLIB_LIBS" | |
572 AC_TRY_LINK([ | |
573 #include <glib.h> | |
574 #include <stdio.h> | |
575 ], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ], | |
576 [ echo "*** The test program compiled, but did not run. This usually means" | |
577 echo "*** that the run-time linker is not finding GLIB or finding the wrong" | |
578 echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your" | |
579 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" | |
580 echo "*** to the installed location Also, make sure you have run ldconfig if that" | |
581 echo "*** is required on your system" | |
582 echo "***" | |
583 echo "*** If you have an old version installed, it is best to remove it, although" | |
584 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ], | |
585 [ echo "*** The test program failed to compile or link. See the file config.log for the" | |
586 echo "*** exact error that occured. This usually means GLIB is incorrectly installed."]) | |
587 CFLAGS="$ac_save_CFLAGS" | |
588 LIBS="$ac_save_LIBS" | |
589 fi | |
590 fi | |
591 GLIB_CFLAGS="" | |
592 GLIB_LIBS="" | |
593 GLIB_GENMARSHAL="" | |
594 GOBJECT_QUERY="" | |
595 GLIB_MKENUMS="" | |
596 ifelse([$3], , :, [$3]) | |
597 fi | |
598 AC_SUBST(GLIB_CFLAGS) | |
599 AC_SUBST(GLIB_LIBS) | |
600 AC_SUBST(GLIB_GENMARSHAL) | |
601 AC_SUBST(GOBJECT_QUERY) | |
602 AC_SUBST(GLIB_MKENUMS) | |
603 rm -f conf.glibtest | |
604 ]) | |
605 # Configure paths for GTK+ | |
606 # Owen Taylor 1997-2001 | |
607 | |
608 dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) | |
609 dnl Test for GTK+, and define GTK_CFLAGS and GTK_LIBS, if gthread is specified in MODULES, | |
610 dnl pass to pkg-config | |
611 dnl | |
612 AC_DEFUN(AM_PATH_GTK_2_0, | |
613 [dnl | |
614 dnl Get the cflags and libraries from pkg-config | |
615 dnl | |
616 AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run a test GTK+ program], | |
617 , enable_gtktest=yes) | |
618 | |
619 pkg_config_args=gtk+-2.0 | |
620 for module in . $4 | |
621 do | |
622 case "$module" in | |
623 gthread) | |
624 pkg_config_args="$pkg_config_args gthread-2.0" | |
625 ;; | |
626 esac | |
627 done | |
628 | |
629 no_gtk="" | |
630 | |
631 AC_PATH_PROG(PKG_CONFIG, pkg-config, no) | |
632 | |
633 if test x$PKG_CONFIG != xno ; then | |
634 if pkg-config --atleast-pkgconfig-version 0.7 ; then | |
635 : | |
636 else | |
637 echo *** pkg-config too old; version 0.7 or better required. | |
638 no_gtk=yes | |
639 PKG_CONFIG=no | |
640 fi | |
641 else | |
642 no_gtk=yes | |
643 fi | |
644 | |
645 min_gtk_version=ifelse([$1], ,2.0.0,$1) | |
646 AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version) | |
647 | |
648 if test x$PKG_CONFIG != xno ; then | |
649 ## don't try to run the test against uninstalled libtool libs | |
650 if $PKG_CONFIG --uninstalled $pkg_config_args; then | |
651 echo "Will use uninstalled version of GTK+ found in PKG_CONFIG_PATH" | |
652 enable_gtktest=no | |
653 fi | |
654 | |
655 if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args; then | |
656 : | |
657 else | |
658 no_gtk=yes | |
659 fi | |
660 fi | |
661 | |
662 if test x"$no_gtk" = x ; then | |
663 GTK_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags` | |
664 GTK_LIBS=`$PKG_CONFIG $pkg_config_args --libs` | |
665 gtk_config_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ | |
666 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` | |
667 gtk_config_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ | |
668 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` | |
669 gtk_config_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ | |
670 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` | |
671 if test "x$enable_gtktest" = "xyes" ; then | |
672 ac_save_CFLAGS="$CFLAGS" | |
673 ac_save_LIBS="$LIBS" | |
674 CFLAGS="$CFLAGS $GTK_CFLAGS" | |
675 LIBS="$GTK_LIBS $LIBS" | |
676 dnl | |
677 dnl Now check if the installed GTK+ is sufficiently new. (Also sanity | |
678 dnl checks the results of pkg-config to some extent) | |
679 dnl | |
680 rm -f conf.gtktest | |
681 AC_TRY_RUN([ | |
682 #include <gtk/gtk.h> | |
683 #include <stdio.h> | |
684 #include <stdlib.h> | |
685 | |
686 int | |
687 main () | |
688 { | |
689 int major, minor, micro; | |
690 char *tmp_version; | |
691 | |
692 system ("touch conf.gtktest"); | |
693 | |
694 /* HP/UX 9 (%@#!) writes to sscanf strings */ | |
695 tmp_version = g_strdup("$min_gtk_version"); | |
696 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { | |
697 printf("%s, bad version string\n", "$min_gtk_version"); | |
698 exit(1); | |
699 } | |
700 | |
701 if ((gtk_major_version != $gtk_config_major_version) || | |
702 (gtk_minor_version != $gtk_config_minor_version) || | |
703 (gtk_micro_version != $gtk_config_micro_version)) | |
704 { | |
705 printf("\n*** 'pkg-config --modversion gtk+-2.0' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", | |
706 $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, | |
707 gtk_major_version, gtk_minor_version, gtk_micro_version); | |
708 printf ("*** was found! If pkg-config was correct, then it is best\n"); | |
709 printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); | |
710 printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); | |
711 printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); | |
712 printf("*** required on your system.\n"); | |
713 printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n"); | |
714 printf("*** to point to the correct configuration files\n"); | |
715 } | |
716 else if ((gtk_major_version != GTK_MAJOR_VERSION) || | |
717 (gtk_minor_version != GTK_MINOR_VERSION) || | |
718 (gtk_micro_version != GTK_MICRO_VERSION)) | |
719 { | |
720 printf("*** GTK+ header files (version %d.%d.%d) do not match\n", | |
721 GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); | |
722 printf("*** library (version %d.%d.%d)\n", | |
723 gtk_major_version, gtk_minor_version, gtk_micro_version); | |
724 } | |
725 else | |
726 { | |
727 if ((gtk_major_version > major) || | |
728 ((gtk_major_version == major) && (gtk_minor_version > minor)) || | |
729 ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) | |
730 { | |
731 return 0; | |
732 } | |
733 else | |
734 { | |
735 printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", | |
736 gtk_major_version, gtk_minor_version, gtk_micro_version); | |
737 printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", | |
738 major, minor, micro); | |
739 printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); | |
740 printf("***\n"); | |
741 printf("*** If you have already installed a sufficiently new version, this error\n"); | |
742 printf("*** probably means that the wrong copy of the pkg-config shell script is\n"); | |
743 printf("*** being found. The easiest way to fix this is to remove the old version\n"); | |
744 printf("*** of GTK+, but you can also set the PKG_CONFIG environment to point to the\n"); | |
745 printf("*** correct copy of pkg-config. (In this case, you will have to\n"); | |
746 printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); | |
747 printf("*** so that the correct libraries are found at run-time))\n"); | |
748 } | |
749 } | |
750 return 1; | |
751 } | |
752 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) | |
753 CFLAGS="$ac_save_CFLAGS" | |
754 LIBS="$ac_save_LIBS" | |
755 fi | |
756 fi | |
757 if test "x$no_gtk" = x ; then | |
758 AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version)) | |
759 ifelse([$2], , :, [$2]) | |
760 else | |
761 AC_MSG_RESULT(no) | |
762 if test "$PKG_CONFIG" = "no" ; then | |
763 echo "*** A new enough version of pkg-config was not found." | |
764 echo "*** See http://pkgconfig.sourceforge.net" | |
765 else | |
766 if test -f conf.gtktest ; then | |
767 : | |
768 else | |
769 echo "*** Could not run GTK+ test program, checking why..." | |
770 ac_save_CFLAGS="$CFLAGS" | |
771 ac_save_LIBS="$LIBS" | |
772 CFLAGS="$CFLAGS $GTK_CFLAGS" | |
773 LIBS="$LIBS $GTK_LIBS" | |
774 AC_TRY_LINK([ | |
775 #include <gtk/gtk.h> | |
776 #include <stdio.h> | |
777 ], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ], | |
778 [ echo "*** The test program compiled, but did not run. This usually means" | |
779 echo "*** that the run-time linker is not finding GTK+ or finding the wrong" | |
780 echo "*** version of GTK+. If it is not finding GTK+, you'll need to set your" | |
781 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" | |
782 echo "*** to the installed location Also, make sure you have run ldconfig if that" | |
783 echo "*** is required on your system" | |
784 echo "***" | |
785 echo "*** If you have an old version installed, it is best to remove it, although" | |
786 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ], | |
787 [ echo "*** The test program failed to compile or link. See the file config.log for the" | |
788 echo "*** exact error that occured. This usually means GTK+ is incorrectly installed."]) | |
789 CFLAGS="$ac_save_CFLAGS" | |
790 LIBS="$ac_save_LIBS" | |
791 fi | |
792 fi | |
793 GTK_CFLAGS="" | |
794 GTK_LIBS="" | |
795 ifelse([$3], , :, [$3]) | |
796 fi | |
797 AC_SUBST(GTK_CFLAGS) | |
798 AC_SUBST(GTK_LIBS) | |
799 rm -f conf.gtktest | |
800 ]) |