OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [config/] [acinclude.m4] - Blame information for rev 722

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 722 jeremybenn
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 all the ILU headers and libraries
501
AC_DEFUN([CYG_AC_PATH_ILU], [
502
AC_MSG_CHECKING(for ILU kernel headers in the source tree)
503
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
504
AC_CACHE_VAL(ac_cv_c_iluh,[
505
for i in $dirlist; do
506
    if test -f "${srcdir}/$i/ilu/runtime/kernel/method.h" ; then
507
        ac_cv_c_iluh=`(cd ${srcdir}/$i/ilu/runtime/kernel; ${PWDCMD-pwd})`
508
    fi
509
done
510
])
511
if test x"${ac_cv_c_iluh}" != x; then
512
    ILUHDIR="-I${ac_cv_c_iluh}"
513
    AC_MSG_RESULT(${ac_cv_c_iluh})
514
else
515
    AC_MSG_RESULT(none)
516
fi
517
 
518
AC_MSG_CHECKING(for ILU kernel headers in the build tree)
519
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
520
AC_CACHE_VAL(ac_cv_c_iluh5,[
521
for i in $dirlist; do
522
    if test -f "$i/ilu/runtime/kernel/iluconf.h" ; then
523
        ac_cv_c_iluh5=`(cd $i/ilu/runtime/kernel; ${PWDCMD-pwd})`
524
    fi
525
done
526
])
527
if test x"${ac_cv_c_iluh5}" != x; then
528
    ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh5}"
529
    AC_MSG_RESULT(${ac_cv_c_iluh5})
530
else
531
    AC_MSG_RESULT(none)
532
fi
533
 
534
AC_MSG_CHECKING(for ILU C++ headers in the source tree)
535
AC_CACHE_VAL(ac_cv_c_iluh2,[
536
for i in $dirlist; do
537
    if test -f "${srcdir}/$i/ilu/stubbers/cpp/resource.h" ; then
538
        ac_cv_c_iluh2=`(cd ${srcdir}/$i/ilu/stubbers/cpp; ${PWDCMD-pwd})`
539
    fi
540
done
541
])
542
if test x"${ac_cv_c_iluh2}" != x; then
543
    ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh2}"
544
    AC_MSG_RESULT(${ac_cv_c_iluh2})
545
else
546
    AC_MSG_RESULT(none)
547
fi
548
 
549
AC_MSG_CHECKING(for ILU C headers)
550
AC_CACHE_VAL(ac_cv_c_iluh3,[
551
for i in $dirlist; do
552
    if test -f "${srcdir}/$i/ilu/stubbers/c/resource.h" ; then
553
        ac_cv_c_iluh3=`(cd ${srcdir}/$i/ilu/stubbers/c  ; ${PWDCMD-pwd})`
554
    fi
555
done
556
])
557
if test x"${ac_cv_c_iluh3}" != x; then
558
    ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh3}"
559
    AC_MSG_RESULT(${ac_cv_c_iluh3})
560
else
561
    AC_MSG_RESULT(none)
562
fi
563
 
564
AC_MSG_CHECKING(for ILU C runtime headers)
565
AC_CACHE_VAL(ac_cv_c_iluh4,[
566
for i in $dirlist; do
567
    if test -f "${srcdir}/$i/ilu/runtime/c/ilucstub.h" ; then
568
        ac_cv_c_iluh4=`(cd ${srcdir}/$i/ilu/runtime/c  ; ${PWDCMD-pwd})`
569
    fi
570
done
571
])
572
if test x"${ac_cv_c_iluh4}" != x; then
573
    ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh4}"
574
    AC_MSG_RESULT(${ac_cv_c_iluh4})
575
else
576
    AC_MSG_RESULT(none)
577
fi
578
 
579
AC_CACHE_VAL(ac_cv_c_ilupath,[
580
for i in $dirlist; do
581
    if test -f "$i/ilu/Makefile" ; then
582
        ac_cv_c_ilupath=`(cd $i/ilu; ${PWDCMD-pwd})`
583
        break
584
    fi
585
done
586
])
587
ILUTOP=${ac_cv_c_ilupath}
588
 
