stlport
Stephen Montgomery-Smith
stephen at math.missouri.edu
Sun Nov 18 18:56:57 PST 2007
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
-------------- next part --------------
--- 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
More information about the freebsd-ports
mailing list