source: rtems/aclocal/check-bsps.m4 @ b62a92c

4.104.114.84.95
Last change on this file since b62a92c was b62a92c, checked in by Joel Sherrill <joel.sherrill@…>, on 10/04/99 at 18:20:14

Patch from Ralf Corsepius <corsepiu@…>:

The patch below actuallly consists of two patches:
1) moving librpc to c/src/librpc similar to what has been done to librtems++
2) reworked configure scripts, many safety and dependency checks added to
aclocal/*.m4 macros + configuration fixes.

To apply:

mkdir c/src/librpc
mkdir c/src/librpc/src
cp c/src/lib/librpc/*.c c/src/librpc/src
cp c/src/lib/librpc/Makefile.in c/src/librpc/src
mkdir c/src/librpc/include
mkdir c/src/librpc/include/rpc
cp c/src/lib/include/rpc/* c/src/librpc/include/rpc
patch -p1 < ../rtems-rc-19990820-7.diff
rm -rf c/src/lib/librpc
rm -rf c/src/lib/include/rpc
./autogen

The additional checks in aclocal/*m4 macros add rather restrictive, sometimes
unnecessarily restrictive constraints on the sequence of how macros can be
used in a configure.in script. Adding them has let my problems with some more
complicated configuration options vanish. Apparently some macros had not been
in the required order .


Now I still get some linking errors for some cpus and bsps, esp when linking
cdtest, but also at other locations:

e.g. this happens for mips64orion/p4600:

# make[5]: Entering directory
`/lfs/poseidon/users/rtems/src/multi/build/mips64orion-rtems/c/p4600/tests/samples/hello'

/opt/rtems/bin/mips64orion-rtems-gcc --pipe -B../../../../../../p4600/lib/
-specs bsp_specs -qrtems -DP4000 -DCPU_R4000 -DP3_DIAG -D_R4000 -Dmips=3
-mcpu=4600 -G0 -I../../../../../../p4600/lib/include/networking -g -Wall
-ansi -fasm -O4 -fomit-frame-pointer -o o-p4600/hello.exe
o-p4600/init.o ../../../../../../p4600/lib/no-dpmem.rel
../../../../../../p4600/lib/no-event.rel
../../../../../../p4600/lib/no-msg.rel ../../../../../../p4600/lib/no-mp.rel
../../../../../../p4600/lib/no-part.rel
../../../../../../p4600/lib/no-signal.rel
../../../../../../p4600/lib/no-timer.rel
../../../../../../p4600/lib/no-rtmon.rel
/opt/rtems/mips64orion-rtems/lib/libc.a(dtoa.o): In function `_dtoa_r':
/opt/hermes/embedded/build/build-mips64orion-tools/mips64orion-rtems/newlib/libc/stdlib/../../../../../src/newlib/libc/stdlib/dtoa.c:348: relocation truncated to fit: R_MIPS_LITERAL no symbol
/opt/hermes/embedded/build/build-mips64orion-tools/mips64orion-rtems/newlib/libc/stdlib/../../../../../src/newlib/libc/stdlib/dtoa.c:348: relocation truncated to fit: R_MIPS_LITERAL no symbol
/opt/hermes/embedded/build/build-mips64orion-tools/mips64orion-rtems/newlib/libc/stdlib/../../../../../src/newlib/libc/stdlib/dtoa.c:348: relocation truncated to fit: R_MIPS_LITERAL no symbol
collect2: ld returned 1 exit status

# mips64orion-rtems-gcc -v
Reading specs from /opt/rtems/lib/gcc-lib/mips64orion-rtems/2.95.1/specs
gcc version 2.95.1 19990816 (release)

# mips64orion-rtems-ld -v
GNU ld version 2.9.5 (with BFD 2.9.5)

  • Property mode set to 100644
File size: 1.2 KB
RevLine 
[83f62bf]1dnl $Id$
2
3dnl Report all available bsps for a target,
4dnl check if a bsp-subdirectory is present for all bsps found
5dnl
6dnl RTEMS_CHECK_BSPS(bsp_list)
7AC_DEFUN(RTEMS_CHECK_BSPS,
8[
9AC_REQUIRE([RTEMS_CHECK_CPU])dnl sets RTEMS_CPU, target
10AC_REQUIRE([RTEMS_TOP])dnl sets RTEMS_TOPdir
11AC_MSG_CHECKING([for bsps])
12case "${target}" in
13changequote(,)dnl
14  i[3456]86-go32-rtems*)
15changequote([,])dnl
16    $1="go32 go32_p5"
17    ;;
18  *)
19    files=`ls $srcdir/$RTEMS_TOPdir/c/src/lib/libbsp/$RTEMS_CPU`
20    for file in $files; do
21      case $file in
22        shared*);;
23        Makefile*);;
24        READ*);;
25        CVS*);;
26        pxfl*);;
27        go32*);;       # so the i386 port can pick up the other Makefiles
28        # Now account for BSPs with build variants
29        gen68360)      rtems_bsp="$rtems_bsp gen68360 gen68360_040";;
30        p4000)         rtems_bsp="$rtems_bsp p4600 p4650";;
31        mvme162)       rtems_bsp="$rtems_bsp mvme162 mvme162lx";;
32        *) $1="[$]$1 $file";;
33      esac;
34    done
35    ;;
36esac
37AC_MSG_RESULT([[$]$1 .. done])
38])dnl
39
40AC_DEFUN(RTEMS_CHECK_CUSTOM_BSP,
41[dnl
[b62a92c]42AC_REQUIRE([RTEMS_TOP])
43
[83f62bf]44AC_MSG_CHECKING([for make/custom/[$]$1.cfg])
45if test -r "$srcdir/$RTEMS_TOPdir/make/custom/[$]$1.cfg"; then
46  AC_MSG_RESULT([yes])
47else
48  AC_MSG_ERROR([no])
49fi
50])dnl
Note: See TracBrowser for help on using the repository browser.