summaryrefslogtreecommitdiffstats
path: root/rfc822/configure.ac
blob: 8dfee019c0bc12ff4c0b64c71d35777566b2bf99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
dnl Process this file with autoconf to produce a configure script.
dnl
dnl Copyright 1998 - 2009 Double Precision, Inc.  See COPYING for
dnl distribution information.

AC_INIT(rfc822lib, 0.13, [courier-users@lists.sourceforge.net])

>confdefs.h  # Kill PACKAGE_ macros

AC_CONFIG_SRCDIR(rfc822.c)
AC_CONFIG_AUX_DIR(../..)
AM_INIT_AUTOMAKE([foreign no-define])
AC_CONFIG_HEADERS(config.h)

dnl Checks for programs.
AC_USE_SYSTEM_EXTENSIONS
AC_PROG_CC
AC_PROG_LIBTOOL

if test "$GCC" = yes ; then
        CXXFLAGS="$CXXFLAGS -Wall"
        CFLAGS="$CFLAGS -Wall"
fi

CFLAGS="$CFLAGS -I.. -I$srcdir/.."

dnl Checks for libraries.

dnl Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS(locale.h)

dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T
AC_STRUCT_TM
AC_SYS_LARGEFILE

dnl Checks for library functions.

AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
		    [Support IDN (needs GNU Libidn)]),
		    libidn=$withval, libidn=yes)

if test "$libidn" != "no"
then
	PKG_CHECK_MODULES(LIBIDN, libidn >= 0.0.0, [libidn=yes], [libidn=no])
        if test "$libidn" != "yes"
	then
		libidn=no
         	AC_MSG_WARN([Libidn not found])
	else
		libidn=yes
		AC_DEFINE(LIBIDN, 1, [Define to 1 if you want Libidn.])
       	fi
fi
AC_MSG_CHECKING([if Libidn should be used])
AC_MSG_RESULT($libidn)

AC_CHECK_FUNCS(strcasecmp strncasecmp setlocale)

AC_CACHE_CHECK([how to calculate alternate timezone],librfc822_cv_SYS_TIMEZONE,

AC_TRY_COMPILE([
#include	<time.h>
],[
int main()
{
time_t	t=altzone;

	return (0);
}
], librfc822_cv_SYS_TIMEZONE=altzone,

	AC_TRY_COMPILE([
#include	<time.h>
],[
int main()
{
int	n=daylight;

	return (0);
}
	], librfc822_cv_SYS_TIMEZONE=daylight,

	AC_TRY_COMPILE([
#include	<time.h>

extern struct tm dummy;
],[
int main()
{
long	n=dummy.tm_gmtoff;

	return (0);
}
	] ,librfc822_cv_SYS_TIMEZONE=tm_gmtoff,
		librfc822_cv_SYS_TIMEZONE=unknown
			)
		)
	)
)

case $librfc822_cv_SYS_TIMEZONE in
tm_gmtoff)
	AC_DEFINE_UNQUOTED(USE_TIME_GMTOFF,1,
		[ The time offset is specified in the tm_gmtoff member ])
	;;
altzone)
	AC_DEFINE_UNQUOTED(USE_TIME_ALTZONE,1,
		[ The daylight savings time offset is in the altzone member ])
	;;
daylight)
	AC_DEFINE_UNQUOTED(USE_TIME_DAYLIGHT,1,
		[ The daylight savings time offset is in the tm_isdst member ])
	;;
*)
	AC_MSG_WARN([Cannot figure out how to calculate the alternate timezone, will use GMT])
	;;
esac

AM_CONDITIONAL(HAVE_SGML, test -d ${srcdir}/../docbook)

echo "libidn=$libidn" >rfc822.config
AC_OUTPUT(Makefile)