2004-02-14 Elena Zannoni <ezannoni@redhat.com>
[platform/upstream/binutils.git] / gdb / acinclude.m4
1 dnl written by Rob Savoye <rob@cygnus.com> for Cygnus Support
2 dnl major rewriting for Tcl 7.5 by Don Libes <libes@nist.gov>
3
4 dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition.
5 sinclude(../bfd/acinclude.m4)
6
7 dnl This gets the standard macros, like the TCL, TK, etc ones.
8 sinclude(../config/acinclude.m4)
9
10 dnl CYGNUS LOCAL: This gets the right posix flag for gcc
11 AC_DEFUN(CY_AC_TCL_LYNX_POSIX,
12 [AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AC_PROG_CPP])
13 AC_MSG_CHECKING([if running LynxOS])
14 AC_CACHE_VAL(ac_cv_os_lynx,
15 [AC_EGREP_CPP(yes,
16 [/*
17  * The old Lynx "cc" only defines "Lynx", but the newer one uses "__Lynx__"
18  */
19 #if defined(__Lynx__) || defined(Lynx)
20 yes
21 #endif
22 ], ac_cv_os_lynx=yes, ac_cv_os_lynx=no)])
23 #
24 if test "$ac_cv_os_lynx" = "yes" ; then
25   AC_MSG_RESULT(yes)
26   AC_DEFINE(LYNX)
27   AC_MSG_CHECKING([whether -mposix or -X is available])
28   AC_CACHE_VAL(ac_cv_c_posix_flag,
29   [AC_TRY_COMPILE(,[
30   /*
31    * This flag varies depending on how old the compiler is.
32    * -X is for the old "cc" and "gcc" (based on 1.42).
33    * -mposix is for the new gcc (at least 2.5.8).
34    */
35   #if defined(__GNUC__) && __GNUC__ >= 2
36   choke me
37   #endif
38   ], ac_cv_c_posix_flag=" -mposix", ac_cv_c_posix_flag=" -X")])
39   CC="$CC $ac_cv_c_posix_flag"
40   AC_MSG_RESULT($ac_cv_c_posix_flag)
41   else
42   AC_MSG_RESULT(no)
43 fi
44 ])
45
46 #
47 # Sometimes the native compiler is a bogus stub for gcc or /usr/ucb/cc. This
48 # makes configure think it's cross compiling. If --target wasn't used, then
49 # we can't configure, so something is wrong. We don't use the cache
50 # here cause if somebody fixes their compiler install, we want this to work.
51 AC_DEFUN(CY_AC_C_WORKS,
52 [# If we cannot compile and link a trivial program, we can't expect anything to work
53 AC_MSG_CHECKING(whether the compiler ($CC) actually works)
54 AC_TRY_COMPILE(, [/* don't need anything here */],
55         c_compiles=yes, c_compiles=no)
56
57 AC_TRY_LINK(, [/* don't need anything here */],
58         c_links=yes, c_links=no)
59
60 if test x"${c_compiles}" = x"no" ; then
61   AC_MSG_ERROR(the native compiler is broken and won't compile.)
62 fi
63
64 if test x"${c_links}" = x"no" ; then
65   AC_MSG_ERROR(the native compiler is broken and won't link.)
66 fi
67 AC_MSG_RESULT(yes)
68 ])
69
70 AC_DEFUN(CY_AC_PATH_TCLH, [
71 #
72 # Ok, lets find the tcl source trees so we can use the headers
73 # Warning: transition of version 9 to 10 will break this algorithm
74 # because 10 sorts before 9. We also look for just tcl. We have to
75 # be careful that we don't match stuff like tclX by accident.
76 # the alternative search directory is involked by --with-tclinclude
77 #
78
79 no_tcl=true
80 AC_MSG_CHECKING(for Tcl private headers. dir=${configdir})
81 AC_ARG_WITH(tclinclude, [  --with-tclinclude=DIR   Directory where tcl private headers are], with_tclinclude=${withval})
82 AC_CACHE_VAL(ac_cv_c_tclh,[
83 # first check to see if --with-tclinclude was specified
84 if test x"${with_tclinclude}" != x ; then
85   if test -f ${with_tclinclude}/tclInt.h ; then
86     ac_cv_c_tclh=`(cd ${with_tclinclude}; pwd)`
87   elif test -f ${with_tclinclude}/generic/tclInt.h ; then
88     ac_cv_c_tclh=`(cd ${with_tclinclude}/generic; pwd)`
89   else
90     AC_MSG_ERROR([${with_tclinclude} directory doesn't contain private headers])
91   fi
92 fi
93
94 # next check if it came with Tcl configuration file
95 if test x"${ac_cv_c_tclconfig}" = x ; then
96   if test -f $ac_cv_c_tclconfig/../generic/tclInt.h ; then
97     ac_cv_c_tclh=`(cd $ac_cv_c_tclconfig/..; pwd)`
98   fi
99 fi
100
101 # next check in private source directory
102 #
103 # since ls returns lowest version numbers first, reverse its output
104 if test x"${ac_cv_c_tclh}" = x ; then
105   for i in \
106                 ${srcdir}/../tcl \
107                 `ls -dr ${srcdir}/../tcl[[7-9]]* 2>/dev/null` \
108                 ${srcdir}/../../tcl \
109                 `ls -dr ${srcdir}/../../tcl[[7-9]]* 2>/dev/null` \
110                 ${srcdir}/../../../tcl \
111                 `ls -dr ${srcdir}/../../../tcl[[7-9]]* 2>/dev/null ` ; do
112     if test -f $i/generic/tclInt.h ; then
113       ac_cv_c_tclh=`(cd $i/generic; pwd)`
114       break
115     fi
116   done
117 fi
118 # finally check in a few common install locations
119 #
120 # since ls returns lowest version numbers first, reverse its output
121 if test x"${ac_cv_c_tclh}" = x ; then
122   for i in \
123                 `ls -dr /usr/local/src/tcl[[7-9]]* 2>/dev/null` \
124                 `ls -dr /usr/local/lib/tcl[[7-9]]* 2>/dev/null` \
125                 /usr/local/src/tcl \
126                 /usr/local/lib/tcl \
127                 ${prefix}/include ; do
128     if test -f $i/generic/tclInt.h ; then
129       ac_cv_c_tclh=`(cd $i/generic; pwd)`
130       break
131     fi
132   done
133 fi
134 # see if one is installed
135 if test x"${ac_cv_c_tclh}" = x ; then
136    AC_HEADER_CHECK(tclInt.h, ac_cv_c_tclh=installed, ac_cv_c_tclh="")
137 fi
138 ])
139 if test x"${ac_cv_c_tclh}" = x ; then
140   TCLHDIR="# no Tcl private headers found"
141   AC_MSG_ERROR([Can't find Tcl private headers])
142 fi
143 if test x"${ac_cv_c_tclh}" != x ; then
144   no_tcl=""
145   if test x"${ac_cv_c_tclh}" = x"installed" ; then
146     AC_MSG_RESULT([is installed])
147     TCLHDIR=""
148   else
149     AC_MSG_RESULT([found in ${ac_cv_c_tclh}])
150     # this hack is cause the TCLHDIR won't print if there is a "-I" in it.
151     TCLHDIR="-I${ac_cv_c_tclh}"
152   fi
153 fi
154
155 AC_SUBST(TCLHDIR)
156 ])
157
158
159 AC_DEFUN(CY_AC_PATH_TCLCONFIG, [
160 #
161 # Ok, lets find the tcl configuration
162 # First, look for one uninstalled.  
163 # the alternative search directory is invoked by --with-tclconfig
164 #
165
166 if test x"${no_tcl}" = x ; then
167   # we reset no_tcl in case something fails here
168   no_tcl=true
169   AC_ARG_WITH(tclconfig, [  --with-tclconfig=DIR    Directory containing tcl configuration (tclConfig.sh)],
170          with_tclconfig=${withval})
171   AC_MSG_CHECKING([for Tcl configuration])
172   AC_CACHE_VAL(ac_cv_c_tclconfig,[
173
174   # First check to see if --with-tclconfig was specified.
175   if test x"${with_tclconfig}" != x ; then
176     if test -f "${with_tclconfig}/tclConfig.sh" ; then
177       ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)`
178     else
179       AC_MSG_ERROR([${with_tclconfig} directory doesn't contain tclConfig.sh])
180     fi
181   fi
182
183   # then check for a private Tcl installation
184   if test x"${ac_cv_c_tclconfig}" = x ; then
185     for i in \
186                 ../tcl \
187                 `ls -dr ../tcl[[7-9]]* 2>/dev/null` \
188                 ../../tcl \
189                 `ls -dr ../../tcl[[7-9]]* 2>/dev/null` \
190                 ../../../tcl \
191                 `ls -dr ../../../tcl[[7-9]]* 2>/dev/null` ; do
192       if test -f "$i/${configdir}/tclConfig.sh" ; then
193         ac_cv_c_tclconfig=`(cd $i/${configdir}; pwd)`
194         break
195       fi
196     done
197   fi
198   # check in a few common install locations
199   if test x"${ac_cv_c_tclconfig}" = x ; then
200     for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do
201       if test -f "$i/tclConfig.sh" ; then
202         ac_cv_c_tclconfig=`(cd $i; pwd)`
203         break
204       fi
205     done
206   fi
207   # check in a few other private locations
208   if test x"${ac_cv_c_tclconfig}" = x ; then
209     for i in \
210                 ${srcdir}/../tcl \
211                 `ls -dr ${srcdir}/../tcl[[7-9]]* 2>/dev/null` ; do
212       if test -f "$i/${configdir}/tclConfig.sh" ; then
213         ac_cv_c_tclconfig=`(cd $i/${configdir}; pwd)`
214         break
215       fi
216     done
217   fi
218   ])
219   if test x"${ac_cv_c_tclconfig}" = x ; then
220     TCLCONFIG="# no Tcl configs found"
221     AC_MSG_WARN(Can't find Tcl configuration definitions)
222   else
223     no_tcl=
224     TCLCONFIG=${ac_cv_c_tclconfig}/tclConfig.sh
225     AC_MSG_RESULT(found $TCLCONFIG)
226   fi
227 fi
228 ])
229
230 # Defined as a separate macro so we don't have to cache the values
231 # from PATH_TCLCONFIG (because this can also be cached).
232 AC_DEFUN(CY_AC_LOAD_TCLCONFIG, [
233     . $TCLCONFIG
234
235     AC_SUBST(TCL_VERSION)
236     AC_SUBST(TCL_MAJOR_VERSION)
237     AC_SUBST(TCL_MINOR_VERSION)
238     AC_SUBST(TCL_CC)
239     AC_SUBST(TCL_DEFS)
240
241 dnl not used, don't export to save symbols
242 dnl    AC_SUBST(TCL_LIB_FILE)
243
244 dnl don't export, not used outside of configure
245 dnl     AC_SUBST(TCL_LIBS)
246 dnl not used, don't export to save symbols
247 dnl    AC_SUBST(TCL_PREFIX)
248
249 dnl not used, don't export to save symbols
250 dnl    AC_SUBST(TCL_EXEC_PREFIX)
251
252     AC_SUBST(TCL_SHLIB_CFLAGS)
253     AC_SUBST(TCL_SHLIB_LD)
254 dnl don't export, not used outside of configure
255     AC_SUBST(TCL_SHLIB_LD_LIBS)
256     AC_SUBST(TCL_SHLIB_SUFFIX)
257 dnl not used, don't export to save symbols
258     AC_SUBST(TCL_DL_LIBS)
259     AC_SUBST(TCL_LD_FLAGS)
260 dnl don't export, not used outside of configure
261     AC_SUBST(TCL_LD_SEARCH_FLAGS)
262     AC_SUBST(TCL_CC_SEARCH_FLAGS)
263     AC_SUBST(TCL_COMPAT_OBJS)
264     AC_SUBST(TCL_RANLIB)
265     AC_SUBST(TCL_BUILD_LIB_SPEC)
266     AC_SUBST(TCL_LIB_SPEC)
267     AC_SUBST(TCL_LIB_VERSIONS_OK)
268
269 dnl not used, don't export to save symbols
270 dnl    AC_SUBST(TCL_SHARED_LIB_SUFFIX)
271
272 dnl not used, don't export to save symbols
273 dnl    AC_SUBST(TCL_UNSHARED_LIB_SUFFIX)
274 ])
275
276 # Warning: Tk definitions are very similar to Tcl definitions but
277 # are not precisely the same.  There are a couple of differences,
278 # so don't do changes to Tcl thinking you can cut and paste it do 
279 # the Tk differences and later simply substitute "Tk" for "Tcl".
280 # Known differences:
281 #  - Acceptable Tcl major version #s is 7-9 while Tk is 4-9
282 #  - Searching for Tcl includes looking for tclInt.h, Tk looks for tk.h
283 #  - Computing major/minor versions is different because Tk depends on
284 #    headers to Tcl, Tk, and X.
285 #  - Symbols in tkConfig.sh are different than tclConfig.sh
286 #  - Acceptable for Tk to be missing but not Tcl.
287
288 AC_DEFUN(CY_AC_PATH_TKH, [
289 #
290 # Ok, lets find the tk source trees so we can use the headers
291 # If the directory (presumably symlink) named "tk" exists, use that one
292 # in preference to any others.  Same logic is used when choosing library
293 # and again with Tcl. The search order is the best place to look first, then in
294 # decreasing significance. The loop breaks if the trigger file is found.
295 # Note the gross little conversion here of srcdir by cd'ing to the found
296 # directory. This converts the path from a relative to an absolute, so
297 # recursive cache variables for the path will work right. We check all
298 # the possible paths in one loop rather than many seperate loops to speed
299 # things up.
300 # the alternative search directory is involked by --with-tkinclude
301 #
302 no_tk=true
303 AC_MSG_CHECKING(for Tk private headers)
304 AC_ARG_WITH(tkinclude, [  --with-tkinclude=DIR    Directory where tk private headers are], with_tkinclude=${withval})
305 AC_CACHE_VAL(ac_cv_c_tkh,[
306 # first check to see if --with-tkinclude was specified
307 if test x"${with_tkinclude}" != x ; then
308   if test -f ${with_tkinclude}/tk.h ; then
309     ac_cv_c_tkh=`(cd ${with_tkinclude}; pwd)`
310   elif test -f ${with_tkinclude}/generic/tk.h ; then
311     ac_cv_c_tkh=`(cd ${with_tkinclude}/generic; pwd)`
312   else
313     AC_MSG_ERROR([${with_tkinclude} directory doesn't contain private headers])
314   fi
315 fi
316
317 # next check if it came with Tk configuration file
318 if test x"${ac_cv_c_tkconfig}" = x ; then
319   if test -f $ac_cv_c_tkconfig/../generic/tk.h ; then
320     ac_cv_c_tkh=`(cd $ac_cv_c_tkconfig/..; pwd)`
321   fi
322 fi
323
324 # next check in private source directory
325 #
326 # since ls returns lowest version numbers first, reverse its output
327 if test x"${ac_cv_c_tkh}" = x ; then
328   for i in \
329                 ${srcdir}/../tk \
330                 `ls -dr ${srcdir}/../tk[[4-9]]* 2>/dev/null` \
331                 ${srcdir}/../../tk \
332                 `ls -dr ${srcdir}/../../tk[[4-9]]* 2>/dev/null` \
333                 ${srcdir}/../../../tk \
334                 `ls -dr ${srcdir}/../../../tk[[4-9]]* 2>/dev/null ` ; do
335     if test -f $i/generic/tk.h ; then
336       ac_cv_c_tkh=`(cd $i/generic; pwd)`
337       break
338     fi
339   done
340 fi
341 # finally check in a few common install locations
342 #
343 # since ls returns lowest version numbers first, reverse its output
344 if test x"${ac_cv_c_tkh}" = x ; then
345   for i in \
346                 `ls -dr /usr/local/src/tk[[4-9]]* 2>/dev/null` \
347                 `ls -dr /usr/local/lib/tk[[4-9]]* 2>/dev/null` \
348                 /usr/local/src/tk \
349                 /usr/local/lib/tk \
350                 ${prefix}/include ; do
351     if test -f $i/generic/tk.h ; then
352       ac_cv_c_tkh=`(cd $i/generic; pwd)`
353       break
354     fi
355   done
356 fi
357 # see if one is installed
358 if test x"${ac_cv_c_tkh}" = x ; then
359    AC_HEADER_CHECK(tk.h, ac_cv_c_tkh=installed, ac_cv_c_tkh="")
360 fi
361 ])
362 if test x"${ac_cv_c_tkh}" != x ; then
363   no_tk=""
364   if test x"${ac_cv_c_tkh}" = x"installed" ; then
365     AC_MSG_RESULT([is installed])
366     TKHDIR=""
367   else
368     AC_MSG_RESULT([found in ${ac_cv_c_tkh}])
369     # this hack is cause the TKHDIR won't print if there is a "-I" in it.
370     TKHDIR="-I${ac_cv_c_tkh}"
371   fi
372 else
373   TKHDIR="# no Tk directory found"
374   AC_MSG_WARN([Can't find Tk private headers])
375   no_tk=true
376 fi
377
378 AC_SUBST(TKHDIR)
379 ])
380
381
382 AC_DEFUN(CY_AC_PATH_TKCONFIG, [
383 #
384 # Ok, lets find the tk configuration
385 # First, look for one uninstalled.  
386 # the alternative search directory is invoked by --with-tkconfig
387 #
388
389 if test x"${no_tk}" = x ; then
390   # we reset no_tk in case something fails here
391   no_tk=true
392   AC_ARG_WITH(tkconfig, [  --with-tkconfig=DIR     Directory containing tk configuration (tkConfig.sh)],
393          with_tkconfig=${withval})
394   AC_MSG_CHECKING([for Tk configuration])
395   AC_CACHE_VAL(ac_cv_c_tkconfig,[
396
397   # First check to see if --with-tkconfig was specified.
398   if test x"${with_tkconfig}" != x ; then
399     if test -f "${with_tkconfig}/tkConfig.sh" ; then
400       ac_cv_c_tkconfig=`(cd ${with_tkconfig}; pwd)`
401     else
402       AC_MSG_ERROR([${with_tkconfig} directory doesn't contain tkConfig.sh])
403     fi
404   fi
405
406   # then check for a private Tk library
407   if test x"${ac_cv_c_tkconfig}" = x ; then
408     for i in \
409                 ../tk \
410                 `ls -dr ../tk[[4-9]]* 2>/dev/null` \
411                 ../../tk \
412                 `ls -dr ../../tk[[4-9]]* 2>/dev/null` \
413                 ../../../tk \
414                 `ls -dr ../../../tk[[4-9]]* 2>/dev/null` ; do
415       if test -f "$i/${configdir}/tkConfig.sh" ; then
416         ac_cv_c_tkconfig=`(cd $i/${configdir}; pwd)`
417         break
418       fi
419     done
420   fi
421   # check in a few common install locations
422   if test x"${ac_cv_c_tkconfig}" = x ; then
423     for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do
424       if test -f "$i/tkConfig.sh" ; then
425         ac_cv_c_tkconfig=`(cd $i; pwd)`
426         break
427       fi
428     done
429   fi
430   # check in a few other private locations
431   if test x"${ac_cv_c_tkconfig}" = x ; then
432     for i in \
433                 ${srcdir}/../tk \
434                 `ls -dr ${srcdir}/../tk[[4-9]]* 2>/dev/null` ; do
435       if test -f "$i/${configdir}/tkConfig.sh" ; then
436         ac_cv_c_tkconfig=`(cd $i/${configdir}; pwd)`
437         break
438       fi
439     done
440   fi
441   ])
442   if test x"${ac_cv_c_tkconfig}" = x ; then
443     TKCONFIG="# no Tk configs found"
444     AC_MSG_WARN(Can't find Tk configuration definitions)
445   else
446     no_tk=
447     TKCONFIG=${ac_cv_c_tkconfig}/tkConfig.sh
448     AC_MSG_RESULT(found $TKCONFIG)
449   fi
450 fi
451
452 ])
453
454 # Defined as a separate macro so we don't have to cache the values
455 # from PATH_TKCONFIG (because this can also be cached).
456 AC_DEFUN(CY_AC_LOAD_TKCONFIG, [
457     if test -f "$TKCONFIG" ; then
458       . $TKCONFIG
459     fi
460
461     AC_SUBST(TK_VERSION)
462 dnl not actually used, don't export to save symbols
463 dnl    AC_SUBST(TK_MAJOR_VERSION)
464 dnl    AC_SUBST(TK_MINOR_VERSION)
465     AC_SUBST(TK_DEFS)
466
467 dnl not used, don't export to save symbols
468     dnl AC_SUBST(TK_LIB_FILE)
469
470 dnl not used outside of configure
471 dnl    AC_SUBST(TK_LIBS)
472 dnl not used, don't export to save symbols
473 dnl    AC_SUBST(TK_PREFIX)
474
475 dnl not used, don't export to save symbols
476 dnl    AC_SUBST(TK_EXEC_PREFIX)
477
478     AC_SUBST(TK_BUILD_INCLUDES)
479     AC_SUBST(TK_XINCLUDES)
480     AC_SUBST(TK_XLIBSW)
481     AC_SUBST(TK_BUILD_LIB_SPEC)
482     AC_SUBST(TK_LIB_SPEC)
483 ])
484
485 # check for Itcl headers. 
486
487 AC_DEFUN(CY_AC_PATH_ITCLCONFIG, [
488 #
489 # Ok, lets find the itcl configuration
490 # First, look for one uninstalled.  
491 # the alternative search directory is invoked by --with-itclconfig
492 #
493
494 if test x"${no_itcl}" = x ; then
495   # we reset no_itcl in case something fails here
496   no_itcl=true
497   AC_ARG_WITH(itclconfig, [  --with-itclconfig       Directory containing itcl configuration (itclConfig.sh)],
498          with_itclconfig=${withval})
499   AC_MSG_CHECKING([for Itcl configuration])
500   AC_CACHE_VAL(ac_cv_c_itclconfig,[
501
502   # First check to see if --with-itclconfig was specified.
503   if test x"${with_itclconfig}" != x ; then
504     if test -f "${with_itclconfig}/itclConfig.sh" ; then
505       ac_cv_c_itclconfig=`(cd ${with_itclconfig}; pwd)`
506     else
507       AC_MSG_ERROR([${with_itclconfig} directory doesn't contain itclConfig.sh])
508     fi
509   fi
510
511   # then check for a private Itcl library
512   if test x"${ac_cv_c_itclconfig}" = x ; then
513     for i in \
514                 ../itcl/itcl \
515                 `ls -dr ../itcl[[4-9]]*/itcl 2>/dev/null` \
516                 ../../itcl \
517                 `ls -dr ../../itcl[[4-9]]*/itcl 2>/dev/null` \
518                 ../../../itcl \
519                 `ls -dr ../../../itcl[[4-9]]*/itcl 2>/dev/null` ; do
520       if test -f "$i/itclConfig.sh" ; then
521         ac_cv_c_itclconfig=`(cd $i; pwd)`
522         break
523       fi
524     done
525   fi
526   # check in a few common install locations
527   if test x"${ac_cv_c_itclconfig}" = x ; then
528     for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do
529       if test -f "$i/itclConfig.sh" ; then
530         ac_cv_c_itclconfig=`(cd $i; pwd)`
531         break
532       fi
533     done
534   fi
535   # check in a few other private locations
536   if test x"${ac_cv_c_itclconfig}" = x ; then
537     for i in \
538                 ${srcdir}/../itcl/itcl \
539                 `ls -dr ${srcdir}/../itcl[[4-9]]*/itcl 2>/dev/null` ; do
540       if test -f "$i/itclConfig.sh" ; then
541         ac_cv_c_itclconfig=`(cd $i; pwd)`
542         break
543       fi
544     done
545   fi
546   ])
547   if test x"${ac_cv_c_itclconfig}" = x ; then
548     ITCLCONFIG="# no Itcl configs found"
549     AC_MSG_WARN(Can't find Itcl configuration definitions)
550   else
551     no_itcl=
552     ITCLCONFIG=${ac_cv_c_itclconfig}/itclConfig.sh
553     AC_MSG_RESULT(found $ITCLCONFIG)
554   fi
555 fi
556 ])
557
558 # Defined as a separate macro so we don't have to cache the values
559 # from PATH_ITCLCONFIG (because this can also be cached).
560 AC_DEFUN(CY_AC_LOAD_ITCLCONFIG, [
561     if test -f "$ITCLCONFIG" ; then
562       . $ITCLCONFIG
563     fi
564
565     AC_SUBST(ITCL_VERSION)
566 dnl not actually used, don't export to save symbols
567 dnl    AC_SUBST(ITCL_MAJOR_VERSION)
568 dnl    AC_SUBST(ITCL_MINOR_VERSION)
569     AC_SUBST(ITCL_DEFS)
570
571 dnl not used, don't export to save symbols
572     dnl AC_SUBST(ITCL_LIB_FILE)
573
574 dnl not used outside of configure
575 dnl    AC_SUBST(ITCL_LIBS)
576 dnl not used, don't export to save symbols
577 dnl    AC_SUBST(ITCL_PREFIX)
578
579 dnl not used, don't export to save symbols
580 dnl    AC_SUBST(ITCL_EXEC_PREFIX)
581
582     AC_SUBST(ITCL_BUILD_INCLUDES)
583     AC_SUBST(ITCL_BUILD_LIB_SPEC)
584     AC_SUBST(ITCL_LIB_SPEC)
585 ])
586
587 # check for Itcl headers. 
588
589 AC_DEFUN(CY_AC_PATH_ITCLH, [
590 AC_MSG_CHECKING(for Itcl private headers. srcdir=${srcdir})
591 if test x"${ac_cv_c_itclh}" = x ; then
592   for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itcl; do
593     if test -f $i/generic/itcl.h ; then
594       ac_cv_c_itclh=`(cd $i/generic; pwd)`
595       break
596     fi
597   done
598 fi
599 if test x"${ac_cv_c_itclh}" = x ; then
600   ITCLHDIR="# no Itcl private headers found"
601   AC_MSG_ERROR([Can't find Itcl private headers])
602 fi
603 if test x"${ac_cv_c_itclh}" != x ; then
604      ITCLHDIR="-I${ac_cv_c_itclh}"
605 fi
606 # should always be here
607 #     ITCLLIB="../itcl/itcl/unix/libitcl.a"
608 AC_SUBST(ITCLHDIR)
609 #AC_SUBST(ITCLLIB)
610 ])
611
612
613 AC_DEFUN(CY_AC_PATH_ITKCONFIG, [
614 #
615 # Ok, lets find the itk configuration
616 # First, look for one uninstalled.  
617 # the alternative search directory is invoked by --with-itkconfig
618 #
619
620 if test x"${no_itk}" = x ; then
621   # we reset no_itk in case something fails here
622   no_itk=true
623   AC_ARG_WITH(itkconfig, [  --with-itkconfig        Directory containing itk configuration (itkConfig.sh)],
624          with_itkconfig=${withval})
625   AC_MSG_CHECKING([for Itk configuration])
626   AC_CACHE_VAL(ac_cv_c_itkconfig,[
627
628   # First check to see if --with-itkconfig was specified.
629   if test x"${with_itkconfig}" != x ; then
630     if test -f "${with_itkconfig}/itkConfig.sh" ; then
631       ac_cv_c_itkconfig=`(cd ${with_itkconfig}; pwd)`
632     else
633       AC_MSG_ERROR([${with_itkconfig} directory doesn't contain itkConfig.sh])
634     fi
635   fi
636
637   # then check for a private Itk library
638   if test x"${ac_cv_c_itkconfig}" = x ; then
639     for i in \
640                 ../itcl/itk \
641                 `ls -dr ../itcl[[4-9]]*/itk 2>/dev/null` \
642                 ../../itk \
643                 `ls -dr ../../itcl[[4-9]]*/itk 2>/dev/null` \
644                 ../../../itk \
645                 `ls -dr ../../../itcl[[4-9]]*/itk 2>/dev/null` ; do
646       if test -f "$i/itkConfig.sh" ; then
647         ac_cv_c_itkconfig=`(cd $i; pwd)`
648         break
649       fi
650     done
651   fi
652   # check in a few common install locations
653   if test x"${ac_cv_c_itkconfig}" = x ; then
654     for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do
655       if test -f "$i/itkConfig.sh" ; then
656         ac_cv_c_itkconfig=`(cd $i; pwd)`
657         break
658       fi
659     done
660   fi
661   # check in a few other private locations
662   if test x"${ac_cv_c_itkconfig}" = x ; then
663     for i in \
664                 ${srcdir}/../itcl/itk \
665                 `ls -dr ${srcdir}/../itcl[[4-9]]*/itk 2>/dev/null` ; do
666       if test -f "$i/itkConfig.sh" ; then
667         ac_cv_c_itkconfig=`(cd $i; pwd)`
668         break
669       fi
670     done
671   fi
672   ])
673   if test x"${ac_cv_c_itkconfig}" = x ; then
674     ITKCONFIG="# no Itk configs found"
675     AC_MSG_WARN(Can't find Itk configuration definitions)
676   else
677     no_itk=
678     ITKCONFIG=${ac_cv_c_itkconfig}/itkConfig.sh
679     AC_MSG_RESULT(found $ITKCONFIG)
680   fi
681 fi
682
683 ])
684
685 # Defined as a separate macro so we don't have to cache the values
686 # from PATH_ITKCONFIG (because this can also be cached).
687 AC_DEFUN(CY_AC_LOAD_ITKCONFIG, [
688     if test -f "$ITKCONFIG" ; then
689       . $ITKCONFIG
690     fi
691
692     AC_SUBST(ITK_VERSION)
693 dnl not actually used, don't export to save symbols
694 dnl    AC_SUBST(ITK_MAJOR_VERSION)
695 dnl    AC_SUBST(ITK_MINOR_VERSION)
696     AC_SUBST(ITK_DEFS)
697
698 dnl not used, don't export to save symbols
699     dnl AC_SUBST(ITK_LIB_FILE)
700
701 dnl not used outside of configure
702 dnl    AC_SUBST(ITK_LIBS)
703 dnl not used, don't export to save symbols
704 dnl    AC_SUBST(ITK_PREFIX)
705
706 dnl not used, don't export to save symbols
707 dnl    AC_SUBST(ITK_EXEC_PREFIX)
708
709     AC_SUBST(ITK_BUILD_INCLUDES)
710     AC_SUBST(ITK_BUILD_LIB_SPEC)
711     AC_SUBST(ITK_LIB_SPEC)
712 ])
713
714 AC_DEFUN(CY_AC_PATH_ITKH, [
715 AC_MSG_CHECKING(for Itk private headers. srcdir=${srcdir})
716 if test x"${ac_cv_c_itkh}" = x ; then
717   for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itk; do
718     if test -f $i/generic/itk.h ; then
719       ac_cv_c_itkh=`(cd $i/generic; pwd)`
720       break
721     fi
722   done
723 fi
724 if test x"${ac_cv_c_itkh}" = x ; then
725   ITKHDIR="# no Itk private headers found"
726   AC_MSG_ERROR([Can't find Itk private headers])
727 fi
728 if test x"${ac_cv_c_itkh}" != x ; then
729      ITKHDIR="-I${ac_cv_c_itkh}"
730 fi
731 # should always be here
732 #     ITKLIB="../itcl/itk/unix/libitk.a"
733 AC_SUBST(ITKHDIR)
734 #AC_SUBST(ITKLIB)
735 ])
736
737
738 dnl sinclude(../gettext.m4) already included by bfd/acinclude.m4
739 dnl The lines below arrange for aclocal not to bring gettext.m4's
740 dnl CY_GNU_GETTEXT into aclocal.m4.
741 ifelse(yes,no,[
742 AC_DEFUN([CY_GNU_GETTEXT],)
743 ])
744
745 ## ----------------------------------------- ##
746 ## ANSIfy the C compiler whenever possible.  ##
747 ## From Franc,ois Pinard                     ##
748 ## ----------------------------------------- ##
749
750 # Copyright 1996, 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
751
752 # This program is free software; you can redistribute it and/or modify
753 # it under the terms of the GNU General Public License as published by
754 # the Free Software Foundation; either version 2, or (at your option)
755 # any later version.
756
757 # This program is distributed in the hope that it will be useful,
758 # but WITHOUT ANY WARRANTY; without even the implied warranty of
759 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
760 # GNU General Public License for more details.
761
762 # You should have received a copy of the GNU General Public License
763 # along with this program; if not, write to the Free Software
764 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
765 # 02111-1307, USA.
766
767 # serial 1
768
769 # @defmac AC_PROG_CC_STDC
770 # @maindex PROG_CC_STDC
771 # @ovindex CC
772 # If the C compiler in not in ANSI C mode by default, try to add an option
773 # to output variable @code{CC} to make it so.  This macro tries various
774 # options that select ANSI C on some system or another.  It considers the
775 # compiler to be in ANSI C mode if it handles function prototypes correctly.
776 #
777 # If you use this macro, you should check after calling it whether the C
778 # compiler has been set to accept ANSI C; if not, the shell variable
779 # @code{am_cv_prog_cc_stdc} is set to @samp{no}.  If you wrote your source
780 # code in ANSI C, you can make an un-ANSIfied copy of it by using the
781 # program @code{ansi2knr}, which comes with Ghostscript.
782 # @end defmac
783
784 AC_DEFUN([AM_PROG_CC_STDC],
785 [AC_REQUIRE([AC_PROG_CC])
786 AC_BEFORE([$0], [AC_C_INLINE])
787 AC_BEFORE([$0], [AC_C_CONST])
788 dnl Force this before AC_PROG_CPP.  Some cpp's, eg on HPUX, require
789 dnl a magic option to avoid problems with ANSI preprocessor commands
790 dnl like #elif.
791 dnl FIXME: can't do this because then AC_AIX won't work due to a
792 dnl circular dependency.
793 dnl AC_BEFORE([$0], [AC_PROG_CPP])
794 AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C])
795 AC_CACHE_VAL(am_cv_prog_cc_stdc,
796 [am_cv_prog_cc_stdc=no
797 ac_save_CC="$CC"
798 # Don't try gcc -ansi; that turns off useful extensions and
799 # breaks some systems' header files.
800 # AIX                   -qlanglvl=ansi
801 # Ultrix and OSF/1      -std1
802 # HP-UX 10.20 and later -Ae
803 # HP-UX older versions  -Aa -D_HPUX_SOURCE
804 # SVR4                  -Xc -D__EXTENSIONS__
805 for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
806 do
807   CC="$ac_save_CC $ac_arg"
808   AC_TRY_COMPILE(
809 [#include <stdarg.h>
810 #include <stdio.h>
811 #include <sys/types.h>
812 #include <sys/stat.h>
813 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
814 struct buf { int x; };
815 FILE * (*rcsopen) (struct buf *, struct stat *, int);
816 static char *e (p, i)
817      char **p;
818      int i;
819 {
820   return p[i];
821 }
822 static char *f (char * (*g) (char **, int), char **p, ...)
823 {
824   char *s;
825   va_list v;
826   va_start (v,p);
827   s = g (p, va_arg (v,int));
828   va_end (v);
829   return s;
830 }
831 int test (int i, double x);
832 struct s1 {int (*f) (int a);};
833 struct s2 {int (*f) (double a);};
834 int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
835 int argc;
836 char **argv;
837 ], [
838 return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
839 ],
840 [am_cv_prog_cc_stdc="$ac_arg"; break])
841 done
842 CC="$ac_save_CC"
843 ])
844 if test -z "$am_cv_prog_cc_stdc"; then
845   AC_MSG_RESULT([none needed])
846 else
847   AC_MSG_RESULT([$am_cv_prog_cc_stdc])
848 fi
849 case "x$am_cv_prog_cc_stdc" in
850   x|xno) ;;
851   *) CC="$CC $am_cv_prog_cc_stdc" ;;
852 esac
853 ])
854
855 dnl From Bruno Haible.
856
857 AC_DEFUN([AM_ICONV],
858 [
859   dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
860   dnl those with the standalone portable GNU libiconv installed).
861
862   AC_ARG_WITH([libiconv-prefix],
863 [  --with-libiconv-prefix=DIR  search for libiconv in DIR/include and DIR/lib], [
864     for dir in `echo "$withval" | tr : ' '`; do
865       if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
866       if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
867     done
868    ])
869
870   AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
871     am_cv_func_iconv="no, consider installing GNU libiconv"
872     am_cv_lib_iconv=no
873     AC_TRY_LINK([#include <stdlib.h>
874 #include <iconv.h>],
875       [iconv_t cd = iconv_open("","");
876        iconv(cd,NULL,NULL,NULL,NULL);
877        iconv_close(cd);],
878       am_cv_func_iconv=yes)
879     if test "$am_cv_func_iconv" != yes; then
880       am_save_LIBS="$LIBS"
881       LIBS="$LIBS -liconv"
882       AC_TRY_LINK([#include <stdlib.h>
883 #include <iconv.h>],
884         [iconv_t cd = iconv_open("","");
885          iconv(cd,NULL,NULL,NULL,NULL);
886          iconv_close(cd);],
887         am_cv_lib_iconv=yes
888         am_cv_func_iconv=yes)
889       LIBS="$am_save_LIBS"
890     fi
891   ])
892   if test "$am_cv_func_iconv" = yes; then
893     AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
894     AC_MSG_CHECKING([for iconv declaration])
895     AC_CACHE_VAL(am_cv_proto_iconv, [
896       AC_TRY_COMPILE([
897 #include <stdlib.h>
898 #include <iconv.h>
899 extern
900 #ifdef __cplusplus
901 "C"
902 #endif
903 #if defined(__STDC__) || defined(__cplusplus)
904 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
905 #else
906 size_t iconv();
907 #endif
908 ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
909       am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
910     am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
911     AC_MSG_RESULT([$]{ac_t:-
912          }[$]am_cv_proto_iconv)
913     AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
914       [Define as const if the declaration of iconv() needs const.])
915   fi
916   LIBICONV=
917   if test "$am_cv_lib_iconv" = yes; then
918     LIBICONV="-liconv"
919   fi
920   AC_SUBST(LIBICONV)
921 ])
922
923 # AC_GNU_SOURCE
924 # -------------
925 # FIXME: Remove thise once we start using Autoconf 2.5x (x>=4).
926 AC_DEFUN([AC_GNU_SOURCE],
927 [AC_BEFORE([$0], [AC_TRY_COMPILE])dnl
928 AC_BEFORE([$0], [AC_TRY_RUN])dnl
929 AC_DEFINE([_GNU_SOURCE])
930 ])
931
932 dnl written by Guido Draheim <guidod@gmx.de>, original by Alexandre Oliva 
933 dnl Version 1.3 (2001/03/02)
934 dnl source http://www.gnu.org/software/ac-archive/Miscellaneous/ac_define_dir.html
935
936 AC_DEFUN([AC_DEFINE_DIR], [
937   test "x$prefix" = xNONE && prefix="$ac_default_prefix"
938   test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
939   ac_define_dir=`eval echo [$]$2`
940   ac_define_dir=`eval echo [$]ac_define_dir`
941   ifelse($3, ,
942     AC_DEFINE_UNQUOTED($1, "$ac_define_dir"),
943     AC_DEFINE_UNQUOTED($1, "$ac_define_dir", $3))
944 ])
945
946 dnl See whether we need a declaration for a function.
947 dnl The result is highly dependent on the INCLUDES passed in, so make sure
948 dnl to use a different cache variable name in this macro if it is invoked
949 dnl in a different context somewhere else.
950 dnl gcc_AC_CHECK_DECL(SYMBOL,
951 dnl     [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, INCLUDES]]])
952 AC_DEFUN(gcc_AC_CHECK_DECL,
953 [AC_MSG_CHECKING([whether $1 is declared])
954 AC_CACHE_VAL(gcc_cv_have_decl_$1,
955 [AC_TRY_COMPILE([$4],
956 [#ifndef $1
957 char *(*pfn) = (char *(*)) $1 ;
958 #endif], eval "gcc_cv_have_decl_$1=yes", eval "gcc_cv_have_decl_$1=no")])
959 if eval "test \"`echo '$gcc_cv_have_decl_'$1`\" = yes"; then
960   AC_MSG_RESULT(yes) ; ifelse([$2], , :, [$2])
961 else
962   AC_MSG_RESULT(no) ; ifelse([$3], , :, [$3])
963 fi
964 ])dnl
965
966 dnl Check multiple functions to see whether each needs a declaration.
967 dnl Arrange to define HAVE_DECL_<FUNCTION> to 0 or 1 as appropriate.
968 dnl gcc_AC_CHECK_DECLS(SYMBOLS,
969 dnl     [ACTION-IF-NEEDED [, ACTION-IF-NOT-NEEDED [, INCLUDES]]])
970 AC_DEFUN(gcc_AC_CHECK_DECLS,
971 [for ac_func in $1
972 do
973 changequote(, )dnl
974   ac_tr_decl=HAVE_DECL_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
975 changequote([, ])dnl
976 gcc_AC_CHECK_DECL($ac_func,
977   [AC_DEFINE_UNQUOTED($ac_tr_decl, 1) $2],
978   [AC_DEFINE_UNQUOTED($ac_tr_decl, 0) $3],
979 dnl It is possible that the include files passed in here are local headers
980 dnl which supply a backup declaration for the relevant prototype based on
981 dnl the definition of (or lack of) the HAVE_DECL_ macro.  If so, this test
982 dnl will always return success.  E.g. see libiberty.h's handling of
983 dnl `basename'.  To avoid this, we define the relevant HAVE_DECL_ macro to
984 dnl 1 so that any local headers used do not provide their own prototype
985 dnl during this test.
986 #undef $ac_tr_decl
987 #define $ac_tr_decl 1
988   $4
989 )
990 done
991 dnl Automatically generate config.h entries via autoheader.
992 if test x = y ; then
993   patsubst(translit([$1], [a-z], [A-Z]), [\w+],
994     [AC_DEFINE([HAVE_DECL_\&], 1,
995       [Define to 1 if we found this declaration otherwise define to 0.])])dnl
996 fi
997 ])
998