From 5a83ba24bd72d43385382eb979783f96ebcde8e9 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 4 Oct 1999 18:33:17 +0000 Subject: Patch from Ralf Corsepius : 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 -D__mips=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) --- c/src/exec/librpc/Makefile.am | 11 +++++++++ c/src/exec/librpc/include/Makefile.am | 10 ++++++++ c/src/librpc/Makefile.am | 11 +++++++++ c/src/librpc/configure.in | 43 +++++++++++++++++++++++++++++++++++ c/src/librpc/include/Makefile.am | 10 ++++++++ cpukit/librpc/Makefile.am | 11 +++++++++ cpukit/librpc/include/Makefile.am | 10 ++++++++ 7 files changed, 106 insertions(+) create mode 100644 c/src/exec/librpc/Makefile.am create mode 100644 c/src/exec/librpc/include/Makefile.am create mode 100644 c/src/librpc/Makefile.am create mode 100644 c/src/librpc/configure.in create mode 100644 c/src/librpc/include/Makefile.am create mode 100644 cpukit/librpc/Makefile.am create mode 100644 cpukit/librpc/include/Makefile.am diff --git a/c/src/exec/librpc/Makefile.am b/c/src/exec/librpc/Makefile.am new file mode 100644 index 0000000000..e74c9e748c --- /dev/null +++ b/c/src/exec/librpc/Makefile.am @@ -0,0 +1,11 @@ +## +## $Id$ +## + +AUTOMAKE_OPTIONS = foreign 1.4 +ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal + +SUBDIRS = include src + +include $(top_srcdir)/../../../automake/subdirs.am +include $(top_srcdir)/../../../automake/local.am diff --git a/c/src/exec/librpc/include/Makefile.am b/c/src/exec/librpc/include/Makefile.am new file mode 100644 index 0000000000..d5385c1f70 --- /dev/null +++ b/c/src/exec/librpc/include/Makefile.am @@ -0,0 +1,10 @@ +## +## $Id$ +## + +AUTOMAKE_OPTIONS = foreign 1.4 + +SUBDIRS = rpc + +include $(top_srcdir)/../../../automake/subdirs.am +include $(top_srcdir)/../../../automake/local.am diff --git a/c/src/librpc/Makefile.am b/c/src/librpc/Makefile.am new file mode 100644 index 0000000000..e74c9e748c --- /dev/null +++ b/c/src/librpc/Makefile.am @@ -0,0 +1,11 @@ +## +## $Id$ +## + +AUTOMAKE_OPTIONS = foreign 1.4 +ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal + +SUBDIRS = include src + +include $(top_srcdir)/../../../automake/subdirs.am +include $(top_srcdir)/../../../automake/local.am diff --git a/c/src/librpc/configure.in b/c/src/librpc/configure.in new file mode 100644 index 0000000000..dc3980fe45 --- /dev/null +++ b/c/src/librpc/configure.in @@ -0,0 +1,43 @@ +dnl Process this file with autoconf to produce a configure script. +dnl +dnl $Id$ + +AC_PREREQ(2.13) +AC_INIT(include/rpc) +RTEMS_TOP(../../..) +AC_CONFIG_AUX_DIR(../../..) + +RTEMS_CANONICAL_TARGET_CPU +RTEMS_CANONICAL_HOST + +AM_INIT_AUTOMAKE(rtems-c-src-librpc,$RTEMS_VERSION,no) +AM_MAINTAINER_MODE + +RTEMS_ENABLE_NETWORKING +RTEMS_ENABLE_LIBCDIR +RTEMS_ENABLE_BARE + +RTEMS_ENV_RTEMSBSP +RTEMS_CHECK_CPU +RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP) + +dnl check target cc +RTEMS_PROG_CC_FOR_TARGET +RTEMS_CANONICALIZE_TOOLS + +RTEMS_CHECK_NETWORKING(RTEMS_BSP) + +AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes") + +PROJECT_INCLUDE="\$(PROJECT_ROOT)/$RTEMS_BSP/lib/include" +AC_SUBST(PROJECT_INCLUDE) + +RTEMS_PROJECT_ROOT + +# try to explicitly list a Makefile here +AC_OUTPUT( +Makefile +include/Makefile +include/rpc/Makefile +src/Makefile +) diff --git a/c/src/librpc/include/Makefile.am b/c/src/librpc/include/Makefile.am new file mode 100644 index 0000000000..d5385c1f70 --- /dev/null +++ b/c/src/librpc/include/Makefile.am @@ -0,0 +1,10 @@ +## +## $Id$ +## + +AUTOMAKE_OPTIONS = foreign 1.4 + +SUBDIRS = rpc + +include $(top_srcdir)/../../../automake/subdirs.am +include $(top_srcdir)/../../../automake/local.am diff --git a/cpukit/librpc/Makefile.am b/cpukit/librpc/Makefile.am new file mode 100644 index 0000000000..e74c9e748c --- /dev/null +++ b/cpukit/librpc/Makefile.am @@ -0,0 +1,11 @@ +## +## $Id$ +## + +AUTOMAKE_OPTIONS = foreign 1.4 +ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal + +SUBDIRS = include src + +include $(top_srcdir)/../../../automake/subdirs.am +include $(top_srcdir)/../../../automake/local.am diff --git a/cpukit/librpc/include/Makefile.am b/cpukit/librpc/include/Makefile.am new file mode 100644 index 0000000000..d5385c1f70 --- /dev/null +++ b/cpukit/librpc/include/Makefile.am @@ -0,0 +1,10 @@ +## +## $Id$ +## + +AUTOMAKE_OPTIONS = foreign 1.4 + +SUBDIRS = rpc + +include $(top_srcdir)/../../../automake/subdirs.am +include $(top_srcdir)/../../../automake/local.am -- cgit v1.2.3