This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
A new libg++ addon and a new patch for egcs
- To: doko at cs dot tu-berlin dot de (Matthias Klose)
- Subject: A new libg++ addon and a new patch for egcs
- From: hjl at lucon dot org (H.J. Lu)
- Date: Fri, 28 Aug 1998 21:08:47 -0700 (PDT)
- Cc: dmj at andrew dot cmu dot edu, egcs at cygnus dot com
>
> I got this patch from the Debian guy who builds the egcs on powerpc
> with multilib enabled. I already answerd to the `BTW'.
>
BTW, I also put a new version patch for egcs at
ftp://ftp.yggdrasil.com/private/hjl/egcs-1.1.diff.1.gz
It fixes the same bugs and has some minor changes.
H.J.
----
This is a libg++ addon for libstdc++ 2.8.1 and egcs. It is needed only
if your applications depend on libg++ and the dependency on libg++
cannot be removed easily. The standalone libg++ is not longer needed.
Changes from libg++ 2.8.2 980731:
1. Fix relative path for multilib
2. Fix relative path for cross-compile.
Changes from libg++ 2.8.2 980720:
1. Use relative path for symbolic links.
Changes from libg++ 2.8.2 980708:
1. Include <termcap.h> in etc/lf/screen.cc for Linux.
Changes from libg++ 2.8.1 980505:
1. Add the interface support for the library names.
2. Handle --enable-version-specific-runtime-libs.
3. Fix some parallel build bugs.
4. A librx bug fix.
Changes from libg++ 2.8.1 980415:
1. gperf is removed from libg++. The stand-alone gperf is available at
ftp://ftp.gnu.org/pub/gnu/
The current version, as of May 5, 1998, is gperf 2.7.
The libg++ and librx have been tested with
1. egcs 1.0.3 on linux/x86/libc 5, linux/x86/glibc 2.1 and
linux/alpha/glibc 2.0.7.
2. gcc 2.8.1 980209 and libstdc++ 2.8.1 980228 on linux/x86/libc 5.
It is available at
ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.2-980828.tar.gz
ftp://ftp.kernel.org/pub/linux/devel/gcc/libg++-2.8.2-980828.tar.gz
Patch for libg++ 2.8.2 980731 is also available at
ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.2-980731-980828.diff.gz
ftp://ftp.kernel.org/pub/linux/devel/gcc/libg++-2.8.2-980731-980828.diff.gz
Just put libg++ and librx under the egcs or libstdc++ source directory,
i.e.,
# cd src/egcs
# gzip -dc xxxxxx/libg++-2.8.2-980828-tar.gz | tar xf -
Or
# cd src/libstdc++-2.8.1
# gzip -dc xxxxxx/libg++-2.8.2-980828-tar.gz | tar xf -
Potential problems with libstdc++ 2.8.1:
1. Since gcc 2.8.1 is installed under /usr on Linux/GNU, libstdc++
should be modified to reflect it. Otherwise incorrect header files
and libraries may be used. A patch is available upon request.
You also need to check configure.in and configure to see if the
complete patch enclosed here is already applied. If not, please do
# patch -p0 < README.libg++
Then you can configure/build/check/install egcs normally. Now it
will include libg++.
H.J. Lu
hjl@gnu.org
08/28/1998
---
Sun Sep 7 14:27:56 1997 H.J. Lu (hjl@gnu.org)
* configure.in (alpha*-*-linux*): Treat alpha*-*-linux* as
alpha*-*-linux* and alpha*-*-*.
Mon Aug 25 17:31:49 1997 H.J. Lu (hjl@gnu.org)
* configure: When making link, also check the current
directory. The configure scripts may create one.
Index: configure.in
===================================================================
RCS file: /home/work/cvs/gnu/egcs/configure.in,v
retrieving revision 1.1.1.4
diff -u -r1.1.1.4 configure.in
--- configure.in 1997/09/17 20:09:19 1.1.1.4
+++ configure.in 1997/10/23 00:01:53
@@ -416,6 +507,12 @@
alpha*-*-*vms*)
noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss"
;;
+ alpha*-*-linux*)
+ # newlib is not 64 bit ready
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ # linux has rx in libc
+ skipdirs="$skipdirs target-librx"
+ ;;
alpha*-*-*)
# newlib is not 64 bit ready
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
Index: configure
===================================================================
RCS file: /home/work/cvs/gnu/egcs/configure,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 configure
--- configure 1997/09/17 20:09:18 1.1.1.2
+++ configure 1997/09/17 20:22:21
@@ -992,27 +1006,34 @@
set ${links}; link=$1; shift; links=$*
if [ ! -r ${srcdir}/${file} ] ; then
+ if [ ! -r ${file} ] ; then
+
echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
echo '***' "since the file \"${srcdir}/${file}\" does not exist." 1>&2
exit 1
+ else
+ srcfile=${file}
+ fi
+ else
+ srcfile=${srcdir}/${file}
fi
${remove} -f ${link}
# Make a symlink if possible, otherwise try a hard link
- if ${symbolic_link} ${srcdir}/${file} ${link} >/dev/null 2>&1 ; then
+ if ${symbolic_link} ${srcfile} ${link} >/dev/null 2>&1 ; then
true
else
# We need to re-remove the file because Lynx leaves a
# very strange directory there when it fails an NFS symlink.
${remove} -r -f ${link}
- ${hard_link} ${srcdir}/${file} ${link}
+ ${hard_link} ${srcfile} ${link}
fi
if [ ! -r ${link} ] ; then
- echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
+ echo '***' "${progname}: unable to link \"${link}\" to \"${srcfile}\"." 1>&2
exit 1
fi
- echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
+ echo "Linked \"${link}\" to \"${srcfile}\"."
done
# Create a .gdbinit file which runs the one in srcdir