diff options
-rw-r--r-- | mk/bsd.pkg.mk | 10 | ||||
-rw-r--r-- | mk/dlopen.buildlink3.mk | 35 |
2 files changed, 44 insertions, 1 deletions
diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk index cf47afa2595..ca3c7f77859 100644 --- a/mk/bsd.pkg.mk +++ b/mk/bsd.pkg.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.pkg.mk,v 1.1540 2004/11/17 22:55:14 jlam Exp $ +# $NetBSD: bsd.pkg.mk,v 1.1541 2004/11/25 21:33:36 jlam Exp $ # # This file is in the public domain. # @@ -349,6 +349,14 @@ MAKEFLAGS+= PERL5_ARCHLIB=${PERL5_ARCHLIB:Q} . endif # !defined(PERL5_*) .endif # USE_PERL5 == run +# _DLOPEN_REQUIRE_PTHREADS is defined by dlopen.buildlink3.mk. +.if defined(_DLOPEN_REQUIRE_PTHREADS) && \ + !empty(_DLOPEN_REQUIRE_PTHREADS:M[yY][eE][sS]) +. if !empty(USE_BUILDLINK3:M[yY][eE][sS]) +. include "../../mk/pthread.buildlink3.mk" +. endif +.endif + .if defined(USE_FORTRAN) . if !exists(/usr/bin/f77) PKG_FC?= f2c-f77 diff --git a/mk/dlopen.buildlink3.mk b/mk/dlopen.buildlink3.mk new file mode 100644 index 00000000000..40907688e82 --- /dev/null +++ b/mk/dlopen.buildlink3.mk @@ -0,0 +1,35 @@ +# $NetBSD: dlopen.buildlink3.mk,v 1.1 2004/11/25 21:33:37 jlam Exp $ +# +# This Makefile fragment is included by package Makefiles and +# buildlink3.mk files for the packages that use dlopen(). +# +# DLOPEN_REQUIRE_PTHREADS is a user- and package-settable yes/no variable +# whose value decides whether pthread.buildlink3.mk is automatically +# included or not. Its default value depends on whether native +# pthreads exist. +# +# Including pthread.buildlink3.mk is deferred until bsd.pkg.mk. + +.include "../../mk/bsd.prefs.mk" + +# The following platforms require pthreads to be linked into the +# application if it uses dlopen() or else the applications will core +# dump when they dlopen a shared module that _is_ linked with pthread +# support. +# +_DLOPEN_REQUIRE_PTHREAD_PLATFORMS= \ + NetBSD-2.[0-9] NetBSD-2.[0-8][0-9]* NetBSD-2.9[0-8]* \ + NetBSD-2.99.[0-9] NetBSD-2.99.10 + +_DLOPEN_REQUIRE_PTHREADS?= no +.for _pattern_ in ${_DLOPEN_REQUIRE_PTHREAD_PLATFORMS} +. if !empty(MACHINE_PLATFORM:${_pattern_}) +_DLOPEN_REQUIRE_PTHREADS= yes +. endif +.endfor + +.if defined(DLOPEN_REQUIRE_PTHREADS) +_DLOPEN_REQUIRE_PTHREADS= ${DLOPEN_REQUIRE_PTHREADS} +.else +DLOPEN_REQUIRE_PTHREADS= ${_DLOPEN_REQUIRE_PTHREADS} +.endif |