EXTRA_CONFIG = \
--build=$(BUILDTARGET) \
--prefix=/usr \
- --libexecdir=/usr/lib/glibc
+ --libexecdir=/usr/lib/glibc \
+ --enable-stack-protector=strong
else
TARGET = $(DIR_INFO)/$(THISAPP)-tools
EXTRA_CONFIG = \
# Enable some extra optimization for the glibc code
CFLAGS = -O3 -DNDEBUG -fasynchronous-unwind-tables -fPIC -DPIC
-ifeq "$(MACHINE)" "armv7hl"
+ifeq "$(BUILD_ARCH)" "armv7hl"
CFLAGS += -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard
endif
-ifeq "$(MACHINE)" "i586"
+ifeq "$(BUILD_ARCH)" "i586"
CFLAGS += -march=i586 -mtune=generic -mno-tls-direct-seg-refs
endif
# Disable hardware FP for armv5tel
-ifeq "$(MACHINE)" "armv5tel"
+ifeq "$(BUILD_ARCH)" "armv5tel"
EXTRA_CONFIG += \
--without-fp
endif
# Add some general configuration flags
EXTRA_CONFIG += \
+ --enable-obsolete-rpc \
--disable-profile \
--enable-kernel=3.2 \
--enable-add-ons \
--without-selinux \
--enable-experimental-malloc \
- --enable-bind-now \
- --enable-stack-protector=strong
+ --enable-bind-now
###############################################################################
# Top-level Rules
@rm -rf $(DIR_APP) $(DIR_SRC)/glibc-build && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
@mkdir $(DIR_SRC)/glibc-build
-ifeq "$(ROOT)" ""
-ifeq "$(MACHINE_TYPE)" "arm"
- cd $(DIR_APP) && sed -i 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.3 -o|' \
- scripts/test-installation.pl
-else
-ifeq "$(MACHINE)" "x86_64"
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-localedef-no-archive.patch
+
+ifneq "$(TOOLCHAIN)" "1"
+ ifeq "$(BUILD_ARCH)" "x86_64"
cd $(DIR_APP) && sed -i 's|libs -o|libs -L/usr/lib64 -Wl,-dynamic-linker=/lib64/ld-linux-x86-64.so.2 -o|' \
scripts/test-installation.pl
-else
+ endif
+
+ ifeq "$(BUILD_ARCH)" "i586"
cd $(DIR_APP) && sed -i 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.2 -o|' \
scripts/test-installation.pl
-endif
-endif
+ endif
+
+ ifeq "$(BUILD_ARCH)" "armv5tel"
+ cd $(DIR_APP) && sed -i 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.3 -o|' \
+ scripts/test-installation.pl
+ endif
endif
cd $(DIR_SRC)/glibc-build && \
cd $(DIR_SRC)/glibc-build && make install
-ifeq "$(ROOT)" ""
+ifneq "$(TOOLCHAIN)" "1"
# Creating the locales
mkdir -p /usr/lib/locale
cd $(DIR_SRC)/glibc-build && make localedata/install-locales
# Timezone data will be shipped by tzdata.
rm -rfv /usr/share/zoneinfo
-else
- ln -svf lib /tools/lib64
endif
+
+ifeq "$(TOOLCHAIN)" "1"
+ # Test the linker in toolchain
+ cd $(DIR_APP) && echo "int main() { return 0; }" > dummy.c
+ cd $(DIR_APP) && $(CROSSTARGET)-gcc dummy.c -o dummy
+
+ # Must be using a runtime linker from /tools
+ cd $(DIR_APP) && readelf -l dummy | grep "Requesting program interpreter: /tools"
+ cd $(DIR_APP) && rm -vf dummy dummy.c
+endif
+
@rm -rf $(DIR_APP) $(DIR_SRC)/glibc-build
@$(POSTBUILD)