Use aclocal to generate GDB's aclocal.m4 script.
[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 CY_AC_PATH_TCLCONFIG and CY_AC_LOAD_TCLCONFIG should be invoked
8 dnl (in that order) before any other TCL macros.  Similarly for TK.
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_COMPAT_OBJS)
263     AC_SUBST(TCL_RANLIB)
264     AC_SUBST(TCL_BUILD_LIB_SPEC)
265     AC_SUBST(TCL_LIB_SPEC)
266     AC_SUBST(TCL_LIB_VERSIONS_OK)
267
268 dnl not used, don't export to save symbols
269 dnl    AC_SUBST(TCL_SHARED_LIB_SUFFIX)
270
271 dnl not used, don't export to save symbols
272 dnl    AC_SUBST(TCL_UNSHARED_LIB_SUFFIX)
273 ])
274
275 # Warning: Tk definitions are very similar to Tcl definitions but
276 # are not precisely the same.  There are a couple of differences,
277 # so don't do changes to Tcl thinking you can cut and paste it do 
278 # the Tk differences and later simply substitute "Tk" for "Tcl".
279 # Known differences:
280 #  - Acceptable Tcl major version #s is 7-9 while Tk is 4-9
281 #  - Searching for Tcl includes looking for tclInt.h, Tk looks for tk.h
282 #  - Computing major/minor versions is different because Tk depends on
283 #    headers to Tcl, Tk, and X.
284 #  - Symbols in tkConfig.sh are different than tclConfig.sh
285 #  - Acceptable for Tk to be missing but not Tcl.
286
287 AC_DEFUN(CY_AC_PATH_TKH, [
288 #
289 # Ok, lets find the tk source trees so we can use the headers
290 # If the directory (presumably symlink) named "tk" exists, use that one
291 # in preference to any others.  Same logic is used when choosing library
292 # and again with Tcl. The search order is the best place to look first, then in
293 # decreasing significance. The loop breaks if the trigger file is found.
294 # Note the gross little conversion here of srcdir by cd'ing to the found
295 # directory. This converts the path from a relative to an absolute, so
296 # recursive cache variables for the path will work right. We check all
297 # the possible paths in one loop rather than many seperate loops to speed
298 # things up.
299 # the alternative search directory is involked by --with-tkinclude
300 #
301 no_tk=true
302 AC_MSG_CHECKING(for Tk private headers)
303 AC_ARG_WITH(tkinclude, [  --with-tkinclude=DIR    Directory where tk private headers are], with_tkinclude=${withval})
304 AC_CACHE_VAL(ac_cv_c_tkh,[
305 # first check to see if --with-tkinclude was specified
306 if test x"${with_tkinclude}" != x ; then
307   if test -f ${with_tkinclude}/tk.h ; then
308     ac_cv_c_tkh=`(cd ${with_tkinclude}; pwd)`
309   elif test -f ${with_tkinclude}/generic/tk.h ; then
310     ac_cv_c_tkh=`(cd ${with_tkinclude}/generic; pwd)`
311   else
312     AC_MSG_ERROR([${with_tkinclude} directory doesn't contain private headers])
313   fi
314 fi
315
316 # next check if it came with Tk configuration file
317 if test x"${ac_cv_c_tkconfig}" = x ; then
318   if test -f $ac_cv_c_tkconfig/../generic/tk.h ; then
319     ac_cv_c_tkh=`(cd $ac_cv_c_tkconfig/..; pwd)`
320   fi
321 fi
322
323 # next check in private source directory
324 #
325 # since ls returns lowest version numbers first, reverse its output
326 if test x"${ac_cv_c_tkh}" = x ; then
327   for i in \
328                 ${srcdir}/../tk \
329                 `ls -dr ${srcdir}/../tk[[4-9]]* 2>/dev/null` \
330                 ${srcdir}/../../tk \
331                 `ls -dr ${srcdir}/../../tk[[4-9]]* 2>/dev/null` \
332                 ${srcdir}/../../../tk \
333                 `ls -dr ${srcdir}/../../../tk[[4-9]]* 2>/dev/null ` ; do
334     if test -f $i/generic/tk.h ; then
335       ac_cv_c_tkh=`(cd $i/generic; pwd)`
336       break
337     fi
338   done
339 fi
340 # finally check in a few common install locations
341 #
342 # since ls returns lowest version numbers first, reverse its output
343 if test x"${ac_cv_c_tkh}" = x ; then
344   for i in \
345                 `ls -dr /usr/local/src/tk[[4-9]]* 2>/dev/null` \
346                 `ls -dr /usr/local/lib/tk[[4-9]]* 2>/dev/null` \
347                 /usr/local/src/tk \
348                 /usr/local/lib/tk \
349                 ${prefix}/include ; do
350     if test -f $i/generic/tk.h ; then
351       ac_cv_c_tkh=`(cd $i/generic; pwd)`
352       break
353     fi
354   done
355 fi
356 # see if one is installed
357 if test x"${ac_cv_c_tkh}" = x ; then
358    AC_HEADER_CHECK(tk.h, ac_cv_c_tkh=installed, ac_cv_c_tkh="")
359 fi
360 ])
361 if test x"${ac_cv_c_tkh}" != x ; then
362   no_tk=""
363   if test x"${ac_cv_c_tkh}" = x"installed" ; then
364     AC_MSG_RESULT([is installed])
365     TKHDIR=""
366   else
367     AC_MSG_RESULT([found in ${ac_cv_c_tkh}])
368     # this hack is cause the TKHDIR won't print if there is a "-I" in it.
369     TKHDIR="-I${ac_cv_c_tkh}"
370   fi
371 else
372   TKHDIR="# no Tk directory found"
373   AC_MSG_WARN([Can't find Tk private headers])
374   no_tk=true
375 fi
376
377 AC_SUBST(TKHDIR)
378 ])
379
380
381 AC_DEFUN(CY_AC_PATH_TKCONFIG, [
382 #
383 # Ok, lets find the tk configuration
384 # First, look for one uninstalled.  
385 # the alternative search directory is invoked by --with-tkconfig
386 #
387
388 if test x"${no_tk}" = x ; then
389   # we reset no_tk in case something fails here
390   no_tk=true
391   AC_ARG_WITH(tkconfig, [  --with-tkconfig=DIR     Directory containing tk configuration (tkConfig.sh)],
392          with_tkconfig=${withval})
393   AC_MSG_CHECKING([for Tk configuration])
394   AC_CACHE_VAL(ac_cv_c_tkconfig,[
395
396   # First check to see if --with-tkconfig was specified.
397   if test x"${with_tkconfig}" != x ; then
398     if test -f "${with_tkconfig}/tkConfig.sh" ; then
399       ac_cv_c_tkconfig=`(cd ${with_tkconfig}; pwd)`
400     else
401       AC_MSG_ERROR([${with_tkconfig} directory doesn't contain tkConfig.sh])
402     fi
403   fi
404
405   # then check for a private Tk library
406   if test x"${ac_cv_c_tkconfig}" = x ; then
407     for i in \
408                 ../tk \
409                 `ls -dr ../tk[[4-9]]* 2>/dev/null` \
410                 ../../tk \
411                 `ls -dr ../../tk[[4-9]]* 2>/dev/null` \
412                 ../../../tk \
413                 `ls -dr ../../../tk[[4-9]]* 2>/dev/null` ; do
414       if test -f "$i/${configdir}/tkConfig.sh" ; then
415         ac_cv_c_tkconfig=`(cd $i/${configdir}; pwd)`
416         break
417       fi
418     done
419   fi
420   # check in a few common install locations
421   if test x"${ac_cv_c_tkconfig}" = x ; then
422     for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do
423       if test -f "$i/tkConfig.sh" ; then
424         ac_cv_c_tkconfig=`(cd $i; pwd)`
425         break
426       fi
427     done
428   fi
429   # check in a few other private locations
430   if test x"${ac_cv_c_tkconfig}" = x ; then
431     for i in \
432                 ${srcdir}/../tk \
433                 `ls -dr ${srcdir}/../tk[[4-9]]* 2>/dev/null` ; do
434       if test -f "$i/${configdir}/tkConfig.sh" ; then
435         ac_cv_c_tkconfig=`(cd $i/${configdir}; pwd)`
436         break
437       fi
438     done
439   fi
440   ])
441   if test x"${ac_cv_c_tkconfig}" = x ; then
442     TKCONFIG="# no Tk configs found"
443     AC_MSG_WARN(Can't find Tk configuration definitions)
444   else
445     no_tk=
446     TKCONFIG=${ac_cv_c_tkconfig}/tkConfig.sh
447     AC_MSG_RESULT(found $TKCONFIG)
448   fi
449 fi
450
451 ])
452
453 # Defined as a separate macro so we don't have to cache the values
454 # from PATH_TKCONFIG (because this can also be cached).
455 AC_DEFUN(CY_AC_LOAD_TKCONFIG, [
456     if test -f "$TKCONFIG" ; then
457       . $TKCONFIG
458     fi
459
460     AC_SUBST(TK_VERSION)
461 dnl not actually used, don't export to save symbols
462 dnl    AC_SUBST(TK_MAJOR_VERSION)
463 dnl    AC_SUBST(TK_MINOR_VERSION)
464     AC_SUBST(TK_DEFS)
465
466 dnl not used, don't export to save symbols
467     dnl AC_SUBST(TK_LIB_FILE)
468
469 dnl not used outside of configure
470 dnl    AC_SUBST(TK_LIBS)
471 dnl not used, don't export to save symbols
472 dnl    AC_SUBST(TK_PREFIX)
473
474 dnl not used, don't export to save symbols
475 dnl    AC_SUBST(TK_EXEC_PREFIX)
476
477     AC_SUBST(TK_BUILD_INCLUDES)
478     AC_SUBST(TK_XINCLUDES)
479     AC_SUBST(TK_XLIBSW)
480     AC_SUBST(TK_BUILD_LIB_SPEC)
481     AC_SUBST(TK_LIB_SPEC)
482 ])
483
484
485 # check for Itcl headers. 
486
487 AC_DEFUN(CY_AC_PATH_ITCLH, [
488 AC_MSG_CHECKING(for Itcl private headers. srcdir=${srcdir})
489 if test x"${ac_cv_c_itclh}" = x ; then
490   for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ; do
491     if test -f $i/src/itcl.h ; then
492       ac_cv_c_itclh=`(cd $i/src; pwd)`
493       break
494     fi
495   done
496 fi
497 if test x"${ac_cv_c_itclh}" = x ; then
498   ITCLHDIR="# no Itcl private headers found"
499   AC_MSG_ERROR([Can't find Itcl private headers])
500 fi
501 if test x"${ac_cv_c_itclh}" != x ; then
502      ITCLHDIR="-I${ac_cv_c_itclh}"
503 fi
504 # should always be here
505      ITCLLIB="../itcl/src/libitcl.a"
506 AC_SUBST(ITCLHDIR)
507 AC_SUBST(ITCLLIB)
508 ])
509
510 # check for Tix headers. 
511
512 AC_DEFUN(CY_AC_PATH_TIX, [
513 AC_MSG_CHECKING(for Tix private headers. srcdir=${srcdir})
514 if test x"${ac_cv_c_tixh}" = x ; then
515   for i in ${srcdir}/../tix ${srcdir}/../../tix ${srcdir}/../../../tix ; do
516     if test -f $i/generic/tix.h ; then
517       ac_cv_c_tixh=`(cd $i/generic; pwd)`
518       break
519     fi
520   done
521 fi
522 if test x"${ac_cv_c_tixh}" = x ; then
523   TIXHDIR="# no Tix private headers found"
524   AC_MSG_ERROR([Can't find Tix private headers])
525 fi
526 if test x"${ac_cv_c_tixh}" != x ; then
527      TIXHDIR="-I${ac_cv_c_tixh}"
528 fi
529 AC_SUBST(TIXHDIR)
530 ])