diff mbox

[libdrm] configure.ac: bring back pthread-stubs check

Message ID 20170330170112.18519-1-emil.l.velikov@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Emil Velikov March 30, 2017, 5:01 p.m. UTC
Accidentally removed with earlier commit. Although rather than simply
adding the check for all platforms, use the same heuristics as we do in
mesa.

Namely: pthread-stubs is a thing only for BSD platforms. Everyone else
should have lightweight pthread API in their C runtime library.

Fixes: 4ecd1ef010b ("xf86drm: fix null termination of string buffer")
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
---
 configure.ac | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

Comments

Eric Engestrom March 30, 2017, 11:17 p.m. UTC | #1
On Thursday, 2017-03-30 18:01:12 +0100, Emil Velikov wrote:
> Accidentally removed with earlier commit. Although rather than simply
> adding the check for all platforms, use the same heuristics as we do in
> mesa.
> 
> Namely: pthread-stubs is a thing only for BSD platforms. Everyone else
> should have lightweight pthread API in their C runtime library.
> 
> Fixes: 4ecd1ef010b ("xf86drm: fix null termination of string buffer")
> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>

Reviewed-by: Eric Engestrom <eric@engestrom.ch>

> ---
>  configure.ac | 20 ++++++++++++++++----
>  1 file changed, 16 insertions(+), 4 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 9ac8929b..18b7e8ba 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -61,10 +61,22 @@ AC_CHECK_HEADERS([sys/sysctl.h sys/select.h])
>  LT_PREREQ([2.2])
>  LT_INIT([disable-static])
>  
> -
> -
> -AC_SUBST(PTHREADSTUBS_CFLAGS)
> -AC_SUBST(PTHREADSTUBS_LIBS)
> +dnl pthread-stubs is mandatory on BSD platforms, due to the nature of the
> +dnl project. Even then there's a notable issue as described in the project README
> +case "$host_os" in
> +linux* | cygwin* | darwin* | solaris* | gnu*)
> +    pthread_stubs_possible="no"
> +    ;;
> +* )
> +    pthread_stubs_possible="yes"
> +    ;;
> +esac
> +
> +if test "x$pthread_stubs_possible" = xyes; then
> +    PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs >= 0.4)
> +    AC_SUBST(PTHREADSTUBS_CFLAGS)
> +    AC_SUBST(PTHREADSTUBS_LIBS)
> +fi
>  
>  pkgconfigdir=${libdir}/pkgconfig
>  AC_SUBST(pkgconfigdir)
> -- 
> 2.11.1
>
Emil Velikov April 3, 2017, 5:06 p.m. UTC | #2
On 31 March 2017 at 00:17, Eric Engestrom <eric@engestrom.ch> wrote:
> On Thursday, 2017-03-30 18:01:12 +0100, Emil Velikov wrote:
>> Accidentally removed with earlier commit. Although rather than simply
>> adding the check for all platforms, use the same heuristics as we do in
>> mesa.
>>
>> Namely: pthread-stubs is a thing only for BSD platforms. Everyone else
>> should have lightweight pthread API in their C runtime library.
>>
>> Fixes: 4ecd1ef010b ("xf86drm: fix null termination of string buffer")
>> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
>
> Reviewed-by: Eric Engestrom <eric@engestrom.ch>
>
Thanks. Pushed to master.

-Emil
diff mbox

Patch

diff --git a/configure.ac b/configure.ac
index 9ac8929b..18b7e8ba 100644
--- a/configure.ac
+++ b/configure.ac
@@ -61,10 +61,22 @@  AC_CHECK_HEADERS([sys/sysctl.h sys/select.h])
 LT_PREREQ([2.2])
 LT_INIT([disable-static])
 
-
-
-AC_SUBST(PTHREADSTUBS_CFLAGS)
-AC_SUBST(PTHREADSTUBS_LIBS)
+dnl pthread-stubs is mandatory on BSD platforms, due to the nature of the
+dnl project. Even then there's a notable issue as described in the project README
+case "$host_os" in
+linux* | cygwin* | darwin* | solaris* | gnu*)
+    pthread_stubs_possible="no"
+    ;;
+* )
+    pthread_stubs_possible="yes"
+    ;;
+esac
+
+if test "x$pthread_stubs_possible" = xyes; then
+    PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs >= 0.4)
+    AC_SUBST(PTHREADSTUBS_CFLAGS)
+    AC_SUBST(PTHREADSTUBS_LIBS)
+fi
 
 pkgconfigdir=${libdir}/pkgconfig
 AC_SUBST(pkgconfigdir)