public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* A new libg++ addon for egcs
       [not found] <19971210131621.13050@breughel.ufsia.ac.be>
@ 1997-12-10 10:58 ` H.J. Lu
  1997-12-11 10:01   ` Lee Iverson
  0 siblings, 1 reply; 4+ messages in thread
From: H.J. Lu @ 1997-12-10 10:58 UTC (permalink / raw)
  To: Sven Verdoolaege; +Cc: egcs

> I did have a small problem with your libg++ egcs add-on
> (libg++-2.8.0b6.3)
> 
> This piece of code in src/configure.in picks up an
> absolute path for regex.h . configure later prepends $srcdir to it.
> 

Did you read README.libg++?

> 
> I also needed this: in gperf/src
> 

Here is the patch for libg++-2.8.0b6.3 to bring it to 2.8.0b6.4. 
libg++-2.8.0b6.4 is at ftp://ftp.yggdrasil.com/private/hjl .



H.J.
---
diff --new-file -ur egcs.old/README.libg++ egcs.new/README.libg++
--- egcs.old/README.libg++	Wed Nov  5 09:01:41 1997
+++ egcs.new/README.libg++	Wed Dec 10 10:44:29 1997
@@ -1,9 +1,10 @@
-This libg++ and librx are tested with egcs 971023 on linux/x86/libc 5,
-linux/x86/glibc 2.1 and linux/alpha/glibc 2.0.5c. Just put libg++ and
-librx under the egcs source directory, i.e.,
+This libg++ and librx are tested with egcs 1.0 on linux/x86/libc 5,
+linux/x86/glibc 2.0.5c, linux/x86/glibc 2.1 and linux/alpha/glibc
+2.0.5c. Just put libg++ and librx under the egcs source directory,
+i.e.,
 
 # cd src/egcs
-# gzip -dc xxxxxx/libg++-2.8.0b6.3.tar.gz | tar xf -
+# gzip -dc xxxxxx/libg++-2.8.0b6.4.tar.gz | tar xf -
 
 You also need to check configure.in and configure to see if the
 patch enclosed here is already applied. If not, please do
@@ -13,15 +14,17 @@
 Then you can configure/build/check/install egcs normally. Now it
 will include libg++.
 
+libg++-2.8.0b6.3-2.8.0b6.4.diff is the patch for libg++ 2.8.0b6.3.
+
 
 H.J. Lu
 hjl@gnu.org
-11/04/1997
+12/10/1997
 --- 
 Sun Sep  7 14:27:56 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
 	
-	* configure.in (alpha-*-linux*): Treat alpha-*-linux* as
-	alpha-*-linux* and alpha-*-*.
+	* configure.in (alpha*-*-linux*): Treat alpha*-*-linux* as
+	alpha*-*-linux* and alpha*-*-*.
 
 Mon Aug 25 17:31:49 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
 
@@ -39,7 +42,7 @@
    alpha*-*-*vms*)
      noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss"
      ;;
-+  alpha-*-linux*)
++  alpha*-*-linux*)
 +    # newlib is not 64 bit ready
 +    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
 +    # linux has rx in libc
