~ubuntu-branches/ubuntu/warty/gedit/warty-security

« back to all changes in this revision

Viewing changes to macros/gperf-check.m4

  • Committer: Bazaar Package Importer
  • Author(s): Joe Drew
  • Date: 2002-01-13 02:13:27 UTC
  • Revision ID: james.westby@ubuntu.com-20020113021327-dukaa4n50oykvrjg
Tags: upstream-0.9.6
ImportĀ upstreamĀ versionĀ 0.9.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
dnl
 
2
dnl AC_PROG_GPERF (MINIMUM-VERSION)
 
3
dnl
 
4
dnl Check for availability of gperf.
 
5
dnl Abort if not found or if current version is not up to par.
 
6
dnl
 
7
 
 
8
AC_DEFUN([AC_PROG_GPERF],[
 
9
        AC_PATH_PROG(GPERF, gperf, no)
 
10
        if test "$GPERF" = no; then
 
11
                AC_MSG_ERROR(Could not find gperf)
 
12
        fi
 
13
        min_gperf_version=ifelse([$1], ,2.7,$1)
 
14
        AC_MSG_CHECKING(for gperf - version >= $min_gperf_version)
 
15
        gperf_major_version=`$GPERF --version | \
 
16
                sed 's/GNU gperf \([[0-9]]*\).\([[0-9]]*\)/\1/'`
 
17
        gperf_minor_version=`$GPERF --version | \
 
18
                sed 's/GNU gperf \([[0-9]]*\).\([[0-9]]*\)/\2/'`
 
19
        no_gperf=""
 
20
dnl
 
21
dnl Now check if the installed gperf is sufficiently new.
 
22
dnl
 
23
        AC_TRY_RUN([
 
24
#include <stdio.h>
 
25
#include <stdlib.h>
 
26
#include <string.h>
 
27
 
 
28
static char*
 
29
my_strdup (char *str)
 
30
{
 
31
  char *new_str;
 
32
  
 
33
  if (str)
 
34
    {
 
35
      new_str = malloc ((strlen (str) + 1) * sizeof(char));
 
36
      strcpy (new_str, str);
 
37
    }
 
38
  else
 
39
    new_str = NULL;
 
40
  
 
41
  return new_str;
 
42
}
 
43
 
 
44
int 
 
45
main ()
 
46
{
 
47
  char  *tmp_version;
 
48
  
 
49
  int    major;
 
50
  int    minor;
 
51
 
 
52
  /* HP/UX 9 (%@#!) writes to sscanf strings */
 
53
  tmp_version = my_strdup("$min_gperf_version");
 
54
  if (sscanf(tmp_version, "%d.%d", &major, &minor) != 2) {
 
55
    printf ("%s, bad version string\n", "$min_gperf_version");
 
56
    exit (1);
 
57
  }
 
58
 
 
59
  if (($gperf_major_version > major) ||
 
60
      (($gperf_major_version == major) && ($gperf_minor_version >= minor))) {
 
61
    return 0;
 
62
  } else {
 
63
    printf ("\n");
 
64
    printf ("*** An old version of gperf ($gperf_major_version.$gperf_minor_version) was found.\n");
 
65
    printf ("*** You need a version of gperf newer than %d.%d.%d.  The latest version of\n",
 
66
               major, minor);
 
67
    printf ("*** gperf is always available from ftp://ftp.gnu.org.\n");
 
68
    printf ("***\n");
 
69
    return 1;
 
70
  }
 
71
}
 
72
],,no_gperf=yes,[/bin/true])
 
73
        if test "x$no_gperf" = x ; then
 
74
                AC_MSG_RESULT(yes)
 
75
        else
 
76
                AC_MSG_RESULT(no)
 
77
        fi
 
78
 
 
79
])