swig: add swig2.0 -> swig symlink

The cmake detection script provided with cmake will first look for a
binary called swig2.0 then for a binary called swig.

host-swig only installs a binary called swig, but if the host
distribution has instaled a binary called swig2.0, it will be
preferred over our swig, which isn't great. This patch creates a
symlink swig2.0 -> swig to prevent this from happening.

[Thomas: add comment in the code and improve the commit log]

Signed-off-by: Jérémy Rosen <jeremy.rosen@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Jeremy Rosen 2014-09-22 13:31:08 +02:00 committed by Thomas Petazzoni
parent 47e5ba9dfc
commit 03ecca90d3
1 changed files with 17 additions and 1 deletions

View File

@ -4,7 +4,8 @@
#
################################################################################
SWIG_VERSION = 2.0.12
SWIG_MAJOR = 2.0
SWIG_VERSION = $(SWIG_MAJOR).12
SWIG_SITE = http://downloads.sourceforge.net/project/swig/swig/swig-$(SWIG_VERSION)
SWIG_DEPENDENCIES = host-bison
HOST_SWIG_CONF_OPT = \
@ -14,4 +15,19 @@ HOST_SWIG_CONF_OPT = \
SWIG_LICENSE = GPLv3+ BSD-2c BSD-3c
SWIG_LICENSE_FILES = LICENSE LICENSE-GPL LICENSE-UNIVERSITIES
# CMake looks first at swig2.0 and then swig. However, when doing the
# search, it will look into the PATH for swig2.0 first, and then for
# swig. While the PATH contains first our $(HOST_DIR)/usr/bin, it also
# contains /usr/bin and other system directories. Therefore, if there
# is an installed swig2.0 on the system, it will get the preference
# over the swig installed in $(HOST_DIR)/usr/bin, which isn't nice. To
# prevent this from happening we create a symbolic link swig2.0 ->
# swig, so that our swig always gets used.
define HOST_SWIG_INSTALL_SYMLINK
ln -fs $(HOST_DIR)/usr/bin/swig $(HOST_DIR)/usr/bin/swig$(SWIG_MAJOR)
endef
HOST_SWIG_POST_INSTALL_HOOKS += HOST_SWIG_INSTALL_SYMLINK
$(eval $(host-autotools-package))