mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-27 15:33:28 +08:00
2fb934ab5b
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
104 lines
2.7 KiB
Makefile
104 lines
2.7 KiB
Makefile
################################################################################
|
|
#
|
|
# jimtcl
|
|
#
|
|
################################################################################
|
|
|
|
JIMTCL_VERSION = 0.80
|
|
JIMTCL_SITE = $(call github,msteveb,jimtcl,$(JIMTCL_VERSION))
|
|
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
|
|
HOST_JIMTCL_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK
|
|
|
|
# jimtcl really wants to find a existing $CXX, so feed it false
|
|
# when we do not have one.
|
|
define JIMTCL_CONFIGURE_CMDS
|
|
(cd $(@D); \
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
CCACHE=none \
|
|
$(if $(BR2_INSTALL_LIBSTDCPP),,CXX=false) \
|
|
./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
|
|
|
|
define HOST_JIMTCL_CONFIGURE_CMDS
|
|
cd $(@D) && \
|
|
$(HOST_CONFIGURE_OPTS) \
|
|
CCACHE=none \
|
|
./configure --prefix=$(HOST_DIR) --shared
|
|
endef
|
|
|
|
define HOST_JIMTCL_BUILD_CMDS
|
|
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)
|
|
endef
|
|
|
|
define HOST_JIMTCL_INSTALL_CMDS
|
|
for i in $(JIMTCL_HEADERS_TO_INSTALL); do \
|
|
cp -a $(@D)/$$i $(HOST_DIR)/usr/include/ || exit 1 ; \
|
|
done;
|
|
$(INSTALL) -m 0755 -D $(@D)/libjim.so.$(JIMTCL_VERSION) \
|
|
$(HOST_DIR)/usr/lib/libjim.so.$(JIMTCL_VERSION)
|
|
ln -sf libjim.so.$(JIMTCL_VERSION) $(HOST_DIR)/usr/lib/libjim.so
|
|
endef
|
|
|
|
$(eval $(generic-package))
|
|
$(eval $(host-generic-package))
|