0885724fbe
It is general safe to use -fPIC for all architectures. -fpic breaks sparc64 compile. Generally gcc just optimize position independent code for m68k, powerpc and sparc with -fpic. The size differences are minimal, f.e. for powerpc: text data bss dec hex filename 235983 5336 684 242003 3b153 output/target/usr/lib/libjim.0.75 236255 8456 684 245395 3be93 output/target/usr/lib/libjim.so.0.75 So instead of keeping special settings for sparc64 it would be better to always use -fPIC in general. Runtime tested on Qemu ARM, MIPS, PPC and SPARC64. Fixes: http://autobuild.buildroot.net/results/98f391ad13f22828c022f185c0166daabdb4c1ad/ [Peter: tweak comment as suggested by Thomas] Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
71 lines
1.7 KiB
Makefile
71 lines
1.7 KiB
Makefile
################################################################################
|
|
#
|
|
# 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-2c
|
|
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
|
|
|
|
define JIMTCL_CONFIGURE_CMDS
|
|
(cd $(@D); \
|
|
$(TARGET_CONFIGURE_OPTS) CCACHE=none \
|
|
./configure --prefix=/usr \
|
|
$(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" \
|
|
$(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))
|