589
AC_MSG_CHECKING(for the ILU library in the build tree)
590
AC_CACHE_VAL(ac_cv_c_ilulib,[
591
if test -f "$ac_cv_c_ilupath/runtime/kernel/Makefile" ; then
592
    ac_cv_c_ilulib=`(cd $ac_cv_c_ilupath/runtime/kernel; ${PWDCMD-pwd})`
593
    AC_MSG_RESULT(found ${ac_cv_c_ilulib}/libilu.a)
594
else
595
    AC_MSG_RESULT(no)
596
fi])
597
 
598
AC_MSG_CHECKING(for the ILU C++ bindings library in the build tree)
599
AC_CACHE_VAL(ac_cv_c_ilulib2,[
600
if test -f "$ac_cv_c_ilupath/runtime/cpp/Makefile" ; then
601
    ac_cv_c_ilulib2=`(cd $ac_cv_c_ilupath/runtime/cpp; ${PWDCMD-pwd})`
602
    AC_MSG_RESULT(found ${ac_cv_c_ilulib2}/libilu-c++.a)
603
else
604
    AC_MSG_RESULT(no)
605
fi])
606
 
607
AC_MSG_CHECKING(for the ILU C bindings library in the build tree)
608
AC_CACHE_VAL(ac_cv_c_ilulib3,[
609
if test -f "$ac_cv_c_ilupath/runtime/c/Makefile" ; then
610
    ac_cv_c_ilulib3=`(cd $ac_cv_c_ilupath/runtime/c; ${PWDCMD-pwd})`
611
    AC_MSG_RESULT(found ${ac_cv_c_ilulib3}/libilu-c.a)
612
else
613
    AC_MSG_RESULT(no)
614
fi])
615
 
616
AC_MSG_CHECKING(for the ILU Tk bindings library in the build tree)
617
AC_CACHE_VAL(ac_cv_c_ilulib4,[
618
if test -f "$ac_cv_c_ilupath/runtime/mainloop/Makefile" ; then
619
    ac_cv_c_ilulib4=`(cd $ac_cv_c_ilupath/runtime/mainloop; ${PWDCMD-pwd})`
620
    AC_MSG_RESULT(found ${ac_cv_c_ilulib4}/libilu-tk.a)
621
else
622
    AC_MSG_RESULT(no)
623
fi])
624
 
625
if test x"${ac_cv_c_ilulib}" = x -a x"${ac_cv_c_ilulib2}" = x; then
626
  ILUHDIR=""
627
fi
628
 
629
if test x"${ac_cv_c_ilulib}" != x -a x"${ac_cv_c_ilulib2}" != x; then
630
    ILULIB="-L${ac_cv_c_ilulib} -L${ac_cv_c_ilulib2} -L${ac_cv_c_ilulib3} -L${ac_cv_c_ilulib4}"
631
else
632
    ILULIB=""
633
fi
634
 
635
if test x"${ILULIB}" = x; then
636
    AC_MSG_CHECKING(for ILU libraries installed with the compiler)
637
    AC_CACHE_VAL(ac_cv_c_ilulib5,[
638
    NATIVE_GCC=`echo gcc | sed -e "${program_transform_name}"`
639
 
640
    dnl Get G++'s full path to it's libraries
641
    ac_cv_c_ilulib5=`${NATIVE_GCC} --print-libgcc | sed -e 's:lib/gcc-lib/.*::'`lib
642
    if test -f $ac_cv_c_ilulib5/libilu-c.a -o -f $ac_cv_c_ilulib5/libilu-c.so ; then
643
        if test x"${ILUHDIR}" = x; then
644
               ILUHDIR="-I${ac_cv_c_ilulib5}/../include"
645
        fi
646
        ILULIB="-L${ac_cv_c_ilulib5}"
647
        AC_MSG_RESULT(${ac_cv_c_ilulib5})
648
    else
649
        ac_cv_c_ilulib=none
650
        AC_MSG_RESULT(none)
651
    fi
652
fi])
653
AC_SUBST(ILUHDIR)
654
AC_SUBST(ILULIB)
655
AC_SUBST(ILUTOP)
656
])
657
 
