Quoting Emil Velikov (2018-09-20 02:43:37) > On 13 September 2018 at 19:41, Dylan Baker <dy...@pnwbakers.com> wrote: > > Rather than trying to encode all of the rules in a header, lets just put > > them in the build system where they belong. This fixes the build on > > FreeBSD, which does have pthraed_setaffinity_np, but it's in a > > pthread_np.h, not behind _GNU_SOURCE. FreeBSD also implements cpu_set > > slightly differently, so additional changes would be required to get it > > working right there anyway. > > > > Fixes: 9f1bbbdbbd77d346c74c7abbb31f399151a85713 > > ("util: try to fix the Android and MacOS build") > > Cc: Marek Olšák <mar...@gmail.com> > > Cc: Emil Velikov <emil.veli...@collabora.com> > > --- > > configure.ac | 16 ++++++++++++++++ > > meson.build | 7 +++++++ > > src/util/u_thread.h | 4 ---- > > 3 files changed, 23 insertions(+), 4 deletions(-) > > > > diff --git a/configure.ac b/configure.ac > > index f8bb131cb63..d10236dbead 100644 > > --- a/configure.ac > > +++ b/configure.ac > > @@ -968,6 +968,22 @@ if test "x$pthread_stubs_possible" = xyes; then > > PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs >= 0.4) > > fi > > > > +save_LIBS="$LIBS" > > +LIBS="$PTHREAD_LIBS" > > +AC_MSG_CHECKING(whether pthread_setaffinity_np is supported) > > +AC_LINK_IFELSE([AC_LANG_SOURCE([[ > > + #define _GNU_SOURCE > > + #include <pthread.h> > > + int main() { > > + void *a = (void*) &pthread_setaffinity_np; > > + long b = (long) a; > > + return (int) b; > > + }]])], > > + [DEFINES="$DEFINES -DPTHREAD_SETAFFINITY"]; > > + AC_MSG_RESULT([yes]), > > + AC_MSG_RESULT([no])) > > +LIBS="$save_LIBS" > > + > Just like meson's have_function there is AC_CHECK_FUNCS - which will > also set the HAVE_$(function_name) > > So a quick: > 1) sed to use the correct define - > s/HAVE_PTHREAD_SETAFFINITY/HAVE_PTHREAD_SETAFFINITY_NP/ > 2) and following 4 lines should do it > > save_LIBS="$LIBS" > LIBS="$PTHREAD_LIBS" > AC_CHECK_FUNCS([pthread_setaffinity_np]) > LIBS="$save_LIBS"
If you want to push such a patch with my a-b please do, I've already pushed this as-is. Dylan
signature.asc
Description: signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev