- Respect USE_GCC=

- Make the library really threadsafe. This has been broken in CURRENT
  since the port exists.
- Add a gcc31 workaround
This commit is contained in:
Martin Blapp 2002-06-07 09:31:19 +00:00
parent 6d495a834a
commit d3b34bf04a
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=60757
4 changed files with 70 additions and 2 deletions

View File

@ -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>

View File

@ -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

View File

@ -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)

View File

@ -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