]> git.ipfire.org Git - thirdparty/gcc.git/blob - config/acinclude.m4
acx.m4: Fix fastcompare support for new-bootstrap.
[thirdparty/gcc.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 ])