Allow PPC users to select which PPC/RS6000 variant they're debugging
[deliverable/binutils-gdb.git] / gdb / acinclude.m4
CommitLineData
495c315a
JB
1dnl written by Rob Savoye <rob@cygnus.com> for Cygnus Support
2dnl major rewriting for Tcl 7.5 by Don Libes <libes@nist.gov>
3
4dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition.
5sinclude(../bfd/acinclude.m4)
6
7dnl CY_AC_PATH_TCLCONFIG and CY_AC_LOAD_TCLCONFIG should be invoked
8dnl (in that order) before any other TCL macros. Similarly for TK.
9
10dnl CYGNUS LOCAL: This gets the right posix flag for gcc
11AC_DEFUN(CY_AC_TCL_LYNX_POSIX,
12[AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AC_PROG_CPP])
13AC_MSG_CHECKING([if running LynxOS])
14AC_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)
20yes
21#endif
22], ac_cv_os_lynx=yes, ac_cv_os_lynx=no)])
23#
24if 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)
43fi
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.
51AC_DEFUN(CY_AC_C_WORKS,
52[# If we cannot compile and link a trivial program, we can't expect anything to work
53AC_MSG_CHECKING(whether the compiler ($CC) actually works)
54AC_TRY_COMPILE(, [/* don't need anything here */],
55 c_compiles=yes, c_compiles=no)
56
57AC_TRY_LINK(, [/* don't need anything here */],
58 c_links=yes, c_links=no)
59
60if test x"${c_compiles}" = x"no" ; then
61 AC_MSG_ERROR(the native compiler is broken and won't compile.)
62fi
63
64if test x"${c_links}" = x"no" ; then
65 AC_MSG_ERROR(the native compiler is broken and won't link.)
66fi
67AC_MSG_RESULT(yes)
68])
69
70AC_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
79no_tcl=true
80AC_MSG_CHECKING(for Tcl private headers. dir=${configdir})
81AC_ARG_WITH(tclinclude, [ --with-tclinclude=DIR Directory where tcl private headers are], with_tclinclude=${withval})
82AC_CACHE_VAL(ac_cv_c_tclh,[
83# first check to see if --with-tclinclude was specified
84if 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
92fi
93
94# next check if it came with Tcl configuration file
95if 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
99fi
100
101# next check in private source directory
102#
103# since ls returns lowest version numbers first, reverse its output
104if 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
117fi
118# finally check in a few common install locations
119#
120# since ls returns lowest version numbers first, reverse its output
121if 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
133fi
134# see if one is installed
135if test x"${ac_cv_c_tclh}" = x ; then
136 AC_HEADER_CHECK(tclInt.h, ac_cv_c_tclh=installed, ac_cv_c_tclh="")
137fi
138])
139if 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])
142fi
143if 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
153fi
154
155AC_SUBST(TCLHDIR)
156])
157
158
159AC_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
166if 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
227fi
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).
232AC_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
241dnl not used, don't export to save symbols
242dnl AC_SUBST(TCL_LIB_FILE)
243
244dnl don't export, not used outside of configure
245dnl AC_SUBST(TCL_LIBS)
246dnl not used, don't export to save symbols
247dnl AC_SUBST(TCL_PREFIX)
248
249dnl not used, don't export to save symbols
250dnl AC_SUBST(TCL_EXEC_PREFIX)
251
252 AC_SUBST(TCL_SHLIB_CFLAGS)
253 AC_SUBST(TCL_SHLIB_LD)
254dnl don't export, not used outside of configure
255 AC_SUBST(TCL_SHLIB_LD_LIBS)
256 AC_SUBST(TCL_SHLIB_SUFFIX)
257dnl not used, don't export to save symbols
258 AC_SUBST(TCL_DL_LIBS)
259 AC_SUBST(TCL_LD_FLAGS)
260dnl 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
268dnl not used, don't export to save symbols
269dnl AC_SUBST(TCL_SHARED_LIB_SUFFIX)
270
271dnl not used, don't export to save symbols
272dnl 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
287AC_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#
301no_tk=true
302AC_MSG_CHECKING(for Tk private headers)
303AC_ARG_WITH(tkinclude, [ --with-tkinclude=DIR Directory where tk private headers are], with_tkinclude=${withval})
304AC_CACHE_VAL(ac_cv_c_tkh,[
305# first check to see if --with-tkinclude was specified
306if 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
314fi
315
316# next check if it came with Tk configuration file
317if 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
321fi
322
323# next check in private source directory
324#
325# since ls returns lowest version numbers first, reverse its output
326if 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
339fi
340# finally check in a few common install locations
341#
342# since ls returns lowest version numbers first, reverse its output
343if 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
355fi
356# see if one is installed
357if test x"${ac_cv_c_tkh}" = x ; then
358 AC_HEADER_CHECK(tk.h, ac_cv_c_tkh=installed, ac_cv_c_tkh="")
359fi
360])
361if 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
371else
372 TKHDIR="# no Tk directory found"
373 AC_MSG_WARN([Can't find Tk private headers])
374 no_tk=true
375fi
376
377AC_SUBST(TKHDIR)
378])
379
380
381AC_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
388if 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
449fi
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).
455AC_DEFUN(CY_AC_LOAD_TKCONFIG, [
456 if test -f "$TKCONFIG" ; then
457 . $TKCONFIG
458 fi
459
460 AC_SUBST(TK_VERSION)
461dnl not actually used, don't export to save symbols
462dnl AC_SUBST(TK_MAJOR_VERSION)
463dnl AC_SUBST(TK_MINOR_VERSION)
464 AC_SUBST(TK_DEFS)
465
466dnl not used, don't export to save symbols
467 dnl AC_SUBST(TK_LIB_FILE)
468
469dnl not used outside of configure
470dnl AC_SUBST(TK_LIBS)
471dnl not used, don't export to save symbols
472dnl AC_SUBST(TK_PREFIX)
473
474dnl not used, don't export to save symbols
475dnl 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
487AC_DEFUN(CY_AC_PATH_ITCLH, [
488AC_MSG_CHECKING(for Itcl private headers. srcdir=${srcdir})
489if 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
496fi
497if 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])
500fi
501if test x"${ac_cv_c_itclh}" != x ; then
502 ITCLHDIR="-I${ac_cv_c_itclh}"
503fi
504# should always be here
505 ITCLLIB="../itcl/src/libitcl.a"
506AC_SUBST(ITCLHDIR)
507AC_SUBST(ITCLLIB)
508])
509
510# check for Tix headers.
511
512AC_DEFUN(CY_AC_PATH_TIX, [
513AC_MSG_CHECKING(for Tix private headers. srcdir=${srcdir})
514if 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
521fi
522if 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])
525fi
526if test x"${ac_cv_c_tixh}" != x ; then
527 TIXHDIR="-I${ac_cv_c_tixh}"
528fi
529AC_SUBST(TIXHDIR)
530])
This page took 0.041847 seconds and 4 git commands to generate.