~ubuntu-branches/ubuntu/oneiric/gdm3/oneiric

« back to all changes in this revision

Viewing changes to acinclude.m4

  • Committer: Bazaar Package Importer
  • Author(s): Josselin Mouette
  • Date: 2010-03-25 20:02:20 UTC
  • Revision ID: james.westby@ubuntu.com-20100325200220-12cap62s6p304nuh
Tags: upstream-2.29.92
ImportĀ upstreamĀ versionĀ 2.29.92

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
dnl as-ac-expand.m4 0.2.0
 
2
dnl autostars m4 macro for expanding directories using configure's prefix
 
3
dnl thomas@apestaart.org
 
4
 
 
5
dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR)
 
6
dnl example
 
7
dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
 
8
dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local
 
9
 
 
10
AC_DEFUN([AS_AC_EXPAND],
 
11
[
 
12
  EXP_VAR=[$1]
 
13
  FROM_VAR=[$2]
 
14
 
 
15
  dnl first expand prefix and exec_prefix if necessary
 
16
  prefix_save=$prefix
 
17
  exec_prefix_save=$exec_prefix
 
18
 
 
19
  dnl if no prefix given, then use /usr/local, the default prefix
 
20
  if test "x$prefix" = "xNONE"; then
 
21
    prefix="$ac_default_prefix"
 
22
  fi
 
23
  dnl if no exec_prefix given, then use prefix
 
24
  if test "x$exec_prefix" = "xNONE"; then
 
25
    exec_prefix=$prefix
 
26
  fi
 
27
 
 
28
  full_var="$FROM_VAR"
 
29
  dnl loop until it doesn't change anymore
 
30
  while true; do
 
31
    new_full_var="`eval echo $full_var`"
 
32
    if test "x$new_full_var" = "x$full_var"; then break; fi
 
33
    full_var=$new_full_var
 
34
  done
 
35
 
 
36
  dnl clean up
 
37
  full_var=$new_full_var
 
38
  AC_SUBST([$1], "$full_var")
 
39
 
 
40
  dnl restore prefix and exec_prefix
 
41
  prefix=$prefix_save
 
42
  exec_prefix=$exec_prefix_save
 
43
])
 
44
 
 
45
dnl Checks for availability of various utmp fields
 
46
dnl
 
47
dnl Original code by Bernhard Rosenkraenzer (bero@linux.net.eu.org), 1998.
 
48
dnl Modifications by Timur Bakeyev (timur@gnu.org), 1999.
 
49
dnl Patched from http://bugzilla.gnome.org/show_bug.cgi?id=937
 
50
dnl
 
51
 
 
52
dnl GDM_CHECK_UTMP()
 
53
dnl Test for presence of the field and define HAVE_UT_UT_field macro
 
54
dnl Taken from vte/gnome-pty-helper's GPH_CHECK_UTMP
 
