03f87430e5
Add proper support for optional libraries: acl, attr, gmp & libcap. Also build the single binary as pointed out by Pádraig Brady for some neat space savings. Use the shebang (default) method since it allows us to move binaries into other directories to suit our needs whereas for symlink that wouldn't be so easy. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
107 lines
3.1 KiB
Makefile
107 lines
3.1 KiB
Makefile
################################################################################
|
|
#
|
|
# coreutils
|
|
#
|
|
################################################################################
|
|
|
|
COREUTILS_VERSION = 8.23
|
|
COREUTILS_SITE = $(BR2_GNU_MIRROR)/coreutils
|
|
COREUTILS_SOURCE = coreutils-$(COREUTILS_VERSION).tar.xz
|
|
COREUTILS_LICENSE = GPLv3+
|
|
COREUTILS_LICENSE_FILES = COPYING
|
|
|
|
# coreutils-01-fix-for-dummy-man-usage.patch triggers autoreconf on build
|
|
COREUTILS_AUTORECONF = YES
|
|
COREUTILS_GETTEXTIZE = YES
|
|
|
|
# If both coreutils and busybox are selected, make certain coreutils
|
|
# wins the fight over who gets to have their utils actually installed.
|
|
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
|
|
COREUTILS_DEPENDENCIES = busybox
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_ACL),y)
|
|
COREUTILS_DEPENDENCIES += acl
|
|
else
|
|
COREUTILS_CONF_OPTS += --disable-acl
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_ATTR),y)
|
|
COREUTILS_DEPENDENCIES += attr
|
|
else
|
|
COREUTILS_CONF_OPTS += --disable-xattr
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_GMP),y)
|
|
COREUTILS_DEPENDENCIES += gmp
|
|
else
|
|
COREUTILS_CONF_OPTS += --without-gmp
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBCAP),y)
|
|
COREUTILS_DEPENDENCIES += libcap
|
|
else
|
|
COREUTILS_CONF_OPTS += --disable-libcap
|
|
endif
|
|
|
|
COREUTILS_BIN_PROGS = cat chgrp chmod chown cp date dd df dir echo false \
|
|
ln ls mkdir mknod mv pwd rm rmdir vdir sleep stty sync touch true \
|
|
uname join
|
|
|
|
COREUTILS_CONF_ENV = ac_cv_c_restrict=no \
|
|
ac_cv_func_chown_works=yes \
|
|
ac_cv_func_euidaccess=no \
|
|
ac_cv_func_fstatat=yes \
|
|
ac_cv_func_getdelim=yes \
|
|
ac_cv_func_getgroups=yes \
|
|
ac_cv_func_getgroups_works=yes \
|
|
ac_cv_func_getloadavg=no \
|
|
ac_cv_func_lstat_dereferences_slashed_symlink=yes \
|
|
ac_cv_func_lstat_empty_string_bug=no \
|
|
ac_cv_func_strerror_r_char_p=no \
|
|
ac_cv_func_strnlen_working=yes \
|
|
ac_cv_func_strtod=yes \
|
|
ac_cv_func_working_mktime=yes \
|
|
ac_cv_have_decl_strerror_r=yes \
|
|
ac_cv_have_decl_strnlen=yes \
|
|
ac_cv_lib_getloadavg_getloadavg=no \
|
|
ac_cv_lib_util_getloadavg=no \
|
|
ac_fsusage_space=yes \
|
|
ac_use_included_regex=no \
|
|
am_cv_func_working_getline=yes \
|
|
fu_cv_sys_stat_statfs2_bsize=yes \
|
|
gl_cv_func_getcwd_null=yes \
|
|
gl_cv_func_getcwd_path_max=yes \
|
|
gl_cv_func_gettimeofday_clobber=no \
|
|
gl_cv_func_fstatat_zero_flag=no \
|
|
gl_cv_func_link_follows_symlink=no \
|
|
gl_cv_func_re_compile_pattern_working=yes \
|
|
gl_cv_func_svid_putenv=yes \
|
|
gl_cv_func_tzset_clobber=no \
|
|
gl_cv_func_working_mkstemp=yes \
|
|
gl_cv_func_working_utimes=yes \
|
|
gl_getline_needs_run_time_check=no \
|
|
gl_cv_have_proc_uptime=yes \
|
|
utils_cv_localtime_cache=no \
|
|
PERL=missing
|
|
|
|
COREUTILS_CONF_OPTS = --disable-rpath --enable-single-binary=shebangs
|
|
|
|
define COREUTILS_POST_INSTALL
|
|
# some things go in root rather than usr
|
|
for f in $(COREUTILS_BIN_PROGS); do \
|
|
mv $(TARGET_DIR)/usr/bin/$$f $(TARGET_DIR)/bin/$$f; \
|
|
done
|
|
# link for archaic shells
|
|
ln -fs test $(TARGET_DIR)/usr/bin/[
|
|
# gnu thinks chroot is in bin, debian thinks it's in sbin
|
|
mv $(TARGET_DIR)/usr/bin/chroot $(TARGET_DIR)/usr/sbin/chroot
|
|
endef
|
|
|
|
COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_POST_INSTALL
|
|
|
|
# If both coreutils and busybox are selected, the corresponding applets
|
|
# may need to be reinstated by the clean targets.
|
|
|
|
$(eval $(autotools-package))
|