79bab1fd89
Before commit 87b6ac1478
support for Lua
was always disabled by the default config file:
```
CONFIG_LUA is not set
```
The commit removed this setting and Lua support is now enabled if a Lua
interpreter is enabled. As the swupdate build system uses pkg-config to
check for the lua library by default (LUAPKG="lua") this throws a lot of
undefined referenced in case LuaJIT is uses as Lua interpreter, e.g.:
```
corelib/lib.a(lua_interface.o): In function `l_info':
lua_interface.c:(.text.l_info+0x14): undefined reference to `luaL_checklstring'
```
In addition, since version 2017.07, Lua 5.1 really isn't supported any
more (before this version, it was only unsupported if the option
CONFIG_HANDLER_IN_LUA was set). Therefore, remove support for Lua 5.1
and LuaJIT in the swupdate package for now until upstream might fix
this issue.
Reported upstream:
https://groups.google.com/forum/#!topic/swupdate/WAm8npAOd6o
Fixes:
http://autobuild.buildroot.net/results/df2/df2a71efe5af52d7b8721a355c49934b1be197a3/
http://autobuild.buildroot.net/results/400/4006225c8a47eb0b56399c83bd6d00406a0f62c2/
http://autobuild.buildroot.net/results/098/098f9d6cd905359adac4fb15e1d54c5022757325/
http://autobuild.buildroot.net/results/e5f/e5f6f99d96d9c661454335e7f931a03c3ae6a9e2/
http://autobuild.buildroot.net/results/f3a/f3a0abe8d5e35c85da40d20dab260c28506a0d4c/
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
135 lines
3.5 KiB
Makefile
135 lines
3.5 KiB
Makefile
################################################################################
|
|
#
|
|
# swupdate
|
|
#
|
|
################################################################################
|
|
|
|
SWUPDATE_VERSION = 2017.07
|
|
SWUPDATE_SITE = $(call github,sbabic,swupdate,$(SWUPDATE_VERSION))
|
|
SWUPDATE_LICENSE = GPL-2.0+, MIT, Public Domain
|
|
SWUPDATE_LICENSE_FILES = COPYING
|
|
|
|
# swupdate bundles its own version of mongoose (version 3.8)
|
|
|
|
ifeq ($(BR2_PACKAGE_JSON_C),y)
|
|
SWUPDATE_DEPENDENCIES += json-c
|
|
SWUPDATE_MAKE_ENV += HAVE_JSON_C=y
|
|
else
|
|
SWUPDATE_MAKE_ENV += HAVE_JSON_C=n
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
|
|
SWUPDATE_DEPENDENCIES += libarchive
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBARCHIVE=y
|
|
else
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBARCHIVE=n
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBCONFIG),y)
|
|
SWUPDATE_DEPENDENCIES += libconfig
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBCONFIG=y
|
|
else
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBCONFIG=n
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBCURL),y)
|
|
SWUPDATE_DEPENDENCIES += libcurl
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBCURL=y
|
|
else
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBCURL=n
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUA_5_3),y)
|
|
SWUPDATE_DEPENDENCIES += lua host-pkgconf
|
|
SWUPDATE_MAKE_ENV += HAVE_LUA=y
|
|
else
|
|
SWUPDATE_MAKE_ENV += HAVE_LUA=n
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_MTD),y)
|
|
SWUPDATE_DEPENDENCIES += mtd
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBMTD=y
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBUBI=y
|
|
else
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBMTD=n
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBUBI=n
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
|
SWUPDATE_DEPENDENCIES += openssl
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBSSL=y
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBCRYPTO=y
|
|
else
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBSSL=n
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBCRYPTO=n
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_UBOOT_TOOLS),y)
|
|
SWUPDATE_DEPENDENCIES += uboot-tools
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBUBOOTENV=y
|
|
else
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBUBOOTENV=n
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_ZEROMQ),y)
|
|
SWUPDATE_DEPENDENCIES += zeromq
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBZEROMQ=y
|
|
else
|
|
SWUPDATE_MAKE_ENV += HAVE_LIBZEROMQ=n
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
|
SWUPDATE_DEPENDENCIES += zlib
|
|
SWUPDATE_MAKE_ENV += HAVE_ZLIB=y
|
|
else
|
|
SWUPDATE_MAKE_ENV += HAVE_ZLIB=n
|
|
endif
|
|
|
|
SWUPDATE_BUILD_CONFIG = $(@D)/.config
|
|
|
|
SWUPDATE_KCONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_SWUPDATE_CONFIG))
|
|
SWUPDATE_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig
|
|
|
|
ifeq ($(BR2_STATIC_LIBS),y)
|
|
define SWUPDATE_PREFER_STATIC
|
|
$(call KCONFIG_ENABLE_OPT,CONFIG_STATIC,$(SWUPDATE_BUILD_CONFIG))
|
|
endef
|
|
endif
|
|
|
|
define SWUPDATE_SET_BUILD_OPTIONS
|
|
$(call KCONFIG_SET_OPT,CONFIG_CROSS_COMPILE,"$(TARGET_CROSS)", \
|
|
$(SWUPDATE_BUILD_CONFIG))
|
|
$(call KCONFIG_SET_OPT,CONFIG_SYSROOT,"$(STAGING_DIR)", \
|
|
$(SWUPDATE_BUILD_CONFIG))
|
|
$(call KCONFIG_SET_OPT,CONFIG_EXTRA_CFLAGS,"$(TARGET_CFLAGS)", \
|
|
$(SWUPDATE_BUILD_CONFIG))
|
|
$(call KCONFIG_SET_OPT,CONFIG_EXTRA_LDFLAGS,"$(TARGET_LDFLAGS)", \
|
|
$(SWUPDATE_BUILD_CONFIG))
|
|
endef
|
|
|
|
define SWUPDATE_KCONFIG_FIXUP_CMDS
|
|
$(SWUPDATE_PREFER_STATIC)
|
|
$(SWUPDATE_SET_BUILD_OPTIONS)
|
|
endef
|
|
|
|
define SWUPDATE_BUILD_CMDS
|
|
$(TARGET_MAKE_ENV) $(SWUPDATE_MAKE_ENV) $(MAKE) -C $(@D)
|
|
endef
|
|
|
|
define SWUPDATE_INSTALL_TARGET_CMDS
|
|
$(INSTALL) -D -m 0755 $(@D)/swupdate $(TARGET_DIR)/usr/bin/swupdate
|
|
$(if $(BR2_PACKAGE_SWUPDATE_INSTALL_WEBSITE), \
|
|
mkdir -p $(TARGET_DIR)/var/www/swupdate; \
|
|
cp -dpf $(@D)/www/* $(TARGET_DIR)/var/www/swupdate)
|
|
endef
|
|
|
|
# Checks to give errors that the user can understand
|
|
# Must be before we call to kconfig-package
|
|
ifeq ($(BR2_PACKAGE_SWUPDATE)$(BR_BUILDING),yy)
|
|
ifeq ($(call qstrip,$(BR2_PACKAGE_SWUPDATE_CONFIG)),)
|
|
$(error No Swupdate configuration file specified, check your BR2_PACKAGE_SWUPDATE_CONFIG setting)
|
|
endif
|
|
endif
|
|
|
|
$(eval $(kconfig-package))
|