From d2bc265b66780f52f992126c02591ccfd27c65f5 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 31 Jan 2000 14:47:03 +0000 Subject: Successfully built some RPMs. There is still a lot of work to do. --- scripts-ada/README | 23 ++++++++++++++++ scripts-ada/gdb/Makefile.am | 4 +++ scripts-ada/gnatnewlib/Makefile.am | 4 +++ scripts-ada/gnatnewlib/gnatnewlib.spec.in | 45 ++++++++++++++++--------------- scripts-ada/setup.def | 4 +-- 5 files changed, 57 insertions(+), 23 deletions(-) (limited to 'scripts-ada') diff --git a/scripts-ada/README b/scripts-ada/README index fa00e62420..bff791485d 100644 --- a/scripts-ada/README +++ b/scripts-ada/README @@ -3,3 +3,26 @@ # This directory contains the scripts used to build RPMS for GNAT/RTEMS. + +The scripts are close but do not work completely right yet. I have +commented out the info related items in gnatnewlib.in to get the +RPMS to build. + +The binutils directory should be ignored for now. In order to +build the toolset at all, I had to merge building binutils +into the build of gcc, gnat, and newlib. gdb is still built separately. +When gnat is based off a more recent gcc version, we can go +to the more proper method of building binutils first and +separately. + +There is the more general issue that the gcc 2.8.1 RTEMS targets +were not always the same object format that the gcc 2.95.x ones +are. Thus some BSPs (m68k and i386 in particular) are now ELF +based and assume crti.o/crtn.o is installed. The gcc 2.8.1 +configurations were not ELF and thus it is likely that programs +will not link on certain configurations. + +Another more general issue is that GNAT gdb support is at +4.17 while remote debugging of RTEMS applications via +TCP/IP is in 4.18. + diff --git a/scripts-ada/gdb/Makefile.am b/scripts-ada/gdb/Makefile.am index 5ef5cbf3ff..bb562e1894 100644 --- a/scripts-ada/gdb/Makefile.am +++ b/scripts-ada/gdb/Makefile.am @@ -5,6 +5,9 @@ MKGDBSPEC = $(SHELL) $(top_builddir)/mkgdbspec MKGDBSPEC_DEPS = \ $(top_builddir)/mkgdbspec gdb.spec.in $(top_builddir)/setup.cache +powerpc-rtems-$(GDBVERS).spec: $(MKGDBSPEC_DEPS) + $(MKGDBSPEC) -cfg $(top_builddir)/setup.cache -o . powerpc-rtems + sparc-rtems-$(GDBVERS).spec: $(MKGDBSPEC_DEPS) $(MKGDBSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems @@ -12,6 +15,7 @@ TEMPLATES = \ gdb.spec.in RPM_SPECS_DATA = \ +powerpc-rtems-$(GDBVERS).spec \ sparc-rtems-$(GDBVERS).spec noinst_DATA = \ diff --git a/scripts-ada/gnatnewlib/Makefile.am b/scripts-ada/gnatnewlib/Makefile.am index 9d7777ab99..7f5196617a 100644 --- a/scripts-ada/gnatnewlib/Makefile.am +++ b/scripts-ada/gnatnewlib/Makefile.am @@ -7,6 +7,9 @@ MKGNATNEWLIBSPEC = $(SHELL) $(top_builddir)/mkgnatnewlibspec MKGNATNEWLIBSPEC_DEPS = \ $(top_builddir)/mkgnatnewlibspec gnatnewlib.spec.in $(top_builddir)/setup.cache +powerpc-rtems-$(GNATNEWLIBVERS).spec: $(MKGNATNEWLIBSPEC_DEPS) + $(MKGNATNEWLIBSPEC) -cfg $(top_builddir)/setup.cache -o . powerpc-rtems + sparc-rtems-$(GNATNEWLIBVERS).spec: $(MKGNATNEWLIBSPEC_DEPS) $(MKGNATNEWLIBSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems @@ -14,6 +17,7 @@ TEMPLATES = \ gnatnewlib.spec.in RPM_SPECS_DATA = \ +powerpc-rtems-$(GNATNEWLIBVERS).spec \ sparc-rtems-$(GNATNEWLIBVERS).spec noinst_DATA = \ diff --git a/scripts-ada/gnatnewlib/gnatnewlib.spec.in b/scripts-ada/gnatnewlib/gnatnewlib.spec.in index 4557e9b3b5..ff54a2e6ee 100644 --- a/scripts-ada/gnatnewlib/gnatnewlib.spec.in +++ b/scripts-ada/gnatnewlib/gnatnewlib.spec.in @@ -188,8 +188,10 @@ This is gnat, gcc, and newlib C Library for @target_alias@. make CC=gcc CFLAGS="-O2" LANGUAGES="c" all make CC=gcc CFLAGS="-O2" LANGUAGES="c" info - # must be installed in the real place to allow gnat to continue to build - make CC=gcc CFLAGS="-O2" LANGUAGES="c" install + # must be installed to allow gnat to continue to build + make CC=gcc CFLAGS="-O2" LANGUAGES="c" install install-info + make prefix=$RPM_BUILD_ROOT/opt/gnatrtems \ + CC=gcc CFLAGS="-O2" LANGUAGES="c" install install-info # When GNAT uses a gcc that finds the RTEMS limits.h, this will not # be needed. This should not be needed if the limits.h trick above works. @@ -253,14 +255,15 @@ This is gnat, gcc, and newlib C Library for @target_alias@. echo "%dir /opt/gnatrtems/lib/gcc-lib" >> dirs ; echo "%dir /opt/gnatrtems/lib/gcc-lib/@target_alias@" >> dirs ; - if test -f $RPM_BUILD_ROOT/opt/gnatrtems/info/configure.info.gz; - then + touch ../files + # if test -f $RPM_BUILD_ROOT/opt/gnatrtems/info/configure.info.gz; + # then # These common files are only present in binutils >= 2.9.5 - find $RPM_BUILD_ROOT/opt/gnatrtems/info -name 'configure.*' | \ - sed -e "s,^$RPM_BUILD_ROOT,,g" > ../files - else - touch ../files - fi + # find $RPM_BUILD_ROOT/opt/gnatrtems/info -name 'configure.*' | \ + # sed -e "s,^$RPM_BUILD_ROOT,,g" > ../files + # else + # touch ../files + # fi # These target specific files are only present in binutils >= 2.9.5 if test -f /opt/gnatrtems/bin/@target_alias@-readelf@exe_ext@; then @@ -288,17 +291,17 @@ This is gnat, gcc, and newlib C Library for @target_alias@. %files -n rtems-base-gnat-binutils -f files %dir /opt/gnatrtems/info -%doc /opt/gnatrtems/info/dir -%doc /opt/gnatrtems/info/as.info.gz -%doc /opt/gnatrtems/info/as.info-?.gz -%doc /opt/gnatrtems/info/bfd.info.gz -%doc /opt/gnatrtems/info/bfd.info-?.gz -%doc /opt/gnatrtems/info/binutils.info.gz -%doc /opt/gnatrtems/info/binutils.info-?.gz -%doc /opt/gnatrtems/info/ld.info.gz -%doc /opt/gnatrtems/info/ld.info-?.gz -%doc /opt/gnatrtems/info/gasp.info.gz -%doc /opt/gnatrtems/info/standards.info.gz +# %doc /opt/gnatrtems/info/dir +# %doc /opt/gnatrtems/info/as.info.gz +# %doc /opt/gnatrtems/info/as.info-?.gz +# %doc /opt/gnatrtems/info/bfd.info.gz +# %doc /opt/gnatrtems/info/bfd.info-?.gz +# %doc /opt/gnatrtems/info/binutils.info.gz +# %doc /opt/gnatrtems/info/binutils.info-?.gz +# %doc /opt/gnatrtems/info/ld.info.gz +# %doc /opt/gnatrtems/info/ld.info-?.gz +# %doc /opt/gnatrtems/info/gasp.info.gz +# %doc /opt/gnatrtems/info/standards.info.gz %dir /opt/gnatrtems/man %dir /opt/gnatrtems/man/man1 @@ -362,7 +365,7 @@ This is gnat, gcc, and newlib C Library for @target_alias@. %dir /opt/gnatrtems/bin # /opt/gnatrtems/bin/cpp@exe_ext@ -/opt/gnatrtems/bin/gcov@exe_ext@ +# /opt/gnatrtems/bin/gcov@exe_ext@ %dir /opt/gnatrtems/include # /opt/gnatrtems/include/g++-3 diff --git a/scripts-ada/setup.def b/scripts-ada/setup.def index 3edbe7a996..825fb7595d 100644 --- a/scripts-ada/setup.def +++ b/scripts-ada/setup.def @@ -3,12 +3,12 @@ binutils_version=2.9.1 binutils_patch_version=20000126 binutils_rpm_release=1 newlib_version=1.8.2 -newlib_patch_version=20000104 +newlib_patch_version=20000130 gcc_version=2.8.1 gcc_patch_version=20000126 gnat_version=3.12p gnat_patch_version=20000126 -gnatnewlib_rpm_release=1 +gnatnewlib_rpm_release=2 gdb_version=4.17 gdb_patch_version=20000126 gdb_rpm_release=1 -- cgit v1.2.3