sigblock.c sigdelset.c sigempty.c sigfillset.c siggetmask.c \
sigisempty.c sigismem.c sigjmp.c signal.c \
sigorset.c sigpause.c sigsetmask.c sigsetops.c sigwait.c
- ifeq ($(UCLIBC_HAS_OBSOLETE_BSD_SIGNAL),y)
- CSRC += sighold.c sigignore.c sigrelse.c sigset.c
- endif
- ifeq ($(UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL),y)
- CSRC += sysv_signal.c
- endif
- ifeq ($(UCLIBC_SUSV4_LEGACY),y)
- CSRC += sigintr.c
- endif
+ CSRC-$(UCLIBC_HAS_OBSOLETE_BSD_SIGNAL) += \
+ sighold.c sigignore.c sigrelse.c sigset.c
+ CSRC-$(UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL) += sysv_signal.c
+ CSRC-$(UCLIBC_SUSV4_LEGACY) += sigintr.c
+ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
+CSRC:=$(filter-out raise.c sigaction.c,$(CSRC))
+endif
+
ifneq ($(strip $(ARCH_OBJS)),)
- CSRC := $(filter-out $(notdir $(ARCH_OBJS:.o=.c)),$(CSRC))
+ CSRC-y := $(filter-out $(notdir $(ARCH_OBJS:.o=.c)),$(CSRC-y))
endif
SIGNAL_DIR := $(top_srcdir)libc/signal
include $(top_srcdir)libc/stdlib/malloc-simple/Makefile.in
include $(top_srcdir)libc/stdlib/malloc-standard/Makefile.in
- CSRC := \
+ CSRC-y := \
abort.c getenv.c mkdtemp.c realpath.c mkstemp.c \
- rand.c random.c random_r.c setenv.c system.c div.c ldiv.c lldiv.c \
+ rand.c random.c random_r.c setenv.c div.c ldiv.c lldiv.c \
getpt.c drand48-iter.c jrand48.c \
jrand48_r.c lrand48.c lrand48_r.c mrand48.c mrand48_r.c nrand48.c \
nrand48_r.c rand_r.c srand48.c srand48_r.c seed48.c seed48_r.c \
valloc.c a64l.c l64a.c __uc_malloc.c
-CSRC-$(UCLIBC_HAS_ADVANCED_REALTIME) += posix_memalign.c
-CSRC-$(UCLIBC_HAS_PTY) += grantpt.c unlockpt.c ptsname.c
-CSRC-$(UCLIBC_HAS_ARC4RANDOM) += arc4random.c
-CSRC-$(UCLIBC_HAS_LFS) += mkstemp64.c
-CSRC-$(UCLIBC_HAS_FLOATS) += drand48.c drand48_r.c erand48.c erand48_r.c
-CSRC-$(if $(findstring yy,$(UCLIBC_HAS_FLOATS)$(UCLIBC_SUSV3_LEGACY)),y) += \
- gcvt.c
-CSRC-$(UCLIBC_SUSV3_LEGACY) += mktemp.c
+ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
+CSRC += posix_memalign.c
+endif
+ifeq ($(UCLIBC_HAS_PTY),y)
+CSRC += grantpt.c unlockpt.c ptsname.c
+endif
+ifeq ($(UCLIBC_HAS_ARC4RANDOM),y)
+CSRC += arc4random.c
+endif
+ifeq ($(UCLIBC_HAS_LFS),y)
+CSRC += mkstemp64.c
+endif
+ifeq ($(UCLIBC_HAS_FLOATS),y)
+CSRC += drand48.c drand48_r.c erand48.c erand48_r.c
+ifeq ($(UCLIBC_SUSV3_LEGACY),y)
+CSRC += gcvt.c
+endif
+endif
+ifeq ($(UCLIBC_SUSV3_LEGACY),y)
+CSRC += mktemp.c
+endif
# multi source stdlib.c
- CSRC += abs.c labs.c atoi.c atol.c strtol.c strtoul.c _stdlib_strto_l.c \
+ CSRC-y += abs.c labs.c atoi.c atol.c strtol.c strtoul.c _stdlib_strto_l.c \
qsort.c bsearch.c \
llabs.c atoll.c strtoll.c strtoull.c _stdlib_strto_ll.c
# (aliases) strtoq.o strtouq.o
STDLIB_DIR := $(top_srcdir)libc/stdlib
STDLIB_OUT := $(top_builddir)libc/stdlib
- STDLIB_SRC := $(patsubst %.c,$(STDLIB_DIR)/%.c,$(CSRC))
- STDLIB_OBJ := $(patsubst %.c,$(STDLIB_OUT)/%.o,$(CSRC))
+ STDLIB_SRC := $(patsubst %.c,$(STDLIB_DIR)/%.c,$(CSRC-y))
+ STDLIB_OBJ := $(patsubst %.c,$(STDLIB_OUT)/%.o,$(CSRC-y))
libc-y += $(STDLIB_OBJ)
-libc-static-y += $(STDLIB_OUT)/atexit.o
+libc-static-y += $(STDLIB_OUT)/atexit.o $(STDLIB_OUT)/system.o
+libc-shared-y += $(STDLIB_OUT)/system.oS
+
# this should always be the PIC version, because it could be used in shared libs
libc-nonshared-y += $(STDLIB_OUT)/atexit.os