hc
2023-11-22 f743a7adbd6e230d66a6206fa115b59fec2d88eb
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
################################################################################
#
# jimtcl
#
################################################################################
 
JIMTCL_VERSION = 0.75
JIMTCL_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/j/jimtcl
JIMTCL_SOURCE = jimtcl_$(JIMTCL_VERSION).orig.tar.xz
JIMTCL_INSTALL_STAGING = YES
JIMTCL_LICENSE = BSD-2-Clause
JIMTCL_LICENSE_FILES = LICENSE
 
JIMTCL_HEADERS_TO_INSTALL = \
   jim.h \
   jim-eventloop.h \
   jim-signal.h \
   jim-subcmd.h \
   jim-win32compat.h \
   jim-config.h
 
ifeq ($(BR2_PACKAGE_TCL),)
define JIMTCL_LINK_TCLSH
   ln -sf jimsh $(TARGET_DIR)/usr/bin/tclsh
endef
endif
 
ifeq ($(BR2_STATIC_LIBS),y)
define JIMTCL_INSTALL_LIB
   $(INSTALL) -m 0644 -D $(@D)/libjim.a $(1)/usr/lib/libjim.a
endef
else
JIMTCL_SHARED = --shared
define JIMTCL_INSTALL_LIB
   $(INSTALL) -m 0755 -D $(@D)/libjim.so.$(JIMTCL_VERSION) \
       $(1)/usr/lib/libjim.so.$(JIMTCL_VERSION)
   ln -sf libjim.so.$(JIMTCL_VERSION) $(1)/usr/lib/libjim.so
endef
endif
 
# build system doesn't use autotools, but does use an old version of
# gnuconfig which doesn't know all the architectures supported by
# Buildroot, so update config.guess / config.sub like we do in
# pkg-autotools.mk
JIMTCL_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK
 
define JIMTCL_CONFIGURE_CMDS
   (cd $(@D); \
       $(TARGET_CONFIGURE_OPTS) CCACHE=none \
       ./configure --prefix=/usr \
       --host=$(GNU_TARGET_NAME) \
       --build=$(GNU_HOST_NAME) \
       $(JIMTCL_SHARED) \
   )
endef
 
# -fPIC is mandatory to build shared libraries on certain architectures
# (e.g. SPARC) and causes no harm or drawbacks on other architectures
define JIMTCL_BUILD_CMDS
   SH_CFLAGS="-fPIC" \
   SHOBJ_CFLAGS="-fPIC" \
   $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
endef
 
define JIMTCL_INSTALL_STAGING_CMDS
   for i in $(JIMTCL_HEADERS_TO_INSTALL); do \
       cp -a $(@D)/$$i $(STAGING_DIR)/usr/include/ || exit 1 ; \
   done; \
   $(call JIMTCL_INSTALL_LIB,$(STAGING_DIR))
endef
 
define JIMTCL_INSTALL_TARGET_CMDS
   $(INSTALL) -D $(@D)/jimsh $(TARGET_DIR)/usr/bin/jimsh
   $(call JIMTCL_INSTALL_LIB,$(TARGET_DIR))
   $(JIMTCL_LINK_TCLSH)
endef
 
$(eval $(generic-package))