source: rtems/c/src/lib/configure.in @ 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: 2.3 KB
Line 
1dnl Process this file with autoconf to produce a configure script.
2dnl
3dnl $Id$
4
5AC_PREREQ(2.13)
6AC_INIT(libbsp)
7RTEMS_TOP(../../..)
8AC_CONFIG_AUX_DIR(../../..)
9
10RTEMS_CANONICAL_TARGET_CPU
11AM_INIT_AUTOMAKE(rtems-c-src-lib,RTEMS_VERSION,no)
12AM_MAINTAINER_MODE
13
14RTEMS_ENABLE_MULTIPROCESSING
15RTEMS_ENABLE_NETWORKING
16RTEMS_ENABLE_RDBG
17RTEMS_ENABLE_LIBCDIR
18RTEMS_ENABLE_BARE
19RTEMS_ENABLE_HWAPI
20
21RTEMS_ENV_RTEMSBSP
22
23RTEMS_CHECK_CPU
24RTEMS_CANONICAL_HOST
25
26RTEMS_PROJECT_ROOT
27
28dnl check target cc
29RTEMS_PROG_CC_FOR_TARGET
30RTEMS_CANONICALIZE_TOOLS
31
32dnl if this is an i386, does gas have good code16 support?
33RTEMS_I386_GAS_CODE16
34AM_CONDITIONAL(RTEMS_GAS_CODE16,test "$RTEMS_GAS_CODE16" = "yes");
35
36RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
37RTEMS_CHECK_MULTIPROCESSING(RTEMS_BSP)
38RTEMS_CHECK_NETWORKING(RTEMS_BSP)
39
40AM_CONDITIONAL(UNIX,test "$RTEMS_CPU" = "unix")
41
42# find all the CPU dependent library Makefiles
43AC_CONFIG_SUBDIRS(libcpu)
44AC_CONFIG_SUBDIRS(libbsp)
45
46# If the TCP/IP stack is enabled, then find all TCP/IP Makefiles
47if test "$HAS_NETWORKING" = "yes"; then
48  cfg_subdirs="$cfg_subdirs libnetworking"
49
50  if test "$RTEMS_HAS_RDBG" = "yes"; then
51    RTEMS_CHECK_RDBG(RTEMS_BSP)
52  fi
53fi
54
55
56if test "$HAS_RDBG" = "yes"; then
57  cfg_subdirs="$cfg_subdirs librdbg"
58fi
59
60# If the HWAPI is enabled, the find the HWAPI Makefiles
61RTEMS_ENABLE_HWAPI
62if test "$RTEMS_HAS_HWAPI" = "yes"; then
63  if test -d "${srcdir}/libhwapi"; then
64    cfg_subdirs="$cfg_subdirs libhwapi"
65  fi
66  LIBHWAPI="libhwapi"
67fi
68AC_SUBST(LIBHWAPI)
69
70if test -d "${srcdir}/start/$RTEMS_CPU"; then
71cfg_subdirs="$cfg_subdirs start/$RTEMS_CPU"
72RTEMS_CPU_STARTdir="$RTEMS_CPU"
73fi
74AC_SUBST(RTEMS_CPU_STARTdir)
75
76if test "$RTEMS_CPU" != "unix"; then
77## HACK: Suppress libchip for unix
78cfg_subdirs="$cfg_subdirs libchip"
79fi
80
81AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
82AM_CONDITIONAL(HAS_LIBCHIP,test "$RTEMS_CPU" != "unix")
83AM_CONDITIONAL(HAS_RDBG,test "$HAS_RDBG" = "yes")
84
85AC_CONFIG_SUBDIRS(libmisc)
86
87AC_CONFIG_SUBDIRS($cfg_subdirs)
88
89PROJECT_INCLUDE="\$(PROJECT_ROOT)/$RTEMS_BSP/lib/include"
90AC_SUBST(PROJECT_INCLUDE)
91
92# try to explicitly list a Makefile here
93AC_OUTPUT(
94Makefile
95include/Makefile
96include/sys/Makefile
97include/motorola/Makefile
98include/zilog/Makefile
99include/rdbg/Makefile
100include/rdbg/i386/Makefile
101include/rdbg/powerpc/Makefile
102libc/Makefile
103start/Makefile
104wrapup/Makefile)
Note: See TracBrowser for help on using the repository browser.