diff --new-file -ur egcs.old/libg++/etc/benchmarks/foo.cc egcs.new/libg++/etc/benchmarks/foo.cc
--- egcs.old/libg++/etc/benchmarks/foo.cc	Thu Sep 25 13:48:07 1997
+++ egcs.new/libg++/etc/benchmarks/foo.cc	Wed Dec 31 16:00:00 1969
@@ -1,401 +0,0 @@
-#ifdef BUILTIN
-typedef int Int;
-#else
-
-#ifdef CALL
-#define INLINE
-#else
-#define INLINE inline
-#endif
-
-#ifndef VIRT
-#define VIRTUAL
-#else
-#define VIRTUAL virtual
-#endif
-
-#ifdef BYVAL
-#define REF 
-#else
-#define REF &
-#endif
-
-#ifndef  CONVERT
-#define EXPLICIT
-#endif
-
-#ifndef RETREF
-#define IntR void
-#define ReturnIntR 
-#else
-#define IntR Int&
-#define ReturnIntr  return *this
-#endif
-
-class Int 
-{
-protected:
-  int          rep;
-#ifdef FAKEVPTR
-  void*        fake_vptr;
-#endif
-public: 
-  INLINE       Int ();
-  INLINE       Int (const int  b);
-  INLINE       Int (const Int& b);
-  INLINE VIRTUAL      ~Int();
-
-  INLINE       operator int() const;
-
-  INLINE VIRTUAL int   val() const;
-
-  INLINE VIRTUAL IntR operator  = (const int);
-  INLINE VIRTUAL IntR operator  = (const Int&);
-
-  INLINE VIRTUAL IntR negate();
-  INLINE VIRTUAL IntR complement();
-  INLINE VIRTUAL IntR operator ++ ();
-  INLINE VIRTUAL IntR operator -- ();
-
-  INLINE VIRTUAL IntR operator += (const Int REF );
-  INLINE VIRTUAL IntR operator -= (const Int REF );
-  INLINE VIRTUAL IntR operator *= (const Int REF );
-  INLINE VIRTUAL IntR operator /= (const Int REF );
-  INLINE VIRTUAL IntR operator %= (const Int REF );
-  INLINE VIRTUAL IntR operator |= (const Int REF );
-  INLINE VIRTUAL IntR operator &= (const Int REF );
-  INLINE VIRTUAL IntR operator ^= (const Int REF );
-  INLINE VIRTUAL IntR operator <<=(const Int REF );
-  INLINE VIRTUAL IntR operator >>=(const Int REF );
-
-#ifdef EXPLICIT
-  INLINE VIRTUAL IntR operator += (const int);
-  INLINE VIRTUAL IntR operator -= (const int);
-  INLINE VIRTUAL IntR operator *= (const int);
-  INLINE VIRTUAL IntR operator /= (const int);
-  INLINE VIRTUAL IntR operator %= (const int);
-  INLINE VIRTUAL IntR operator |= (const int);
-  INLINE VIRTUAL IntR operator &= (const int);
-  INLINE VIRTUAL IntR operator ^= (const int);
-  INLINE VIRTUAL IntR operator <<=(const int);
-  INLINE VIRTUAL IntR operator >>=(const int);
-
-#endif
-};
-
-INLINE int  Int::val() const { return rep; }
-INLINE      Int::operator int() const { return val(); }
-
-INLINE      Int::Int () :rep(0) {}
-INLINE      Int::Int (const int  b) :rep(b) {}
-INLINE      Int::Int (const Int& b) :rep(b.Int::val()) {}
-INLINE      Int::~Int() {}
-
-INLINE IntR Int::operator  = (const int  b) 
-{ rep = b; ReturnIntR; }
-INLINE IntR Int::operator  = (const Int&  b) 
-{ rep = b.Int::val(); ReturnIntR; }
- 
-INLINE IntR Int::complement()
-{ rep = ~rep; ReturnIntR; }
-INLINE IntR Int::negate()
-{ rep = -rep; ReturnIntR; }
-INLINE IntR Int::operator ++ ()        
-{ ++rep; ReturnIntR; }
-INLINE IntR Int::operator -- ()        
-{ --rep; ReturnIntR; }
-
-INLINE IntR Int::operator += (const Int REF  b) 
-{ rep += b.Int::val(); ReturnIntR; }
-INLINE IntR Int::operator -= (const Int REF  b) 
-{ rep -= b.Int::val(); ReturnIntR; }
-INLINE IntR Int::operator *= (const Int REF  b) 
-{ rep *= b.Int::val(); ReturnIntR; }
-INLINE IntR Int::operator /= (const Int REF  b) 
-{ rep /= b.Int::val(); ReturnIntR; }
-INLINE IntR Int::operator %= (const Int REF  b) 
-{ rep %= b.Int::val(); ReturnIntR; }
-INLINE IntR Int::operator |= (const Int REF  b) 
-{ rep |= b.Int::val(); ReturnIntR; }
-INLINE IntR Int::operator &= (const Int REF  b) 
-{ rep &= b.Int::val(); ReturnIntR; }
-INLINE IntR Int::operator ^= (const Int REF  b) 
-{ rep ^= b.Int::val(); ReturnIntR; }
-INLINE IntR Int::operator <<=(const Int REF  b) 
-{ rep <<= b.Int::val(); ReturnIntR; }
-INLINE IntR Int::operator >>=(const Int REF  b) 
-{ rep >>= b.Int::val(); ReturnIntR; }
-
-#ifdef EXPLICIT
-
-INLINE IntR Int::operator += (const int b) 
-{ rep += b; ReturnIntR; }
-INLINE IntR Int::operator -= (const int b) 
-{ rep -= b; ReturnIntR; }
-INLINE IntR Int::operator *= (const int b) 
-{ rep *= b; ReturnIntR; }
-INLINE IntR Int::operator /= (const int b) 
-{ rep /= b; ReturnIntR; }
-INLINE IntR Int::operator %= (const int b) 
-{ rep %= b; ReturnIntR; }
-INLINE IntR Int::operator |= (const int b) 
-{ rep |= b; ReturnIntR; }
-INLINE IntR Int::operator &= (const int b) 
-{ rep &= b; ReturnIntR; }
-INLINE IntR Int::operator ^= (const int b) 
-{ rep ^= b; ReturnIntR; }
-INLINE IntR Int::operator <<=(const int b) 
-{ rep <<= b; ReturnIntR; }
-INLINE IntR Int::operator >>=(const int b) 
-{ rep >>= b; ReturnIntR; }
-
-
-INLINE int& operator += (int& a,  const Int REF  b) 
-{ a += b.Int::val(); return a; }
-INLINE int& operator -= (int& a,  const Int REF  b) 
-{ a -= b.Int::val(); return a;}
-INLINE int& operator *= (int& a,  const Int REF  b) 
-{ a *= b.Int::val(); return a;}
-INLINE int& operator /= (int& a,  const Int REF  b) 
-{ a /= b.Int::val(); return a;}
-INLINE int& operator %= (int& a,  const Int REF  b) 
-{ a %= b.Int::val(); return a;}
-INLINE int& operator |= (int& a,  const Int REF  b) 
-{ a |= b.Int::val(); return a;}
-INLINE int& operator &= (int& a,  const Int REF  b) 
-{ a &= b.Int::val(); return a;}
-INLINE int& operator ^= (int& a,  const Int REF  b) 
-{ a ^= b.Int::val(); return a;}
-INLINE int& operator <<=(int& a,  const Int REF  b) 
-{ a <<= b.Int::val(); return a;}
-INLINE int& operator >>=(int& a,  const Int REF  b) 
-{ a >>= b.Int::val(); return a;}
-
-#endif
-
-#ifdef _G_NO_NRV
-
-INLINE Int  operator -  (const Int REF  a) 
-{ Int r(a); r.negate(); return r; }
-INLINE Int  operator ~  (const Int REF  a) 
-{ Int r(a); r.complement(); return r; }
-
-INLINE Int  operator +  (const Int REF  a, const Int REF  b) 
-{ Int r(a); r += b.Int::val(); return r; }
-INLINE Int  operator -  (const Int REF  a, const Int REF  b) 
-{ Int r(a); r -= b.Int::val(); return r; }
-INLINE Int  operator *  (const Int REF  a, const Int REF  b) 
-{ Int r(a); r *= b.Int::val(); return r; }
-INLINE Int  operator /  (const Int REF  a, const Int REF  b) 
-{ Int r(a); r /= b.Int::val(); return r; }
-INLINE Int  operator %  (const Int REF  a, const Int REF  b) 
-{ Int r(a); r %= b.Int::val(); return r; }
-INLINE Int  operator << (const Int REF  a, const Int REF  b) 
-{ Int r(a); r <<= b.Int::val(); return r; }
-INLINE Int  operator >> (const Int REF  a, const Int REF  b) 
-{ Int r(a); r >>= b.Int::val(); return r; }
-INLINE Int  operator &  (const Int REF  a, const Int REF  b) 
-{ Int r(a); r &= b.Int::val(); return r; }
-INLINE Int  operator |  (const Int REF  a, const Int REF  b) 
-{ Int r(a); r |= b.Int::val(); return r; }
-INLINE Int  operator ^  (const Int REF  a, const Int REF  b) 
-{ Int r(a); r ^= b.Int::val(); return r; }
-
-INLINE Int  operator +  (const Int REF  a, const int b) 
-{ Int r(a); r += b; return r; }
-INLINE Int  operator -  (const Int REF  a, const int b) 
-{ Int r(a); r -= b; return r; }
-INLINE Int  operator *  (const Int REF  a, const int b) 
-{ Int r(a); r *= b; return r; }
-INLINE Int  operator /  (const Int REF  a, const int b) 
-{ Int r(a); r /= b; return r; }
-INLINE Int  operator %  (const Int REF  a, const int b) 
-{ Int r(a); r %= b; return r; }
-INLINE Int  operator << (const Int REF  a, const int b) 
-{ Int r(a); r <<= b; return r; }
-INLINE Int  operator >> (const Int REF  a, const int b) 
-{ Int r(a); r >>= b; return r; }
-INLINE Int  operator &  (const Int REF  a, const int b) 
-{ Int r(a); r &= b; return r; }
-INLINE Int  operator |  (const Int REF  a, const int b) 
-{ Int r(a); r |= b; return r; }
-INLINE Int  operator ^  (const Int REF  a, const int b) 
-{ Int r(a); r ^= b; return r; }
-
-INLINE Int  operator +  (const int a, const Int REF  b) 
-{ Int r(a); r += b.Int::val(); return r; }
-INLINE Int  operator -  (const int a, const Int REF  b) 
-{ Int r(a); r -= b.Int::val(); return r; }
-INLINE Int  operator *  (const int a, const Int REF  b) 
-{ Int r(a); r *= b.Int::val(); return r; }
-INLINE Int  operator /  (const int a, const Int REF  b) 
-{ Int r(a); r /= b.Int::val(); return r; }
-INLINE Int  operator %  (const int a, const Int REF  b) 
-{ Int r(a); r %= b.Int::val(); return r; }
-INLINE Int  operator << (const int a, const Int REF  b) 
-{ Int r(a); r <<= b.Int::val(); return r; }
-INLINE Int  operator >> (const int a, const Int REF  b) 
-{ Int r(a); r >>= b.Int::val(); return r; }
-INLINE Int  operator &  (const int a, const Int REF  b) 
-{ Int r(a); r &= b.Int::val(); return r; }
-INLINE Int  operator |  (const int a, const Int REF  b) 
-{ Int r(a); r |= b.Int::val(); return r; }
-INLINE Int  operator ^  (const int a, const Int REF  b) 
-{ Int r(a); r ^= b.Int::val(); return r; }
-
-#else
-
-INLINE Int  operator -  (const Int REF  a) return r(a)
-{ r.negate();  }
-INLINE Int  operator ~  (const Int REF  a) return r(a)
-{ r.complement();  }
-
-INLINE Int  operator +  (const Int REF  a, const Int REF  b) return r(a)
-{ r += b.Int::val();  }
-INLINE Int  operator -  (const Int REF  a, const Int REF  b) return r(a)
-{ r -= b.Int::val();  }
-INLINE Int  operator *  (const Int REF  a, const Int REF  b) return r(a)
-{ r *= b.Int::val();  }
-INLINE Int  operator /  (const Int REF  a, const Int REF  b) return r(a)
-{ r /= b.Int::val();  }
-INLINE Int  operator %  (const Int REF  a, const Int REF  b) return r(a)
-{ r %= b.Int::val();  }
-INLINE Int  operator << (const Int REF  a, const Int REF  b) return r(a)
-{ r <<= b.Int::val();  }
-INLINE Int  operator >> (const Int REF  a, const Int REF  b) return r(a)
-{ r >>= b.Int::val();  }
-INLINE Int  operator &  (const Int REF  a, const Int REF  b) return r(a)
-{ r &= b.Int::val();  }
-INLINE Int  operator |  (const Int REF  a, const Int REF  b) return r(a)
-{ r |= b.Int::val();  }
-INLINE Int  operator ^  (const Int REF  a, const Int REF  b) return r(a)
-{ r ^= b.Int::val();  }
-
-INLINE Int  operator +  (const Int REF  a, const int b) return r(a)
-{ r += b;  }
-INLINE Int  operator -  (const Int REF  a, const int b) return r(a)
-{ r -= b;  }
-INLINE Int  operator *  (const Int REF  a, const int b) return r(a)
-{ r *= b;  }
-INLINE Int  operator /  (const Int REF  a, const int b) return r(a)
-{ r /= b;  }
-INLINE Int  operator %  (const Int REF  a, const int b) return r(a)
-{ r %= b;  }
-INLINE Int  operator << (const Int REF  a, const int b) return r(a)
-{ r <<= b;  }
-INLINE Int  operator >> (const Int REF  a, const int b) return r(a)
-{ r >>= b;  }
-INLINE Int  operator &  (const Int REF  a, const int b) return r(a)
-{ r &= b;  }
-INLINE Int  operator |  (const Int REF  a, const int b) return r(a)
-{ r |= b;  }
-INLINE Int  operator ^  (const Int REF  a, const int b) return r(a)
-{ r ^= b;  }
-
-INLINE Int  operator +  (const int a, const Int REF  b) return r(a)
-{ r += b.Int::val();  }
-INLINE Int  operator -  (const int a, const Int REF  b) return r(a)
-{ r -= b.Int::val();  }
-INLINE Int  operator *  (const int a, const Int REF  b) return r(a)
-{ r *= b.Int::val();  }
-INLINE Int  operator /  (const int a, const Int REF  b) return r(a)
-{ r /= b.Int::val();  }
-INLINE Int  operator %  (const int a, const Int REF  b) return r(a)
-{ r %= b.Int::val();  }
-INLINE Int  operator << (const int a, const Int REF  b) return r(a)
-{ r <<= b.Int::val();  }
-INLINE Int  operator >> (const int a, const Int REF  b) return r(a)
-{ r >>= b.Int::val();  }
-INLINE Int  operator &  (const int a, const Int REF  b) return r(a)
-{ r &= b.Int::val();  }
-INLINE Int  operator |  (const int a, const Int REF  b) return r(a)
-{ r |= b.Int::val();  }
-INLINE Int  operator ^  (const int a, const Int REF  b) return r(a)
-{ r ^= b.Int::val();  }
-
-#endif
-
-INLINE int  operator !  (const Int REF  a) { return !a.Int::val(); }
-
-INLINE int  operator == (const Int REF  a, const Int REF  b) 
-{ return a.Int::val() == b.Int::val(); }
-INLINE int  operator != (const Int REF  a, const Int REF  b) 
-{ return a.Int::val() != b.Int::val(); }
-INLINE int  operator <  (const Int REF  a, const Int REF  b) 
-{ return a.Int::val() <  b.Int::val(); }
-INLINE int  operator <= (const Int REF  a, const Int REF  b) 
-{ return a.Int::val() <= b.Int::val(); }
-INLINE int  operator >  (const Int REF  a, const Int REF  b) 
-{ return a.Int::val() >  b.Int::val(); }
-INLINE int  operator >= (const Int REF  a, const Int REF  b) 
-{ return a.Int::val() >= b.Int::val(); }
-
-INLINE int  operator == (const Int REF  a, const int b) 
-{ return a.Int::val() == b; }
-INLINE int  operator != (const Int REF  a, const int b) 
-{ return a.Int::val() != b; }
-INLINE int  operator <  (const Int REF  a, const int b) 
-{ return a.Int::val() <  b; }
-INLINE int  operator <= (const Int REF  a, const int b) 
-{ return a.Int::val() <= b; }
-INLINE int  operator >  (const Int REF  a, const int b) 
-{ return a.Int::val() >  b; }
-INLINE int  operator >= (const Int REF  a, const int b) 
-{ return a.Int::val() >= b; }
-
-INLINE int  operator == (const int a, const Int REF  b) 
-{ return a == b.Int::val(); }
-INLINE int  operator != (const int a, const Int REF  b) 
-{ return a != b.Int::val(); }
-INLINE int  operator <  (const int a, const Int REF  b) 
-{ return a <  b.Int::val(); }
-INLINE int  operator <= (const int a, const Int REF  b) 
-{ return a <= b.Int::val(); }
-INLINE int  operator >  (const int a, const Int REF  b) 
-{ return a >  b.Int::val(); }
-INLINE int  operator >= (const int a, const Int REF  b) 
-{ return a >= b.Int::val(); }
-
-#endif
-#if 0
-#endif
-
-typedef Int	OneToFifty;
-
-void Proc0();
-void Proc7(OneToFifty IntParI1, OneToFifty IntParI2, OneToFifty *IntParOut);
-
-
-main()
-{
-	Proc0();
-	exit(0);
-}
-
-void Proc0()
-{
-	OneToFifty		IntLoc1;
-	OneToFifty		IntLoc2;
-	OneToFifty		IntLoc3;
-	{
-
-		IntLoc1 = 2;
-		IntLoc2 = 3;
-		while (IntLoc1 < IntLoc2)
-		{
-			IntLoc3 = 5 * IntLoc1 - IntLoc2;
-			Proc7(IntLoc1, IntLoc2, &IntLoc3);
-			++IntLoc1;
-		}
-	}
-
-}
-
-
-void Proc7(OneToFifty IntParI1, OneToFifty IntParI2, OneToFifty *IntParOut)
-{
-	OneToFifty	IntLoc;
-
-	IntLoc = IntParI1 + 2;
-	*IntParOut = IntParI2 + IntLoc;
-}
diff --new-file -ur egcs.old/libg++/gperf/src/key-list.cc egcs.new/libg++/gperf/src/key-list.cc
--- egcs.old/libg++/gperf/src/key-list.cc	Sat Jun 24 14:40:37 1995
+++ egcs.new/libg++/gperf/src/key-list.cc	Mon Nov 10 10:42:57 1997
@@ -164,6 +164,7 @@
    of characters not from REJECT (borrowed from Henry Spencer's
    ANSI string package, when GNU libc comes out I'll replace this...). */
 
+#ifndef strcspn
 inline int
 Key_List::strcspn (const char *s, const char *reject)
 {
@@ -184,6 +185,7 @@
 
   return count;
 }
+#endif
 
 /* Sets up the Return_Type, the Struct_Tag type and the Array_Type
    based upon various user Options. */
diff --new-file -ur egcs.old/libg++/gperf/src/key-list.h egcs.new/libg++/gperf/src/key-list.h
--- egcs.old/libg++/gperf/src/key-list.h	Sat Jun 24 09:45:24 1995
+++ egcs.new/libg++/gperf/src/key-list.h	Mon Nov 10 10:41:41 1997
@@ -52,7 +52,9 @@
   int         total_keys;                            /* Total number of keys, counting duplicates. */
   static int  determined[ALPHA_SIZE];                /* Used in function reorder, below. */
   static int  get_occurrence (List_Node *ptr);
+#ifndef strcspn
   static int  strcspn (const char *s, const char *reject);
+#endif
   static int  already_determined (List_Node *ptr);
   static void set_determined (List_Node *ptr);
   void        output_min_max (void);
diff --new-file -ur egcs.old/libg++/tests/Makefile.sh egcs.new/libg++/tests/Makefile.sh
--- egcs.old/libg++/tests/Makefile.sh	Thu Feb 29 11:40:06 1996
+++ egcs.new/libg++/tests/Makefile.sh	Sun Nov 23 17:32:12 1997
@@ -91,15 +91,17 @@
 
 # Comment this out if your compiler doesn't handle templates:
 CHECK_TEMPLATES=check-templates
-
-tests checktests: clean_tests test_h \
-  check-tObstack check-tString check-tInteger \
+CHECKS=check-tObstack check-tString check-tInteger \
   check-tRational check-tBitSet check-tBitString \
   check-tFix check-tFix16 check-tFix24 check-tGetOpt \
   check-tList check-tPlex check-tLList check-tVec \
   check-tStack check-tQueue check-tDeque check-tPQ \
   check-tSet check-tBag check-tMap $(CHECK_TEMPLATES)
+
+tests checktests: test_h $(CHECKS)
 	./test_h
+
+$(CHECKS): clean_tests
 
 check-templates: check-tiLList
 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: A new libg++ addon for egcs
  1997-12-10 10:58 ` A new libg++ addon for egcs H.J. Lu
@ 1997-12-11 10:01   ` Lee Iverson
  1997-12-11 16:11     ` H.J. Lu
  0 siblings, 1 reply; 4+ messages in thread
From: Lee Iverson @ 1997-12-11 10:01 UTC (permalink / raw)
  To: egcs; +Cc: Sven Verdoolaege

In message < m0xfrIK-0004ecC@ocean.lucon.org > you write:
> 
> Here is the patch for libg++-2.8.0b6.3 to bring it to 2.8.0b6.4. 
> libg++-2.8.0b6.4 is at ftp://ftp.yggdrasil.com/private/hjl .

The following is also needed (gxx_includedir -> gxx_include_dir):

*** Makefile.in.~1~	Fri Oct 10 15:52:49 1997
--- Makefile.in	Fri Dec  5 14:05:27 1997
*************** installcheck: check
*** 148,152 ****
  .stmp-genclass: $(BUILD_LIBS)
  	@rootme=`pwd`/ ; export rootme ; cd genclass ; \
! 	  $(MAKE) $(FLAGS_TO_PASS) "gxx_includedir=$(gxx_includedir)"
  	touch $@
  
--- 148,152 ----
  .stmp-genclass: $(BUILD_LIBS)
  	@rootme=`pwd`/ ; export rootme ; cd genclass ; \
! 	  $(MAKE) $(FLAGS_TO_PASS) "gxx_include_dir=$(gxx_include_dir)"
  	touch $@
  
*************** installcheck: check
*** 184,189 ****
  .PHONY: install
  install:
! 	@if [ -f $(gxx_includedir)/unistd.h ] ; then echo; \
! 	  echo '*** You seem to have files in $(gxx_includedir)/g++-include'; \
  	  echo '*** left over from an old release of libg++.  These must be removed.'; \
  	  echo '*** Please see $(srcdir)/README for more information.'; \
--- 184,189 ----
  .PHONY: install
  install:
! 	@if [ -f $(gxx_include_dir)/unistd.h ] ; then echo; \
! 	  echo '*** You seem to have files in $(gxx_include_dir)/g++-include'; \
  	  echo '*** left over from an old release of libg++.  These must be removed.'; \
  	  echo '*** Please see $(srcdir)/README for more information.'; \
*************** install:
*** 215,219 ****
  		if [ -d $$D ] ; then \
  			(rootme=`pwd`/ ; export rootme ; cd $$D;\
! 			  $(MAKE) $(FLAGS_TO_PASS) "gxx_includedir=$(gxx_includedir)" install) ; \
  		else true ; \
  		fi ; \
--- 215,219 ----
  		if [ -d $$D ] ; then \
  			(rootme=`pwd`/ ; export rootme ; cd $$D;\
! 			  $(MAKE) $(FLAGS_TO_PASS) "gxx_include_dir=$(gxx_include_dir)" install) ; \
  		else true ; \
  		fi ; \
*** genclass/Makefile.in.~1~	Sat Mar 11 11:42:33 1995
--- genclass/Makefile.in	Fri Dec  5 14:05:36 1997
*************** srcdir = .
*** 8,12 ****
  genclass: $(srcdir)/genclass.sh
  	echo "/^PROTODIR=/c\\" > sedscript
! 	echo "PROTODIR=$$\{PROTODIR-$(gxx_includedir)/gen\}" >> sedscript
  	sed <../Makefile -n -e '/VERSION/s/LIBG++_DIST_VERSION *= *\(.*\)/s|<VERSION>|\1|/p' >> sedscript
  	sed -f sedscript < $(srcdir)/genclass.sh > genclass.tmp
--- 8,12 ----
  genclass: $(srcdir)/genclass.sh
  	echo "/^PROTODIR=/c\\" > sedscript
! 	echo "PROTODIR=$$\{PROTODIR-$(gxx_include_dir)/gen\}" >> sedscript
  	sed <../Makefile -n -e '/VERSION/s/LIBG++_DIST_VERSION *= *\(.*\)/s|<VERSION>|\1|/p' >> sedscript
  	sed -f sedscript < $(srcdir)/genclass.sh > genclass.tmp
*** src/Makefile.in.~1~	Tue Sep 23 19:19:34 1997
--- src/Makefile.in	Fri Dec  5 14:04:22 1997
*************** install:
*** 68,75 ****
  	if [ -z "$(MULTISUBDIR)" ]; then \
  	  for FILE in `(cd ${srcdir}; echo *.h gen/*.ccP gen/*.hP)`; do \
! 	    rm -f $(gxx_includedir)/$$FILE ; \
! 	    $(INSTALL_DATA) ${srcdir}/$$FILE $(gxx_includedir)/$$FILE \
  	      || exit 1; \
! 	    chmod a-x,a+r $(gxx_includedir)/$$FILE ; \
  	  done ; \
  	else true ; \
--- 68,75 ----
  	if [ -z "$(MULTISUBDIR)" ]; then \
  	  for FILE in `(cd ${srcdir}; echo *.h gen/*.ccP gen/*.hP)`; do \
! 	    rm -f $(gxx_include_dir)/$$FILE ; \
! 	    $(INSTALL_DATA) ${srcdir}/$$FILE $(gxx_include_dir)/$$FILE \
  	      || exit 1; \
! 	    chmod a-x,a+r $(gxx_include_dir)/$$FILE ; \
  	  done ; \
  	else true ; \

-------------------------------------------------------------------------------
Lee Iverson     		SRI International
leei@ai.sri.com			333 Ravenswood Ave., Menlo Park CA 94025
http://www.ai.sri.com/~leei/	(650) 859-3307

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: A new libg++ addon for egcs
  1997-12-11 10:01   ` Lee Iverson
@ 1997-12-11 16:11     ` H.J. Lu
  1997-12-14  7:48       ` Neal Becker
  0 siblings, 1 reply; 4+ messages in thread
From: H.J. Lu @ 1997-12-11 16:11 UTC (permalink / raw)
  To: egcs

> 
> In message < m0xfrIK-0004ecC@ocean.lucon.org > you write:
> > 
> > Here is the patch for libg++-2.8.0b6.3 to bring it to 2.8.0b6.4. 
> > libg++-2.8.0b6.4 is at ftp://ftp.yggdrasil.com/private/hjl .
> 
> The following is also needed (gxx_includedir -> gxx_include_dir):
> 

Thanks.

H.J.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: A new libg++ addon for egcs
  1997-12-11 16:11     ` H.J. Lu
@ 1997-12-14  7:48       ` Neal Becker
  0 siblings, 0 replies; 4+ messages in thread
From: Neal Becker @ 1997-12-14  7:48 UTC (permalink / raw)
  To: hjl, egcs

Thanks so much!  It worked perfectly.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~1997-12-14  7:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <19971210131621.13050@breughel.ufsia.ac.be>
1997-12-10 10:58 ` A new libg++ addon for egcs H.J. Lu
1997-12-11 10:01   ` Lee Iverson
1997-12-11 16:11     ` H.J. Lu
1997-12-14  7:48       ` Neal Becker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).