OSDN Git Service

2008-07-30 Paolo Bonzini <bonzini@gnu.org>
[pf3gnuchains/gcc-fork.git] / config / acinclude.m4
1 dnl This file is included into all any other acinclude file that needs
2 dnl to use these macros.
3
4 dnl This is copied from autoconf 2.12, but does calls our own AC_PROG_CC_WORKS,
5 dnl and doesn't call AC_PROG_CXX_GNU, cause we test for that in  AC_PROG_CC_WORKS.
6 dnl We are probably using a cross compiler, which will not be able to fully
7 dnl link an executable.  This should really be fixed in autoconf itself.
8 dnl Find a working G++ cross compiler. This only works for the GNU C++ compiler.
9 AC_DEFUN([CYG_AC_PROG_CXX_CROSS],
10 [AC_BEFORE([$0], [AC_PROG_CXXCPP])
11 AC_CHECK_PROGS(CXX, $CCC c++ g++ gcc CC cxx cc++, gcc)
12
13 CYG_AC_PROG_GXX_WORKS
14
15 if test $ac_cv_prog_gxx = yes; then
16   GXX=yes
17 dnl Check whether -g works, even if CXXFLAGS is set, in case the package
18 dnl plays around with CXXFLAGS (such as to build both debugging and
19 dnl normal versions of a library), tasteless as that idea is.
20   ac_test_CXXFLAGS="${CXXFLAGS+set}"
21   ac_save_CXXFLAGS="$CXXFLAGS"
22   CXXFLAGS=
23   AC_PROG_CXX_G
24   if test "$ac_test_CXXFLAGS" = set; then
25     CXXFLAGS="$ac_save_CXXFLAGS"
26   elif test $ac_cv_prog_cxx_g = yes; then
27     CXXFLAGS="-g -O2"
28   else
29     CXXFLAGS="-O2"
30   fi
31 else
32   GXX=
33   test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
34 fi
35 ])
36
37 dnl See if the G++ compiler we found works.
38 AC_DEFUN([CYG_AC_PROG_GXX_WORKS],
39 [AC_MSG_CHECKING([whether the G++ compiler ($CXX $CXXFLAGS $LDFLAGS) actually works])
40 AC_LANG_SAVE
41 AC_LANG_CPLUSPLUS
42 dnl Try a test case. We only compile, because it's close to impossible
43 dnl to get a correct fully linked executable with a cross compiler. For
44 dnl most cross compilers, this test is bogus. For G++, we can use various
45 dnl other compile line options to get a decent idea that the cross compiler
46 dnl actually does work, even though we can't produce an executable without
47 dnl more info about the target it's being compiled for. This only works
48 dnl for the GNU C++ compiler.
49
50 dnl Transform the name of the compiler to it's cross variant, unless
51 dnl CXX is set. This is also what CXX gets set to in the generated
52 dnl Makefile.
53 if test x"${CXX}" = xc++ ; then
54     CXX=`echo gcc | sed -e "${program_transform_name}"`
55 fi
56
57 dnl Get G++'s full path to libgcc.a
58 libgccpath=`${CXX} --print-libgcc`
59
60 dnl If we don't have a path with libgcc.a on the end, this isn't G++.
61 if test `echo $libgccpath | sed -e 's:/.*/::'` = libgcc.a ; then
62    ac_cv_prog_gxx=yes
63 else
64    ac_cv_prog_gxx=no
65 fi
66
67 dnl If we are using G++, look for the files that need to exist if this
68 dnl compiler works.
69 if test x"${ac_cv_prog_gxx}" = xyes ; then
70     gccfiles=`echo $libgccpath | sed -e 's:/libgcc.a::'`
71     if test -f ${gccfiles}/specs -a -f ${gccfiles}/cpp -a -f ${gccfiles}/cc1plus; then
72         gccfiles=yes
73     else
74         gccfiles=no
75     fi
76     gcclibs=`echo $libgccpath | sed -e 's:lib/gcc-lib/::' -e 's:/libgcc.a::' -e 's,\(.*\)/.*,\1,g'`/lib
77     if test -d ${gcclibs}/ldscripts -a -f ${gcclibs}/libc.a -a -f ${gcclibs}/libstdc++.a ; then
78         gcclibs=yes
79     else
80         gcclibs=no
81     fi
82 fi
83
84 dnl If everything is OK, then we can safely assume the compiler works.
85 if test x"${gccfiles}" = xno -o x"${gcclibs}" = xno; then
86     ac_cv_prog_cxx_works=no
87     AC_MSG_ERROR(${CXX} is a non-working cross compiler)
88 else
89    ac_cv_prog_cxx_works=yes 
90 fi
91
92 AC_LANG_RESTORE
93 AC_MSG_RESULT($ac_cv_prog_cxx_works)
94 if test x"$ac_cv_prog_cxx_works" = xno; then
95   AC_MSG_ERROR([installation or configuration problem: C++ compiler cannot create executables.])
96 fi
97 AC_MSG_CHECKING([whether the G++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler])
98 AC_MSG_RESULT($ac_cv_prog_cxx_cross)
99 cross_compiling=$ac_cv_prog_cxx_cross
100 AC_SUBST(CXX)
101 ])
102
103 dnl ====================================================================
104 dnl Find a working GCC cross compiler. This only works for the GNU gcc compiler.
105 dnl This is based on the macros above for G++.
106 AC_DEFUN([CYG_AC_PROG_CC_CROSS],
107 [AC_BEFORE([$0], [AC_PROG_CCPP])
108 AC_CHECK_PROGS(CC, cc, gcc)
109
110 CYG_AC_PROG_GCC_WORKS
111
112 if test $ac_cv_prog_gcc = yes; then
113   GCC=yes
114 dnl Check whether -g works, even if CFLAGS is set, in case the package
115 dnl plays around with CFLAGS (such as to build both debugging and
116 dnl normal versions of a library), tasteless as that idea is.
117   ac_test_CFLAGS="${CFLAGS+set}"
118   ac_save_CFLAGS="$CFLAGS"
119   CFLAGS=
120   AC_PROG_CC_G
121   if test "$ac_test_CFLAGS" = set; then
122     CFLAGS="$ac_save_CFLAGS"
123   elif test $ac_cv_prog_cc_g = yes; then
124     CFLAGS="-g -O2"
125   else
126     CFLAGS="-O2"
127   fi
128 else
129   GXX=
130   test "${CFLAGS+set}" = set || CFLAGS="-g"
131 fi
132 ])
133
134 dnl See if the GCC compiler we found works.
135 AC_DEFUN([CYG_AC_PROG_GCC_WORKS],
136 [AC_MSG_CHECKING([whether the Gcc compiler ($CC $CFLAGS $LDFLAGS) actually works])
137 AC_LANG_SAVE
138 AC_LANG_C
139 dnl Try a test case. We only compile, because it's close to impossible
140 dnl to get a correct fully linked executable with a cross
141 dnl compiler. For most cross compilers, this test is bogus. For G++,
142 dnl we can use various other compile line options to get a decent idea
143 dnl that the cross compiler actually does work, even though we can't
144 dnl produce an executable without more info about the target it's
145 dnl being compiled for. This only works for the GNU C++ compiler.
146
147 dnl Transform the name of the compiler to it's cross variant, unless
148 dnl CXX is set. This is also what CC gets set to in the generated Makefile.
149 if test x"${CC}" = xcc ; then
150     CC=`echo gcc | sed -e "${program_transform_name}"`
151 fi
152
153 dnl Get Gcc's full path to libgcc.a
154 libgccpath=`${CC} --print-libgcc`
155
156 dnl If we don't have a path with libgcc.a on the end, this isn't G++.
157 if test `echo $libgccpath | sed -e 's:/.*/::'` = libgcc.a ; then
158    ac_cv_prog_gcc=yes
159 else
160    ac_cv_prog_gcc=no
161 fi
162
163 dnl If we are using Gcc, look for the files that need to exist if this
164 dnl compiler works.
165 if test x"${ac_cv_prog_gcc}" = xyes ; then
166     gccfiles=`echo $libgccpath | sed -e 's:/libgcc.a::'`
167     if test -f ${gccfiles}/specs -a -f ${gccfiles}/cpp -a -f ${gccfiles}/cc1plus; then
168         gccfiles=yes
169     else
170         gccfiles=no
171     fi
172     gcclibs=`echo $libgccpath | sed -e 's:lib/gcc-lib/::' -e 's:/libgcc.a::' -e 's,\(.*\)/.*,\1,g'`/lib
173     if test -d ${gcclibs}/ldscripts -a -f ${gcclibs}/libc.a -a -f ${gcclibs}/libstdc++.a ; then
174         gcclibs=yes
175     else
176         gcclibs=no
177     fi
178 fi
179
180 dnl If everything is OK, then we can safely assume the compiler works.
181 if test x"${gccfiles}" = xno -o x"${gcclibs}" = xno; then
182     ac_cv_prog_cc_works=no
183     AC_MSG_ERROR(${CC} is a non-working cross compiler)    
184 else
185     ac_cv_prog_cc_works=yes
186 fi
187
188 AC_LANG_RESTORE
189 AC_MSG_RESULT($ac_cv_prog_cc_works)
190 if test x"$ac_cv_prog_cc_works" = xno; then
191   AC_MSG_ERROR([installation or configuration problem: C++ compiler cannot create executables.])
192 fi
193 AC_MSG_CHECKING([whether the Gcc compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler])
194 AC_MSG_RESULT($ac_cv_prog_cc_cross)
195 cross_compiling=$ac_cv_prog_cc_cross
196 AC_SUBST(CC)
197 ])
198
199 dnl ====================================================================
200 dnl Find the BFD library in the build tree. This is used to access and
201 dnl manipulate object or executable files.
202 AC_DEFUN([CYG_AC_PATH_BFD], [
203 AC_MSG_CHECKING(for the bfd header in the build tree)
204 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
205 dnl Look for the header file
206 AC_CACHE_VAL(ac_cv_c_bfdh,[
207 for i in $dirlist; do
208     if test -f "$i/bfd/bfd.h" ; then
209         ac_cv_c_bfdh=`(cd $i/bfd; ${PWDCMD-pwd})`
210         break
211     fi
212 done
213 ])
214 if test x"${ac_cv_c_bfdh}" != x; then
215     BFDHDIR="-I${ac_cv_c_bfdh}"
216     AC_MSG_RESULT(${ac_cv_c_bfdh})
217 else
218     AC_MSG_RESULT(none)
219 fi
220 AC_SUBST(BFDHDIR)
221
222 dnl Look for the library
223 AC_MSG_CHECKING(for the bfd library in the build tree)
224 AC_CACHE_VAL(ac_cv_c_bfdlib,[
225 for i in $dirlist; do
226     if test -f "$i/bfd/Makefile" ; then
227         ac_cv_c_bfdlib=`(cd $i/bfd; ${PWDCMD-pwd})`
228     fi
229 done
230 ])
231 dnl We list two directories cause bfd now uses libtool
232 if test x"${ac_cv_c_bfdlib}" != x; then
233     BFDLIB="-L${ac_cv_c_bfdlib} -L${ac_cv_c_bfdlib}/.libs"
234     AC_MSG_RESULT(${ac_cv_c_bfdlib})
235 else
236     AC_MSG_RESULT(none)
237 fi
238 AC_SUBST(BFDLIB)
239 ])
240
241 dnl ====================================================================
242 dnl Find the libiberty library. This defines many commonly used C
243 dnl functions that exists in various states based on the underlying OS.
244 AC_DEFUN([CYG_AC_PATH_LIBERTY], [
245 AC_MSG_CHECKING(for the liberty library in the build tree)
246 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
247 AC_CACHE_VAL(ac_cv_c_liberty,[
248 for i in $dirlist; do
249     if test -f "$i/libiberty/Makefile" ; then
250         ac_cv_c_liberty=`(cd $i/libiberty; ${PWDCMD-pwd})`
251     fi
252 done
253 ])
254 if test x"${ac_cv_c_liberty}" != x; then
255     LIBERTY="-L${ac_cv_c_liberty}"
256     AC_MSG_RESULT(${ac_cv_c_liberty})
257 else
258     AC_MSG_RESULT(none)
259 fi
260 AC_SUBST(LIBERTY)
261 ])
262
263 dnl ====================================================================
264 dnl Find the opcodes library. This is used to do dissasemblies.
265 AC_DEFUN([CYG_AC_PATH_OPCODES], [
266 AC_MSG_CHECKING(for the opcodes library in the build tree)
267 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
268 AC_CACHE_VAL(ac_cv_c_opc,[
269 for i in $dirlist; do
270     if test -f "$i/opcodes/Makefile" ; then
271         ac_cv_c_opc=`(cd $i/opcodes; ${PWDCMD-pwd})`
272     fi
273 done
274 ])
275 if test x"${ac_cv_c_opc}" != x; then
276     OPCODESLIB="-L${ac_cv_c_opc}"
277     AC_MSG_RESULT(${ac_cv_c_opc})
278 else
279     AC_MSG_RESULT(none)
280 fi
281 AC_SUBST(OPCODESLIB)
282 ])
283
284 dnl ====================================================================
285 dnl Look for the DejaGnu header file in the source tree. This file
286 dnl defines the functions used to testing support.
287 AC_DEFUN([CYG_AC_PATH_DEJAGNU], [
288 AC_MSG_CHECKING(for the testing support files in the source tree)
289 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
290 AC_CACHE_VAL(ac_cv_c_dejagnu,[
291 for i in $dirlist; do
292     if test -f "$srcdir/$i/ecc/ecc/infra/testlib/current/include/dejagnu.h" ; then
293         ac_cv_c_dejagnu=`(cd $srcdir/$i/ecc/ecc/infra/testlib/current/include; ${PWDCMD-pwd})`
294     fi
295 done
296 ])
297 if test x"${ac_cv_c_dejagnu}" != x; then
298     DEJAGNUHDIR="-I${ac_cv_c_dejagnu}"
299     AC_MSG_RESULT(${ac_cv_c_dejagnu})
300 else
301     AC_MSG_RESULT(none)
302 fi
303 AC_CACHE_VAL(ac_cv_c_dejagnulib,[
304 for i in $dirlist; do
305     if test -f "$srcdir/$i/infra/testlib/current/lib/hostutil.exp" ; then
306         ac_cv_c_dejagnulib=`(cd $srcdir/$i/infra/testlib/current/lib; ${PWDCMD-pwd})`
307     fi
308 done
309 ])
310 if test x"${ac_cv_c_dejagnulib}" != x; then
311     DEJAGNULIB="${ac_cv_c_dejagnulib}"
312 else
313     DEJAGNULIB=""
314 fi
315 AC_MSG_CHECKING(for runtest in the source tree)
316 AC_CACHE_VAL(ac_cv_c_runtest,[
317 for i in $dirlist; do
318     if test -f "$srcdir/$i/dejagnu/runtest" ; then
319         ac_cv_c_runtest=`(cd $srcdir/$i/dejagnu; ${PWDCMD-pwd})`
320     fi
321 done
322 ])
323 if test x"${ac_cv_c_runtest}" != x; then
324     RUNTESTDIR="${ac_cv_c_runtest}"
325    AC_MSG_RESULT(${ac_cv_c_runtest})
326 else
327     RUNTESTDIR=""
328     AC_MSG_RESULT(none)
329 fi
330 AC_SUBST(RUNTESTDIR)
331 AC_SUBST(DEJAGNULIB)
332 AC_SUBST(DEJAGNUHDIR)
333 ])
334
335 dnl ====================================================================
336 dnl Find the libintl library in the build tree. This is for
337 dnl  internationalization support.
338 AC_DEFUN([CYG_AC_PATH_INTL], [
339 AC_MSG_CHECKING(for the intl header in the build tree)
340 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
341 dnl Look for the header file
342 AC_CACHE_VAL(ac_cv_c_intlh,[
343 for i in $dirlist; do
344     if test -f "$i/intl/libintl.h" ; then
345         ac_cv_c_intlh=`(cd $i/intl; ${PWDCMD-pwd})`
346         break
347     fi
348 done
349 ])
350 if test x"${ac_cv_c_intlh}" != x; then
351     INTLHDIR="-I${ac_cv_c_intlh}"
352     AC_MSG_RESULT(${ac_cv_c_intlh})
353 else
354     AC_MSG_RESULT(none)
355 fi
356 AC_SUBST(INTLHDIR)
357
358 dnl Look for the library
359 AC_MSG_CHECKING(for the libintl library in the build tree)
360 AC_CACHE_VAL(ac_cv_c_intllib,[
361 for i in $dirlist; do
362     if test -f "$i/intl/Makefile" ; then
363         ac_cv_c_intllib=`(cd $i/intl; ${PWDCMD-pwd})`
364     fi
365 done
366 ])
367 if test x"${ac_cv_c_intllib}" != x; then
368     INTLLIB="-L${ac_cv_c_intllib} -lintl"
369     AC_MSG_RESULT(${ac_cv_c_intllib})
370 else
371     AC_MSG_RESULT(none)
372 fi
373 AC_SUBST(INTLLIB)
374 ])
375
376 dnl ====================================================================
377 dnl Find the simulator library.
378 AC_DEFUN([CYG_AC_PATH_SIM], [
379 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.. ../../../../../../../../../.."
380 case "$target_cpu" in
381     powerpc)    target_dir=ppc ;;
382     sparc*)     target_dir=erc32 ;;
383     mips*)      target_dir=mips ;;
384     *)          target_dir=$target_cpu ;;
385 esac
386 dnl First look for the header file
387 AC_MSG_CHECKING(for the simulator header file)
388 AC_CACHE_VAL(ac_cv_c_simh,[
389 for i in $dirlist; do
390     if test -f "${srcdir}/$i/include/remote-sim.h" ; then
391         ac_cv_c_simh=`(cd ${srcdir}/$i/include; ${PWDCMD-pwd})`
392         break
393     fi
394 done
395 ])
396 if test x"${ac_cv_c_simh}" != x; then
397     SIMHDIR="-I${ac_cv_c_simh}"
398     AC_MSG_RESULT(${ac_cv_c_simh})
399 else
400     AC_MSG_RESULT(none)
401 fi
402 AC_SUBST(SIMHDIR)
403
404 dnl See whether it's a devo or Foundry branch simulator
405 AC_MSG_CHECKING(Whether this is a devo simulator )
406 AC_CACHE_VAL(ac_cv_c_simdevo,[
407     CPPFLAGS="$CPPFLAGS $SIMHDIR"
408     AC_EGREP_HEADER([SIM_DESC sim_open.*struct _bfd], remote-sim.h,
409         ac_cv_c_simdevo=yes,
410         ac_cv_c_simdevo=no)
411 ])
412 if test x"$ac_cv_c_simdevo" = x"yes" ; then
413     AC_DEFINE(HAVE_DEVO_SIM)
414 fi
415 AC_MSG_RESULT(${ac_cv_c_simdevo})
416 AC_SUBST(HAVE_DEVO_SIM)
417
418 dnl Next look for the library
419 AC_MSG_CHECKING(for the simulator library)
420 AC_CACHE_VAL(ac_cv_c_simlib,[
421 for i in $dirlist; do
422     if test -f "$i/sim/$target_dir/Makefile" ; then
423         ac_cv_c_simlib=`(cd $i/sim/$target_dir; ${PWDCMD-pwd})`
424     fi
425 done
426 ])
427 if test x"${ac_cv_c_simlib}" != x; then
428     SIMLIB="-L${ac_cv_c_simlib}"
429 else
430     AC_MSG_RESULT(none)
431     dnl FIXME: this is kinda bogus, cause umtimately the TM will build
432     dnl all the libraries for several architectures. But for now, this
433     dnl will work till then.
434 dnl     AC_MSG_CHECKING(for the simulator installed with the compiler libraries)
435     dnl Transform the name of the compiler to it's cross variant, unless
436     dnl CXX is set. This is also what CXX gets set to in the generated
437     dnl Makefile.
438     CROSS_GCC=`echo gcc | sed -e "s/^/$target/"`
439
440     dnl Get G++'s full path to libgcc.a
441 changequote(,)
442     gccpath=`${CROSS_GCC} --print-libgcc | sed -e 's:[a-z0-9A-Z\.\-]*/libgcc.a::' -e 's:lib/gcc-lib/::'`lib
443 changequote([,])
444     if test -f $gccpath/libsim.a -o -f $gccpath/libsim.so ; then
445         ac_cv_c_simlib="$gccpath/"
446         SIMLIB="-L${ac_cv_c_simlib}"
447         AC_MSG_RESULT(${ac_cv_c_simlib})
448     else
449         AM_CONDITIONAL(PSIM, test x$psim = xno)
450         SIMLIB=""
451         AC_MSG_RESULT(none)
452 dnl         ac_cv_c_simlib=none
453     fi
454 fi
455 AC_SUBST(SIMLIB)
456 ])
457
458 dnl ====================================================================
459 dnl Find the libiberty library.
460 AC_DEFUN([CYG_AC_PATH_LIBIBERTY], [
461 AC_MSG_CHECKING(for the libiberty library in the build tree)
462 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
463 AC_CACHE_VAL(ac_cv_c_libib,[
464 for i in $dirlist; do
465     if test -f "$i/libiberty/Makefile" ; then
466         ac_cv_c_libib=`(cd $i/libiberty/; ${PWDCMD-pwd})`
467     fi
468 done
469 ])
470 if test x"${ac_cv_c_libib}" != x; then
471     LIBIBERTY="-L${ac_cv_c_libib}"
472     AC_MSG_RESULT(${ac_cv_c_libib})
473 else
474     AC_MSG_RESULT(none)
475 fi
476 AC_SUBST(LIBIBERTY)
477 ])
478
479 dnl ====================================================================
480 AC_DEFUN([CYG_AC_PATH_DEVO], [
481 AC_MSG_CHECKING(for devo headers in the source tree)
482 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
483 AC_CACHE_VAL(ac_cv_c_devoh,[
484 for i in $dirlist; do
485     if test -f "${srcdir}/$i/include/remote-sim.h" ; then
486         ac_cv_c_devoh=`(cd ${srcdir}/$i/include; ${PWDCMD-pwd})`
487     fi
488 done
489 ])
490 if test x"${ac_cv_c_devoh}" != x; then
491     DEVOHDIR="-I${ac_cv_c_devoh}"
492     AC_MSG_RESULT(${ac_cv_c_devoh})
493 else
494     AC_MSG_RESULT(none)
495 fi
496 AC_SUBST(DEVOHDIR)
497 ])
498
499 dnl ====================================================================
500 dnl find the IDE library and headers.
501 AC_DEFUN([CYG_AC_PATH_IDE], [
502 AC_MSG_CHECKING(for IDE headers in the source tree)
503 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
504 IDEHDIR=
505 IDELIB=
506 AC_CACHE_VAL(ac_cv_c_ideh,[
507 for i in $dirlist; do
508     if test -f "${srcdir}/$i/libide/src/event.h" ; then
509         ac_cv_c_ideh=`(cd ${srcdir}/$i/libide/src; ${PWDCMD-pwd})`;
510     fi
511 done
512 ])
513 if test x"${ac_cv_c_ideh}" != x; then
514     IDEHDIR="-I${ac_cv_c_ideh}"
515     AC_MSG_RESULT(${ac_cv_c_ideh})
516 else
517     AC_MSG_RESULT(none)
518 fi
519
520 AC_MSG_CHECKING(for LIBIDE TCL headers in the source tree)
521 AC_CACHE_VAL(ac_cv_c_idetclh,[
522 for i in $dirlist; do
523     if test -f "${srcdir}/$i/libidetcl/src/idetcl.h" ; then
524         ac_cv_c_idetclh=`(cd ${srcdir}/$i/libidetcl/src; ${PWDCMD-pwd})`;
525     fi
526 done
527 ])
528 if test x"${ac_cv_c_idetclh}" != x; then
529     IDEHDIR="${IDEHDIR} -I${ac_cv_c_idetclh}"
530     AC_MSG_RESULT(${ac_cv_c_idetclh})
531 else
532     AC_MSG_RESULT(none)
533 fi
534
535 AC_MSG_CHECKING(for IDE headers in the build tree)
536 AC_CACHE_VAL(ac_cv_c_ideh2,[
537 for i in $dirlist; do
538     if test -f "$i/libide/src/Makefile" ; then
539         ac_cv_c_ideh2=`(cd $i/libide/src; ${PWDCMD-pwd})`;
540     fi
541 done
542 ])
543 if test x"${ac_cv_c_ideh2}" != x; then
544     IDEHDIR="${IDEHDIR} -I${ac_cv_c_ideh2}"
545     AC_MSG_RESULT(${ac_cv_c_ideh2})
546 else
547     AC_MSG_RESULT(none)
548 fi
549
550 dnl look for the library
551 AC_MSG_CHECKING(for IDE library)
552 AC_CACHE_VAL(ac_cv_c_idelib,[
553 if test x"${ac_cv_c_idelib}" = x ; then
554     for i in $dirlist; do
555       if test -f "$i/libide/src/Makefile" ; then
556         ac_cv_c_idelib=`(cd $i/libide/src; ${PWDCMD-pwd})`
557         break
558       fi
559     done
560 fi]) 
561 if test x"${ac_cv_c_idelib}" != x ; then
562      IDELIB="-L${ac_cv_c_idelib}"
563      AC_MSG_RESULT(${ac_cv_c_idelib})
564 else
565      AC_MSG_RESULT(none)
566 fi
567
568 dnl find libiddetcl.a if it exists
569 AC_MSG_CHECKING(for IDE TCL library)
570 AC_CACHE_VAL(ac_cv_c_idetcllib,[
571 if test x"${ac_cv_c_idetcllib}" = x ; then
572     for i in $dirlist; do
573       if test -f "$i/libidetcl/src/Makefile" ; then
574         ac_cv_c_idetcllib=`(cd $i/libidetcl/src; ${PWDCMD-pwd})`
575         break
576       fi
577     done
578 fi
579 ]) 
580 if test x"${ac_cv_c_idetcllib}" != x ; then
581      IDELIB="${IDELIB} -L${ac_cv_c_idetcllib}"
582      IDETCLLIB="-lidetcl"
583      AC_MSG_RESULT(${ac_cv_c_idetcllib})
584 else
585      AC_MSG_RESULT(none)
586 fi
587 AC_SUBST(IDEHDIR)
588 AC_SUBST(IDELIB)
589 AC_SUBST(IDETCLLIB)
590 ])
591
592 dnl ====================================================================
593 dnl Find all the ILU headers and libraries
594 AC_DEFUN([CYG_AC_PATH_ILU], [
595 AC_MSG_CHECKING(for ILU kernel headers in the source tree)
596 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
597 AC_CACHE_VAL(ac_cv_c_iluh,[
598 for i in $dirlist; do
599     if test -f "${srcdir}/$i/ilu/runtime/kernel/method.h" ; then
600         ac_cv_c_iluh=`(cd ${srcdir}/$i/ilu/runtime/kernel; ${PWDCMD-pwd})`
601     fi
602 done
603 ])
604 if test x"${ac_cv_c_iluh}" != x; then
605     ILUHDIR="-I${ac_cv_c_iluh}"
606     AC_MSG_RESULT(${ac_cv_c_iluh})
607 else
608     AC_MSG_RESULT(none)
609 fi
610
611 AC_MSG_CHECKING(for ILU kernel headers in the build tree)
612 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
613 AC_CACHE_VAL(ac_cv_c_iluh5,[
614 for i in $dirlist; do
615     if test -f "$i/ilu/runtime/kernel/iluconf.h" ; then
616         ac_cv_c_iluh5=`(cd $i/ilu/runtime/kernel; ${PWDCMD-pwd})`
617     fi
618 done
619 ])
620 if test x"${ac_cv_c_iluh5}" != x; then
621     ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh5}"
622     AC_MSG_RESULT(${ac_cv_c_iluh5})
623 else
624     AC_MSG_RESULT(none)
625 fi
626
627 AC_MSG_CHECKING(for ILU C++ headers in the source tree)
628 AC_CACHE_VAL(ac_cv_c_iluh2,[
629 for i in $dirlist; do
630     if test -f "${srcdir}/$i/ilu/stubbers/cpp/resource.h" ; then
631         ac_cv_c_iluh2=`(cd ${srcdir}/$i/ilu/stubbers/cpp; ${PWDCMD-pwd})`
632     fi
633 done
634 ])
635 if test x"${ac_cv_c_iluh2}" != x; then
636     ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh2}"
637     AC_MSG_RESULT(${ac_cv_c_iluh2})
638 else
639     AC_MSG_RESULT(none)
640 fi
641
642 AC_MSG_CHECKING(for ILU C headers)
643 AC_CACHE_VAL(ac_cv_c_iluh3,[
644 for i in $dirlist; do
645     if test -f "${srcdir}/$i/ilu/stubbers/c/resource.h" ; then
646         ac_cv_c_iluh3=`(cd ${srcdir}/$i/ilu/stubbers/c  ; ${PWDCMD-pwd})`
647     fi
648 done
649 ])
650 if test x"${ac_cv_c_iluh3}" != x; then
651     ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh3}"
652     AC_MSG_RESULT(${ac_cv_c_iluh3})
653 else
654     AC_MSG_RESULT(none)
655 fi
656
657 AC_MSG_CHECKING(for ILU C runtime headers)
658 AC_CACHE_VAL(ac_cv_c_iluh4,[
659 for i in $dirlist; do
660     if test -f "${srcdir}/$i/ilu/runtime/c/ilucstub.h" ; then
661         ac_cv_c_iluh4=`(cd ${srcdir}/$i/ilu/runtime/c  ; ${PWDCMD-pwd})`
662     fi
663 done
664 ])
665 if test x"${ac_cv_c_iluh4}" != x; then
666     ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh4}"
667     AC_MSG_RESULT(${ac_cv_c_iluh4})
668 else
669     AC_MSG_RESULT(none)
670 fi
671
672 AC_CACHE_VAL(ac_cv_c_ilupath,[
673 for i in $dirlist; do
674     if test -f "$i/ilu/Makefile" ; then
675         ac_cv_c_ilupath=`(cd $i/ilu; ${PWDCMD-pwd})`
676         break
677     fi
678 done
679 ])
680 ILUTOP=${ac_cv_c_ilupath}
681
682 AC_MSG_CHECKING(for the ILU library in the build tree)
683 AC_CACHE_VAL(ac_cv_c_ilulib,[
684 if test -f "$ac_cv_c_ilupath/runtime/kernel/Makefile" ; then
685     ac_cv_c_ilulib=`(cd $ac_cv_c_ilupath/runtime/kernel; ${PWDCMD-pwd})`
686     AC_MSG_RESULT(found ${ac_cv_c_ilulib}/libilu.a)
687 else
688     AC_MSG_RESULT(no)
689 fi])
690    
691 AC_MSG_CHECKING(for the ILU C++ bindings library in the build tree)
692 AC_CACHE_VAL(ac_cv_c_ilulib2,[
693 if test -f "$ac_cv_c_ilupath/runtime/cpp/Makefile" ; then
694     ac_cv_c_ilulib2=`(cd $ac_cv_c_ilupath/runtime/cpp; ${PWDCMD-pwd})`
695     AC_MSG_RESULT(found ${ac_cv_c_ilulib2}/libilu-c++.a)
696 else
697     AC_MSG_RESULT(no)
698 fi])
699
700 AC_MSG_CHECKING(for the ILU C bindings library in the build tree)
701 AC_CACHE_VAL(ac_cv_c_ilulib3,[
702 if test -f "$ac_cv_c_ilupath/runtime/c/Makefile" ; then
703     ac_cv_c_ilulib3=`(cd $ac_cv_c_ilupath/runtime/c; ${PWDCMD-pwd})`
704     AC_MSG_RESULT(found ${ac_cv_c_ilulib3}/libilu-c.a)
705 else
706     AC_MSG_RESULT(no)
707 fi])
708
709 AC_MSG_CHECKING(for the ILU Tk bindings library in the build tree)
710 AC_CACHE_VAL(ac_cv_c_ilulib4,[
711 if test -f "$ac_cv_c_ilupath/runtime/mainloop/Makefile" ; then
712     ac_cv_c_ilulib4=`(cd $ac_cv_c_ilupath/runtime/mainloop; ${PWDCMD-pwd})`
713     AC_MSG_RESULT(found ${ac_cv_c_ilulib4}/libilu-tk.a)
714 else
715     AC_MSG_RESULT(no)
716 fi])
717
718 if test x"${ac_cv_c_ilulib}" = x -a x"${ac_cv_c_ilulib2}" = x; then
719   ILUHDIR=""
720 fi
721
722 if test x"${ac_cv_c_ilulib}" != x -a x"${ac_cv_c_ilulib2}" != x; then
723     ILULIB="-L${ac_cv_c_ilulib} -L${ac_cv_c_ilulib2} -L${ac_cv_c_ilulib3} -L${ac_cv_c_ilulib4}"
724 else
725     ILULIB=""
726 fi
727
728 if test x"${ILULIB}" = x; then
729     AC_MSG_CHECKING(for ILU libraries installed with the compiler)
730     AC_CACHE_VAL(ac_cv_c_ilulib5,[
731     NATIVE_GCC=`echo gcc | sed -e "${program_transform_name}"`
732
733     dnl Get G++'s full path to it's libraries
734     ac_cv_c_ilulib5=`${NATIVE_GCC} --print-libgcc | sed -e 's:lib/gcc-lib/.*::'`lib
735     if test -f $ac_cv_c_ilulib5/libilu-c.a -o -f $ac_cv_c_ilulib5/libilu-c.so ; then
736         if test x"${ILUHDIR}" = x; then
737                ILUHDIR="-I${ac_cv_c_ilulib5}/../include"
738         fi
739         ILULIB="-L${ac_cv_c_ilulib5}"
740         AC_MSG_RESULT(${ac_cv_c_ilulib5})
741     else
742         ac_cv_c_ilulib=none
743         AC_MSG_RESULT(none)
744     fi
745 fi])
746 AC_SUBST(ILUHDIR)
747 AC_SUBST(ILULIB)
748 AC_SUBST(ILUTOP)
749 ])
750
751 dnl ====================================================================
752 dnl This defines the byte order for the host. We can't use
753 dnl AC_C_BIGENDIAN, cause we want to create a config file and
754 dnl substitue the real value, so the header files work right
755 AC_DEFUN([CYG_AC_C_ENDIAN], [
756 AC_MSG_CHECKING(to see if this is a little endian host)
757 AC_CACHE_VAL(ac_cv_c_little_endian, [
758 ac_cv_c_little_endian=unknown
759 # See if sys/param.h defines the BYTE_ORDER macro.
760 AC_TRY_COMPILE([#include <sys/types.h>
761 #include <sys/param.h>], [
762 #if !BYTE_ORDER || !_BIG_ENDIAN || !_LITTLE_ENDIAN
763  bogus endian macros
764 #endif], [# It does; now see whether it defined to _LITTLE_ENDIAN or not.
765 AC_TRY_COMPILE([#include <sys/types.h>
766 #include <sys/param.h>], [
767 #if BYTE_ORDER != _LITTLE_ENDIAN
768  not big endian
769 #endif], ac_cv_c_little_endian=yes, ac_cv_c_little_endian=no)
770 ])
771 if test ${ac_cv_c_little_endian} = unknown; then
772 old_cflags=$CFLAGS
773 CFLAGS=-g
774 AC_TRY_RUN([
775 main () {
776   /* Are we little or big endian?  From Harbison&Steele.  */
777   union
778   {
779     long l;
780     char c[sizeof (long)];
781   } u;
782   u.l = 1;
783   exit (u.c[0] == 1);
784 }],
785 ac_cv_c_little_endian=no,
786 ac_cv_c_little_endian=yes,[
787 dnl Yes, this is ugly, and only used for a canadian cross anyway. This
788 dnl is just to keep configure from stopping here.
789 case "${host}" in
790 changequote(,)
791    i[3456789]86-*-*) ac_cv_c_little_endian=yes ;;
792    sparc*-*-*)    ac_cv_c_little_endian=no ;;
793 changequote([,])
794   *)    AC_MSG_WARN(Can't cross compile this test) ;;
795 esac])
796 CFLAGS=$old_cflags
797 fi])
798
799 if test x"${ac_cv_c_little_endian}" = xyes; then
800     AC_DEFINE(LITTLE_ENDIAN_HOST)
801     ENDIAN="CYG_LSBFIRST";
802 else
803     ENDIAN="CYG_MSBFIRST";
804 fi
805 AC_MSG_RESULT(${ac_cv_c_little_endian})
806 AC_SUBST(ENDIAN)
807 ])
808
809 dnl ====================================================================
810 dnl Look for the path to libgcc, so we can use it to directly link
811 dnl in libgcc.a with LD.
812 AC_DEFUN([CYG_AC_PATH_LIBGCC],
813 [AC_MSG_CHECKING([Looking for the path to libgcc.a])
814 AC_LANG_SAVE
815 AC_LANG_C
816
817 dnl Get Gcc's full path to libgcc.a
818 libgccpath=`${CC} --print-libgcc`
819
820 dnl If we don't have a path with libgcc.a on the end, this isn't G++.
821 if test `echo $libgccpath | sed -e 's:/.*/::'` = libgcc.a ; then
822    ac_cv_prog_gcc=yes
823 else
824    ac_cv_prog_gcc=no
825 fi
826
827 dnl 
828 if test x"${ac_cv_prog_gcc}" = xyes ; then
829    gccpath=`echo $libgccpath | sed -e 's:/libgcc.a::'`
830    LIBGCC="-L${gccpath}"
831    AC_MSG_RESULT(${gccpath})
832 else
833    LIBGCC=""
834    AC_MSG_ERROR(Not using gcc)
835 fi
836
837 AC_LANG_RESTORE
838 AC_SUBST(LIBGCC)
839 ])
840
841 dnl ====================================================================
842 dnl Ok, lets find the tcl source trees so we can use the headers
843 dnl Warning: transition of version 9 to 10 will break this algorithm
844 dnl because 10 sorts before 9. We also look for just tcl. We have to
845 dnl be careful that we don't match stuff like tclX by accident.
846 dnl the alternative search directory is involked by --with-tclinclude
847 AC_DEFUN([CYG_AC_PATH_TCL], [
848     CYG_AC_PATH_TCLH
849     CYG_AC_PATH_TCLCONFIG
850     CYG_AC_LOAD_TCLCONFIG
851 ])
852 AC_DEFUN([CYG_AC_PATH_TCLH], [
853 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
854 no_tcl=true
855 AC_MSG_CHECKING(for Tcl headers in the source tree)
856 AC_ARG_WITH(tclinclude, [  --with-tclinclude       directory where tcl headers are], with_tclinclude=${withval})
857 AC_CACHE_VAL(ac_cv_c_tclh,[
858 dnl first check to see if --with-tclinclude was specified
859 if test x"${with_tclinclude}" != x ; then
860   if test -f ${with_tclinclude}/tcl.h ; then
861     ac_cv_c_tclh=`(cd ${with_tclinclude}; ${PWDCMD-pwd})`
862   elif test -f ${with_tclinclude}/generic/tcl.h ; then
863     ac_cv_c_tclh=`(cd ${with_tclinclude}/generic; ${PWDCMD-pwd})`
864   else
865     AC_MSG_ERROR([${with_tclinclude} directory doesn't contain headers])
866   fi
867 fi
868
869 dnl next check if it came with Tcl configuration file
870 if test x"${ac_cv_c_tclconfig}" != x ; then
871   for i in $dirlist; do
872     if test -f $ac_cv_c_tclconfig/$i/generic/tcl.h ; then
873       ac_cv_c_tclh=`(cd $ac_cv_c_tclconfig/$i/generic; ${PWDCMD-pwd})`
874       break
875     fi
876   done
877 fi
878
879 dnl next check in private source directory
880 dnl since ls returns lowest version numbers first, reverse its output
881 if test x"${ac_cv_c_tclh}" = x ; then
882     dnl find the top level Tcl source directory
883     for i in $dirlist; do
884         if test -n "`ls -dr $srcdir/$i/tcl* 2>/dev/null`" ; then
885             tclpath=$srcdir/$i
886             break
887         fi
888     done
889
890     dnl find the exact Tcl source dir. We do it this way, cause there
891     dnl might be multiple version of Tcl, and we want the most recent one.
892     for i in `ls -dr $tclpath/tcl* 2>/dev/null ` ; do
893         if test -f $i/generic/tcl.h ; then
894           ac_cv_c_tclh=`(cd $i/generic; ${PWDCMD-pwd})`
895           break
896         fi
897     done
898 fi
899
900 dnl check if its installed with the compiler
901 if test x"${ac_cv_c_tclh}" = x ; then
902     dnl Get the path to the compiler
903     ccpath=`which ${CC}  | sed -e 's:/bin/.*::'`/include
904     if test -f $ccpath/tcl.h; then
905         ac_cv_c_tclh=$ccpath
906     fi
907 fi
908
909 dnl see if one is installed
910 if test x"${ac_cv_c_tclh}" = x ; then
911    AC_MSG_RESULT(none)
912    AC_CHECK_HEADER(tcl.h, ac_cv_c_tclh=installed, ac_cv_c_tclh="")
913 else
914    AC_MSG_RESULT(${ac_cv_c_tclh})
915 fi
916 ])
917   TCLHDIR=""
918 if test x"${ac_cv_c_tclh}" = x ; then
919     AC_MSG_ERROR([Can't find any Tcl headers])
920 fi
921 if test x"${ac_cv_c_tclh}" != x ; then
922     no_tcl=""
923     if test x"${ac_cv_c_tclh}" != x"installed" ; then
924         if test x"${CC}" = xcl ; then
925             tmp="`cygpath --windows ${ac_cv_c_tclh}`"
926             ac_cv_c_tclh="`echo $tmp | sed -e s#\\\\\\\\#/#g`"
927         fi
928         AC_MSG_RESULT(${ac_cv_c_tclh})
929         TCLHDIR="-I${ac_cv_c_tclh}"
930     fi
931 fi
932
933 AC_SUBST(TCLHDIR)
934 ])
935
936 dnl ====================================================================
937 dnl Ok, lets find the tcl configuration
938 AC_DEFUN([CYG_AC_PATH_TCLCONFIG], [
939 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
940 dnl First, look for one uninstalled.  
941 dnl the alternative search directory is invoked by --with-tclconfig
942 if test x"${no_tcl}" = x ; then
943   dnl we reset no_tcl in case something fails here
944     no_tcl=true
945     AC_ARG_WITH(tclconfig, [  --with-tclconfig           directory containing tcl configuration (tclConfig.sh)],
946          with_tclconfig=${withval})
947     AC_MSG_CHECKING([for Tcl configuration script])
948     AC_CACHE_VAL(ac_cv_c_tclconfig,[
949
950     dnl First check to see if --with-tclconfig was specified.
951     if test x"${with_tclconfig}" != x ; then
952         if test -f "${with_tclconfig}/tclConfig.sh" ; then
953             ac_cv_c_tclconfig=`(cd ${with_tclconfig}; ${PWDCMD-pwd})`
954         else
955             AC_MSG_ERROR([${with_tclconfig} directory doesn't contain tclConfig.sh])
956         fi
957     fi
958
959     dnl next check if it came with Tcl configuration file in the source tree
960     if test x"${ac_cv_c_tclconfig}" = x ; then
961         for i in $dirlist; do
962             dnl need to test both unix and win directories, since 
963             dnl cygwin's tkConfig.sh could be in either directory depending
964             dnl on the cygwin port of tcl.
965             if test -f $srcdir/$i/unix/tclConfig.sh ; then
966                 ac_cv_c_tclconfig=`(cd $srcdir/$i/unix; ${PWDCMD-pwd})`
967                 break
968             fi
969             if test -f $srcdir/$i/win/tclConfig.sh ; then
970                 ac_cv_c_tclconfig=`(cd $srcdir/$i/win; ${PWDCMD-pwd})`
971                 break
972             fi
973         done
974     fi
975     dnl check in a few other locations
976     if test x"${ac_cv_c_tclconfig}" = x ; then
977         dnl find the top level Tcl source directory
978         for i in $dirlist; do
979             if test -n "`ls -dr $i/tcl* 2>/dev/null`" ; then
980                 tclconfpath=$i
981                 break
982             fi
983         done
984
985         dnl find the exact Tcl dir. We do it this way, cause there
986         dnl might be multiple version of Tcl, and we want the most recent one.
987         for i in `ls -dr $tclconfpath/tcl* 2>/dev/null ` ; do
988             dnl need to test both unix and win directories, since 
989             dnl cygwin's tclConfig.sh could be in either directory depending
990             dnl on the cygwin port of tcl.
991             if test -f $i/unix/tclConfig.sh ; then
992                 ac_cv_c_tclconfig=`(cd $i/unix; ${PWDCMD-pwd})`
993                 break
994             fi
995             if test -f $i/win/tclConfig.sh ; then
996                 ac_cv_c_tclconfig=`(cd $i/win; ${PWDCMD-pwd})`
997                 break
998             fi
999         done
1000     fi
1001
1002     dnl Check to see if it's installed. We have to look in the $CC path
1003     dnl to find it, cause our $prefix may not match the compilers.
1004     if test x"${ac_cv_c_tclconfig}" = x ; then
1005         dnl Get the path to the compiler
1006         ccpath=`which ${CC}  | sed -e 's:/bin/.*::'`/lib
1007         if test -f $ccpath/tclConfig.sh; then
1008             ac_cv_c_tclconfig=$ccpath
1009         fi
1010     fi
1011     ])  dnl end of cache_val
1012
1013     if test x"${ac_cv_c_tclconfig}" = x ; then
1014         TCLCONFIG=""
1015         AC_MSG_WARN(Can't find Tcl configuration definitions)
1016     else
1017         no_tcl=""
1018         TCLCONFIG=${ac_cv_c_tclconfig}/tclConfig.sh
1019         AC_MSG_RESULT(${TCLCONFIG})
1020      fi
1021 fi
1022 AC_SUBST(TCLCONFIG)
1023 ])
1024
1025 dnl Defined as a separate macro so we don't have to cache the values
1026 dnl from PATH_TCLCONFIG (because this can also be cached).
1027 AC_DEFUN([CYG_AC_LOAD_TCLCONFIG], [
1028     . $TCLCONFIG
1029
1030 dnl AC_SUBST(TCL_VERSION)
1031 dnl AC_SUBST(TCL_MAJOR_VERSION)
1032 dnl AC_SUBST(TCL_MINOR_VERSION)
1033 dnl AC_SUBST(TCL_CC)
1034     AC_SUBST(TCL_DEFS)
1035
1036 dnl not used, don't export to save symbols
1037     AC_SUBST(TCL_LIB_FILE)
1038     AC_SUBST(TCL_LIB_FULL_PATH)
1039     AC_SUBST(TCL_LIBS)
1040 dnl not used, don't export to save symbols
1041 dnl    AC_SUBST(TCL_PREFIX)
1042
1043     AC_SUBST(TCL_CFLAGS)
1044
1045 dnl not used, don't export to save symbols
1046 dnl    AC_SUBST(TCL_EXEC_PREFIX)
1047
1048     AC_SUBST(TCL_SHLIB_CFLAGS)
1049     AC_SUBST(TCL_SHLIB_LD)
1050 dnl don't export, not used outside of configure
1051 dnl AC_SUBST(TCL_SHLIB_LD_LIBS)
1052 dnl AC_SUBST(TCL_SHLIB_SUFFIX)
1053 dnl not used, don't export to save symbols
1054 dnl AC_SUBST(TCL_DL_LIBS)
1055     AC_SUBST(TCL_LD_FLAGS)
1056     AC_SUBST(TCL_LD_SEARCH_FLAGS)
1057 dnl don't export, not used outside of configure
1058 dnl AC_SUBST(TCL_COMPAT_OBJS)
1059     AC_SUBST(TCL_RANLIB)
1060     AC_SUBST(TCL_BUILD_LIB_SPEC)
1061     AC_SUBST(TCL_LIB_SPEC)
1062     AC_SUBST(TCL_BIN_DIR)
1063 dnl AC_SUBST(TCL_LIB_VERSIONS_OK)
1064
1065 dnl not used, don't export to save symbols
1066 dnl    AC_SUBST(TCL_SHARED_LIB_SUFFIX)
1067
1068 dnl not used, don't export to save symbols
1069 dnl    AC_SUBST(TCL_UNSHARED_LIB_SUFFIX)
1070 ])
1071
1072 dnl ====================================================================
1073 AC_DEFUN([CYG_AC_PATH_TK], [
1074     CYG_AC_PATH_TKH
1075     CYG_AC_PATH_TKCONFIG
1076     CYG_AC_LOAD_TKCONFIG
1077 ])
1078 AC_DEFUN([CYG_AC_PATH_TKH], [
1079 #
1080 # Ok, lets find the tk source trees so we can use the headers
1081 # If the directory (presumably symlink) named "tk" exists, use that one
1082 # in preference to any others.  Same logic is used when choosing library
1083 # and again with Tcl. The search order is the best place to look first, then in
1084 # decreasing significance. The loop breaks if the trigger file is found.
1085 # Note the gross little conversion here of srcdir by cd'ing to the found
1086 # directory. This converts the path from a relative to an absolute, so
1087 # recursive cache variables for the path will work right. We check all
1088 # the possible paths in one loop rather than many separate loops to speed
1089 # things up.
1090 # the alternative search directory is involked by --with-tkinclude
1091 #
1092 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
1093 no_tk=true
1094 AC_MSG_CHECKING(for Tk headers in the source tree)
1095 AC_ARG_WITH(tkinclude, [  --with-tkinclude       directory where tk headers are], with_tkinclude=${withval})
1096 AC_CACHE_VAL(ac_cv_c_tkh,[
1097 dnl first check to see if --with-tkinclude was specified
1098 if test x"${with_tkinclude}" != x ; then
1099   if test -f ${with_tkinclude}/tk.h ; then
1100     ac_cv_c_tkh=`(cd ${with_tkinclude}; ${PWDCMD-pwd})`
1101   elif test -f ${with_tkinclude}/generic/tk.h ; then
1102     ac_cv_c_tkh=`(cd ${with_tkinclude}/generic; ${PWDCMD-pwd})`
1103   else
1104     AC_MSG_ERROR([${with_tkinclude} directory doesn't contain headers])
1105   fi
1106 fi
1107
1108 dnl next check if it came with Tk configuration file
1109 if test x"${ac_cv_c_tkconfig}" != x ; then
1110   for i in $dirlist; do
1111     if test -f $ac_cv_c_tkconfig/$i/generic/tk.h ; then
1112       ac_cv_c_tkh=`(cd $ac_cv_c_tkconfig/$i/generic; ${PWDCMD-pwd})`
1113       break
1114     fi
1115   done
1116 fi
1117
1118 dnl next check in private source directory
1119 dnl since ls returns lowest version numbers first, reverse its output
1120 if test x"${ac_cv_c_tkh}" = x ; then
1121     dnl find the top level Tk source directory
1122     for i in $dirlist; do
1123         if test -n "`ls -dr $srcdir/$i/tk* 2>/dev/null`" ; then
1124             tkpath=$srcdir/$i
1125             break
1126         fi
1127     done
1128
1129     dnl find the exact Tk source dir. We do it this way, cause there
1130     dnl might be multiple version of Tk, and we want the most recent one.
1131     for i in `ls -dr $tkpath/tk* 2>/dev/null ` ; do
1132         if test -f $i/generic/tk.h ; then
1133           ac_cv_c_tkh=`(cd $i/generic; ${PWDCMD-pwd})`
1134           break
1135         fi
1136     done
1137 fi
1138
1139 dnl see if one is installed
1140 if test x"${ac_cv_c_tkh}" = x ; then
1141     AC_MSG_RESULT(none)
1142     dnl Get the path to the compiler. We do it this way instead of using
1143     dnl AC_CHECK_HEADER, cause this doesn't depend in having X configured.
1144     ccpath=`which ${CC}  | sed -e 's:/bin/.*::'`/include
1145     if test -f $ccpath/tk.h; then
1146         ac_cv_c_tkh=$ccpath
1147     fi
1148 else
1149    AC_MSG_RESULT(${ac_cv_c_tkh})
1150 fi
1151 ])
1152   TKHDIR=""
1153 if test x"${ac_cv_c_tkh}" = x ; then
1154     AC_MSG_ERROR([Can't find any Tk headers])
1155 fi
1156 if test x"${ac_cv_c_tkh}" != x ; then
1157     no_tk=""
1158     if test x"${ac_cv_c_tkh}" != x"installed" ; then
1159         if test x"${CC}" = xcl ; then
1160             tmp="`cygpath --windows ${ac_cv_c_tkh}`"
1161             ac_cv_c_tkh="`echo $tmp | sed -e s#\\\\\\\\#/#g`"
1162         fi
1163         AC_MSG_RESULT([found in ${ac_cv_c_tkh}])
1164         TKHDIR="-I${ac_cv_c_tkh}"
1165     fi
1166 fi
1167
1168 AC_SUBST(TKHDIR)
1169 ])
1170
1171 AC_DEFUN([CYG_AC_PATH_TKCONFIG], [
1172 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
1173 dnl First, look for one uninstalled.  
1174 dnl the alternative search directory is invoked by --with-tkconfig
1175 if test x"${no_tk}" = x ; then
1176   dnl we reset no_tk in case something fails here
1177     no_tk=true
1178     AC_ARG_WITH(tkconfig, [  --with-tkconfig           directory containing tk configuration (tkConfig.sh)],
1179          with_tkconfig=${withval})
1180     AC_MSG_CHECKING([for Tk configuration script])
1181     AC_CACHE_VAL(ac_cv_c_tkconfig,[
1182
1183     dnl First check to see if --with-tkconfig was specified.
1184     if test x"${with_tkconfig}" != x ; then
1185         if test -f "${with_tkconfig}/tkConfig.sh" ; then
1186             ac_cv_c_tkconfig=`(cd ${with_tkconfig}; ${PWDCMD-pwd})`
1187         else
1188             AC_MSG_ERROR([${with_tkconfig} directory doesn't contain tkConfig.sh])
1189         fi
1190     fi
1191
1192     dnl next check if it came with Tk configuration file in the source tree
1193     if test x"${ac_cv_c_tkconfig}" = x ; then
1194         for i in $dirlist; do
1195             dnl need to test both unix and win directories, since 
1196             dnl cygwin's tkConfig.sh could be in either directory depending
1197             dnl on the cygwin port of tk.
1198             if test -f $srcdir/$i/unix/tkConfig.sh ; then
1199                 ac_cv_c_tkconfig=`(cd $srcdir/$i/unix; ${PWDCMD-pwd})`
1200                 break
1201             fi
1202             if test -f $srcdir/$i/win/tkConfig.sh ; then
1203                 ac_cv_c_tkconfig=`(cd $srcdir/$i/unix; ${PWDCMD-pwd})`
1204                 break
1205             fi
1206         done
1207     fi
1208     dnl check in a few other locations
1209     if test x"${ac_cv_c_tkconfig}" = x ; then
1210         dnl find the top level Tk source directory
1211         for i in $dirlist; do
1212             if test -n "`ls -dr $i/tk* 2>/dev/null`" ; then
1213                 tkconfpath=$i
1214                 break
1215             fi
1216         done
1217
1218         dnl find the exact Tk dir. We do it this way, cause there
1219         dnl might be multiple version of Tk, and we want the most recent one.
1220         for i in `ls -dr $tkconfpath/tk* 2>/dev/null ` ; do
1221             dnl need to test both unix and win directories, since 
1222             dnl cygwin's tkConfig.sh could be in either directory depending
1223             dnl on the cygwin port of tk.
1224             if test -f $i/unix/tkConfig.sh ; then
1225                 ac_cv_c_tkconfig=`(cd $i/unix; ${PWDCMD-pwd})`
1226                 break
1227             fi
1228             if test -f $i/win/tkConfig.sh ; then
1229                 ac_cv_c_tkconfig=`(cd $i/win; ${PWDCMD-pwd})`
1230                 break
1231             fi
1232         done
1233     fi
1234
1235     dnl Check to see if it's installed. We have to look in the $CC path
1236     dnl to find it, cause our $prefix may not match the compilers.
1237     if test x"${ac_cv_c_tkconfig}" = x ; then
1238         dnl Get the path to the compiler
1239         ccpath=`which ${CC}  | sed -e 's:/bin/.*::'`/lib
1240         if test -f $ccpath/tkConfig.sh; then
1241             ac_cv_c_tkconfig=$ccpath
1242         fi
1243     fi
1244     ])  dnl end of cache_val
1245
1246     if test x"${ac_cv_c_tkconfig}" = x ; then
1247         TKCONFIG=""
1248         AC_MSG_WARN(Can't find Tk configuration definitions)
1249     else
1250         no_tk=""
1251         TKCONFIG=${ac_cv_c_tkconfig}/tkConfig.sh
1252         AC_MSG_RESULT(${TKCONFIG})
1253      fi
1254 fi
1255 AC_SUBST(TKCONFIG)
1256 ])
1257
1258 dnl Defined as a separate macro so we don't have to cache the values
1259 dnl from PATH_TKCONFIG (because this can also be cached).
1260 AC_DEFUN([CYG_AC_LOAD_TKCONFIG], [
1261     if test -f "$TKCONFIG" ; then
1262       . $TKCONFIG
1263     fi
1264
1265     AC_SUBST(TK_VERSION)
1266 dnl not actually used, don't export to save symbols
1267 dnl    AC_SUBST(TK_MAJOR_VERSION)
1268 dnl    AC_SUBST(TK_MINOR_VERSION)
1269     AC_SUBST(TK_DEFS)
1270
1271 dnl not used, don't export to save symbols
1272     AC_SUBST(TK_LIB_FILE)
1273     AC_SUBST(TK_LIB_FULL_PATH)
1274     AC_SUBST(TK_LIBS)
1275 dnl not used, don't export to save symbols
1276 dnl    AC_SUBST(TK_PREFIX)
1277
1278 dnl not used, don't export to save symbols
1279 dnl    AC_SUBST(TK_EXEC_PREFIX)
1280     AC_SUBST(TK_BUILD_INCLUDES)
1281     AC_SUBST(TK_XINCLUDES)
1282     AC_SUBST(TK_XLIBSW)
1283     AC_SUBST(TK_BUILD_LIB_SPEC)
1284     AC_SUBST(TK_LIB_SPEC)
1285 ])
1286
1287 dnl ====================================================================
1288 dnl Ok, lets find the itcl source trees so we can use the headers
1289 dnl the alternative search directory is involked by --with-itclinclude
1290 AC_DEFUN([CYG_AC_PATH_ITCL], [
1291     CYG_AC_PATH_ITCLH
1292     CYG_AC_PATH_ITCLLIB
1293     CYG_AC_PATH_ITCLSH
1294     CYG_AC_PATH_ITCLMKIDX
1295 ])
1296 AC_DEFUN([CYG_AC_PATH_ITCLH], [
1297 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
1298 no_itcl=true
1299 AC_MSG_CHECKING(for Itcl headers in the source tree)
1300 AC_ARG_WITH(itclinclude, [  --with-itclinclude       directory where itcl headers are], with_itclinclude=${withval})
1301 AC_CACHE_VAL(ac_cv_c_itclh,[
1302 dnl first check to see if --with-itclinclude was specified
1303 if test x"${with_itclinclude}" != x ; then
1304   if test -f ${with_itclinclude}/itcl.h ; then
1305     ac_cv_c_itclh=`(cd ${with_itclinclude}; ${PWDCMD-pwd})`
1306   elif test -f ${with_itclinclude}/src/itcl.h ; then
1307     ac_cv_c_itclh=`(cd ${with_itclinclude}/src; ${PWDCMD-pwd})`
1308   else
1309     AC_MSG_ERROR([${with_itclinclude} directory doesn't contain headers])
1310   fi
1311 fi
1312
1313 dnl next check if it came with Itcl configuration file
1314 if test x"${ac_cv_c_itclconfig}" != x ; then
1315   for i in $dirlist; do
1316     if test -f $ac_cv_c_itclconfig/$i/src/itcl.h ; then
1317       ac_cv_c_itclh=`(cd $ac_cv_c_itclconfig/$i/src; ${PWDCMD-pwd})`
1318       break
1319     fi
1320   done
1321 fi
1322
1323 dnl next check in private source directory
1324 dnl since ls returns lowest version numbers first, reverse its output
1325 if test x"${ac_cv_c_itclh}" = x ; then
1326     dnl find the top level Itcl source directory
1327     for i in $dirlist; do
1328         if test -n "`ls -dr $srcdir/$i/itcl* 2>/dev/null`" ; then
1329             itclpath=$srcdir/$i
1330             break
1331         fi
1332     done
1333
1334     dnl find the exact Itcl source dir. We do it this way, cause there
1335     dnl might be multiple version of Itcl, and we want the most recent one.
1336     for i in `ls -dr $itclpath/itcl* 2>/dev/null ` ; do
1337         if test -f $i/src/itcl.h ; then
1338           ac_cv_c_itclh=`(cd $i/src; ${PWDCMD-pwd})`
1339           break
1340         fi
1341     done
1342 fi
1343
1344 dnl see if one is installed
1345 if test x"${ac_cv_c_itclh}" = x ; then
1346    AC_MSG_RESULT(none)
1347    AC_CHECK_HEADER(itcl.h, ac_cv_c_itclh=installed, ac_cv_c_itclh="")
1348 else
1349    AC_MSG_RESULT(${ac_cv_c_itclh})
1350 fi
1351 ])
1352   ITCLHDIR=""
1353 if test x"${ac_cv_c_itclh}" = x ; then
1354     AC_MSG_ERROR([Can't find any Itcl headers])
1355 fi
1356 if test x"${ac_cv_c_itclh}" != x ; then
1357     no_itcl=""
1358     if test x"${ac_cv_c_itclh}" != x"installed" ; then
1359         AC_MSG_RESULT(${ac_cv_c_itclh})
1360         ITCLHDIR="-I${ac_cv_c_itclh}"
1361     fi
1362 fi
1363
1364 AC_SUBST(ITCLHDIR)
1365 ])
1366
1367 dnl Ok, lets find the itcl library
1368 dnl First, look for one uninstalled.  
1369 dnl the alternative search directory is invoked by --with-itcllib
1370 AC_DEFUN([CYG_AC_PATH_ITCLLIB], [
1371 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
1372 if test x"${no_itcl}" = x ; then
1373     dnl we reset no_itcl incase something fails here
1374     no_itcl=true
1375     AC_ARG_WITH(itcllib,
1376         [  --with-itcllib           directory where the itcl library is],
1377         with_itcllib=${withval})
1378     AC_MSG_CHECKING([for Itcl library])
1379     AC_CACHE_VAL(ac_cv_c_itcllib,[
1380     dnl First check to see if --with-itcllib was specified.
1381     if test x"${with_itcllib}" != x ; then
1382         if test -f "${with_itcllib}/libitcl$TCL_SHARED_LIB_SUFFIX" ; then
1383             ac_cv_c_itcllib=`(cd ${with_itcllib}; ${PWDCMD-pwd})`/libitcl$TCL_SHARED_LIB_SUFFIX
1384         else
1385             if test -f "${with_itcllib}/libitcl$TCL_UNSHARED_LIB_SUFFIX"; then
1386                 ac_cv_c_itcllib=`(cd ${with_itcllib}; ${PWDCMD-pwd})`/libitcl$TCL_UNSHARED_LIB_SUFFIX
1387             fi
1388         fi
1389     fi
1390     dnl then check for a  Itcl library. Since these are uninstalled,
1391     dnl use the simple lib name root. 
1392     if test x"${ac_cv_c_itcllib}" = x ; then
1393         dnl find the top level Itcl build directory
1394         for i in $dirlist; do
1395             if test -n "`ls -dr $i/itcl* 2>/dev/null`" ; then
1396                 itclpath=$i/itcl
1397                 break
1398             fi
1399         done
1400         dnl Itcl 7.5 and greater puts library in subdir.  Look there first.
1401         if test -f "$itclpath/src/libitcl.$TCL_SHLIB_SUFFIX" ; then
1402              ac_cv_c_itcllib=`(cd $itclpath/src; ${PWDCMD-pwd})`
1403         elif test -f "$itclpath/src/libitcl.a"; then
1404              ac_cv_c_itcllib=`(cd $itclpath/src; ${PWDCMD-pwd})`
1405         fi
1406     fi
1407     dnl check in a few other private locations
1408     if test x"${ac_cv_c_itcllib}" = x ; then
1409         for i in ${dirlist}; do
1410             if test -n "`ls -dr ${srcdir}/$i/itcl* 2>/dev/null`" ; then
1411                 itclpath=${srcdir}/$i
1412                 break
1413             fi
1414         done
1415         for i in `ls -dr ${itclpath}/itcl* 2>/dev/null` ; do
1416             dnl Itcl 7.5 and greater puts library in subdir.  Look there first.
1417             if test -f "$i/src/libitcl$TCL_SHLIB_SUFFIX" ; then
1418                 ac_cv_c_itcllib=`(cd $i/src; ${PWDCMD-pwd})`
1419                 break
1420             elif test -f "$i/src/libitcl.a"; then
1421                 ac_cv_c_itcllib=`(cd $i/src; ${PWDCMD-pwd})`
1422                 break
1423             fi  
1424         done
1425     fi
1426
1427     dnl see if one is conveniently installed with the compiler
1428     if test x"${ac_cv_c_itcllib}" = x ; then
1429         dnl Get the path to the compiler
1430         ccpath=`which ${CC}  | sed -e 's:/bin/.*::'`/lib
1431         dnl Itcl 7.5 and greater puts library in subdir.  Look there first.
1432         if test -f "${ccpath}/libitcl$TCL_SHLIB_SUFFIX" ; then
1433             ac_cv_c_itcllib=`(cd ${ccpath}; ${PWDCMD-pwd})`
1434         elif test -f "${ccpath}/libitcl.a"; then
1435             ac_cv_c_itcllib=`(cd ${ccpath}; ${PWDCMD-pwd})`
1436         fi
1437     fi
1438     ])
1439     if test x"${ac_cv_c_itcllib}" = x ; then
1440         ITCLLIB=""
1441         AC_MSG_WARN(Can't find Itcl library)
1442     else
1443         ITCLLIB="-L${ac_cv_c_itcllib}"
1444         AC_MSG_RESULT(${ac_cv_c_itcllib})
1445         no_itcl=""
1446     fi
1447 fi
1448
1449 AC_PROVIDE([$0])
1450 AC_SUBST(ITCLLIB)
1451 ])
1452
1453
1454 dnl ====================================================================
1455 dnl Ok, lets find the itcl source trees so we can use the itcl_sh script
1456 dnl the alternative search directory is involked by --with-itclinclude
1457 AC_DEFUN([CYG_AC_PATH_ITCLSH], [
1458 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
1459 no_itcl=true
1460 AC_MSG_CHECKING(for the itcl_sh script)
1461 AC_ARG_WITH(itclinclude, [  --with-itclinclude       directory where itcl headers are], with_itclinclude=${withval})
1462 AC_CACHE_VAL(ac_cv_c_itclsh,[
1463 dnl first check to see if --with-itclinclude was specified
1464 if test x"${with_itclinclude}" != x ; then
1465   if test -f ${with_itclinclude}/itcl_sh ; then
1466     ac_cv_c_itclsh=`(cd ${with_itclinclude}; ${PWDCMD-pwd})`
1467   elif test -f ${with_itclinclude}/src/itcl_sh ; then
1468     ac_cv_c_itclsh=`(cd ${with_itclinclude}/src; ${PWDCMD-pwd})`
1469   else
1470     AC_MSG_ERROR([${with_itclinclude} directory doesn't contain itcl_sh])
1471   fi
1472 fi
1473
1474 dnl next check in private source directory
1475 dnl since ls returns lowest version numbers first, reverse its output
1476 if test x"${ac_cv_c_itclsh}" = x ; then
1477     dnl find the top level Itcl source directory
1478     for i in $dirlist; do
1479         if test -n "`ls -dr $srcdir/$i/itcl* 2>/dev/null`" ; then
1480             itclpath=$srcdir/$i
1481             break
1482         fi
1483     done
1484
1485     dnl find the exact Itcl source dir. We do it this way, cause there
1486     dnl might be multiple version of Itcl, and we want the most recent one.
1487     for i in `ls -dr $itclpath/itcl* 2>/dev/null ` ; do
1488         if test -f $i/src/itcl_sh ; then
1489           ac_cv_c_itclsh=`(cd $i/src; ${PWDCMD-pwd})`/itcl_sh
1490           break
1491         fi
1492     done
1493 fi
1494
1495 dnl see if one is installed
1496 if test x"${ac_cv_c_itclsh}" = x ; then
1497    AC_MSG_RESULT(none)
1498    AC_PATH_PROG(ac_cv_c_itclsh, itcl_sh)
1499 else
1500    AC_MSG_RESULT(${ac_cv_c_itclsh})
1501 fi
1502 ])
1503
1504 if test x"${ac_cv_c_itclsh}" = x ; then
1505     AC_MSG_ERROR([Can't find the itcl_sh script])
1506 fi
1507 if test x"${ac_cv_c_itclsh}" != x ; then
1508     no_itcl=""
1509     AC_MSG_RESULT(${ac_cv_c_itclsh})
1510     ITCLSH="${ac_cv_c_itclsh}"
1511 fi
1512 AC_SUBST(ITCLSH)
1513 ])
1514
1515
1516 dnl ====================================================================
1517 dnl Ok, lets find the itcl source trees so we can use the itcl_sh script
1518 dnl the alternative search directory is involked by --with-itclinclude
1519 AC_DEFUN([CYG_AC_PATH_ITCLMKIDX], [
1520 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
1521 no_itcl=true
1522 AC_MSG_CHECKING(for itcl_mkindex.tcl script)
1523 AC_ARG_WITH(itclinclude, [  --with-itclinclude       directory where itcl headers are], with_itclinclude=${withval})
1524 AC_CACHE_VAL(ac_cv_c_itclmkidx,[
1525 dnl first check to see if --with-itclinclude was specified
1526 if test x"${with_itclinclude}" != x ; then
1527   if test -f ${with_itclinclude}/itcl_sh ; then
1528     ac_cv_c_itclmkidx=`(cd ${with_itclinclude}; ${PWDCMD-pwd})`
1529   elif test -f ${with_itclinclude}/src/itcl_sh ; then
1530     ac_cv_c_itclmkidx=`(cd ${with_itclinclude}/src; ${PWDCMD-pwd})`
1531   else
1532     AC_MSG_ERROR([${with_itclinclude} directory doesn't contain itcl_sh])
1533   fi
1534 fi
1535
1536 dnl next check in private source directory
1537 dnl since ls returns lowest version numbers first, reverse its output
1538 if test x"${ac_cv_c_itclmkidx}" = x ; then
1539     dnl find the top level Itcl source directory
1540     for i in $dirlist; do
1541         if test -n "`ls -dr $srcdir/$i/itcl* 2>/dev/null`" ; then
1542             itclpath=$srcdir/$i
1543             break
1544         fi
1545     done
1546
1547     dnl find the exact Itcl source dir. We do it this way, cause there
1548     dnl might be multiple version of Itcl, and we want the most recent one.
1549     for i in `ls -dr $itclpath/itcl* 2>/dev/null ` ; do
1550         if test -f $i/library/itcl_mkindex.tcl ; then
1551           ac_cv_c_itclmkidx=`(cd $i/library; ${PWDCMD-pwd})`/itcl_mkindex.tcl
1552           break
1553         fi
1554     done
1555 fi
1556 if test x"${ac_cv_c_itclmkidx}" = x ; then
1557     dnl Get the path to the compiler
1558     ccpath=`which ${CC}  | sed -e 's:/bin/.*::'`/share
1559     dnl Itcl 7.5 and greater puts library in subdir.  Look there first.
1560     for i in `ls -dr $ccpath/itcl* 2>/dev/null ` ; do
1561         if test -f $i/itcl_mkindex.tcl ; then
1562             ac_cv_c_itclmkidx=`(cd $i; ${PWDCMD-pwd})`/itcl_mkindex.tcl
1563             break
1564         fi
1565     done
1566 fi
1567 ])
1568
1569 if test x"${ac_cv_c_itclmkidx}" = x ; then
1570     AC_MSG_ERROR([Can't find the itcl_mkindex.tcl script])
1571 fi
1572 if test x"${ac_cv_c_itclmkidx}" != x ; then
1573     no_itcl=""
1574     AC_MSG_RESULT(${ac_cv_c_itclmkidx})
1575     ITCLMKIDX="${ac_cv_c_itclmkidx}"
1576 else
1577    AC_MSG_RESULT(none)
1578 fi
1579 AC_SUBST(ITCLMKIDX)
1580 ])
1581
1582 dnl ====================================================================
1583 dnl Ok, lets find the tix source trees so we can use the headers
1584 dnl the alternative search directory is involked by --with-tixinclude
1585 AC_DEFUN([CYG_AC_PATH_TIX], [
1586     CYG_AC_PATH_TIXH
1587     CYG_AC_PATH_TIXLIB
1588 ])
1589 AC_DEFUN([CYG_AC_PATH_TIXH], [
1590 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
1591 no_tix=true
1592 AC_MSG_CHECKING(for Tix headers in the source tree)
1593 AC_ARG_WITH(tixinclude, [  --with-tixinclude       directory where tix headers are], with_tixinclude=${withval})
1594 AC_CACHE_VAL(ac_cv_c_tixh,[
1595 dnl first check to see if --with-tixinclude was specified
1596 if test x"${with_tixinclude}" != x ; then
1597   if test -f ${with_tixinclude}/tix.h ; then
1598     ac_cv_c_tixh=`(cd ${with_tixinclude}; ${PWDCMD-pwd})`
1599   elif test -f ${with_tixinclude}/generic/tix.h ; then
1600     ac_cv_c_tixh=`(cd ${with_tixinclude}/generic; ${PWDCMD-pwd})`
1601   else
1602     AC_MSG_ERROR([${with_tixinclude} directory doesn't contain headers])
1603   fi
1604 fi
1605
1606 dnl next check if it came with Tix configuration file
1607 if test x"${ac_cv_c_tixconfig}" != x ; then
1608   for i in $dirlist; do
1609     if test -f $ac_cv_c_tixconfig/$i/generic/tix.h ; then
1610       ac_cv_c_tixh=`(cd $ac_cv_c_tixconfig/$i/generic; ${PWDCMD-pwd})`
1611       break
1612     fi
1613   done
1614 fi
1615
1616 dnl next check in private source directory
1617 dnl since ls returns lowest version numbers first, reverse its output
1618 if test x"${ac_cv_c_tixh}" = x ; then
1619     dnl find the top level Tix source directory
1620     for i in $dirlist; do
1621         if test -n "`ls -dr $srcdir/$i/tix* 2>/dev/null`" ; then
1622             tixpath=$srcdir/$i
1623             break
1624         fi
1625     done
1626
1627     dnl find the exact Tix source dir. We do it this way, cause there
1628     dnl might be multiple version of Tix, and we want the most recent one.
1629     for i in `ls -dr $tixpath/tix* 2>/dev/null ` ; do
1630         if test -f $i/generic/tix.h ; then
1631           ac_cv_c_tixh=`(cd $i/generic; ${PWDCMD-pwd})`
1632           break
1633         fi
1634     done
1635 fi
1636
1637 dnl see if one is installed
1638 if test x"${ac_cv_c_tixh}" = x ; then
1639     AC_MSG_RESULT(none)
1640     dnl Get the path to the compiler
1641
1642    dnl Get the path to the compiler. We do it this way instead of using
1643     dnl AC_CHECK_HEADER, cause this doesn't depend in having X configured.
1644     ccpath=`which ${CC}  | sed -e 's:/bin/.*::'`/include
1645     if test -f $ccpath/tix.h; then
1646         ac_cv_c_tixh=installed
1647     fi
1648 else
1649    AC_MSG_RESULT(${ac_cv_c_tixh})
1650 fi
1651 ])
1652 if test x"${ac_cv_c_tixh}" = x ; then
1653     AC_MSG_ERROR([Can't find any Tix headers])
1654 fi
1655 if test x"${ac_cv_c_tixh}" != x ; then
1656     no_tix=""
1657     AC_MSG_RESULT(${ac_cv_c_tixh})
1658     if test x"${ac_cv_c_tixh}" != x"installed" ; then
1659         TIXHDIR="-I${ac_cv_c_tixh}"
1660     fi
1661 fi
1662
1663 AC_SUBST(TIXHDIR)
1664 ])
1665
1666 AC_DEFUN([CYG_AC_PATH_TIXCONFIG], [
1667 #
1668 # Ok, lets find the tix configuration
1669 # First, look for one uninstalled.  
1670 # the alternative search directory is invoked by --with-tixconfig
1671 #
1672
1673 if test x"${no_tix}" = x ; then
1674   # we reset no_tix in case something fails here
1675   no_tix=true
1676   AC_ARG_WITH(tixconfig, [  --with-tixconfig           directory containing tix configuration (tixConfig.sh)],
1677          with_tixconfig=${withval})
1678   AC_MSG_CHECKING([for Tix configuration])
1679   AC_CACHE_VAL(ac_cv_c_tixconfig,[
1680
1681   # First check to see if --with-tixconfig was specified.
1682   if test x"${with_tixconfig}" != x ; then
1683     if test -f "${with_tixconfig}/tixConfig.sh" ; then
1684       ac_cv_c_tixconfig=`(cd ${with_tixconfig}; ${PWDCMD-pwd})`
1685     else
1686       AC_MSG_ERROR([${with_tixconfig} directory doesn't contain tixConfig.sh])
1687     fi
1688   fi
1689
1690   # then check for a private Tix library
1691   if test x"${ac_cv_c_tixconfig}" = x ; then
1692     for i in \
1693                 ../tix \
1694                 `ls -dr ../tix[[4]]* 2>/dev/null` \
1695                 ../../tix \
1696                 `ls -dr ../../tix[[4]]* 2>/dev/null` \
1697                 ../../../tix \
1698                 `ls -dr ../../../tix[[4]]* 2>/dev/null` ; do
1699       if test -f "$i/tixConfig.sh" ; then
1700         ac_cv_c_tixconfig=`(cd $i; ${PWDCMD-pwd})`
1701         break
1702       fi
1703     done
1704   fi
1705   # check in a few common install locations
1706   if test x"${ac_cv_c_tixconfig}" = x ; then
1707     for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do
1708       if test -f "$i/tixConfig.sh" ; then
1709         ac_cv_c_tkconfig=`(cd $i; ${PWDCMD-pwd})`
1710         break
1711       fi
1712     done
1713   fi
1714   # check in a few other private locations
1715   if test x"${ac_cv_c_tixconfig}" = x ; then
1716     for i in \
1717                 ${srcdir}/../tix \
1718                 `ls -dr ${srcdir}/../tix[[4-9]]* 2>/dev/null` ; do
1719       if test -f "$i/tixConfig.sh" ; then
1720         ac_cv_c_tixconfig=`(cd $i; ${PWDCMD-pwd})`
1721         break
1722       fi
1723     done
1724   fi
1725   ])
1726   if test x"${ac_cv_c_tixconfig}" = x ; then
1727     TIXCONFIG="# no Tix configs found"
1728     AC_MSG_WARN(Can't find Tix configuration definitions)
1729   else
1730     no_tix=
1731     TIXCONFIG=${ac_cv_c_tixconfig}/tixConfig.sh
1732     AC_MSG_RESULT(found $TIXCONFIG)
1733   fi
1734 fi
1735
1736 ])
1737
1738 # Defined as a separate macro so we don't have to cache the values
1739 # from PATH_TIXCONFIG (because this can also be cached).
1740 AC_DEFUN([CYG_AC_LOAD_TIXCONFIG], [
1741     if test -f "$TIXCONFIG" ; then
1742       . $TIXCONFIG
1743     fi
1744
1745     AC_SUBST(TIX_BUILD_LIB_SPEC)
1746     AC_SUBST(TIX_LIB_FULL_PATH)
1747 ])
1748
1749 AC_DEFUN([CYG_AC_PATH_ITCLCONFIG], [
1750 #
1751 # Ok, lets find the itcl configuration
1752 # First, look for one uninstalled.  
1753 # the alternative search directory is invoked by --with-itclconfig
1754 #
1755
1756 if test x"${no_itcl}" = x ; then
1757   # we reset no_itcl in case something fails here
1758   no_itcl=true
1759   AC_ARG_WITH(itclconfig, [  --with-itclconfig           directory containing itcl configuration (itclConfig.sh)],
1760          with_itclconfig=${withval})
1761   AC_MSG_CHECKING([for Itcl configuration])
1762   AC_CACHE_VAL(ac_cv_c_itclconfig,[
1763
1764   # First check to see if --with-itclconfig was specified.
1765   if test x"${with_itclconfig}" != x ; then
1766     if test -f "${with_itclconfig}/itclConfig.sh" ; then
1767       ac_cv_c_itclconfig=`(cd ${with_itclconfig}; ${PWDCMD-pwd})`
1768     else
1769       AC_MSG_ERROR([${with_itclconfig} directory doesn't contain itclConfig.sh])
1770     fi
1771   fi
1772
1773   # then check for a private itcl library
1774   if test x"${ac_cv_c_itclconfig}" = x ; then
1775     for i in \
1776                 ../itcl/itcl \
1777                 `ls -dr ../itcl/itcl[[3]]* 2>/dev/null` \
1778                 ../../itcl/itcl \
1779                 `ls -dr ../../itcl/itcl[[3]]* 2>/dev/null` \
1780                 ../../../itcl/itcl \
1781                 `ls -dr ../../../itcl/itcl[[3]]* 2>/dev/null` ; do
1782       if test -f "$i/itclConfig.sh" ; then
1783         ac_cv_c_itclconfig=`(cd $i; ${PWDCMD-pwd})`
1784         break
1785       fi
1786     done
1787   fi
1788   # check in a few common install locations
1789   if test x"${ac_cv_c_itclconfig}" = x ; then
1790     for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do
1791       if test -f "$i/itclConfig.sh" ; then
1792         ac_cv_c_itclconfig=`(cd $i; ${PWDCMD-pwd})`
1793         break
1794       fi
1795     done
1796   fi
1797   # check in a few other private locations
1798   if test x"${ac_cv_c_itclconfig}" = x ; then
1799     for i in \
1800                 ${srcdir}/../itcl/itcl \
1801                 `ls -dr ${srcdir}/../itcl/itcl[[3]]* 2>/dev/null` ; do
1802       if test -f "$i/itcl/itclConfig.sh" ; then
1803         ac_cv_c_itclconfig=`(cd $i; ${PWDCMD-pwd})`
1804         break
1805       fi
1806     done
1807   fi
1808   ])
1809   if test x"${ac_cv_c_itclconfig}" = x ; then
1810     ITCLCONFIG="# no itcl configs found"
1811     AC_MSG_WARN(Can't find itcl configuration definitions)
1812   else
1813     no_itcl=
1814     ITCLCONFIG=${ac_cv_c_itclconfig}/itclConfig.sh
1815     AC_MSG_RESULT(found $ITCLCONFIG)
1816   fi
1817 fi
1818
1819 ])
1820
1821 # Defined as a separate macro so we don't have to cache the values
1822 # from PATH_ITCLCONFIG (because this can also be cached).
1823 AC_DEFUN([CYG_AC_LOAD_ITCLCONFIG], [
1824     if test -f "$ITCLCONFIG" ; then
1825       . $ITCLCONFIG
1826     fi
1827
1828     AC_SUBST(ITCL_BUILD_LIB_SPEC)
1829     AC_SUBST(ITCL_SH)
1830     AC_SUBST(ITCL_LIB_FILE)
1831     AC_SUBST(ITCL_LIB_FULL_PATH)
1832
1833 ])
1834
1835
1836 AC_DEFUN([CYG_AC_PATH_ITKCONFIG], [
1837 #
1838 # Ok, lets find the itk configuration
1839 # First, look for one uninstalled.  
1840 # the alternative search directory is invoked by --with-itkconfig
1841 #
1842
1843 if test x"${no_itk}" = x ; then
1844   # we reset no_itk in case something fails here
1845   no_itk=true
1846   AC_ARG_WITH(itkconfig, [  --with-itkconfig           directory containing itk configuration (itkConfig.sh)],
1847          with_itkconfig=${withval})
1848   AC_MSG_CHECKING([for Itk configuration])
1849   AC_CACHE_VAL(ac_cv_c_itkconfig,[
1850
1851   # First check to see if --with-itkconfig was specified.
1852   if test x"${with_itkconfig}" != x ; then
1853     if test -f "${with_itkconfig}/itkConfig.sh" ; then
1854       ac_cv_c_itkconfig=`(cd ${with_itkconfig}; ${PWDCMD-pwd})`
1855     else
1856       AC_MSG_ERROR([${with_itkconfig} directory doesn't contain itkConfig.sh])
1857     fi
1858   fi
1859
1860   # then check for a private itk library
1861   if test x"${ac_cv_c_itkconfig}" = x ; then
1862     for i in \
1863                 ../itcl/itk \
1864                 `ls -dr ../itcl/itk[[3]]* 2>/dev/null` \
1865                 ../../itcl/itk \
1866                 `ls -dr ../../itcl/itk[[3]]* 2>/dev/null` \
1867                 ../../../itcl/itk \
1868                 `ls -dr ../../../itcl/itk[[3]]* 2>/dev/null` ; do
1869       if test -f "$i/itkConfig.sh" ; then
1870         ac_cv_c_itkconfig=`(cd $i; ${PWDCMD-pwd})`
1871         break
1872       fi
1873     done
1874   fi
1875   # check in a few common install locations
1876   if test x"${ac_cv_c_itkconfig}" = x ; then
1877     for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do
1878       if test -f "$i/itcl/itkConfig.sh" ; then
1879         ac_cv_c_itkconfig=`(cd $i; ${PWDCMD-pwd})`
1880         break
1881       fi
1882     done
1883   fi
1884   # check in a few other private locations
1885   if test x"${ac_cv_c_itkconfig}" = x ; then
1886     for i in \
1887                 ${srcdir}/../itcl/itk \
1888                 `ls -dr ${srcdir}/../itcl/itk[[3]]* 2>/dev/null` ; do
1889       if test -f "$i/itkConfig.sh" ; then
1890         ac_cv_c_itkconfig=`(cd $i; ${PWDCMD-pwd})`
1891         break
1892       fi
1893     done
1894   fi
1895   ])
1896   if test x"${ac_cv_c_itkconfig}" = x ; then
1897     ITCLCONFIG="# no itk configs found"
1898     AC_MSG_WARN(Can't find itk configuration definitions)
1899   else
1900     no_itk=
1901     ITKCONFIG=${ac_cv_c_itkconfig}/itkConfig.sh
1902     AC_MSG_RESULT(found $ITKCONFIG)
1903   fi
1904 fi
1905
1906 ])
1907
1908 # Defined as a separate macro so we don't have to cache the values
1909 # from PATH_ITKCONFIG (because this can also be cached).
1910 AC_DEFUN([CYG_AC_LOAD_ITKCONFIG], [
1911     if test -f "$ITKCONFIG" ; then
1912       . $ITKCONFIG
1913     fi
1914
1915     AC_SUBST(ITK_BUILD_LIB_SPEC)
1916     AC_SUBST(ITK_LIB_FILE)
1917     AC_SUBST(ITK_LIB_FULL_PATH)
1918 ])
1919
1920
1921 dnl ====================================================================
1922 dnl Ok, lets find the libgui source trees so we can use the headers
1923 dnl the alternative search directory is involked by --with-libguiinclude
1924 AC_DEFUN([CYG_AC_PATH_LIBGUI], [
1925     CYG_AC_PATH_LIBGUIH
1926     CYG_AC_PATH_LIBGUILIB
1927 ])
1928 AC_DEFUN([CYG_AC_PATH_LIBGUIH], [
1929 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../..../../../../../../../../../../.."
1930 no_libgui=true
1931 AC_MSG_CHECKING(for Libgui headers in the source tree)
1932 AC_ARG_WITH(libguiinclude, [  --with-libguiinclude       directory where libgui headers are], with_libguiinclude=${withval})
1933 AC_CACHE_VAL(ac_cv_c_libguih,[
1934 dnl first check to see if --with-libguiinclude was specified
1935 if test x"${with_libguiinclude}" != x ; then
1936   if test -f ${with_libguiinclude}/guitcl.h ; then
1937     ac_cv_c_libguih=`(cd ${with_libguiinclude}; ${PWDCMD-pwd})`
1938   elif test -f ${with_libguiinclude}/src/guitcl.h ; then
1939     ac_cv_c_libguih=`(cd ${with_libguiinclude}/src; ${PWDCMD-pwd})`
1940   else
1941     AC_MSG_ERROR([${with_libguiinclude} directory doesn't contain headers])
1942   fi
1943 fi
1944
1945 dnl next check if it came with Libgui configuration file
1946 if test x"${ac_cv_c_libguiconfig}" != x ; then
1947   for i in $dirlist; do
1948     if test -f $ac_cv_c_libguiconfig/$i/src/guitcl.h ; then
1949       ac_cv_c_libguih=`(cd $ac_cv_c_libguiconfig/$i/src; ${PWDCMD-pwd})`
1950       break
1951     fi
1952   done
1953 fi
1954
1955 dnl next check in private source directory
1956 dnl since ls returns lowest version numbers first, reverse its output
1957 if test x"${ac_cv_c_libguih}" = x ; then
1958     dnl find the top level Libgui source directory
1959     for i in $dirlist; do
1960         if test -n "`ls -dr $srcdir/$i/libgui* 2>/dev/null`" ; then
1961             libguipath=$srcdir/$i
1962             break
1963         fi
1964     done
1965
1966     dnl find the exact Libgui source dir. We do it this way, cause there
1967     dnl might be multiple version of Libgui, and we want the most recent one.
1968     for i in `ls -dr $libguipath/libgui* 2>/dev/null ` ; do
1969         if test -f $i/src/guitcl.h ; then
1970           ac_cv_c_libguih=`(cd $i/src; ${PWDCMD-pwd})`
1971           break
1972         fi
1973     done
1974 fi
1975
1976 dnl see if one is installed
1977 if test x"${ac_cv_c_libguih}" = x ; then
1978    AC_MSG_RESULT(none)
1979    AC_CHECK_HEADER(guitcl.h, ac_cv_c_libguih=installed, ac_cv_c_libguih="")
1980 fi
1981 ])
1982 LIBGUIHDIR=""
1983 if test x"${ac_cv_c_libguih}" = x ; then
1984     AC_MSG_WARN([Can't find any Libgui headers])
1985 fi
1986 if test x"${ac_cv_c_libguih}" != x ; then
1987     no_libgui=""
1988     if test x"${ac_cv_c_libguih}" != x"installed" ; then
1989         LIBGUIHDIR="-I${ac_cv_c_libguih}"
1990     fi
1991 fi
1992 AC_MSG_RESULT(${ac_cv_c_libguih})
1993 AC_SUBST(LIBGUIHDIR)
1994 ])
1995
1996 dnl ====================================================================
1997 dnl find the GUI library
1998 AC_DEFUN([CYG_AC_PATH_LIBGUILIB], [
1999 AC_MSG_CHECKING(for GUI library  in the build tree)
2000 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
2001 dnl look for the library
2002 AC_MSG_CHECKING(for GUI library)
2003 AC_CACHE_VAL(ac_cv_c_libguilib,[
2004 if test x"${ac_cv_c_libguilib}" = x ; then
2005     for i in $dirlist; do
2006       if test -f "$i/libgui/src/Makefile" ; then
2007         ac_cv_c_libguilib=`(cd $i/libgui/src; ${PWDCMD-pwd})`
2008         break
2009       fi
2010     done
2011 fi
2012 ]) 
2013 if test x"${ac_cv_c_libguilib}" != x ; then
2014      GUILIB="${GUILIB} -L${ac_cv_c_libguilib}"
2015      LIBGUILIB="-lgui"
2016      AC_MSG_RESULT(${ac_cv_c_libguilib})
2017 else
2018      AC_MSG_RESULT(none)
2019 fi
2020
2021 AC_SUBST(GUILIB)
2022 AC_SUBST(LIBGUILIB)
2023 ])