diff mbox

[libdrm] configure.ac: pthread-stubs not present on OpenBSD

Message ID 20180220102138.26ldb5agy6zpbcj3@imgtec.com (mailing list archive)
State New, archived
Headers show

Commit Message

Eric Engestrom Feb. 20, 2018, 10:21 a.m. UTC
On Tuesday, 2018-02-20 17:09:14 +1100, Jonathan Gray wrote:
> pthread-stubs is no longer required on OpenBSD and has been removed.
> libpthread parts involved moved to libc.

Great news!
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>

Note that meson needs the same change:
----8<----
---->8----

Do you have commit access, or do you want me to push this for you?
No need to send a v2, I'll add the meson bit when I push it, or you can
add it if you push it yourself.

> 
> Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
> ---
>  configure.ac | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 35378b33..d024fcd8 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -65,10 +65,10 @@ AC_CHECK_HEADERS([sys/sysctl.h sys/select.h])
>  LT_PREREQ([2.2])
>  LT_INIT([disable-static])
>  
> -dnl pthread-stubs is mandatory on BSD platforms, due to the nature of the
> +dnl pthread-stubs is mandatory on some 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* | gnu*)
> +linux* | cygwin* | darwin* | solaris* | *-gnu* | gnu* | openbsd*)
>      pthread_stubs_possible="no"
>      ;;
>  * )
> -- 
> 2.16.0
>

Comments

Jonathan Gray Feb. 20, 2018, 11:23 a.m. UTC | #1
On Tue, Feb 20, 2018 at 10:21:38AM +0000, Eric Engestrom wrote:
> On Tuesday, 2018-02-20 17:09:14 +1100, Jonathan Gray wrote:
> > pthread-stubs is no longer required on OpenBSD and has been removed.
> > libpthread parts involved moved to libc.
> 
> Great news!
> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
> 
> Note that meson needs the same change:
> ----8<----
> diff --git a/meson.build b/meson.build
> index d600a906948c0e680885..bd00cdc2cae9f0749180 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -35,8 +35,7 @@ with_install_tests = get_option('install-test-programs')
>  
>  config = configuration_data()
>  
> -# TODO: openbsd is guess, the others are correct
> -if ['freebsd', 'dragonfly', 'netbsd', 'openbsd'].contains(host_machine.system())
> +if ['freebsd', 'dragonfly', 'netbsd'].contains(host_machine.system())
>    dep_pthread_stubs = dependency('pthread-stubs', version : '>= 0.4')
>  else
>    dep_pthread_stubs = []
> ---->8----
> 
> Do you have commit access, or do you want me to push this for you?
> No need to send a v2, I'll add the meson bit when I push it, or you can
> add it if you push it yourself.

An almost identical patch was sent to the Mesa list.  I don't have
commit access to either repository so if you could push it that would be
great.

We can't take a build dependency on python for the xserver and related
parts in OpenBSD so I have no interest in meson and very much hope
autoconf remains otherwise it is back to writing custom makefiles for
everything.  The meson patch at least reads fine but I have not tried it.

> 
> > 
> > Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
> > ---
> >  configure.ac | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/configure.ac b/configure.ac
> > index 35378b33..d024fcd8 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -65,10 +65,10 @@ AC_CHECK_HEADERS([sys/sysctl.h sys/select.h])
> >  LT_PREREQ([2.2])
> >  LT_INIT([disable-static])
> >  
> > -dnl pthread-stubs is mandatory on BSD platforms, due to the nature of the
> > +dnl pthread-stubs is mandatory on some 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* | gnu*)
> > +linux* | cygwin* | darwin* | solaris* | *-gnu* | gnu* | openbsd*)
> >      pthread_stubs_possible="no"
> >      ;;
> >  * )
> > -- 
> > 2.16.0
> >
Eric Engestrom Feb. 20, 2018, 12:18 p.m. UTC | #2
On Tuesday, 2018-02-20 22:23:41 +1100, Jonathan Gray wrote:
> On Tue, Feb 20, 2018 at 10:21:38AM +0000, Eric Engestrom wrote:
> > On Tuesday, 2018-02-20 17:09:14 +1100, Jonathan Gray wrote:
> > > pthread-stubs is no longer required on OpenBSD and has been removed.
> > > libpthread parts involved moved to libc.
> > 
> > Great news!
> > Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
> > 
> > Note that meson needs the same change:
> > ----8<----
> > diff --git a/meson.build b/meson.build
> > index d600a906948c0e680885..bd00cdc2cae9f0749180 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -35,8 +35,7 @@ with_install_tests = get_option('install-test-programs')
> >  
> >  config = configuration_data()
> >  
> > -# TODO: openbsd is guess, the others are correct
> > -if ['freebsd', 'dragonfly', 'netbsd', 'openbsd'].contains(host_machine.system())
> > +if ['freebsd', 'dragonfly', 'netbsd'].contains(host_machine.system())
> >    dep_pthread_stubs = dependency('pthread-stubs', version : '>= 0.4')
> >  else
> >    dep_pthread_stubs = []
> > ---->8----
> > 
> > Do you have commit access, or do you want me to push this for you?
> > No need to send a v2, I'll add the meson bit when I push it, or you can
> > add it if you push it yourself.
> 
> An almost identical patch was sent to the Mesa list.  I don't have
> commit access to either repository so if you could push it that would be
> great.

