
This is required on gcc-3.4 because some STL macros have changed name
and without this patch you get "'vector_delete' undeclared".

diff -ur ardour-0.9beta16.1.old/libs/pbd/pbd/stl_delete.h ardour-0.9beta16.1/libs/pbd/pbd/stl_delete.h
--- ardour-0.9beta16.1.old/libs/pbd/pbd/stl_delete.h	2004-05-21 04:43:47.000000000 +0200
+++ ardour-0.9beta16.1/libs/pbd/pbd/stl_delete.h	2004-06-14 22:49:16.742645512 +0200
@@ -24,7 +24,7 @@
 /* To actually use any of these deletion functions, you need to
    first include the revelant container type header.
 */
-#if defined(_CPP_VECTOR) || defined(__SGI_STL_VECTOR)
+#if defined(_CPP_VECTOR) || defined(_GLIBCXX_VECTOR) || defined(__SGI_STL_VECTOR)
 template<class T> void vector_delete (std::vector<T *> *vec) 
 {
 	typename std::vector<T *>::iterator i;
@@ -34,9 +34,9 @@
 	}
 	vec->clear ();
 }
-#endif // _CPP_VECTOR || __SGI_STL_VECTOR
+#endif // _CPP_VECTOR || _GLIBCXX_VECTOR || __SGI_STL_VECTOR
 
-#if defined(_CPP_MAP) || defined(__SGI_STL_MAP)
+#if defined(_CPP_MAP) || defined(_GLIBCXX_MAP) || defined(__SGI_STL_MAP)
 template<class K, class T> void map_delete (std::map<K, T *> *m) 
 {
 	typename std::map<K, T *>::iterator i;
@@ -46,9 +46,9 @@
 	}
 	m->clear ();
 }
-#endif // _CPP_MAP || __SGI_STL_MAP
+#endif // _CPP_MAP || _GLIBCXX_MAP || __SGI_STL_MAP
 
-#if defined(_CPP_LIST) || defined(__SGI_STL_LIST)
+#if defined(_CPP_LIST) || defined(_GLIBCXX_LIST) || defined(__SGI_STL_LIST)
 template<class T> void list_delete (std::list<T *> *l) 
 {
 	typename std::list<T *>::iterator i;
@@ -59,9 +59,9 @@
 
 	l->clear ();
 }
-#endif // _CPP_LIST || __SGI_STL_LIST
+#endif // _CPP_LIST || _GLIBCXX_LIST || __SGI_STL_LIST
 
-#if defined(_CPP_SLIST) || defined(__SGI_STL_SLIST)
+#if defined(_CPP_SLIST) || defined(_GLIBCXX_SLIST) || defined(__SGI_STL_SLIST)
 template<class T> void slist_delete (std::slist<T *> *l) 
 {
 	typename std::slist<T *>::iterator i;
@@ -72,9 +72,9 @@
 
 	l->clear ();
 }
-#endif // _CPP_SLIST || __SGI_STL_SLIST
+#endif // _CPP_SLIST || _GLIBCXX_SLIST || __SGI_STL_SLIST
 
-#if defined(_CPP_SET) || defined(__SGI_STL_SET)
+#if defined(_CPP_SET) || defined(_GLIBCXX_SET) || defined(__SGI_STL_SET)
 template<class T> void set_delete (std::set<T *> *sset) 
 {
 	typename std::set<T *>::iterator i;
@@ -84,6 +84,6 @@
 	}
 	sset->erase (sset->begin(), sset->end());
 }
-#endif // _CPP_SET || __SGI_STL_SET
+#endif // _CPP_SET || _GLIBCXX_SET || __SGI_STL_SET
 
 #endif // __libmisc_stl_delete_h__
