iputils.mk 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. ################################################################################
  2. #
  3. # iputils
  4. #
  5. ################################################################################
  6. # The original upstream was forked to the github repository in 2014 to
  7. # pull fixes from other distribution and centralize the changes after
  8. # the upstream seemed to have gone dormant. The fork contains the
  9. # latest changes including msul support, removing a libsysfs dependency
  10. # and IPv6 updates.
  11. # http://www.spinics.net/lists/netdev/msg279881.html
  12. IPUTILS_VERSION = 55828d1fef3fed7f07abcbf7be9282a9662e78c7
  13. IPUTILS_SITE = $(call github,iputils,iputils,$(IPUTILS_VERSION))
  14. IPUTILS_LICENSE = GPLv2+, BSD-3c, BSD-4c
  15. # Only includes a license file for BSD
  16. IPUTILS_LICENSE_FILES = ninfod/COPYING
  17. # Build after busybox so target ends up with this package's full
  18. # versions of the applications instead of busybox applets.
  19. ifeq ($(BR2_PACKAGE_BUSYBOX),y)
  20. IPUTILS_DEPENDENCIES += busybox
  21. endif
  22. IPUTILS_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) USE_SYSFS=no USE_IDN=no\
  23. CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE"
  24. ifeq ($(BR2_PACKAGE_LIBCAP),y)
  25. IPUTILS_MAKE_OPTS += USE_CAP=yes
  26. IPUTILS_DEPENDENCIES += libcap
  27. else
  28. IPUTILS_MAKE_OPTS += USE_CAP=no
  29. endif
  30. ifeq ($(BR2_PACKAGE_LIBGCRYPT),y)
  31. IPUTILS_MAKE_OPTS += USE_GCRYPT=yes
  32. IPUTILS_DEPENDENCIES += libgcrypt
  33. # When gettext is enabled (BR2_PACKAGE_GETTEXT=y), and provides libintl
  34. # (BR2_NEEDS_GETTEXT=y), libgpg-error will link with libintl, and libgpg-error
  35. # is pulled in by libgcrypt. Since iputils doesn't use libtool, we have to link
  36. # with libintl explicitly for static linking.
  37. ifeq ($(BR2_STATIC_LIBS)$(BR2_NEEDS_GETTEXT)$(BR2_PACKAGE_GETTEXT),yyy)
  38. IPUTILS_MAKE_OPTS += ADDLIB='-lintl'
  39. endif
  40. else
  41. IPUTILS_MAKE_OPTS += USE_GCRYPT=no
  42. endif
  43. ifeq ($(BR2_PACKAGE_NETTLE),y)
  44. IPUTILS_MAKE_OPTS += USE_NETTLE=yes
  45. IPUTILS_DEPENDENCIES += nettle
  46. else
  47. IPUTILS_MAKE_OPTS += USE_NETTLE=no
  48. endif
  49. ifeq ($(BR2_PACKAGE_OPENSSL),y)
  50. IPUTILS_MAKE_OPTS += USE_CRYPTO=yes
  51. IPUTILS_DEPENDENCIES += openssl
  52. else
  53. IPUTILS_MAKE_OPTS += USE_CRYPTO=no
  54. endif
  55. define IPUTILS_BUILD_CMDS
  56. $(MAKE) -C $(@D) $(IPUTILS_MAKE_OPTS)
  57. endef
  58. define IPUTILS_INSTALL_TARGET_CMDS
  59. $(INSTALL) -D -m 755 $(@D)/arping $(TARGET_DIR)/sbin/arping
  60. $(INSTALL) -D -m 755 $(@D)/clockdiff $(TARGET_DIR)/bin/clockdiff
  61. $(INSTALL) -D -m 755 $(@D)/ping $(TARGET_DIR)/bin/ping
  62. $(INSTALL) -D -m 755 $(@D)/rarpd $(TARGET_DIR)/sbin/rarpd
  63. $(INSTALL) -D -m 755 $(@D)/rdisc $(TARGET_DIR)/sbin/rdisc
  64. $(INSTALL) -D -m 755 $(@D)/tftpd $(TARGET_DIR)/usr/sbin/in.tftpd
  65. $(INSTALL) -D -m 755 $(@D)/tracepath $(TARGET_DIR)/bin/tracepath
  66. $(INSTALL) -D -m 755 $(@D)/traceroute6 $(TARGET_DIR)/bin/traceroute6
  67. endef
  68. $(eval $(generic-package))