This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

A new libg++ addon and a new patch for egcs


> 
> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]