summaryrefslogtreecommitdiff
path: root/libc/unistd
diff options
context:
space:
mode:
authorMarkos Chandras <markos.chandras@imgtec.com>2013-02-07 12:38:44 +0000
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2013-02-07 15:31:20 +0100
commitb222a04ae768080121458d28bff743b4afade9ba (patch)
tree682942eb4a52a060986302c6fdb45260d10f1ff5 /libc/unistd
parent868d059a1405f814048041a0329021122542520c (diff)
buildsys: Fix kbuild-style switch fallout
regressions introduced in 1b3025b7352f5e432ffa1c7adc57085ac9092b77 "buildsys: switch libc to kbuild-style" unistd: Handle !UCLIBC_HAS_GET{, SUB}OPT cases libc/libc_so.a(getsubopt-susv3.os): In function getsubopt': getsubopt-susv3.c:(.text+0x0): multiple definition of getsubopt' libc/libc_so.a(getsubopt.os):getsubopt.c:(.text+0x0): first defined here. The solution is to filter out the correct files when UCLIBC_HAS_GETOPT and UCLIBC_HAS_GETSUBOPT are not defined. inet: Move INET_RPC_{DIR, OUT} before CSRC_ALL libc/libc_so.a(rpc_thread.oS): In function __rpc_thread_svc_max_pollfd': rpc_thread.c:(.text+0x148): undefined reference to svc_max_pollfd' libc/libc_so.a(rpc_thread.oS): In function __rpc_thread_svc_pollfd': rpc_thread.c:(.text+0x184): undefined reference to svc_pollfd' The CSRC_ALL variable uses the INET_RPC_DIR variable which is initialized later on. We fix this problem by moving the INET_RCP_{DIR,OUT} definitions before we use them in CSRC_ALL Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'libc/unistd')
-rw-r--r--libc/unistd/Makefile.in8
1 files changed, 3 insertions, 5 deletions
diff --git a/libc/unistd/Makefile.in b/libc/unistd/Makefile.in
index 5eedf1732..b15d60a16 100644
--- a/libc/unistd/Makefile.in
+++ b/libc/unistd/Makefile.in
@@ -16,12 +16,10 @@ OMIT-$(ARCH_USE_MMU) += __exec_alloc.c
OMIT-$(if $(UCLIBC_SUSV3_LEGACY),,y) += ualarm.c usleep.c
#OMIT-$(UCLIBC_HAS_THREADS_NATIVE) += sleep.c
-# the VARIANT we OMIT
-# GNU_GETOPT comes with getopt_long unconditionally (?), OMIT the other
-VARIANT := $(if $(UCLIBC_HAS_GNU_GETOPT),-susv3)
+# XXX: GNU_GETOPT comes with getopt_long unconditionally, which is wrong
GO_LONG := $(if $(UCLIBC_HAS_GNU_GETOPT),getopt_long-simple.c)
-OMIT-$(UCLIBC_HAS_GNU_GETOPT) += getopt$(VARIANT).c $(GO_LONG)
-OMIT-$(UCLIBC_HAS_GNU_GETSUBOPT) += getsubopt$(VARIANT).c
+OMIT-y += $(if $(UCLIBC_HAS_GNU_GETOPT),getopt-susv3.c $(GO_LONG),getopt.c)
+OMIT-y += $(if $(UCLIBC_HAS_GNU_GETSUBOPT),getsubopt-susv3.c,getsubopt.c)
CSRC-y := $(filter-out $(OMIT-y),$(CSRC-y))