658
dnl ====================================================================
659
dnl This defines the byte order for the host. We can't use
660
dnl AC_C_BIGENDIAN, cause we want to create a config file and
661
dnl substitue the real value, so the header files work right
662
AC_DEFUN([CYG_AC_C_ENDIAN], [
663
AC_MSG_CHECKING(to see if this is a little endian host)
664
AC_CACHE_VAL(ac_cv_c_little_endian, [
665
ac_cv_c_little_endian=unknown
666
# See if sys/param.h defines the BYTE_ORDER macro.
667
AC_TRY_COMPILE([#include <sys/types.h>
668
#include <sys/param.h>], [
669
#if !BYTE_ORDER || !_BIG_ENDIAN || !_LITTLE_ENDIAN
670
 bogus endian macros
671
#endif], [# It does; now see whether it defined to _LITTLE_ENDIAN or not.
672
AC_TRY_COMPILE([#include <sys/types.h>
673
#include <sys/param.h>], [
674
#if BYTE_ORDER != _LITTLE_ENDIAN
675
 not big endian
676
#endif], ac_cv_c_little_endian=yes, ac_cv_c_little_endian=no)
677
])
678
if test ${ac_cv_c_little_endian} = unknown; then
679
old_cflags=$CFLAGS
680
CFLAGS=-g
681
AC_TRY_RUN([
682
main () {
683
  /* Are we little or big endian?  From Harbison&Steele.  */
684
  union
685
  {
686
    long l;
687
    char c[sizeof (long)];
688
  } u;
689
  u.l = 1;
690
  exit (u.c[0] == 1);
691
}],
692
ac_cv_c_little_endian=no,
693
ac_cv_c_little_endian=yes,[
694
dnl Yes, this is ugly, and only used for a canadian cross anyway. This
695
dnl is just to keep configure from stopping here.
696
case "${host}" in
697
changequote(,)
698
   i[3456789]86-*-*) ac_cv_c_little_endian=yes ;;
699
   sparc*-*-*)    ac_cv_c_little_endian=no ;;
700
changequote([,])
701
  *)    AC_MSG_WARN(Can't cross compile this test) ;;
702
esac])
703
CFLAGS=$old_cflags
704
fi])
705
 
706
if test x"${ac_cv_c_little_endian}" = xyes; then
707
    AC_DEFINE(LITTLE_ENDIAN_HOST)
708
    ENDIAN="CYG_LSBFIRST";
709
else
710
    ENDIAN="CYG_MSBFIRST";
711
fi
712
AC_MSG_RESULT(${ac_cv_c_little_endian})
713
AC_SUBST(ENDIAN)
714
])
715
 
716
dnl ====================================================================
717
dnl Look for the path to libgcc, so we can use it to directly link
718
dnl in libgcc.a with LD.
719
AC_DEFUN([CYG_AC_PATH_LIBGCC],
720
[AC_MSG_CHECKING([Looking for the path to libgcc.a])
721
AC_LANG_SAVE
722
AC_LANG_C
723
 
724
dnl Get Gcc's full path to libgcc.a
725
libgccpath=`${CC} --print-libgcc`
726
 
727
dnl If we don't have a path with libgcc.a on the end, this isn't G++.
728
if test `echo $libgccpath | sed -e 's:/.*/::'` = libgcc.a ; then
729
   ac_cv_prog_gcc=yes
730
else
731
   ac_cv_prog_gcc=no
732
fi
733
 
734
dnl
735
if test x"${ac_cv_prog_gcc}" = xyes ; then
736
   gccpath=`echo $libgccpath | sed -e 's:/libgcc.a::'`
737
   LIBGCC="-L${gccpath}"
738
   AC_MSG_RESULT(${gccpath})
739
else
740
   LIBGCC=""
741
   AC_MSG_ERROR(Not using gcc)
742
fi
743
 
744
AC_LANG_RESTORE
745
AC_SUBST(LIBGCC)
746
])

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.