Saw it and it is also r-b'ed; I'll push them later today :)

> 
> We can't take a build dependency on python for the xserver and related
> parts in OpenBSD so I have no interest in meson and very much hope
> autoconf remains otherwise it is back to writing custom makefiles for
> everything.

Hmm, the idea was to get rid of autotools when the meson.build files
have been tested enough, which sounds like it will be an issue for you.

What exactly is the blocker to using Meson on your side? Is it something
that just needs a bit of work, or something that can't be done because of
external factors (eg. some "scripting languages are not allowed" rule)?
You mention python, would a Meson implementation in an other language be
better for you guys?

> The meson patch at least reads fine but I have not tried it.
> 
> > 
> > > 
> > > Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
> > > ---
> > >  configure.ac | 4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/configure.ac b/configure.ac
> > > index 35378b33..d024fcd8 100644
> > > --- a/configure.ac
> > > +++ b/configure.ac
> > > @@ -65,10 +65,10 @@ AC_CHECK_HEADERS([sys/sysctl.h sys/select.h])
> > >  LT_PREREQ([2.2])
> > >  LT_INIT([disable-static])
> > >  
> > > -dnl pthread-stubs is mandatory on BSD platforms, due to the nature of the
> > > +dnl pthread-stubs is mandatory on some 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* | gnu*)
> > > +linux* | cygwin* | darwin* | solaris* | *-gnu* | gnu* | openbsd*)
> > >      pthread_stubs_possible="no"
> > >      ;;
> > >  * )
> > > -- 
> > > 2.16.0
> > >
Jonathan Gray Feb. 20, 2018, 1:14 p.m. UTC | #3
On Tue, Feb 20, 2018 at 12:18:45PM +0000, Eric Engestrom wrote:
> On Tuesday, 2018-02-20 22:23:41 +1100, Jonathan Gray wrote:
> > On Tue, Feb 20, 2018 at 10:21:38AM +0000, Eric Engestrom wrote:
> > > On Tuesday, 2018-02-20 17:09:14 +1100, Jonathan Gray wrote:
> > > > pthread-stubs is no longer required on OpenBSD and has been removed.
> > > > libpthread parts involved moved to libc.
> > > 
> > > Great news!
> > > Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
> > > 
> > > Note that meson needs the same change:
> > > ----8<----
> > > diff --git a/meson.build b/meson.build
> > > index d600a906948c0e680885..bd00cdc2cae9f0749180 100644
> > > --- a/meson.build
> > > +++ b/meson.build
> > > @@ -35,8 +35,7 @@ with_install_tests = get_option('install-test-programs')
> > >  
> > >  config = configuration_data()
> > >  
> > > -# TODO: openbsd is guess, the others are correct
> > > -if ['freebsd', 'dragonfly', 'netbsd', 'openbsd'].contains(host_machine.system())
> > > +if ['freebsd', 'dragonfly', 'netbsd'].contains(host_machine.system())
> > >    dep_pthread_stubs = dependency('pthread-stubs', version : '>= 0.4')
> > >  else
> > >    dep_pthread_stubs = []
> > > ---->8----
> > > 
> > > Do you have commit access, or do you want me to push this for you?
> > > No need to send a v2, I'll add the meson bit when I push it, or you can
> > > add it if you push it yourself.
> > 
> > An almost identical patch was sent to the Mesa list.  I don't have
> > commit access to either repository so if you could push it that would be
> > great.
> 
> Saw it and it is also r-b'ed; I'll push them later today :)
> 
> > 
> > We can't take a build dependency on python for the xserver and related
> > parts in OpenBSD so I have no interest in meson and very much hope
> > autoconf remains otherwise it is back to writing custom makefiles for
> > everything.
> 
> Hmm, the idea was to get rid of autotools when the meson.build files
> have been tested enough, which sounds like it will be an issue for you.
> 
> What exactly is the blocker to using Meson on your side? Is it something
> that just needs a bit of work, or something that can't be done because of
> external factors (eg. some "scripting languages are not allowed" rule)?
> You mention python, would a Meson implementation in an other language be
> better for you guys?

