aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Config.in8
-rw-r--r--Makefile.flags25
2 files changed, 11 insertions, 22 deletions
diff --git a/Config.in b/Config.in
index 11371c783..07b4bf36b 100644
--- a/Config.in
+++ b/Config.in
@@ -514,14 +514,6 @@ config PIE
514 514
515 Most people will leave this set to 'N'. 515 Most people will leave this set to 'N'.
516 516
517config LINK_WITH_PTHREAD
518 bool "Link with pthread library"
519 default n
520 help
521 On some systems, some libraries (such as crypt) also require pthread.
522
523 Select this only if your build otherwise fails.
524
525config NOMMU 517config NOMMU
526 bool "Force NOMMU build" 518 bool "Force NOMMU build"
527 default n 519 default n
diff --git a/Makefile.flags b/Makefile.flags
index b6cd32e42..9f77674ba 100644
--- a/Makefile.flags
+++ b/Makefile.flags
@@ -129,22 +129,19 @@ else
129LDLIBS += m 129LDLIBS += m
130endif 130endif
131 131
132ifeq ($(CONFIG_LINK_WITH_PTHREAD),y) 132# libpam may use libpthread, libdl and/or libaudit.
133PTHREAD_AVAILABLE := $(shell echo 'int main(void){return 0;}' >pthreadtest.c; $(CC) $(CFLAGS) -lpthread -o /dev/null pthreadtest.c >/dev/null 2>&1 && echo "y"; rm pthreadtest.c) 133# On some platforms that requires an explicit -lpthread, -ldl, -laudit.
134ifeq ($(PTHREAD_AVAILABLE),y) 134# However, on *other platforms* it fails when some of those flags
135LDLIBS += pthread 135# given needlessly. On some systems, crypt needs pthread.
136endif 136#
137endif 137# I even had a system where a runtime test for pthread
138# (similar to CRYPT_AVAILABLE test above) was not reliable.
139#
140# Do not propagate this mess by adding libraries to CONFIG_PAM/CRYPT_AVAILABLE blocks.
141# Add libraries you need to CONFIG_EXTRA_LDLIBS instead.
138 142
139ifeq ($(CONFIG_PAM),y) 143ifeq ($(CONFIG_PAM),y)
140# libpam uses libpthread, libdl and libaudit, so for static builds busybox 144LDLIBS += pam pam_misc
141# must be linked to libpthread, libdl and libaudit. On some platforms that
142# requires an explicit -lpthread, -ldl and -laudit, so it should be in
143# LDLIBS. For non-static builds, scripts/trylink will take care of removing
144# these flags if possible. (Not bothering to check CONFIG_STATIC because
145# even in a non-static build it could be that the only libpam available is
146# libpam.a, so -lpthread & Co. could still be needed.)
147LDLIBS += pam pam_misc pthread dl audit
148endif 145endif
149 146
150ifeq ($(CONFIG_SELINUX),y) 147ifeq ($(CONFIG_SELINUX),y)