--disable-usb
endif
-# PIE is broken for m68k
-ifeq ($(BR2_m68k),y)
+ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),)
BLUEZ_UTILS_CONF_OPTS += --disable-pie
endif
CIFS_UTILS_LICENSE = GPLv3+
CIFS_UTILS_LICENSE_FILES = COPYING
-ifneq ($(BR2_STATIC_LIBS)$(BR2_m68k),)
+ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),)
CIFS_UTILS_CONF_OPTS += --disable-pie
endif
LIBMEMCACHED_LICENSE = BSD-3c
LIBMEMCACHED_LICENSE_FILES = COPYING
-# Help libmemcached to understand that -fPIE and -pie should not be
-# used when linking statically.
-ifeq ($(BR2_STATIC_LIBS),y)
+ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),)
LIBMEMCACHED_CONF_ENV += \
ax_cv_check_cflags__Werror__fPIE=no \
ax_cv_check_cflags__Werror__pie=no \
LIBSODIUM_LICENSE_FILES = LICENSE
LIBSODIUM_INSTALL_STAGING = YES
-ifeq ($(BR2_arc),y)
+ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),)
LIBSODIUM_CONF_OPTS += --disable-pie
endif
LVM2_CONF_OPTS += --disable-applib
endif
-ifeq ($(BR2_arc)$(BR2_m68k),y)
+ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),)
LVM2_CONF_ENV += ac_cv_flag_HAVE_PIE=no
endif
sshd -1 sshd -1 * - - - SSH drop priv user
endef
-# uClibc toolchain for ARC doesn't support PIE at the moment
-ifeq ($(BR2_arc),y)
-OPENSSH_CONF_OPTS += --without-pie
-endif
-# PIE and static does not work on Linux
-ifeq ($(BR2_STATIC_LIBS),y)
+ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),)
OPENSSH_CONF_OPTS += --without-pie
endif
OPENSWAN_DEPENDENCIES = host-bison host-flex gmp iproute2
OPENSWAN_MAKE_OPTS = ARCH=$(BR2_ARCH) CC="$(TARGET_CC)" \
- USERCOMPILE="$(TARGET_CFLAGS) $(if $(BR2_STATIC_LIBS),,-fPIE)" \
- USERLINK="$(TARGET_LDFLAGS) $(if $(BR2_STATIC_LIBS),,-fPIE)" \
+ USERCOMPILE="$(TARGET_CFLAGS) $(if $(BR2_TOOLCHAIN_SUPPORTS_PIE),-fPIE)" \
+ USERLINK="$(TARGET_LDFLAGS) $(if $(BR2_TOOLCHAIN_SUPPORTS_PIE),-fPIE)" \
INC_USRLOCAL=/usr USE_KLIPS=false USE_MAST=false USE_NM=false
ifeq ($(BR2_PACKAGE_LIBCURL),y)
PURE_FTPD_CONF_OPTS += --without-tls
endif
-ifeq ($(BR2_arc),y)
+ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),)
PURE_FTPD_CONF_ENV += ax_cv_check_cflags___fPIE=no ax_cv_check_ldflags___fPIE=no
endif
QUAGGA_CONF_OPTS += --disable-vtysh
endif
-ifeq ($(BR2_arc),y)
+ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),)
QUAGGA_CONF_OPTS += --disable-pie
endif
TINC_LICENSE_FILES = COPYING COPYING.README
TINC_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -std=c99"
-ifeq ($(BR2_arc),y)
+ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),)
TINC_CONF_ENV += \
ax_cv_check_cflags___fPIE=no \
ax_cv_check_ldflags___pie=no
# workaround.
TROUSERS_CONF_OPTS += --disable-usercheck
-# uClibc toolchain for ARC doesn't support PIE at the moment
-ifeq ($(BR2_arc),y)
+ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),)
TROUSERS_CONF_ENV += \
ax_cv_check_cflags___fPIE__DPIE=no \
ax_cv_check_ldflags___pie=no
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
select BR2_TOOLCHAIN_HAS_THREADS_NPTL
select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
+ select BR2_TOOLCHAIN_SUPPORTS_PIE
config BR2_TOOLCHAIN_USES_UCLIBC
bool
+ select BR2_TOOLCHAIN_SUPPORTS_PIE if !BR2_arc && !BR2_m68k && !BR2_STATIC_LIBS
config BR2_TOOLCHAIN_USES_MUSL
bool
select BR2_TOOLCHAIN_HAS_THREADS
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
select BR2_TOOLCHAIN_HAS_THREADS_NPTL
+ select BR2_TOOLCHAIN_SUPPORTS_PIE
choice
prompt "Toolchain type"
config BR2_TOOLCHAIN_HAS_SSP
bool
+config BR2_TOOLCHAIN_SUPPORTS_PIE
+ bool
+
config BR2_ENABLE_LOCALE_PURGE
bool "Purge unwanted locales"
help