qstrip = $(strip $(subst ",,$(1)))
#"))
+ifndef KCONFIG_CONFIG
+KCONFIG_CONFIG := $(top_builddir).config
+endif
+export KCONFIG_CONFIG
+
# Pull in the user's uClibc configuration
ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
--include $(top_builddir).config
+# Prevent make from searching
+__ABS_KCONFIG_CONFIG := $(abspath $(KCONFIG_CONFIG))
+-include $(__ABS_KCONFIG_CONFIG)
endif
TARGET_ARCH:=$(call qstrip,$(TARGET_ARCH))
ifeq ($(TARGET_ARCH),)
export ARCH
# Make certain these contain a final "/", but no "//"s.
-TARGET_SUBARCH:=$(call qstrip,$(TARGET_SUBARCH))
-RUNTIME_PREFIX:=$(strip $(subst //,/, $(subst ,/, $(call qstrip,$(RUNTIME_PREFIX)))))
-DEVEL_PREFIX:=$(strip $(subst //,/, $(subst ,/, $(call qstrip,$(DEVEL_PREFIX)))))
-MULTILIB_DIR:=$(strip $(subst //,/, $(subst ,/, $(call qstrip,$(MULTILIB_DIR)))))
-KERNEL_HEADERS:=$(strip $(subst //,/, $(subst ,/, $(call qstrip,$(KERNEL_HEADERS)))))
+scrub_path = $(strip $(subst //,/, $(subst ,/, $(call qstrip,$(1)))))
+TARGET_SUBARCH := $(call qstrip,$(TARGET_SUBARCH))
+RUNTIME_PREFIX := $(call scrub_path,$(RUNTIME_PREFIX))
+DEVEL_PREFIX := $(call scrub_path,$(DEVEL_PREFIX))
+MULTILIB_DIR := $(call scrub_path,$(MULTILIB_DIR))
+KERNEL_HEADERS := $(call scrub_path,$(KERNEL_HEADERS))
export RUNTIME_PREFIX DEVEL_PREFIX KERNEL_HEADERS MULTILIB_DIR
# Now config hard core
MAJOR_VERSION := 0
MINOR_VERSION := 9
-SUBLEVEL := 33
-EXTRAVERSION :=-rc1-git
+SUBLEVEL := 34
+EXTRAVERSION :=-git
VERSION := $(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL)
ABI_VERSION := $(MAJOR_VERSION)
ifneq ($(EXTRAVERSION),)
define check-as-var
$(call check-tool-var,check_as,ASFLAG,$(1))
_v = CFLAG_-Wa$(1)
-export $(_v) = $$(if $$(ASFLAG_$(1)),-Wa$$(comma)$$(ASFLAG_$(1)))
+export $$(_v) = $$(if $$(ASFLAG_$(1)),-Wa$$(comma)$$(ASFLAG_$(1)))
endef
# Usage: check-ld-var,<flag>
# Check the linker to see if it supports <flag>. Export the
CPU_CFLAGS-$(COMPILE_IN_THUMB_MODE)+=-mthumb
endif
+ifeq ($(TARGET_ARCH),metag)
+ SYMBOL_PREFIX=_
+ CPU_CFLAGS-$(CONFIG_META_1_2)+=
+ CPU_CFLAGS-$(CONFIG_META_2_1)+=-Wa,-mcpu=metac21
+endif
+
ifeq ($(TARGET_ARCH),mips)
OPTIMIZATION+=-mno-split-addresses
CPU_CFLAGS-$(CONFIG_MIPS_ISA_1)+=-mips1
# Check for AS_NEEDED support in linker script (binutils>=2.16.1 has it)
ifndef ASNEEDED
export ASNEEDED:=$(shell $(LD) --help 2>/dev/null | grep -q -- --as-needed && echo "AS_NEEDED ( $(UCLIBC_LDSO) )" || echo "$(UCLIBC_LDSO)")
-ifeq ($(UCLIBC_HAS_BACKTRACE),y)
+
# Only used in installed libc.so linker script
-UBACKTRACE_FULL_NAME := $(RUNTIME_PREFIX)lib/$(UBACKTRACE_DSO)
-export UBACKTRACE_ASNEEDED:=$(shell $(LD) --help 2>/dev/null | grep -q -- --as-needed && echo "AS_NEEDED ( $(UBACKTRACE_FULL_NAME) )" || echo "$(UBACKTRACE_FULL_NAME)")
+ifeq ($(UCLIBC_HAS_BACKTRACE),y)
+ifeq ($(HARDWIRED_ABSPATH),y)
+UBACKTRACE_FULL_NAME := $(subst //,/,$(RUNTIME_PREFIX)$(MULTILIB_DIR)/$(UBACKTRACE_DSO))
+else
+UBACKTRACE_FULL_NAME := $(UBACKTRACE_DSO)
+endif
+export UBACKTRACE_ASNEEDED:=$(shell $(LD) --help 2>/dev/null | grep -q -- --as-needed && \
+ echo "GROUP ( AS_NEEDED ( $(UBACKTRACE_FULL_NAME) ) )" || \
+ echo "GROUP ( $(UBACKTRACE_FULL_NAME) )")
else
export UBACKTRACE_ASNEEDED:=""
endif
$(eval $(call check-gcc-var,-nostdlib))
# Collect all CFLAGS components
-CFLAGS := -include $(top_srcdir)include/libc-symbols.h \
- $(XWARNINGS) $(CPU_CFLAGS) $(SSP_CFLAGS) \
- -nostdinc -I$(top_builddir)include -I$(top_srcdir)include -I. \
+CFLAGS := $(XWARNINGS) $(CPU_CFLAGS) $(SSP_CFLAGS) \
+ -nostdinc -I$(top_builddir)include \
+ -I$(top_srcdir)include -include libc-symbols.h \
+ -I$(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH) \
-I$(top_srcdir)libc/sysdeps/linux \
- -I$(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)
+ -I$(top_srcdir)ldso/ldso/$(TARGET_ARCH) \
+ -I$(top_srcdir)ldso/include -I.
+ifneq ($(strip $(UCLIBC_EXTRA_CFLAGS)),"")
+CFLAGS += $(call qstrip,$(UCLIBC_EXTRA_CFLAGS))
+endif
# We need this to be checked within libc-symbols.h
ifneq ($(HAVE_SHARED),y)
ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
PTINC:= -I$(top_builddir)$(PTDIR) \
-I$(top_srcdir)$(PTDIR) \
- $(if $(TARGET_ARCH),-I$(top_srcdir)$(PTDIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/$(TARGET_SUBARCH)) \
+ $(if $(TARGET_SUBARCH),-I$(top_srcdir)$(PTDIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/$(TARGET_SUBARCH)) \
-I$(top_srcdir)$(PTDIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH) \
-I$(top_builddir)$(PTDIR)/sysdeps/$(TARGET_ARCH) \
-I$(top_srcdir)$(PTDIR)/sysdeps/$(TARGET_ARCH) \
-I$(top_srcdir)$(PTDIR)/sysdeps/unix/sysv/linux \
-I$(top_srcdir)$(PTDIR)/sysdeps/pthread \
-I$(top_srcdir)$(PTDIR)/sysdeps/pthread/bits \
- -I$(top_srcdir)$(PTDIR)/sysdeps/generic \
- -I$(top_srcdir)ldso/ldso/$(TARGET_ARCH) \
- -I$(top_srcdir)ldso/include
+ -I$(top_srcdir)$(PTDIR)/sysdeps/generic
#
# Test for TLS if NPTL support was selected.
#
PTINC :=
endif
CFLAGS += -I$(top_srcdir)libc/sysdeps/linux/common
-CFLAGS += -I$(KERNEL_HEADERS)
#CFLAGS += -iwithprefix include-fixed -iwithprefix include
-$(eval $(call cache-output-var,CC_IPREFIX,$(CC) --print-file-name=include))
+$(eval $(call cache-output-var,CC_IPREFIX,$(CC) -print-file-name=include))
CC_INC := -isystem $(dir $(CC_IPREFIX))include-fixed -isystem $(CC_IPREFIX)
CFLAGS += $(CC_INC)
+CFLAGS += -I$(KERNEL_HEADERS)
+
ifneq ($(DOASSERTS),y)
CFLAGS+=-DNDEBUG
endif
LIBGCC_CFLAGS ?= $(CFLAGS) $(CPU_CFLAGS-y)
$(eval $(call cache-output-var,LIBGCC,$(CC) $(LIBGCC_CFLAGS) -print-libgcc-file-name))
+$(eval $(call cache-output-var,LIBGCC_EH,$(CC) $(LIBGCC_CFLAGS) -print-file-name=libgcc_eh.a))
+# with -O0 we (e.g. lockf) might end up with references to
+# _Unwind_Resume, so pull in gcc_eh in this case..
+LIBGCC += $(if $(DODEBUG),$(LIBGCC_EH))
LIBGCC_DIR:=$(dir $(LIBGCC))
# moved from libpthread/linuxthreads
endif
LOCAL_INSTALL_PATH := install_dir
+
+PTHREAD_GENERATE_MANGLE ?= -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*\$$/\#define \1 \2/p"