open-plc-utils: new package
[buildroot-gz.git] / package / tcl / tcl.mk
blob1ebba1e81eaf94b8601cc42fe1dd4f1a0696b786
1 ################################################################################
3 # tcl
5 ################################################################################
7 TCL_VERSION_MAJOR = 8.6
8 TCL_VERSION = $(TCL_VERSION_MAJOR).3
9 TCL_SOURCE = tcl$(TCL_VERSION)-src.tar.gz
10 TCL_SITE = http://downloads.sourceforge.net/project/tcl/Tcl/$(TCL_VERSION)
11 TCL_LICENSE = tcl license
12 TCL_LICENSE_FILES = license.terms
13 TCL_SUBDIR = unix
14 TCL_INSTALL_STAGING = YES
15 TCL_AUTORECONF = YES
17 # Note that --with-system-sqlite will only make a difference
18 # in the sqlite package (which gets removed if sqlite not
19 # configured). Don't need to worry about conditionally including
20 # it in the configure options
21 TCL_CONF_OPTS = \
22 --disable-symbols \
23 --disable-langinfo \
24 --disable-framework \
25 --with-system-sqlite
27 HOST_TCL_CONF_OPTS = \
28 --disable-symbols \
29 --disable-langinfo \
30 --disable-framework
32 # I haven't found a good way to force pkgs to not build
33 # or configure without just removing the entire pkg directory.
34 define HOST_TCL_REMOVE_PACKAGES
35 rm -fr $(@D)/pkgs/sqlite[0-9].[0-9].[0-9] \
36 $(@D)/pkgs/tdbc[0-9].[0-9].[0-9] \
37 $(@D)/pkgs/tdbcmysql[0-9].[0-9].[0-9] \
38 $(@D)/pkgs/tdbcodbc[0-9].[0-9].[0-9] \
39 $(@D)/pkgs/tdbcpostgres[0-9].[0-9].[0-9] \
40 $(@D)/pkgs/tdbcsqlite3-[0-9].[0-9].[0-9]
41 endef
42 HOST_TCL_PRE_CONFIGURE_HOOKS += HOST_TCL_REMOVE_PACKAGES
43 define TCL_REMOVE_PACKAGES
44 rm -fr $(if $(BR2_PACKAGE_SQLITE),,$(@D)/pkgs/sqlite[0-9].[0-9].[0-9]) \
45 $(if $(BR2_PACKAGE_SQLITE),,$(@D)/pkgs/tdbc[0-9].[0-9].[0-9]) \
46 $(@D)/pkgs/tdbcmysql[0-9].[0-9].[0-9] \
47 $(@D)/pkgs/tdbcodbc[0-9].[0-9].[0-9] \
48 $(@D)/pkgs/tdbcpostgres[0-9].[0-9].[0-9] \
49 $(if $(BR2_PACKAGE_SQLITE),,$(@D)/pkgs/tdbcsqlite3-[0-9].[0-9].[0-9])
50 endef
51 TCL_PRE_CONFIGURE_HOOKS += TCL_REMOVE_PACKAGES
53 ifeq ($(BR2_PACKAGE_TCL_DEL_ENCODINGS),y)
54 define TCL_REMOVE_ENCODINGS
55 rm -rf $(TARGET_DIR)/usr/lib/tcl$(TCL_VERSION_MAJOR)/encoding/*
56 endef
57 TCL_POST_INSTALL_TARGET_HOOKS += TCL_REMOVE_ENCODINGS
58 endif
60 ifeq ($(BR2_PACKAGE_TCL_SHLIB_ONLY),y)
61 define TCL_REMOVE_TCLSH
62 rm -f $(TARGET_DIR)/usr/bin/tclsh$(TCL_VERSION_MAJOR)
63 endef
64 TCL_POST_INSTALL_TARGET_HOOKS += TCL_REMOVE_TCLSH
65 else
66 define TCL_SYMLINK_TCLSH
67 ln -sf tclsh$(TCL_VERSION_MAJOR) $(TARGET_DIR)/usr/bin/tclsh
68 endef
69 TCL_POST_INSTALL_TARGET_HOOKS += TCL_SYMLINK_TCLSH
70 endif
72 # Until someone needs it, we don't handle locale installation. tcl has
73 # a complicated method of translating LANG-style locale names into its internal
74 # .msg name which makes it difficult to save the correct locales per the
75 # configured whitelist.
76 define TCL_REMOVE_EXTRA
77 rm -fr $(TARGET_DIR)/usr/lib/tclConfig.sh \
78 $(TARGET_DIR)/usr/lib/tclooConfig.sh \
79 $(TARGET_DIR)/usr/lib/tcl$(TCL_VERSION_MAJOR)/tclAppInit.c \
80 $(TARGET_DIR)/usr/lib/tcl$(TCL_VERSION_MAJOR)/msgs
81 endef
82 TCL_POST_INSTALL_TARGET_HOOKS += TCL_REMOVE_EXTRA
84 TCL_DEPENDENCIES = $(if $(BR2_PACKAGE_SQLITE),sqlite)
85 HOST_TCL_DEPENDENCIES =
87 $(eval $(autotools-package))
88 $(eval $(host-autotools-package))