55
 
 
56
AC_DEFUN([GDM_CHECK_UTMP],[
 
57
 
 
58
AC_CHECK_HEADERS(sys/time.h utmp.h utmpx.h)
 
59
AC_HEADER_TIME
 
60
 
 
61
if test "$ac_cv_header_utmpx_h" = "yes"; then
 
62
    AC_DEFINE(UTMP,[struct utmpx],[Define to the name of a structure which holds utmp data.])
 
63
else
 
64
    AC_DEFINE(UTMP,[struct utmp],[Define to the name of a structure which holds utmp data.])
 
65
fi
 
66
 
 
67
dnl some systems (BSD4.4-like) require time.h to be included before utmp.h :/
 
68
AC_MSG_CHECKING(for ut_host field in the utmp structure)
 
69
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 
70
#include <sys/time.h>
 
71
#include <time.h>
 
72
#else
 
73
#ifdef HAVE_SYS_TIME_H
 
74
#include <sys/time.h>
 
75
#else
 
76
#include <time.h>
 
77
#endif
 
78
#endif
 
79
#ifdef HAVE_UTMP_H
 
80
#include <utmp.h>
 
81
#endif
 
82
#ifdef HAVE_UTMPX_H
 
83
#include <utmpx.h>
 
84
#endif],[UTMP ut; char *p; p=ut.ut_host;],result=yes,result=no)
 
85
if test "$result" = "yes"; then
 
86
  AC_DEFINE(HAVE_UT_UT_HOST,1,[Define if your utmp struct contains a ut_host field.])
 
87
fi
 
88
AC_MSG_RESULT($result)
 
89
 
 
90
AC_MSG_CHECKING(for ut_pid field in the utmp structure)
 
91
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 
92
#include <sys/time.h>
 
93
#include <time.h>
 
94
#else
 
95
#ifdef HAVE_SYS_TIME_H
 
96
#include <sys/time.h>
 
97
#else
 
98
#include <time.h>
 
99
#endif
 
100
#endif
 
101
#ifdef HAVE_UTMP_H
 
102
#include <utmp.h>
 
103
#endif
 
104
#ifdef HAVE_UTMPX_H
 
105
#include <utmpx.h>
 
106
#endif],[UTMP ut; int i; i=ut.ut_pid;],result=yes,result=no)
 
107
if test "$result" = "yes"; then
 
108
  AC_DEFINE(HAVE_UT_UT_PID,1,[Define if your utmp struct contains a ut_pid field.])
 
109
fi
 
110
AC_MSG_RESULT($result)
 
111
 
 
112
AC_MSG_CHECKING(for ut_id field in the utmp structure)
 
113
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 
114
#include <sys/time.h>
 
115
#include <time.h>
 
116
#else
 
117
#ifdef HAVE_SYS_TIME_H
 
118
#include <sys/time.h>
 
119
#else
 
120
#include <time.h>
 
121
#endif
 
122
#endif
 
123
#ifdef HAVE_UTMP_H
 
124
#include <utmp.h>
 
125
#endif
 
126
#ifdef HAVE_UTMPX_H
 
127
#include <utmpx.h>
 
128
#endif],[UTMP ut; char *p; p=ut.ut_id;],result=yes,result=no)
 
129
if test "$result" = "yes"; then
 
130
  AC_DEFINE(HAVE_UT_UT_ID,1,[Define if your utmp struct contains a ut_id field.])
 
131
fi
 
132
AC_MSG_RESULT($result)
 
133
 
 
134
AC_MSG_CHECKING(for ut_name field in the utmp structure)
 
135
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 
136
#include <sys/time.h>
 
137
#include <time.h>
 
138
#else
 
139
#ifdef HAVE_SYS_TIME_H
 
140
#include <sys/time.h>
 
141
#else
 
142
#include <time.h>
 
143
#endif
 
144
#endif
 
145
#ifdef HAVE_UTMP_H
 
146
#include <utmp.h>
 
147
#endif
 
148
#ifdef HAVE_UTMPX_H
 
149
#include <utmpx.h>
 
150
#endif],[UTMP ut; char *p; p=ut.ut_name;],result=yes,result=no)
 
151
if test "$result" = "yes"; then
 
152
  AC_DEFINE(HAVE_UT_UT_NAME,1,[Define if your utmp struct contains a ut_name field.])
 
153
fi
 
154
AC_MSG_RESULT($result)
 
155
 
 
156
AC_MSG_CHECKING(for ut_type field in the utmp structure)
 
157
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 
158
#include <sys/time.h>
 
159
#include <time.h>
 
160
#else
 
161
#ifdef HAVE_SYS_TIME_H
 
162
#include <sys/time.h>
 
163
#else
 
164
#include <time.h>
 
165
#endif
 
166
#endif
 
167
#ifdef HAVE_UTMP_H
 
168
#include <utmp.h>
 
169
#endif
 
170
#ifdef HAVE_UTMPX_H
 
171
#include <utmpx.h>
 
172
#endif],[UTMP ut; int i; i=(int) ut.ut_type;],result=yes,result=no)
 
173
if test "$result" = "yes"; then
 
174
  AC_DEFINE(HAVE_UT_UT_TYPE,1,[Define if your utmp struct contains a ut_type field.])
 
175
fi
 
176
AC_MSG_RESULT($result)
 
177
 
 
178
AC_MSG_CHECKING(for ut_exit.e_termination field in the utmp structure)
 
179
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 
180
#include <sys/time.h>
 
181
#include <time.h>
 
182
#else
 
183
#ifdef HAVE_SYS_TIME_H
 
184
#include <sys/time.h>
 
185
#else
 
186
#include <time.h>
 
187
#endif
 
188
#endif
 
189
#ifdef HAVE_UTMP_H
 
190
#include <utmp.h>
 
191
#endif
 
192
#ifdef HAVE_UTMPX_H
 
193
#include <utmpx.h>
 
194
#endif],[UTMP ut; ut.ut_exit.e_termination=0;],result=yes,result=no)
 
195
if test "$result" = "yes"; then
 
196
  AC_DEFINE(HAVE_UT_UT_EXIT_E_TERMINATION,1,[Define if your utmp struct contains a ut_exit.e_termination field.])
 
197
fi
 
198
AC_MSG_RESULT($result)
 
199
 
 
200
AC_MSG_CHECKING(for ut_user field in the utmp structure)
 
201
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 
202
#include <sys/time.h>
 
203
#include <time.h>
 
204
#else
 
205
#ifdef HAVE_SYS_TIME_H
 
206
#include <sys/time.h>
 
207
#else
 
208
#include <time.h>
 
209
#endif
 
210
#endif
 
211
#ifdef HAVE_UTMP_H
 
212
#include <utmp.h>
 
213
#endif
 
214
#ifdef HAVE_UTMPX_H
 
215
#include <utmpx.h>
 
216
#endif],[UTMP ut; char *p; p=ut.ut_user;],result=yes,result=no)
 
217
if test "$result" = "yes"; then
 
218
  AC_DEFINE(HAVE_UT_UT_USER,1,[Define if your utmp struct contains a ut_user field.])
 
219
fi
 
220
AC_MSG_RESULT($result)
 
221
 
 
222
AC_MSG_CHECKING(for ut_time field in the utmp structure)
 
223
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 
224
#include <sys/time.h>
 
225
#include <time.h>
 
226
#else
 
227
#ifdef HAVE_SYS_TIME_H
 
228
#include <sys/time.h>
 
229
#else
 
230
#include <time.h>
 
231
#endif
 
232
#endif
 
233
#ifdef HAVE_UTMP_H
 
234
#include <utmp.h>
 
235
#endif
 
236
#ifdef HAVE_UTMPX_H
 
237
#include <utmpx.h>
 
238
#endif],[UTMP ut; ut.ut_time=0;],result=yes,result=no)
 
239
if test "$result" = "yes"; then
 
240
  AC_DEFINE(HAVE_UT_UT_TIME,1,[Define if your utmp struct contains a ut_time field.])
 
241
fi
 
242
AC_MSG_RESULT($result)
 
243
 
 
244
AC_MSG_CHECKING(for ut_tv field in the utmp structure)
 
245
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 
246
#include <sys/time.h>
 
247
#include <time.h>
 
248
#else
 
249
#ifdef HAVE_SYS_TIME_H
 
250
#include <sys/time.h>
 
251
#else
 
252
#include <time.h>
 
253
#endif
 
254
#endif
 
255
#ifdef HAVE_UTMP_H
 
256
#include <utmp.h>
 
257
#endif
 
258
#ifdef HAVE_UTMPX_H
 
259
#include <utmpx.h>
 
260
#endif],[UTMP ut; ut.ut_tv.tv_sec=0; ut.ut_tv.tv_usec=0; ],result=yes,result=no)
 
261
if test "$result" = "yes"; then
 
262
  AC_DEFINE(HAVE_UT_UT_TV,1,[Define if your utmp struct contains a ut_tv field.])
 
263
fi
 
264
AC_MSG_RESULT($result)
 
265
 
 
266
AC_MSG_CHECKING(for ut_syslen field in the utmp structure)
 
267
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 
268
#include <sys/time.h>
 
269
#include <time.h>
 
270
#else
 
271
#ifdef HAVE_SYS_TIME_H
 
272
#include <sys/time.h>
 
273
#else
 
274
#include <time.h>
 
275
#endif
 
276
#endif
 
277
#ifdef HAVE_UTMP_H
 
278
#include <utmp.h>
 
279
#endif
 
280
#ifdef HAVE_UTMPX_H
 
281
#include <utmpx.h>
 
282
#endif],[UTMP ut; ut.ut_syslen=0;],result=yes,result=no)
 
283
if test "$result" = "yes"; then
 
284
  AC_DEFINE(HAVE_UT_UT_SYSLEN,1,[Define if your utmp struct contains a ut_syslen field.])
 
285
fi
 
286
AC_MSG_RESULT($result)
 
287
 
 
288
])
 
