jimtcl.mk 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. ################################################################################
  2. #
  3. # jimtcl
  4. #
  5. ################################################################################
  6. JIMTCL_VERSION = 0.75
  7. JIMTCL_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/j/jimtcl
  8. JIMTCL_SOURCE = jimtcl_$(JIMTCL_VERSION).orig.tar.xz
  9. JIMTCL_INSTALL_STAGING = YES
  10. JIMTCL_LICENSE = BSD-2-Clause
  11. JIMTCL_LICENSE_FILES = LICENSE
  12. JIMTCL_HEADERS_TO_INSTALL = \
  13. jim.h \
  14. jim-eventloop.h \
  15. jim-signal.h \
  16. jim-subcmd.h \
  17. jim-win32compat.h \
  18. jim-config.h
  19. ifeq ($(BR2_PACKAGE_TCL),)
  20. define JIMTCL_LINK_TCLSH
  21. ln -sf jimsh $(TARGET_DIR)/usr/bin/tclsh
  22. endef
  23. endif
  24. ifeq ($(BR2_STATIC_LIBS),y)
  25. define JIMTCL_INSTALL_LIB
  26. $(INSTALL) -m 0644 -D $(@D)/libjim.a $(1)/usr/lib/libjim.a
  27. endef
  28. else
  29. JIMTCL_SHARED = --shared
  30. define JIMTCL_INSTALL_LIB
  31. $(INSTALL) -m 0755 -D $(@D)/libjim.so.$(JIMTCL_VERSION) \
  32. $(1)/usr/lib/libjim.so.$(JIMTCL_VERSION)
  33. ln -sf libjim.so.$(JIMTCL_VERSION) $(1)/usr/lib/libjim.so
  34. endef
  35. endif
  36. # build system doesn't use autotools, but does use an old version of
  37. # gnuconfig which doesn't know all the architectures supported by
  38. # Buildroot, so update config.guess / config.sub like we do in
  39. # pkg-autotools.mk
  40. JIMTCL_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK
  41. define JIMTCL_CONFIGURE_CMDS
  42. (cd $(@D); \
  43. $(TARGET_CONFIGURE_OPTS) CCACHE=none \
  44. ./configure --prefix=/usr \
  45. --host=$(GNU_TARGET_NAME) \
  46. --build=$(GNU_HOST_NAME) \
  47. $(JIMTCL_SHARED) \
  48. )
  49. endef
  50. # -fPIC is mandatory to build shared libraries on certain architectures
  51. # (e.g. SPARC) and causes no harm or drawbacks on other architectures
  52. define JIMTCL_BUILD_CMDS
  53. SH_CFLAGS="-fPIC" \
  54. SHOBJ_CFLAGS="-fPIC" \
  55. $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
  56. endef
  57. define JIMTCL_INSTALL_STAGING_CMDS
  58. for i in $(JIMTCL_HEADERS_TO_INSTALL); do \
  59. cp -a $(@D)/$$i $(STAGING_DIR)/usr/include/ || exit 1 ; \
  60. done; \
  61. $(call JIMTCL_INSTALL_LIB,$(STAGING_DIR))
  62. endef
  63. define JIMTCL_INSTALL_TARGET_CMDS
  64. $(INSTALL) -D $(@D)/jimsh $(TARGET_DIR)/usr/bin/jimsh
  65. $(call JIMTCL_INSTALL_LIB,$(TARGET_DIR))
  66. $(JIMTCL_LINK_TCLSH)
  67. endef
  68. $(eval $(generic-package))