source: git/omalloc/configure.in @ d83977

spielwiese
Last change on this file since d83977 was d83977, checked in by Olaf Bachmann <obachman@…>, 23 years ago
Windows port git-svn-id: file:///usr/local/Singular/svn/trunk@5127 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 16.1 KB
Line 
1dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
2dnl File: configure.in
3dnl Purpose: Process this file with autoconf to produce configure
4dnl Author:  obachman@mathematik.uni-kl.de (Olaf Bachmann)
5dnl Created: 11/99
6dnl Version: $Id: configure.in,v 1.12 2001-01-27 17:03:39 obachman Exp $
7dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
8
9AC_INIT(om_Alloc.c)
10
11VERSION=0.9.5
12AC_SUBST(VERSION)
13
14dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
15dnl help for configure
16dnl
17AC_ARG_WITH(
18  external-config_h,
19  [ --with-external-config_h=HEADER_FILE
20                    use HEADER_FILE for external configuration])
21AC_ARG_WITH(
22  external-config_c,
23  [ --with-external-config_c=C_FILE
24                    use C_FILE for external implementations])
25AC_ARG_WITH(
26  malloc,
27  [ --with-malloc=system|dlmalloc|gmalloc|pmalloc|external
28                    which malloc to use, default: dlmalloc ])
29AC_ARG_WITH(
30  external-malloc_h,
31  [ --with-external-malloc-h=HEADER_FILE
32                    use HEADER_FILE for external malloc declaration])
33AC_ARG_WITH(
34  external-malloc_c,
35  [ --with-external-malloc-c=C_FILE
36                    use C_FILE for external malloc implementation])
37AC_ARG_WITH(
38  valloc,
39  [ --with-valloc=mmap|malloc|emulate
40                    how to get page-aligned memory, default: use first possible])
41AC_ARG_WITH(
42  provide-malloc,
43  [ --with-provide-malloc=yes|debug|malloc
44                    provide normal|debug|underlying malloc ANSI-C conforming
45                    versions of malloc|calloc|realloc|free])
46AC_ARG_WITH(
47  emulate-omalloc,
48  [ --with-emulate-omalloc
49                    provide only omallocs interface, but do not use its features])
50AC_ARG_WITH(
51  align,
52  [ --with-align=8|sloppy|strict
53                    how memory is aligned,
54                    default: if possible sloppy, else strict])
55AC_ARG_WITH(
56  dense-bins,
57  [ --with-dense-bins  use dense bin distribution])
58AC_ARG_WITH(
59  inline,
60  [ --without-inline   do not inline])
61AC_ARG_WITH(
62  debug,
63  [ --without-debug    disable all debugging facilities])
64AC_ARG_WITH(
65  track,
66  [ --without-track    disable debug tracking functionality])
67AC_ARG_WITH(
68  track-fl,
69  [ --with-track-fl    track file and line numbers])
70AC_ARG_WITH(
71  track-return,
72  [ --with-track-return track return addresses])
73AC_ARG_WITH(
74  track-backtrace,
75  [ --with-track-backtrace track stack backtraces])
76AC_ARG_WITH(
77  track-custom,
78  [ --with-track-custom track custom values])
79AC_ARG_WITH(
80  internal_debug,
81  [ --with-internal-debug       
82                       turn on internal debugging])
83dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
84dnl compiler/make  config
85dnl
86dnl I'm not sure why I did this
87dnl if test "${CFLAGS+set}" != set; then
88dnl  CFLAGS="-O"
89dnl  ac_cflags_set=no
90dnl fi
91
92AC_PROG_MAKE_SET
93AC_PROG_CC
94AC_PROG_CPP
95AC_PROG_RANLIB
96AC_PROG_LN_S
97AC_PROG_INSTALL
98AC_C_CONST
99AC_C_INLINE
100
101dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
102dnl check for programs
103dnl
104AC_CHECK_PROG(AR, ar, ar, :)
105if test "$ac_cv_prog_AR" != ar; then
106  AC_MSG_ERROR(*** ar program not found)
107fi
108AC_CHECK_PROGS(PERL, perl, "no")
109if test "$ac_cv_prog_PERL" = no; then
110  AC_MSG_ERROR(*** perl program not found)
111fi
112
113AC_CHECK_PROG(ADDR2LINE, addr2line, addr2line, no)
114if test "$ac_cv_prog_ADDR2LINE" = addr2line; then
115  AC_DEFINE_UNQUOTED(OM_PROG_ADDR2LINE, "$ac_cv_prog_ADDR2LINE")
116fi
117
118dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
119dnl header file checks
120dnl
121AC_HEADER_STDC
122AC_CHECK_HEADERS(limits.h,,
123  AC_MSG_ERROR(Can not compile without limits.h))
124AC_CHECK_HEADERS(unistd.h sys/mman.h fcntl.h /usr/include/malloc.h)
125
126AC_CHECK_FUNCS(popen readlink getcwd getwd mmap sbrk random)
127
128dnl llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
129dnl Find out more about particularity of the system
130dnl
131
132# sizes
133AC_CHECK_SIZEOF(long,4)
134AC_CHECK_SIZEOF(void*,4)
135AC_CHECK_SIZEOF(double, 8)
136AC_CHECK_SIZEOF(size_t, 4)
137
138if test "$ac_cv_sizeof_long" != "$ac_cv_sizeof_voidp"; then
139  AC_MSG_ERROR(need equal sizes for long and void*)
140fi
141if test "$ac_cv_sizeof_voidp" != 4 && test "$ac_cv_sizeof_voidp" != 8; then
142  AC_MSG_ERROR(need void* to be 4 or 8 bytes long)
143fi
144if test "$ac_cv_sizeof_double" != 4 && test "$ac_cv_sizeof_double" != 8; then
145  AC_MSG_ERROR(need double to be 4 or 8 bytes long)
146fi
147
148dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
149dnl figure out page size of the system
150dnl
151AC_MSG_CHECKING(size of system page)
152AC_CACHE_VAL(ac_cv_pagesize,
153AC_TRY_RUN([#include <stdio.h>
154#include "omGetPageSize.h"
155
156main()
157{
158  FILE *f=fopen("conftestval", "w");
159  if (!f) exit(1);
160  fprintf(f, "%d\n", omalloc_getpagesize);
161  exit(0);
162}], ac_cv_pagesize=`cat conftestval`, ac_cv_pagesize=0, ac_cv_pagesize=0))
163# can not really handle pagesizes which are greater -- there must be a
164# bug somewhere
165if test $ac_cv_pagesize -gt 8192; then
166  ac_cv_pagesize=8192
167fi
168AC_MSG_RESULT($ac_cv_pagesize)
169if test "$ac_cv_pagesize" = 4096 || test "$ac_cv_pagesize" = 8192; then
170  AC_DEFINE_UNQUOTED(SIZEOF_SYSTEM_PAGE, $ac_cv_pagesize)
171else
172AC_MSG_ERROR(need sytem page to be of size 4096 or 8192, but is $ac_cv_pagesize)
173fi
174
175dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
176dnl check whether mmap actually works
177dnl
178if test "$ac_cv_func_mmap" = yes; then
179AC_MSG_CHECKING(whether mmap works)
180AC_CACHE_VAL(ac_cv_working_mmap,
181AC_TRY_RUN([
182#include "omMmap.c"
183main()
184{
185  void* addr = omVallocMmap(128*${ac_cv_pagesize});
186  if (addr == 0 || ((unsigned long) addr % ${ac_cv_pagesize}))
187    exit(1);
188  exit(omVfreeMmap(addr, 128*${ac_cv_pagesize}));
189}], ac_cv_working_mmap=yes, ac_cv_working_mmap=no, ac_cv_working_mmap=no))
190AC_MSG_RESULT($ac_cv_working_mmap)
191if test "$ac_cv_working_mmap" = yes; then
192  AC_DEFINE(HAVE_WORKING_MMAP)
193fi
194fi
195
196dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
197dnl for strict alignment
198dnl
199AC_CACHE_CHECK(whether alignment needs to be strict, ac_cv_align_need_strict,
200AC_TRY_RUN([
201main()
202{
203  void* ptr = (void*) malloc(12);
204  double* d_ptr;
205  if ((unsigned long) ptr % 8 == 0) ptr = ptr + 4; 
206  d_ptr = (double*) ptr;
207  *d_ptr = (double) 1.1;
208  if (*d_ptr != (double) 1.1) exit(1);
209  else exit(0);
210}
211], ac_cv_align_need_strict=no, ac_cv_align_need_strict=yes, ac_cv_align_need_strict=yes))
212
213dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
214dnl external config files
215dnl
216AC_MSG_CHECKING(for external config files)
217if test "${with_external_config_h+set}" = set; then
218    AC_DEFINE(OM_HAVE_EXTERNAL_CONFIG_H)
219    EXTERNAL_CONFIG_HEADER=${with_external_config_h}
220    rm -f omExternalConfig.h
221    cp ${with_external_config_h} omExternalConfig.h
222fi
223if test "${with_external_config_c+set}" = set; then
224    AC_DEFINE(OM_HAVE_EXTERNAL_CONFIG_C)
225    EXTERNAL_CONFIG_SOURCE=${with_external_config_c}
226fi
227AC_SUBST(EXTERNAL_CONFIG_HEADER)
228AC_SUBST(EXTERNAL_CONFIG_SOURCE)
229if test "${EXTERNAL_CONFIG_HEADER+set}" = set || test "${EXTERNAL_CONFIG_SOURCE+set}" = set; then
230AC_MSG_RESULT(${EXTERNAL_CONFIG_HEADER} ${EXTERNAL_CONFIG_SOURCE})
231else
232AC_MSG_RESULT(none)
233fi
234
235dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
236dnl for malloc
237dnl
238AC_MSG_CHECKING(which malloc to use)
239if test "${with_malloc}" = system; then
240  OM_MALLOC_HEADER=omMallocSystem.h
241  AC_DEFINE(OMALLOC_USES_MALLOC)
242  if test "${with_provide_malloc}" = yes || test "${with_provide_malloc}" = debug; then
243    AC_MSG_ERROR("can not provide malloc for --with-malloc=system")
244  fi
245elif test "${with_malloc}" = gmalloc; then
246  OM_MALLOC_HEADER=gmalloc.h
247  OM_MALLOC_SOURCE=gmalloc.c
248elif test "${with_malloc}" = pmalloc; then
249  OM_MALLOC_HEADER=pmalloc.h
250  OM_MALLOC_SOURCE=pmalloc.c
251elif test "${with_malloc}" = external; then
252  if test "${with_external_malloc_h+set}" != set; then
253    AC_MSG_ERROR(need --with_external_malloc_h for external malloc)
254  fi
255  if test "${with_provide_malloc}" = yes || test "${with_provide_malloc}" = debug; then
256    AC_MSG_ERROR("can not provide malloc for --with_malloc=external")
257  fi
258  OM_MALLOC_HEADER=$with_external_malloc_h
259  OM_MALLOC_SOURCE=$with_external_malloc_c
260  AC_DEFINE(OMALLOC_USES_MALLOC)
261else
262  with_malloc=dlmalloc
263  OM_MALLOC_HEADER=dlmalloc.h
264  OM_MALLOC_SOURCE=dlmalloc.c
265fi
266AC_MSG_RESULT($with_malloc)
267AC_SUBST(OM_MALLOC_HEADER)
268AC_SUBST(OM_MALLOC_SOURCE)
269if test "${OM_MALLOC_SOURCE+set}" = set; then
270  AC_DEFINE(OM_HAVE_MALLOC_SOURCE)
271fi
272
273AC_MSG_CHECKING(whether malloc provides SizeOfAddr)
274if test "${ac_cv_malloc_sizeof_addr}" = no; then
275  AC_MSG_RESULT( (cached) no)
276elif test "${ac_cv_malloc_sizeof_addr}" = "${OM_MALLOC_HEADER}_${OM_MALLOC_SOURCE}"; then
277   AC_MSG_RESULT( (cached) yes)
278else
279AC_TRY_RUN([
280#include "$OM_MALLOC_HEADER"
281#ifdef OM_HAVE_MALLOC_SOURCE
282#include "$OM_MALLOC_SOURCE"
283#endif
284
285main()
286{
287  void* addr = OM_MALLOC_MALLOC(512);
288  if (OM_MALLOC_SIZEOF_ADDR(addr) < 512)
289    exit(1);
290  exit(0);
291}
292], ac_cv_malloc_sizeof_addr="${OM_MALLOC_HEADER}_${OM_MALLOC_SOURCE}", ac_cv_malloc_sizeof_addr=no, ac_cv_malloc_sizeof_addr=no)
293if test "${ac_cv_malloc_sizeof_addr}" = no; then
294AC_MSG_RESULT(no)
295else
296AC_MSG_RESULT(yes)
297fi
298fi
299if test "$ac_cv_malloc_sizeof_addr" != no; then
300AC_DEFINE(OM_MALLOC_PROVIDES_SIZEOF_ADDR)
301fi
302 
303if test "${with_provide_malloc}" = malloc; then
304   AC_DEFINE(OM_PROVIDE_MALLOC, 3)
305elif test "${with_provide_malloc}" = debug; then
306   AC_DEFINE(OM_PROVIDE_MALLOC, 2)
307elif test "${with_provide_malloc}" = yes; then
308  AC_DEFINE(OM_PROVIDE_MALLOC, 1)
309else
310  AC_DEFINE(OM_PROVIDE_MALLOC, 0)
311fi
312
313dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
314dnl check whether valloc is provided and that it works
315dnl
316AC_MSG_CHECKING(whether working valloc exists)
317if test "${ac_cv_working_valloc}" = no; then
318  AC_MSG_RESULT( (cached) no)
319elif test "${ac_cv_working_valloc}" = "${OM_MALLOC_HEADER}_${OM_MALLOC_SOURCE}"; then
320  AC_MSG_RESULT( (cached) yes)
321else
322AC_TRY_RUN([
323#include "$OM_MALLOC_HEADER"
324#ifdef OM_HAVE_MALLOC_SOURCE
325#include "$OM_MALLOC_SOURCE"
326#endif
327
328main()
329{
330  void* addr = OM_MALLOC_VALLOC(128*${ac_cv_pagesize});
331  if (addr == 0 || ((unsigned long) addr % ${ac_cv_pagesize}))
332    exit(1);
333  OM_MALLOC_VFREE(addr, 128*${ac_cv_pagesize});
334  exit(0);
335}
336], ac_cv_working_valloc="${OM_MALLOC_HEADER}_${OM_MALLOC_SOURCE}", ac_cv_working_valloc=no, ac_cv_working_valloc=no)
337if test "${ac_cv_working_valloc}" = no; then
338AC_MSG_RESULT(no)
339else
340AC_MSG_RESULT(yes)
341fi
342fi
343
344dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
345dnl for valloc
346dnl
347AC_MSG_CHECKING(which valloc to use)
348if test "${with_valloc+set}" != set || test "${with_valloc}" = mmap; then
349  if test "${ac_cv_working_mmap}" = yes; then
350    with_valloc=mmap
351    AC_DEFINE(OM_HAVE_VALLOC_MMAP)
352  else
353    with_valloc=malloc
354  fi
355fi
356if test "${with_valloc}" = malloc; then
357  if test "${ac_cv_working_valloc}" != no; then
358    AC_DEFINE(OM_HAVE_VALLOC_MALLOC)
359  else
360    with_valloc=emulate
361  fi
362fi
363AC_MSG_RESULT($with_valloc)
364
365dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
366dnl emulation
367dnl
368AC_MSG_CHECKING(whether to emulate omalloc)
369if test "${with_emulate_omalloc}" = yes; then
370  AC_DEFINE(OM_EMULATE_OMALLOC)
371  AC_MSG_RESULT(yes)
372else
373  AC_MSG_RESULT(no)
374fi
375
376dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
377dnl alignment
378dnl
379AC_MSG_CHECKING(how to align)
380if test "$with_align" = 8 || test "$ac_cv_sizeof_long" = 8; then
381  ac_cv_align=8
382  AC_DEFINE(OM_ALIGN_8)
383else
384if test "$ac_cv_align_need_strict" = "yes" || test "$with_align" = "strict"; then
385  AC_DEFINE(OM_ALIGNMENT_NEEDS_WORK)
386  ac_cv_align="strict"
387else
388  ac_cv_align="sloppy"
389fi     
390fi
391AC_MSG_RESULT($ac_cv_align)
392
393dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
394dnl dense bins
395dnl
396AC_MSG_CHECKING(whether to use dense bins)
397if test "$with_dense_bins" = yes; then
398AC_MSG_RESULT(yes)
399AC_DEFINE(OM_HAVE_DENSE_BIN_DISTRIBUTION)
400else
401AC_MSG_RESULT(no)
402fi
403
404dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
405dnl debug and inline
406dnl
407AC_MSG_CHECKING(whether to disable debugging)
408if test "$with_debug" != no; then
409AC_MSG_RESULT(no)
410else
411AC_MSG_RESULT(yes)
412AC_DEFINE(OM_NDEBUG)
413with_track=no
414fi
415
416AC_MSG_CHECKING(whether to have tracking debug functionality)
417if test "$with_track" != no; then
418AC_MSG_RESULT(yes)
419AC_DEFINE(OM_HAVE_TRACK)
420else
421AC_MSG_RESULT(no)
422fi
423
424AC_MSG_CHECKING(whether to use internal debug)
425if test "$with_internal_debug" = yes; then
426AC_MSG_RESULT(yes)
427AC_DEFINE(OM_INTERNAL_DEBUG)
428with_inline=no
429else
430AC_MSG_RESULT(no)
431fi
432
433AC_MSG_CHECKING(whether to inline)
434if test "$ac_cv_c_inline" != no && test "$with_inline" != no; then
435  AC_DEFINE_UNQUOTED(OM_INLINE, static $ac_cv_c_inline)
436  AC_DEFINE_UNQUOTED(OM_INLINE_DECL, static $ac_cv_c_inline)
437  AC_DEFINE_UNQUOTED(OM_INLINE_IMPL, static $ac_cv_c_inline)
438  AC_DEFINE_UNQUOTED(OM_INLINE_LOCAL, static $ac_cv_c_inline)
439  AC_MSG_RESULT(yes)
440else
441  AC_DEFINE_UNQUOTED(OM_INLINE_DECL, extern)
442  AC_DEFINE_UNQUOTED(OM_INLINE_IMPL,)
443  AC_DEFINE_UNQUOTED(OM_INLINE_LOCAL, static)
444  AC_MSG_RESULT(no)
445fi
446
447dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
448dnl backtrace business
449dnl
450AC_MSG_CHECKING(whether GET_RET_ADDR works)
451AC_CACHE_VAL(ac_cv_get_return_addr_works,
452AC_TRY_RUN([
453#include "omReturn.h"
454int test_return_addr()
455{
456  char* f;
457  GET_RET_ADDR(f);
458  return (int) f;
459}
460int main()
461{
462   exit(! test_return_addr());
463}
464], ac_cv_get_return_addr_works=yes, 
465   ac_cv_get_return_addr_works=no,
466   ac_cv_get_return_addr_works=no))
467AC_MSG_RESULT($ac_cv_get_return_addr_works)
468if test "$ac_cv_get_return_addr_works" = yes; then
469AC_DEFINE(OM_GET_RETURN_ADDR_WORKS)
470fi
471
472AC_MSG_CHECKING(whether omGetBackTrace works)
473AC_CACHE_VAL(ac_cv_get_backtrace_works,
474AC_TRY_RUN([
475#include "omGetBackTrace.c"
476#include <stdio.h>
477int test_backtrace()
478{
479  void* bt;
480  int i = omGetBackTrace(&bt, 0, 10);
481  return i;
482}
483int main()
484{
485   int i;       
486   omInitGetBackTrace();
487   i = test_backtrace();
488   if (i == 1) exit(0);
489   else exit(i+1);
490}
491], ac_cv_get_backtrace_works=yes, 
492   ac_cv_get_backtrace_works=no,
493   ac_cv_get_backtrace_works=no))
494AC_MSG_RESULT($ac_cv_get_backtrace_works)
495if test "$ac_cv_get_backtrace_works" = yes; then
496AC_DEFINE(OM_GET_BACKTRACE_WORKS)
497fi
498
499AC_MSG_CHECKING(whether addr2line works)
500AC_CACHE_VAL(ac_cv_prog_addr2line_works,
501AC_TRY_RUN([
502#undef OM_GET_BACKTRACE_WORKS
503#include "omReturn.h"
504#include "omStructs.h"
505#include "omGetBackTrace.h"
506#include "omRet2Info.c"
507#include "omFindExec.c"
508
509
510int test_Ret_2_Info()
511{
512  void* bt;
513  int i;
514  struct omRetInfo_s info;
515 
516  GET_RET_ADDR(bt);
517  i = omBackTrace_2_RetInfo(&bt, &info, 1);
518  return i;
519}
520
521 
522int main(int argc, char** argv)
523{
524  int i;
525  omInitRet_2_Info(*argv);
526  i = test_Ret_2_Info();
527  if (i==1) exit(0);
528  else exit (i+10);
529}
530], ac_cv_prog_addr2line_works=yes, 
531   ac_cv_prog_addr2line_works=no,
532   ac_cv_prog_addr2line_works=no))
533AC_MSG_RESULT($ac_cv_prog_addr2line_works)
534 
535AC_MSG_CHECKING(whether to track return addresses)
536if test "$with_track_return" = no || test "$ac_cv_get_return_addr_works" = no || test "$ac_cv_prog_addr2line_works" != yes; then
537  with_track_return=no
538else
539  AC_DEFINE(OM_TRACK_RETURN)
540  with_track_return=yes
541fi
542AC_MSG_RESULT($with_track_return)
543
544AC_MSG_CHECKING(whether to track files and line numbers)
545if test "$with_track_fl" = no && test "$with_track_return" = no; then
546  with_track_fl=yes
547fi
548if test "${with_track_fl+set}" != set; then
549  if test "$with_track_return" = yes; then
550    with_track_fl=no
551  else
552    with_track_fl=yes
553  fi
554fi
555AC_MSG_RESULT($with_track_fl)
556if test "$with_track_fl" = yes; then
557  AC_DEFINE(OM_TRACK_FILE_LINE)
558fi
559
560AC_MSG_CHECKING(whether to track stack backtraces)
561if test "$with_track" != no && test "$ac_cv_get_backtrace_works" = yes && test "$with_track_backtrace" != no && test "$ac_cv_prog_addr2line_works" = yes; then
562  with_track_backtrace=yes
563  AC_DEFINE(OM_TRACK_BACKTRACE)
564else
565  with_track_backtrace=no
566fi
567AC_MSG_RESULT($with_track_backtrace)
568
569AC_MSG_CHECKING(whether to track custom values) 
570if test "$with_track" != no && test "$with_track_custom" = yes; then
571  AC_DEFINE(OM_TRACK_CUSTOM)
572else
573  with_track_custom=no
574fi
575AC_MSG_RESULT($with_track_custom)
576
577dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
578dnl wrap it up
579dnl
580AC_CONFIG_HEADER(omConfig.h omMalloc.h:${OM_MALLOC_HEADER})
581
582
583AC_OUTPUT(Makefile, \
584 if test "$CONFIG_HEADERS"; then echo timestamp > stamp-h; fi)
585
586
587
588
Note: See TracBrowser for help on using the repository browser.