289
 
 
290
dnl EXTRA_COMPILE_WARNINGS
 
291
dnl Turn on many useful compiler warnings
 
292
dnl For now, only works on GCC
 
293
AC_DEFUN([EXTRA_COMPILE_WARNINGS],[
 
294
    dnl ******************************
 
295
    dnl More compiler warnings
 
296
    dnl ******************************
 
297
 
 
298
    AC_ARG_ENABLE(compile-warnings,
 
299
                  AC_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],
 
300
                                 [Turn on compiler warnings]),,
 
301
                  [enable_compile_warnings="m4_default([$1],[yes])"])
 
302
 
 
303
    warnCFLAGS=
 
304
    if test "x$GCC" != xyes; then
 
305
        enable_compile_warnings=no
 
306
    fi
 
307
 
 
308
    warning_flags=
 
309
    realsave_CFLAGS="$CFLAGS"
 
310
 
 
311
    case "$enable_compile_warnings" in
 
312
    no)
 
313
        warning_flags=
 
314
        ;;
 
315
    minimum)
 
316
        warning_flags="-Wall"
 
317
        ;;
 
318
    yes)
 
319
        warning_flags="-Wall -Wmissing-prototypes"
 
320
        ;;
 
321
    maximum|error)
 
322
        warning_flags="-Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith"
 
323
        CFLAGS="$warning_flags $CFLAGS"
 
324
        for option in -Wno-sign-compare; do
 
325
                SAVE_CFLAGS="$CFLAGS"
 
326
                CFLAGS="$CFLAGS $option"
 
327
                AC_MSG_CHECKING([whether gcc understands $option])
 
328
                AC_TRY_COMPILE([], [],
 
329
                        has_option=yes,
 
330
                        has_option=no,)
 
331
                CFLAGS="$SAVE_CFLAGS"
 
332
                AC_MSG_RESULT($has_option)
 
333
                if test $has_option = yes; then
 
334
                  warning_flags="$warning_flags $option"
 
335
                fi
 
336
                unset has_option
 
337
                unset SAVE_CFLAGS
 
338
        done
 
339
        unset option
 
340
        if test "$enable_compile_warnings" = "error" ; then
 
341
            warning_flags="$warning_flags -Werror"
 
342
        fi
 
343
        ;;
 
344
    *)
 
345
        AC_MSG_ERROR(Unknown argument '$enable_compile_warnings' to --enable-compile-warnings)
 
346
        ;;
 
347
    esac
 
348
    CFLAGS="$realsave_CFLAGS"
 
349
    AC_MSG_CHECKING(what warning flags to pass to the C compiler)
 
350
    AC_MSG_RESULT($warning_flags)
 
351
 
 
352
    AC_ARG_ENABLE(iso-c,
 
353
                  AC_HELP_STRING([--enable-iso-c],
 
354
                                 [Try to warn if code is not ISO C ]),,
 
355
                  [enable_iso_c=no])
 
356
 
 
357
    AC_MSG_CHECKING(what language compliance flags to pass to the C compiler)
 
358
    complCFLAGS=
 
359
    if test "x$enable_iso_c" != "xno"; then
 
360
        if test "x$GCC" = "xyes"; then
 
361
        case " $CFLAGS " in
 
362
            *[\ \       ]-ansi[\ \      ]*) ;;
 
363
            *) complCFLAGS="$complCFLAGS -ansi" ;;
 
364
        esac
 
365
        case " $CFLAGS " in
 
366
            *[\ \       ]-pedantic[\ \  ]*) ;;
 
367
            *) complCFLAGS="$complCFLAGS -pedantic" ;;
 
368
        esac
 
369
        fi
 
370
    fi
 
371
    AC_MSG_RESULT($complCFLAGS)
 
372
 
 
373
    WARN_CFLAGS="$warning_flags $complCFLAGS"
 
374
    AC_SUBST(WARN_CFLAGS)
 
375
])