aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormbr <mbr@FreeBSD.org>2002-06-07 17:31:19 +0800
committermbr <mbr@FreeBSD.org>2002-06-07 17:31:19 +0800
commitbb7a9a0ac5a984641b41b8aa3c987d059c4c2a69 (patch)
treec847013dfb503aeab8a010fb30d3d59151731382
parent393f19368d2603a55c4dc059e038caa379792c7f (diff)
downloadfreebsd-ports-gnome-bb7a9a0ac5a984641b41b8aa3c987d059c4c2a69.tar.gz
freebsd-ports-gnome-bb7a9a0ac5a984641b41b8aa3c987d059c4c2a69.tar.zst
freebsd-ports-gnome-bb7a9a0ac5a984641b41b8aa3c987d059c4c2a69.zip
- Respect USE_GCC=
- Make the library really threadsafe. This has been broken in CURRENT since the port exists. - Add a gcc31 workaround
-rw-r--r--devel/stlport/Makefile9
-rw-r--r--devel/stlport/files/patch-src::gcc-freebsd.mak22
-rw-r--r--devel/stlport/files/patch-stlport::stdexcept14
-rw-r--r--devel/stlport/files/patch-test::eh::gcc-freebsd.mak27
4 files changed, 70 insertions, 2 deletions
diff --git a/devel/stlport/Makefile b/devel/stlport/Makefile
index 29d0af12d207..f88222e51793 100644
--- a/devel/stlport/Makefile
+++ b/devel/stlport/Makefile
@@ -24,7 +24,9 @@ WRKSRC= ${WRKDIR}/STLport-${PORTVERSION:S/.b/b/}/src
PATCH_WRKSRC= ${WRKDIR}/STLport-${PORTVERSION:S/.b/b/}
USE_GMAKE= yes
MAKEFILE= gcc-freebsd.mak
-MAKE_ARGS= INSTALLDIR=${PREFIX}
+MAKE_ARGS+= INSTALLDIR=${PREFIX} PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
+ PTHREAD_LIBS=${PTHREAD_LIBS}
+
INSTALL_TARGET= install_unix
INSTALLS_SHLIB= yes
@@ -41,6 +43,9 @@ post-install:
.endif
post-build test:
- cd ${WRKSRC}/../test/eh && ${GMAKE} -f ${MAKEFILE}
+ cd ${WRKSRC}/../test/eh && ${SETENV} CC=${CC} CXX=${CXX} \
+ ${GMAKE} -f ${MAKEFILE} PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
+ PTHREAD_LIBS=${PTHREAD_LIBS} PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
+ PTHREAD_LIBS=${PTHREAD_LIBS} CC=${CC} CXX=${CXX}
.include <bsd.port.post.mk>
diff --git a/devel/stlport/files/patch-src::gcc-freebsd.mak b/devel/stlport/files/patch-src::gcc-freebsd.mak
new file mode 100644
index 000000000000..91bcfb044902
--- /dev/null
+++ b/devel/stlport/files/patch-src::gcc-freebsd.mak
@@ -0,0 +1,22 @@
+--- src/gcc-freebsd.mak.orig Fri Jun 7 10:08:47 2002
++++ src/gcc-freebsd.mak Fri Jun 7 10:12:33 2002
+@@ -5,8 +5,8 @@
+ #
+ # compiler
+ #
+-CC = gcc -pthread
+-CXX = c++ -pthread -fexceptions
++CC+= ${PTHREAD_CFLAGS}
++CXX+= ${PTHREAD_CFLAGS} -fexceptions
+
+ #
+ # Basename for libraries
+@@ -19,7 +19,7 @@
+ #
+ LINK=ar cr
+ # 2.95 flag
+-DYN_LINK=c++ -pthread -fexceptions -shared -o
++DYN_LINK=$(CXX) ${PTHREAD_LIBS} -shared -o
+
+ OBJEXT=o
+ DYNEXT=so
diff --git a/devel/stlport/files/patch-stlport::stdexcept b/devel/stlport/files/patch-stlport::stdexcept
new file mode 100644
index 000000000000..f4c963770380
--- /dev/null
+++ b/devel/stlport/files/patch-stlport::stdexcept
@@ -0,0 +1,14 @@
+--- stlport/stdexcept.orig Thu Jun 6 23:31:29 2002
++++ stlport/stdexcept Thu Jun 6 23:31:57 2002
+@@ -49,6 +49,11 @@
+
+ _STLP_BEGIN_NAMESPACE
+
++/* maybe limit to gcc 3.x */
++#if defined( __GNUC__)
++#define _STLP_NOTHROW_INHERENTLY throw()
++#endif
++
+ class _STLP_CLASS_DECLSPEC __Named_exception : public _STLP_EXCEPTION_BASE {
+ public:
+ __Named_exception(const string& __str)
diff --git a/devel/stlport/files/patch-test::eh::gcc-freebsd.mak b/devel/stlport/files/patch-test::eh::gcc-freebsd.mak
new file mode 100644
index 000000000000..9d3f83c0517a
--- /dev/null
+++ b/devel/stlport/files/patch-test::eh::gcc-freebsd.mak
@@ -0,0 +1,27 @@
+--- test/eh/gcc-freebsd.mak.orig Sat May 26 05:06:16 2001
++++ test/eh/gcc-freebsd.mak Fri Jun 7 11:25:25 2002
+@@ -34,20 +34,17 @@
+ D_TEST = ./eh_test_d.out
+ NOSGI_TEST = ./eh_test_nosgi.out
+
+-CC = c++ -pthread
+-CXX = $(CC)
+-
+ # dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS
+ # also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails
+ # in the assembler with 'invalid relocation type'
+-CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW
++CXXFLAGS= $(PTHREAD_CFLAGS) -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW
+
+-D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB
+-NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW
++D_CXXFLAGS = $(PTHREAD_CFLAGS) -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB
++NOSGI_CXXFLAGS = $(PTHREAD_CFLAGS) -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW
+
+ check: $(TEST)
+
+-LIBS = -lm
++LIBS = -lm $(PTHREAD_LIBS)
+ D_LIBSTLPORT = -L../../lib -lstlport_gcc_stldebug
+ LIBSTLPORT = -L../../lib -lstlport_gcc
+