161 lines
3.9 KiB
Makefile
161 lines
3.9 KiB
Makefile
# $NetBSD: luaversion.mk,v 1.10 2018/07/23 22:22:42 rillig Exp $
|
|
|
|
# This file determins which Lua version is used as a dependency for
|
|
# a package.
|
|
#
|
|
# === User-settable variables ===
|
|
#
|
|
# LUA_VERSION_DEFAULT
|
|
# The preferred lua version to use.
|
|
#
|
|
# Possible values: 51 52 53
|
|
# Default: 52
|
|
#
|
|
# === Infrastructure variables ===
|
|
#
|
|
# LUA_VERSION_REQD
|
|
# Lua version to use. This variable should not be set by
|
|
# packages; it is ordinarily set by multiversion builds.
|
|
#
|
|
# Possible values: ${LUA_VERSIONS_ACCEPTED}
|
|
# Default: ${LUA_VERSION_DEFAULT}
|
|
#
|
|
# === Package-settable variables ===
|
|
#
|
|
# LUA_VERSIONS_ACCEPTED
|
|
# The Lua versions that the package can build against. Order
|
|
# is significant; those listed earlier are preferred over those
|
|
# listed later.
|
|
#
|
|
# Possible values: 51 52 53
|
|
# Default: 52 53 51
|
|
#
|
|
# LUA_VERSIONS_INCOMPATIBLE
|
|
# The Lua versions that the package *cannot* build against.
|
|
#
|
|
# Possible values: 51 52 53
|
|
# Default: <empty>
|
|
#
|
|
# LUA_SELF_CONFLICT
|
|
# If set to "yes", CONFLICTS entries are added among the various
|
|
# per-Lua-version variants of a multiversion package.
|
|
#
|
|
# === Defined variables ===
|
|
#
|
|
# LUA_PKGPREFIX
|
|
# The prefix to use in PKGNAME for multiversion packages.
|
|
#
|
|
# Example: lua51
|
|
#
|
|
# LUA_INCDIR
|
|
# Relative path to include files.
|
|
#
|
|
# Example: include/lua-51
|
|
#
|
|
# LUA_INTERPRETER
|
|
# Full path to Lua interpreter.
|
|
#
|
|
# LUA_COMPILER
|
|
# Full path to Lua bytecode compiler (luac).
|
|
#
|
|
# Keywords: Lua
|
|
#
|
|
|
|
.if !defined (LUA_LUAVERSION_MK)
|
|
LUA_LUAVERSION_MK= # defined
|
|
|
|
# derive a Lua version from the package name if possible
|
|
# optionally handled quoted package names
|
|
.if defined(PKGNAME_REQD) && !empty(PKGNAME_REQD:Mlua[0-9][0-9]-*) || \
|
|
defined(PKGNAME_REQD) && !empty(PKGNAME_REQD:M*-lua[0-9][0-9]-*)
|
|
LUA_VERSION_REQD?= ${PKGNAME_REQD:C/(^.*-|^)lua([0-9][0-9])-.*/\2/}
|
|
.elif defined(PKGNAME_OLD) && !empty(PKGNAME_OLD:Mlua[0-9][0-9]-*) || \
|
|
defined(PKGNAME_OLD) && !empty(PKGNAME_OLD:M*-lua[0-9][0-9]-*)
|
|
LUA_VERSION_REQD?= ${PKGNAME_OLD:C/(^.*-|^)lua([0-9][0-9])-.*/\2/}
|
|
.endif
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
BUILD_DEFS+= LUA_VERSION_DEFAULT
|
|
BUILD_DEFS_EFFECTS+= LUA_PACKAGE
|
|
|
|
LUA_VERSION_DEFAULT?= 52
|
|
LUA_VERSIONS_ACCEPTED?= 52 53 51
|
|
LUA_VERSIONS_INCOMPATIBLE?=# empty
|
|
|
|
#
|
|
# Resolve LUA_VERSIONS_INCOMPATBLE and generate the _OK vars.
|
|
#
|
|
.for v in ${LUA_VERSIONS_ACCEPTED}
|
|
.if empty(LUA_VERSIONS_INCOMPATIBLE:M${v})
|
|
_LUA_VERSION_${v}_OK= yes
|
|
_LUA_VERSIONS_ACCEPTED+= ${v}
|
|
.endif
|
|
.endfor
|
|
|
|
# Pick a version
|
|
.if defined(LUA_VERSION_REQD)
|
|
. if defined(_LUA_VERSION_${LUA_VERSION_REQD}_OK)
|
|
_LUA_VERSION= ${LUA_VERSION_REQD}
|
|
. endif
|
|
.else
|
|
. if defined(_LUA_VERSION_${LUA_VERSION_DEFAULT}_OK)
|
|
_LUA_VERSION?= ${LUA_VERSION_DEFAULT}
|
|
. endif
|
|
. for v in ${_LUA_VERSIONS_ACCEPTED}
|
|
. if defined(_LUA_VERSION_${v}_OK)
|
|
_LUA_VERSION?= ${v}
|
|
. endif
|
|
. endfor
|
|
.endif
|
|
|
|
#
|
|
# Enable multiversion builds.
|
|
#
|
|
MULTI+= LUA_VERSION_REQD=${_LUA_VERSION}
|
|
|
|
# In case nothing matched
|
|
_LUA_VERSION?= none
|
|
|
|
#
|
|
# Handle self-conflicts
|
|
#
|
|
.if defined(LUA_SELF_CONFLICT) && !empty(LUA_SELF_CONFLICT:M[Yy][Ee][Ss])
|
|
.for v in ${_LUA_VERSIONS_ACCEPTED:N${_LUA_VERSION}}
|
|
CONFLICTS+= ${PKGNAME:S/lua${_LUA_VERSION}/lua${v}/:C/-[0-9].*$/-[0-9]*/}
|
|
.endfor
|
|
.endif
|
|
|
|
.if ${_LUA_VERSION} == "52"
|
|
LUA_PACKAGE= lua52
|
|
LUA_PKGSRCDIR= ../../lang/lua52
|
|
LUA_PKGPREFIX= lua52
|
|
LUA_BASEDEPENDS= lua52>=5.2<5.3:${LUA_PKGSRCDIR}
|
|
|
|
.elif ${_LUA_VERSION} == "53"
|
|
LUA_PACKAGE= lua53
|
|
LUA_PKGSRCDIR= ../../lang/lua53
|
|
LUA_PKGPREFIX= lua53
|
|
LUA_BASEDEPENDS= lua53>=5.3<5.4:${LUA_PKGSRCDIR}
|
|
|
|
.elif ${_LUA_VERSION} == "51"
|
|
LUA_PACKAGE= lua51
|
|
LUA_PKGSRCDIR= ../../lang/lua51
|
|
LUA_PKGPREFIX= lua51
|
|
LUA_BASEDEPENDS= lua51>=5.1<5.2:${LUA_PKGSRCDIR}
|
|
|
|
.else
|
|
PKG_FAIL_REASON+= "No valid Lua version found"
|
|
|
|
.endif
|
|
|
|
#LUA_DEPENDS= ${BUILDLINK_API_DEPENDS.${LUA_PACKAGE}}:${LUA_PKGSRCDIR}
|
|
|
|
.include "${LUA_PKGSRCDIR}/version.mk"
|
|
_LUA_DOT_VERSION= ${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}
|
|
|
|
LUA_INCDIR= include/lua-${_LUA_DOT_VERSION}
|
|
LUA_INTERPRETER= ${LOCALBASE}/bin/lua${_LUA_DOT_VERSION}
|
|
LUA_COMPILER= ${LOCALBASE}/bin/luac${_LUA_DOT_VERSION}
|
|
|
|
.endif # LUA_LUAVERSION_MK
|