1
0
mirror of https://https.git.savannah.gnu.org/git/gnulib.git synced 2026-06-15 15:25:49 +00:00
Files
Bruno Haible 86488a20ea thread-optim: Port to older glibc, musl libc, *BSD, Solaris, Android.
* lib/thread-optim.h: Include <stdbool.h>.
(gl_multithreaded): Define differently on ELF platforms.
(_GL_MULTITHREADED_ALWAYS_TRUE, _GL_MULTITHREADED_VIA_ELF): New macros.
(gl_set_multithreaded): New declaration.
* lib/thread-optim.c: New file.
* lib/thread-creators.gperf: New file.
* lib/thread-optim-proto.c: New file.
* modules/thread-optim (Files): Add these files.
(Depends-on): Add gperf, bool, stdint-h.
(configure.ac): Test for <link.h>, dl_iterate_phdr.
(Makefile.am): Compile thread-optim.c. Create thread-creators.h through
gperf.

tweak
2026-05-16 12:45:41 +02:00

46 lines
1.2 KiB
Plaintext

Description:
Optimization of multithreaded code.
Files:
lib/thread-optim.h
lib/thread-optim.c
lib/thread-creators.gperf
lib/thread-optim-proto.c
Depends-on:
gperf
bool
stdint-h
configure.ac:
AC_CHECK_HEADERS([sys/single_threaded.h])
AC_CHECK_HEADERS([link.h])
dnl Solaris 10 has dl_iterate_phdr in a separate library libdl.
dnl Haiku has dl_iterate_phdr in a separate library libbsd.
dnl We don't want a link dependency here.
AC_CHECK_FUNCS([dl_iterate_phdr])
Makefile.am:
lib_SOURCES += thread-optim.c
$(srcdir)/thread-creators.h: $(srcdir)/thread-creators.gperf
$(V_GPERF)$(GPERF) -m 10 $(srcdir)/thread-creators.gperf > $(srcdir)/thread-creators.h-t1 \
&& sed -e 's/^const/static const/' \
-e 's|\([ "]\)[^ "]*/thread-creators\.gperf\([ "]\)|\1thread-creators.gperf\2|' \
< $(srcdir)/thread-creators.h-t1 > $(srcdir)/thread-creators.h-t2 \
&& rm -f $(srcdir)/thread-creators.h-t1 \
&& mv $(srcdir)/thread-creators.h-t2 $(srcdir)/thread-creators.h
BUILT_SOURCES += thread-creators.h
MOSTLYCLEANFILES += thread-creators.h-t1 thread-creators.h-t2
MAINTAINERCLEANFILES += thread-creators.h
EXTRA_DIST += thread-creators.h
Include:
"thread-optim.h"
License:
LGPLv2+
Maintainer:
all