It has been mentioned in several places at various times by
Matthieu Herrb, Mark Kettenis and myself.

ie
https://lists.x.org/archives/xorg-devel/2018-February/055807.html
https://lists.x.org/archives/xorg-devel/2017-March/053195.html
https://lists.freedesktop.org/archives/dri-devel/2017-March/135935.html

The OpenBSD src and xenocara trees need to be self-contained.  For
autotools we can regenerate files after import and not have a build time
dependency on gnu tools or ports.

Even if there was a C or perl implementation of meson under a suitable
license (not apache 2.0) it would still have to be integrated into a
make based build.
Emil Velikov Feb. 20, 2018, 3:02 p.m. UTC | #4
On 20 February 2018 at 10:21, Eric Engestrom <eric.engestrom@imgtec.com> wrote:
> On Tuesday, 2018-02-20 17:09:14 +1100, Jonathan Gray wrote:
>> pthread-stubs is no longer required on OpenBSD and has been removed.
>> libpthread parts involved moved to libc.
>
> Great news!
> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
>
> Note that meson needs the same change:
> ----8<----
> diff --git a/meson.build b/meson.build
> index d600a906948c0e680885..bd00cdc2cae9f0749180 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -35,8 +35,7 @@ with_install_tests = get_option('install-test-programs')
>
>  config = configuration_data()
>
> -# TODO: openbsd is guess, the others are correct
> -if ['freebsd', 'dragonfly', 'netbsd', 'openbsd'].contains(host_machine.system())
> +if ['freebsd', 'dragonfly', 'netbsd'].contains(host_machine.system())
>    dep_pthread_stubs = dependency('pthread-stubs', version : '>= 0.4')
>  else
>    dep_pthread_stubs = []
> ---->8----
>
> Do you have commit access, or do you want me to push this for you?
> No need to send a v2, I'll add the meson bit when I push it, or you can
> add it if you push it yourself.
>
Both patches from Jon + the meson amendment are
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>

-Emil
Eric Engestrom Feb. 20, 2018, 3:12 p.m. UTC | #5
On Tuesday, 2018-02-20 15:02:26 +0000, Emil Velikov wrote:
> On 20 February 2018 at 10:21, Eric Engestrom <eric.engestrom@imgtec.com> wrote:
> > On Tuesday, 2018-02-20 17:09:14 +1100, Jonathan Gray wrote:
> >> pthread-stubs is no longer required on OpenBSD and has been removed.
> >> libpthread parts involved moved to libc.
> >
> > Great news!
> > Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
> >
> > Note that meson needs the same change:
> > ----8<----
> > diff --git a/meson.build b/meson.build
> > index d600a906948c0e680885..bd00cdc2cae9f0749180 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -35,8 +35,7 @@ with_install_tests = get_option('install-test-programs')
> >
> >  config = configuration_data()
> >
> > -# TODO: openbsd is guess, the others are correct
> > -if ['freebsd', 'dragonfly', 'netbsd', 'openbsd'].contains(host_machine.system())
> > +if ['freebsd', 'dragonfly', 'netbsd'].contains(host_machine.system())
> >    dep_pthread_stubs = dependency('pthread-stubs', version : '>= 0.4')
> >  else
> >    dep_pthread_stubs = []
> > ---->8----
> >
> > Do you have commit access, or do you want me to push this for you?
> > No need to send a v2, I'll add the meson bit when I push it, or you can
> > add it if you push it yourself.
> >
> Both patches from Jon + the meson amendment are
> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>

... and pushed both, thanks :)

> 
> -Emil
diff mbox

Patch

diff --git a/meson.build b/meson.build
index d600a906948c0e680885..bd00cdc2cae9f0749180 100644
--- a/meson.build
+++ b/meson.build
@@ -35,8 +35,7 @@  with_install_tests = get_option('install-test-programs')
 
 config = configuration_data()
 
-# TODO: openbsd is guess, the others are correct
-if ['freebsd', 'dragonfly', 'netbsd', 'openbsd'].contains(host_machine.system())
+if ['freebsd', 'dragonfly', 'netbsd'].contains(host_machine.system())
   dep_pthread_stubs = dependency('pthread-stubs', version : '>= 0.4')
 else
   dep_pthread_stubs = []