summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2002-08-12 10:11:44 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2002-08-12 10:11:44 +0000
commit4aba88a119b6844e725b0fce452b1498f8fc3c87 (patch)
treed012b276961e2f14ee7f48be69ad55562ad69ccb /scripts
parent2002-08-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff)
downloadrtems-4aba88a119b6844e725b0fce452b1498f8fc3c87.tar.bz2
2002-08-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* mkgcc3newlibspec.in: Remove * gcc3newlib/mkspec.in: New. * configure.ac: Reflect changes above. * gcc3newlib/gccnewlib.add: Add build_XXX defines. Add preliminary gnat support. * gcc3newlib/base-g77.add: Add build_g77. * gcc3newlib/base-gcj.add: Add build_gcj. * gcc3newlib/base-gnat.add: New. * gcc3newlib/target-c++.add: Add build_cxx. * gcc3newlib/target-g77.add: Add build_g77. * gcc3newlib/target-gcj.add: Add build_gcj. * gcc3newlib/target-objc.add: Add build_objc. * gcc3newlib/target-gnat.add: New. * gcc3newlib/Makefile.am: Use ./mkspec. Use unified spec.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/ChangeLog17
-rw-r--r--scripts/configure.ac2
-rw-r--r--scripts/gcc3newlib/Makefile.am67
-rw-r--r--scripts/gcc3newlib/base-g77.add2
-rw-r--r--scripts/gcc3newlib/base-gcj.add2
-rw-r--r--scripts/gcc3newlib/base-gnat.add18
-rw-r--r--scripts/gcc3newlib/gccnewlib.add51
-rw-r--r--scripts/gcc3newlib/mkspec.in (renamed from scripts/mkgcc3newlibspec.in)15
-rw-r--r--scripts/gcc3newlib/target-c++.add2
-rw-r--r--scripts/gcc3newlib/target-g77.add2
-rw-r--r--scripts/gcc3newlib/target-gcj.add2
-rw-r--r--scripts/gcc3newlib/target-gnat.add22
-rw-r--r--scripts/gcc3newlib/target-objc.add2
13 files changed, 158 insertions, 46 deletions
diff --git a/scripts/ChangeLog b/scripts/ChangeLog
index 72cf629a1d..5d4e7a4592 100644
--- a/scripts/ChangeLog
+++ b/scripts/ChangeLog
@@ -1,3 +1,20 @@
+2002-08-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * mkgcc3newlibspec.in: Remove
+ * gcc3newlib/mkspec.in: New.
+ * configure.ac: Reflect changes above.
+ * gcc3newlib/gccnewlib.add: Add build_XXX defines.
+ Add preliminary gnat support.
+ * gcc3newlib/base-g77.add: Add build_g77.
+ * gcc3newlib/base-gcj.add: Add build_gcj.
+ * gcc3newlib/base-gnat.add: New.
+ * gcc3newlib/target-c++.add: Add build_cxx.
+ * gcc3newlib/target-g77.add: Add build_g77.
+ * gcc3newlib/target-gcj.add: Add build_gcj.
+ * gcc3newlib/target-objc.add: Add build_objc.
+ * gcc3newlib/target-gnat.add: New.
+ * gcc3newlib/Makefile.am: Use ./mkspec. Use unified spec.
+
2002-08-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* setup.def: Increment release for gcc3newlib.
diff --git a/scripts/configure.ac b/scripts/configure.ac
index ef33954620..4e46dd5f3a 100644
--- a/scripts/configure.ac
+++ b/scripts/configure.ac
@@ -93,8 +93,8 @@ AC_CONFIG_FILES([buildall],[chmod +x buildall])
AC_CONFIG_FILES([mkgdbspec],[chmod +x mkgdbspec])
AC_CONFIG_FILES([mkbinutilspec],[chmod +x mkbinutilspec])
AC_CONFIG_FILES([mkgccnewlibspec],[chmod +x mkgccnewlibspec])
-AC_CONFIG_FILES([mkgcc3newlibspec],[chmod +x mkgcc3newlibspec])
AC_CONFIG_FILES([mkbspspec],[chmod +x mkbspspec])
+AC_CONFIG_FILES([gcc3newlib/mkspec],[chmod +x gcc3newlib/mkspec])
AC_CONFIG_FILES([cpukit/mkspec],[chmod +x cpukit/mkspec])
AC_CONFIG_COMMANDS([default],[[chmod 755 buildall
diff --git a/scripts/gcc3newlib/Makefile.am b/scripts/gcc3newlib/Makefile.am
index ee77454223..6eee24319e 100644
--- a/scripts/gcc3newlib/Makefile.am
+++ b/scripts/gcc3newlib/Makefile.am
@@ -2,18 +2,20 @@
## $Id$
##
-MKGCCNEWLIBSPEC = $(SHELL) $(top_builddir)/mkgcc3newlibspec
+MKSPEC = $(SHELL) ./mkspec
SUBPACKAGES = gccnewlib.add \
base-gcc.add target-gcc.add \
base-g77.add target-g77.add \
base-gcj.add target-gcj.add \
target-objc.add \
- target-c++.add
+ target-c++.add \
+ base-gnat.add target-gnat.add
+
+noinst_DATA = gccnewlib.spec.in gccnewlib_c_only.spec.in
gccnewlib.spec.in: $(SUBPACKAGES)
- cat $^ \
- | sed -e 's%@GCCLANGS@%%g' > $@
+ cat $^ > $@
CLEANFILES = gccnewlib.spec.in
gccnewlib_c_only.spec.in: gccnewlib.add base-gcc.add target-gcc.add \
@@ -29,55 +31,60 @@ MKGCCNEWLIBSPEC_DEPS = $(top_builddir)/mkgcc3newlibspec gccnewlib.spec.in \
MKGCCNEWLIB_C_ONLY_SPEC_DEPS = $(top_builddir)/mkgcc3newlibspec \
gccnewlib_c_only.spec.in $(top_builddir)/setup.cache
+RPM_SPECS_DATA =
+
arm-rtems-$(GCC3NEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
- $(MKGCCNEWLIBSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache -o . arm-rtems
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache arm-rtems > $@
+RPM_SPECS_DATA += arm-rtems-$(GCC3NEWLIBVERS).spec
c4x-rtems-$(GCC3NEWLIBVERS).spec: $(MKGCCNEWLIB_C_ONLY_SPEC_DEPS)
- $(MKGCCNEWLIBSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache -o . c4x-rtems
+ $(MKSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache c4x-rtems > $@
+RPM_SPECS_DATA += c4x-rtems-$(GCC3NEWLIBVERS).spec
-h8300-rtems-$(GCC3NEWLIBVERS).spec: $(MKGCCNEWLIB_C_ONLY_SPEC_DEPS)
- $(MKGCCNEWLIBSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache -o . h8300-rtems
+h8300-rtems-$(GCC3NEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache h8300-rtems > $@
+RPM_SPECS_DATA += h8300-rtems-$(GCC3NEWLIBVERS).spec
hppa1.1-rtems-$(GCC3NEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
- $(MKGCCNEWLIBSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache -o . hppa1.1-rtems
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache hppa1.1-rtems > $@
+RPM_SPECS_DATA += hppa1.1-rtems-$(GCC3NEWLIBVERS).spec
i386-rtems-$(GCC3NEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
- $(MKGCCNEWLIBSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache -o . i386-rtems
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache i386-rtems > $@
+RPM_SPECS_DATA += i386-rtems-$(GCC3NEWLIBVERS).spec
-i960-rtems-$(GCC3NEWLIBVERS).spec: $(MKGCCNEWLIB_C_ONLY_SPEC_DEPS)
- $(MKGCCNEWLIBSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache -o . i960-rtems
+i960-rtems-$(GCC3NEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache i960-rtems > $@
+RPM_SPECS_DATA += i960-rtems-$(GCC3NEWLIBVERS).spec
m68k-rtems-$(GCC3NEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
- $(MKGCCNEWLIBSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache -o . m68k-rtems
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache m68k-rtems > $@
+RPM_SPECS_DATA += m68k-rtems-$(GCC3NEWLIBVERS).spec
mips64orion-rtems-$(GCC3NEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
- $(MKGCCNEWLIBSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache -o . mips64orion-rtems
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache mips64orion-rtems > $@
+RPM_SPECS_DATA += mips64orion-rtems-$(GCC3NEWLIBVERS).spec
mips-rtems-$(GCC3NEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
- $(MKGCCNEWLIBSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache -o . mips-rtems
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache mips-rtems > $@
+RPM_SPECS_DATA += mips-rtems-$(GCC3NEWLIBVERS).spec
powerpc-rtems-$(GCC3NEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
- $(MKGCCNEWLIBSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache -o . powerpc-rtems
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache powerpc-rtems > $@
+RPM_SPECS_DATA += powerpc-rtems-$(GCC3NEWLIBVERS).spec
sh-rtems-$(GCC3NEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
- $(MKGCCNEWLIBSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache -o . sh-rtems
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache sh-rtems > $@
+RPM_SPECS_DATA += sh-rtems-$(GCC3NEWLIBVERS).spec
sh-rtemself-$(GCC3NEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
- $(MKGCCNEWLIBSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache -o . sh-rtemself
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache sh-rtemself > $@
+RPM_SPECS_DATA += sh-rtemself-$(GCC3NEWLIBVERS).spec
sparc-rtems-$(GCC3NEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
- $(MKGCCNEWLIBSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache -o . sparc-rtems
-
-RPM_SPECS_DATA = \
- arm-rtems-$(GCC3NEWLIBVERS).spec \
- c4x-rtems-$(GCC3NEWLIBVERS).spec \
- h8300-rtems-$(GCC3NEWLIBVERS).spec \
- hppa1.1-rtems-$(GCC3NEWLIBVERS).spec \
- i386-rtems-$(GCC3NEWLIBVERS).spec i960-rtems-$(GCC3NEWLIBVERS).spec \
- m68k-rtems-$(GCC3NEWLIBVERS).spec \
- mips-rtems-$(GCC3NEWLIBVERS).spec mips64orion-rtems-$(GCC3NEWLIBVERS).spec \
- powerpc-rtems-$(GCC3NEWLIBVERS).spec sh-rtems-$(GCC3NEWLIBVERS).spec \
- sh-rtemself-$(GCC3NEWLIBVERS).spec sparc-rtems-$(GCC3NEWLIBVERS).spec
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache sparc-rtems > $@
+RPM_SPECS_DATA += sparc-rtems-$(GCC3NEWLIBVERS).spec
+
CLEANFILES += $(RPM_SPECS_DATA)
EXTRA_DIST = $(SUBPACKAGES)
diff --git a/scripts/gcc3newlib/base-g77.add b/scripts/gcc3newlib/base-g77.add
index 96f7d28efd..b1e2ba9f1f 100644
--- a/scripts/gcc3newlib/base-g77.add
+++ b/scripts/gcc3newlib/base-g77.add
@@ -1,3 +1,4 @@
+%if %build_g77
# ==============================================================
# rtems-base-g77
# ==============================================================
@@ -40,3 +41,4 @@ This is the files for gcc/g77 that are shared by all targets.
done
fi
+%endif
diff --git a/scripts/gcc3newlib/base-gcj.add b/scripts/gcc3newlib/base-gcj.add
index b3ff2a2608..5926be30e9 100644
--- a/scripts/gcc3newlib/base-gcj.add
+++ b/scripts/gcc3newlib/base-gcj.add
@@ -1,3 +1,4 @@
+%if %build_gcj
# ==============================================================
# rtems-base-gcj
# ==============================================================
@@ -18,3 +19,4 @@ This is the files for gcc/java (gcj) that are shared by all targets.
%{_prefix}/bin/jv-scan@exe_ext@
%{_prefix}/bin/gcjh@exe_ext@
+%endif
diff --git a/scripts/gcc3newlib/base-gnat.add b/scripts/gcc3newlib/base-gnat.add
new file mode 100644
index 0000000000..0996f3034c
--- /dev/null
+++ b/scripts/gcc3newlib/base-gnat.add
@@ -0,0 +1,18 @@
+%if %build_gnat
+# ==============================================================
+# base-gnat
+# ==============================================================
+%package -n base-gnat
+Provides: base-gnat
+Summary: gcc/gnat tools
+Group: rtems
+
+%description -n base-gnat
+RTEMS is an open source operating system for embedded systems.
+
+This is the gcc/gnat tools for the gcc/gnat compiler
+
+%files -n base-gnat
+%dir %{_prefix}/bin
+%{_prefix}/bin/gnat*
+%endif
diff --git a/scripts/gcc3newlib/gccnewlib.add b/scripts/gcc3newlib/gccnewlib.add
index 36eceaf02d..23e7790610 100644
--- a/scripts/gcc3newlib/gccnewlib.add
+++ b/scripts/gcc3newlib/gccnewlib.add
@@ -43,6 +43,26 @@ Buildroot: %{_tmppath}/%{name}
NoSource: 0
NoSource: 1
+%define build_cxx 1
+%define build_g77 0
+%define build_objc 0
+%define build_gcj 0
+%define build_gnat 0
+
+%if "@target_alias@" == "c4x-rtems"
+%define build_gnat 0
+%define build_cxx 0
+%elseif "@target_alias@" == "i386-rtems"
+%define build_gnat 1
+%elseif "@target_alias@" == "i960-rtems"
+%define build_gnat 0
+%define build_cxx 0
+%elseif "@target_alias@" == "powerpc-rtems"
+%define build_gnat 1
+%elseif "@target_alias@" == "sparc-rtems"
+%define build_gnat 1
+%endif
+
%description
RTEMS is an open source operating system for embedded systems.
@@ -82,12 +102,38 @@ This is gcc's and newlib C Library's sources with patches for RTEMS.
# CONFIGURE_ARGS="--build=%{_build} --host=%{_target}"
# %endif
+ languages="c,c++"
+%if %build_g77
+ languages="$languages,g77"
+%endif
+%if %build_gcj
+ languages="$languages,gcj"
+%endif
+%if %build_objc
+ languages="$languages,objc"
+%endif
+%if %build_gnat
+ languages="$languages,ada"
+%endif
../gcc-@gcc_version@/configure $CONFIGURE_ARGS --target=@target_alias@ \
--with-gnu-as --with-gnu-ld --with-newlib --verbose \
--with-system-zlib --disable-nls \
--enable-version-specific-runtime-libs \
- --enable-threads=rtems --prefix=%{_prefix} @GCCLANGS@
+ --enable-threads=rtems --prefix=%{_prefix} \
+ --enable-languages=$languages
+%if %build_gnat
+ cd ../gcc-@gcc_version@/gcc/ada
+ touch treeprs.ads [es]info.h nmake.ad[bs]
+ cd ../../../build
+%endif
make all
+%if %build_gnat
+ cd gcc
+# This is what is documented, but it doesn't work for me (RC)
+# make gnatlib_and_tools
+ make cross-gnattools
+ cd ..
+%endif
make info
%install
@@ -100,7 +146,8 @@ This is gcc's and newlib C Library's sources with patches for RTEMS.
make prefix=$RPM_BUILD_ROOT%{_prefix} install
cd @target_alias@/newlib
- make prefix=$RPM_BUILD_ROOT%{_prefix} install-info
+ make prefix=$RPM_BUILD_ROOT%{_prefix} \
+ bindir=$RPM_BUILD_ROOT%{_bindir} install-info
# cd back to build/
cd ../..
diff --git a/scripts/mkgcc3newlibspec.in b/scripts/gcc3newlib/mkspec.in
index 89d322305c..ffe0591b39 100644
--- a/scripts/mkgcc3newlibspec.in
+++ b/scripts/gcc3newlib/mkspec.in
@@ -5,8 +5,7 @@
RTEMS_DIR=`dirname $0`/@top_srcdir@
-CFG=setup.cache
-dst=@RPM_SPECSdir@
+CFG=../setup.cache
exe_ext=@EXEEXT@
usage()
@@ -27,11 +26,6 @@ case $1 in
CFG=$1
shift
;;
--o)
- shift
- dst=$1
- shift
- ;;
-a) # alternate specs file
shift
specsrc=$1
@@ -55,8 +49,6 @@ target_alias=$1
. ./$CFG
-specfile=${dst}/${target_alias}-gcc-${gcc3_version}-newlib-${gcc3newlib_version}.spec
-
patchn=-1
if test -n "${gcc3_patch_version}"; then
patchn=`expr $patchn + 1`
@@ -84,7 +76,4 @@ sed -e "s,@PATCH1\@,${PATCH1}," \
-e "s%@newlib_version\@%${gcc3newlib_version}%g" \
-e "s%@newlib_patch_version\@%${gcc3newlib_patch_version}%g" \
-e "s%@exe_ext\@%${exe_ext}%g" \
-< ${specsrc} \
-> ${specfile}
-
-echo Generated ${specfile}.
+< ${specsrc}
diff --git a/scripts/gcc3newlib/target-c++.add b/scripts/gcc3newlib/target-c++.add
index 5e310a9e4e..0850623447 100644
--- a/scripts/gcc3newlib/target-c++.add
+++ b/scripts/gcc3newlib/target-c++.add
@@ -1,3 +1,4 @@
+%if %build_cxx
# ==============================================================
# @target_alias@-c++
# ==============================================================
@@ -23,3 +24,4 @@ This is the gcc/g++ compiler for @target_alias@
%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/cc1plus@exe_ext@
%dir %{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/include
%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/include/g++
+%endif
diff --git a/scripts/gcc3newlib/target-g77.add b/scripts/gcc3newlib/target-g77.add
index e2c576a469..01a897a18d 100644
--- a/scripts/gcc3newlib/target-g77.add
+++ b/scripts/gcc3newlib/target-g77.add
@@ -1,3 +1,4 @@
+%if %build_g77
# ==============================================================
# @target_alias@-g77
# ==============================================================
@@ -17,3 +18,4 @@ This is the gcc/g77 compiler for @target_alias@
%{_prefix}/bin/@target_alias@-g77@exe_ext@
%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/f771@exe_ext@
+%endif
diff --git a/scripts/gcc3newlib/target-gcj.add b/scripts/gcc3newlib/target-gcj.add
index 6a09abd423..8a5d4a8b2b 100644
--- a/scripts/gcc3newlib/target-gcj.add
+++ b/scripts/gcc3newlib/target-gcj.add
@@ -1,3 +1,4 @@
+%if %build_gcj
# ==============================================================
# @target_alias@-gcj
# ==============================================================
@@ -19,3 +20,4 @@ This is the gcc/java compiler for @target_alias@
%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/jc1@exe_ext@
%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/jvgenmain@exe_ext@
+%endif
diff --git a/scripts/gcc3newlib/target-gnat.add b/scripts/gcc3newlib/target-gnat.add
new file mode 100644
index 0000000000..f47d227c1d
--- /dev/null
+++ b/scripts/gcc3newlib/target-gnat.add
@@ -0,0 +1,22 @@
+%if %build_gnat
+# ==============================================================
+# @target_alias@-gnat
+# ==============================================================
+%package -n @target_alias@-gnat
+Provides: @target_alias@-gnat
+Summary: gcc/gnat compiler for @target_alias@
+Group: rtems
+Requires: rtems-base-gnat @target_alias@-gcc
+
+%description -n @target_alias@-gnat
+RTEMS is an open source operating system for embedded systems.
+
+This is the gcc/gnat compiler for @target_alias@
+
+%files -n @target_alias@-gnat
+# %files -n @target_alias@-gnat -f build/files.gnat
+%dir %{_prefix}/bin
+%{_prefix}/bin/@target_alias@-gnat*
+
+%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/gnat1@exe_ext@
+%endif
diff --git a/scripts/gcc3newlib/target-objc.add b/scripts/gcc3newlib/target-objc.add
index c7eb2b1b7d..8bf6468d39 100644
--- a/scripts/gcc3newlib/target-objc.add
+++ b/scripts/gcc3newlib/target-objc.add
@@ -1,3 +1,4 @@
+%if %build_objc
# ==============================================================
# @target_alias@-objc
# ==============================================================
@@ -15,3 +16,4 @@ This is the gcc/objc compiler for @target_alias@
%files -n @target_alias@-objc -f build/files.objc
%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/cc1obj@exe_ext@
%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/include/objc
+%endif