Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Nov 2007 20:56:50 -0600
From:      Stephen Montgomery-Smith <stephen@math.missouri.edu>
To:        FreeBSD Ports List <freebsd-ports@freebsd.org>
Subject:   stlport
Message-ID:  <4740FB72.5010206@math.missouri.edu>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------090900050108000702010709
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

I am trying to get the devel/stlport to work on FreeBSD 7.0.  A start is 
to add the line
USE_GCC=	3.4
in the appropriate place in the Makefile, but then it becomes clear that 
some additional change is needed to stlport/config/stl_gcc.h.  This file 
is the most convoluted mess of #if's I have ever seen.  The attached 
patch works on my particular system, but clearly it is a fudge and won't 
be universal to other situations.

Is anyone working on this?  If not, would you guys be kind enough to 
make my patch more proper?

Thanks,
Stephen

--------------090900050108000702010709
Content-Type: text/plain;
 name="patch-stlport::config::stl_gcc.h"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="patch-stlport::config::stl_gcc.h"

--- stlport/config/stl_gcc.h.orig	2003-11-02 02:59:11.000000000 -0600
+++ stlport/config/stl_gcc.h	2007-11-18 20:45:20.000000000 -0600
@@ -7,11 +7,20 @@
 # define _STLP_USE_GLIBC
 #endif
 
+#if !defined(__FreeBSD__) || (defined(__FreeBSD__) && (__FreeBSD_cc_version < 530001))
 #   define _STLP_NO_MEMBER_TEMPLATE_KEYWORD
+#endif
+
 
-# if defined(__FreeBSD__) || defined (__hpux) || defined(__amigaos__) || ( defined(__OS2__) && defined(__EMX__) )
+#if defined (__hpux) || defined(__amigaos__) || ( defined(__OS2__) && defined(__EMX__) )
+# define _STLP_NO_WCHAR_T
+#elif defined(__FreeBSD__)
+# if (__FreeBSD_cc_version < 500005)
 #  define _STLP_NO_WCHAR_T
-# endif
+# else
+#  define _STLP_FREEBSD_HAS_WFUNCS
+# endif /* __FreeBSD_cc_version < 500005 */
+#endif
 
 #ifdef __USLC__
 # include <config/stl_sco.h>
@@ -81,7 +90,7 @@
 
 # endif
 
-#if defined (__CYGWIN__) || defined (__MINGW32__) || !(defined (_STLP_USE_GLIBC) || defined (__sun)) 
+#if defined (__CYGWIN__) || defined (__MINGW32__) || !(defined (_STLP_USE_GLIBC) || defined (_STLP_FREEBSD_HAS_WFUNCS) || defined (__sun)) 
 #ifndef __MINGW32__
 #   define _STLP_NO_NATIVE_MBSTATE_T      1
 #endif
@@ -267,12 +276,15 @@
 #   define _STLP_NATIVE_INCLUDE_PATH ../g++-v3
 #   define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../g++-v3/backward
 #  else
-#   if defined(__GNUC_PATCHLEVEL__) && (__GNUC_PATCHLEVEL__ > 0)
+#   if defined(__GNUC_PATCHLEVEL__) && (__GNUC_PATCHLEVEL__ > 0) && !defined(__FreeBSD__)
 #     define _STLP_NATIVE_INCLUDE_PATH ../__GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__
 #     define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../__GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__/backward
 #   else
-#     define _STLP_NATIVE_INCLUDE_PATH ../__GNUC__.__GNUC_MINOR__
-#     define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../__GNUC__.__GNUC_MINOR__/backward
+#     define tempi386 i386
+#     undef i386
+#     define _STLP_NATIVE_INCLUDE_PATH /usr/local/lib/gcc/i386-portbld-freebsd7.0/3.4.6/include/c++
+#     define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH /usr/local/lib/gcc/i386-portbld-freebsd7.0/3.4.6/include/c++
+#     define i386 tempi386
 #   endif
 #  endif
 
@@ -371,6 +383,6 @@
 #   define _STLP_STATIC_TEMPLATE_DATA 1
 # endif
 
-
+#define _STLP_NO_MEMBER_TEMPLATE_CLASSES
 
 

--------------090900050108000702010709--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4740FB72.5010206>