summaryrefslogtreecommitdiffstats
path: root/utils/coreutils/Makefile
blob: 4500e88e478e0078007cf7119cc7e36664067d1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#
# Copyright (C) 2008-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=coreutils
PKG_VERSION:=8.16
PKG_RELEASE:=1

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/coreutils
PKG_MD5SUM:=89b06f91634208dceba7b36ad1f9e8b9
PKG_BUILD_DEPENDS:=libpthread
PKG_MAINTAINER:=Jo-Philipp Wich <jow@openwrt.org>

PKG_BUILD_PARALLEL:=1

include $(INCLUDE_DIR)/package.mk

COREUTILS_APPLETS := \
	base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit \
	cut date dd dir dircolors dirname du echo env expand expr factor	\
	false fmt fold groups head hostid id install join kill link ln logname	\
	ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc od paste	\
	pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir	\
	runcon seq sha1sum sha224sum sha256sum sha384sum sha512sum shred	\
	shuf sleep sort split stat stdbuf stty sum sync tac tail tee test	\
	timeout touch tr true truncate tsort tty uname unexpand	uniq unlink	\
	uptime users vdir wc who whoami yes

DEPENDS_sort = +libpthread
DEPENDS_timeout = +librt
DEPENDS_expr = +libgmp
DEPENDS_factor = +libgmp

define Package/coreutils/Default
  SECTION:=utils
  CATEGORY:=Utilities
  TITLE:=The GNU core utilities
  URL:=http://www.gnu.org/software/coreutils/
endef

define Package/coreutils
  $(call Package/coreutils/Default)
  TITLE:=The GNU core utilities
  MENU:=1
endef

define Package/coreutils/description
 Full versions of standard GNU utilities. Normally, you would not use this
 package, since the functionality in BusyBox is more than sufficient and
 smaller.
endef

define GenPlugin
 define Package/$(1)
   $(call Package/coreutils/Default)
   DEPENDS:=coreutils $(DEPENDS_$(2))
   TITLE:=Utility $(2) from the GNU core utilities
 endef

 define Package/$(1)/description
  Full version of standard GNU $(2) utility. Normally, you would not use this
  package, since the functionality in BusyBox is more than sufficient.
 endef
endef

$(foreach a,$(COREUTILS_APPLETS),$(eval $(call GenPlugin,coreutils-$(a),$(a))))

CONFIGURE_VARS += \
	gl_cv_func_mbrtowc_incomplete_state=yes \
	gl_cv_func_mbrtowc_retval=yes \
	gl_cv_func_wcrtomb_retval=yes

ifneq ($(CONFIG_USE_UCLIBC),)
  CONFIGURE_VARS += \
	ac_cv_type_pthread_spinlock_t=$(if $(filter 0.9.30% 0.9.2% 0.9.31%,$(call qstrip,$(CONFIG_UCLIBC_VERSION))),no,yes)
endif

CONFIGURE_ARGS += \
	--disable-xattr \
	--enable-install-program=su

define Build/Compile
	$(MAKE) -C $(PKG_BUILD_DIR) \
		DESTDIR="$(PKG_INSTALL_DIR)" \
		SHELL="/bin/bash" \
		all install install-root
endef

define Package/coreutils/install
	true
endef

define BuildPlugin
  define Package/$(1)/install
	$(INSTALL_DIR) $$(1)/usr/bin
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(2) $$(1)/usr/bin/
  endef

  $$(eval $$(call BuildPackage,$(1)))
endef

$(eval $(call BuildPackage,coreutils))

$(foreach a,$(COREUTILS_APPLETS),$(eval $(call BuildPlugin,coreutils-$(a),$(a))))