Add pthread-in-libc, libpthread-routines-var, librt-routines-var
These make variables can be used to add routines to different libraries for the Hurd and Linux builds. Reviewed-by: Carlos O'Donell <carlos@redhat.com> Tested-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
parent
23fdf8178c
commit
ad201afe5c
11
Makeconfig
11
Makeconfig
|
@ -1328,6 +1328,17 @@ endif
|
|||
sysd-rules-targets := $(sort $(foreach p,$(sysd-rules-patterns),\
|
||||
$(firstword $(subst :, ,$p))))
|
||||
|
||||
# $(libpthread-routines-var) and $(librt-routines-var) are the make
|
||||
# variable to which pthread routines need to be added to land in the
|
||||
# right library.
|
||||
ifeq ($(pthread-in-libc),yes)
|
||||
libpthread-routines-var = routines
|
||||
librt-routines-var = routines
|
||||
else
|
||||
libpthread-routines-var = libpthread-routines
|
||||
librt-routines-var = libpthread-routines
|
||||
endif
|
||||
|
||||
# A sysdeps Makeconfig fragment may set libc-reentrant to yes.
|
||||
ifeq (yes,$(libc-reentrant))
|
||||
defines += -D_LIBC_REENTRANT
|
||||
|
|
|
@ -200,6 +200,9 @@
|
|||
multiple symbol versions for one symbol. */
|
||||
#define SYMVER_NEEDS_ALIAS 0
|
||||
|
||||
/* Define to 1 if libpthread actually resides in libc. */
|
||||
#define PTHREAD_IN_LIBC 0
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
|
|
|
@ -103,6 +103,7 @@ use-nscd = @use_nscd@
|
|||
build-hardcoded-path-in-tests= @hardcoded_path_in_tests@
|
||||
build-pt-chown = @build_pt_chown@
|
||||
have-tunables = @have_tunables@
|
||||
pthread-in-libc = @pthread_in_libc@
|
||||
|
||||
# Build tools.
|
||||
CC = @CC@
|
||||
|
|
|
@ -588,6 +588,7 @@ ac_unique_file="include/features.h"
|
|||
enable_option_checking=no
|
||||
ac_subst_vars='LTLIBOBJS
|
||||
LIBOBJS
|
||||
pthread_in_libc
|
||||
RELEASE
|
||||
VERSION
|
||||
mach_interface_list
|
||||
|
@ -6780,6 +6781,7 @@ libc_cv_sysconfdir=$sysconfdir
|
|||
libc_cv_localstatedir=$localstatedir
|
||||
libc_cv_gcc_unwind_find_fde=no
|
||||
libc_cv_idn=no
|
||||
pthread_in_libc=yes
|
||||
|
||||
# Iterate over all the sysdep directories we will use, running their
|
||||
# configure fragments.
|
||||
|
@ -6939,6 +6941,12 @@ RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
|
|||
|
||||
|
||||
|
||||
if test "$pthread_in_libc" = yes; then
|
||||
$as_echo "#define PTHREAD_IN_LIBC 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
|
||||
ac_config_files="$ac_config_files config.make Makefile"
|
||||
|
||||
ac_config_commands="$ac_config_commands default"
|
||||
|
|
|
@ -1777,6 +1777,7 @@ libc_cv_sysconfdir=$sysconfdir
|
|||
libc_cv_localstatedir=$localstatedir
|
||||
libc_cv_gcc_unwind_find_fde=no
|
||||
libc_cv_idn=no
|
||||
pthread_in_libc=yes
|
||||
|
||||
# Iterate over all the sysdep directories we will use, running their
|
||||
# configure fragments.
|
||||
|
@ -1903,6 +1904,11 @@ RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
|
|||
AC_SUBST(VERSION)
|
||||
AC_SUBST(RELEASE)
|
||||
|
||||
if test "$pthread_in_libc" = yes; then
|
||||
AC_DEFINE(PTHREAD_IN_LIBC)
|
||||
fi
|
||||
AC_SUBST(pthread_in_libc)
|
||||
|
||||
AC_CONFIG_FILES([config.make Makefile])
|
||||
AC_CONFIG_COMMANDS([default],[[
|
||||
case $CONFIG_FILES in *config.make*)
|
||||
|
|
|
@ -39,6 +39,8 @@ librt-routines = $(aio-routines) \
|
|||
$(timer-routines) \
|
||||
$(shm-routines) $(mq-routines)
|
||||
|
||||
$(librt-routines-var) = \
|
||||
|
||||
tests := tst-shm tst-timer tst-timer2 \
|
||||
tst-aio tst-aio64 tst-aio2 tst-aio3 tst-aio4 tst-aio5 tst-aio6 \
|
||||
tst-aio7 tst-aio8 tst-aio9 tst-aio10 \
|
||||
|
|
|
@ -45,3 +45,6 @@ fi
|
|||
if test -n "$sysheaders"; then
|
||||
CPPFLAGS=$OLD_CPPFLAGS
|
||||
fi
|
||||
|
||||
# Hurd has libpthread as a separate library.
|
||||
pthread_in_libc=no
|
||||
|
|
|
@ -26,3 +26,6 @@ fi
|
|||
if test -n "$sysheaders"; then
|
||||
CPPFLAGS=$OLD_CPPFLAGS
|
||||
fi
|
||||
|
||||
# Hurd has libpthread as a separate library.
|
||||
pthread_in_libc=no
|
||||
|
|
|
@ -39,6 +39,9 @@ libpthread-routines += thrd_create thrd_detach thrd_exit thrd_join \
|
|||
cnd_destroy cnd_init cnd_signal cnd_timedwait cnd_wait \
|
||||
tss_create tss_delete tss_get tss_set
|
||||
|
||||
$(libpthread-routines-var) += \
|
||||
|
||||
|
||||
tests += tst-cnd-basic tst-mtx-trylock tst-cnd-broadcast \
|
||||
tst-cnd-timedwait tst-thrd-detach tst-mtx-basic tst-thrd-sleep \
|
||||
tst-mtx-recursive tst-tss-basic tst-call-once tst-mtx-timedlock \
|
||||
|
|
Loading…
Reference in New Issue