--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/opensp/patches/opensp-01-studio.patch Fri Sep 18 07:09:02 2015 -0700
@@ -0,0 +1,84 @@
+# Existing set of patches from the desktop gate for building with Studio
+# Since this is for our build, probably not something we can get upstream.
+
+--- OpenSP-1.5.1/configure.in-orig 2003-09-03 10:34:16.000000000 -0500
++++ OpenSP-1.5.1/configure.in 2009-01-22 16:07:11.334969000 -0600
+@@ -163,8 +163,8 @@ AH_BOTTOM([
+ #endif /* HAVE_PATHNAME_STYLE_DOS */
+
+ #ifdef HAVE_INSTANTIATIONS
+-#ifndef SP_ANSI_CLASS_INST
+-#define SP_ANSI_CLASS_INST
++#ifdef SP_ANSI_CLASS_INST
++#undef SP_ANSI_CLASS_INST
+ #endif
+ #endif /* HAVE_INSTANTIATIONS */
+
+@@ -352,14 +355,8 @@ dnl FIXME these need tests for non-GNU c
+ ac_cv_c_gnu_automatic_templates=yes,
+ ac_cv_c_gnu_automatic_templates=no)
+ ])
+- if test "$ac_cv_c_gnu_automatic_templates" = yes; then
+- AC_DEFINE(SP_DEFINE_TEMPLATES,1,
++ AC_DEFINE(SP_DEFINE_TEMPLATES,1,
+ [define this to include template definitions in the headers])
+- else
+- AC_DEFINE(SP_MANUAL_INST,1,
+- [define this to compile explicit template instantiations])
+- CXXFLAGS="$CXXFLAGS -fno-implicit-templates"
+- fi
+ AC_CACHE_CHECK(whether GNU C++ links with libg++ if we include new.h,
+ ac_cv_cxx_gnu_avoid_new_h,
+ [AC_EGREP_CPP(yes,[
+--- OpenSP.orig/lib/SearchResultMessageArg.cxx Tue Dec 23 21:21:50 2003
++++ OpenSP/lib/SearchResultMessageArg.cxx Tue Dec 23 22:51:41 2003
+@@ -12,7 +12,7 @@
+ namespace SP_NAMESPACE {
+ #endif
+
+-RTTI_DEF1(SearchResultMessageArg, OtherMessageArg);
++RTTI_DEF1(SearchResultMessageArg, OtherMessageArg)
+
+ SearchResultMessageArg::SearchResultMessageArg()
+ {
+--- OpenSP-1.5.1/sx/XmlOutputEventHandler.cxx.orig Thu Sep 29 09:08:41 2005
++++ OpenSP-1.5.1/sx/XmlOutputEventHandler.cxx Thu Sep 29 09:12:14 2005
+@@ -106,7 +106,7 @@
+ // Open file for writing external entity declarations if we are preserving
+ // any entities
+ if (! options_.expExt) {
+- ParserApp::AppChar filePath[strlen(outputDir_) + 21];
++ char *filePath = (char *)malloc (strlen(outputDir_) + 21);
+ strcpy (filePath, outputDir_);
+ strcat (filePath, "/");
+ strcat (filePath, EXT_ENT_FILE);
+@@ -140,7 +140,7 @@
+ // Open file for writing external entity declarations if we are preserving
+ // any entities
+ if (! options_.expInt) {
+- char filePath[strlen(outputDir_) + 21];
++ char *filePath = (char *)malloc (strlen(outputDir_) + 21);
+ strcpy (filePath, outputDir_);
+ strcat (filePath, "/");
+ strcat (filePath, INT_ENT_FILE);
+@@ -1153,9 +1153,9 @@
+ becomes ./usr/local/lib/ents/foo.xml; possible 2-digit
+ suffix (for uniqueness) */
+
+- char filePath[strlen(outputDir_) + 9 +
++ char *filePath = (char *)malloc (strlen(outputDir_) + 9 +
+ outputCodingSystem->convertOut
+- (*systemIdPointer).size()];
++ (*systemIdPointer).size());
+
+ strcpy (filePath, outputDir_);
+
+@@ -1505,7 +1505,7 @@
+ */
+ void XmlOutputEventHandler::uniqueFilename(char *filePath) {
+
+- char baseFilePath[strlen(filePath)];
++ char *baseFilePath = (char *)malloc (strlen(filePath));
+ strcpy (baseFilePath, filePath);
+
+ struct stat statbuf;