mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-17 03:25:46 +00:00
53792bf1df
are put there by the framework (see line 200 of Mk/bsd.options.mk), except for `finance/quantlib' which makes very unorthodoxal usage of port options.
157 lines
4.3 KiB
Makefile
157 lines
4.3 KiB
Makefile
# Created by: GreenDog <fiziologus@gmail.com>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= lua
|
|
DISTVERSION= 5.3.5
|
|
CATEGORIES= lang
|
|
MASTER_SITES= https://www.lua.org/ftp/
|
|
PKGNAMESUFFIX= 53
|
|
|
|
MAINTAINER= russ.haley@gmail.com
|
|
COMMENT= Powerful, efficient, lightweight, embeddable scripting language
|
|
|
|
LICENSE= MIT
|
|
|
|
LUA_VER= 5.3
|
|
USE_LDCONFIG= yes
|
|
|
|
# Overriding __MAKE_CONF makes sure that we don't re-parse
|
|
# /etc/make.conf during do-build, which would jeopardize the build
|
|
# if, for instance, the user set CFLAGS=mumble
|
|
# NOTE: /etc/make.conf is read BEFORE Makefile, so we already
|
|
# have its settings when we get here.
|
|
# See http://wiki.freebsd.org/MatthiasAndree/LuaLessonsLearnt
|
|
MAKE_ARGS= __MAKE_CONF=${NONEXISTENT}
|
|
|
|
BUILD_WRKSRC= ${WRKSRC}/src
|
|
|
|
# Source, destination, and filenames to copy for the DOCS option
|
|
# (automatically added to pkg-plist if DOCS is set)
|
|
# We override DOCSDIR to get a per-version subdir.
|
|
# We put the docs for Lua proper in a lua/ subdir of the version subdir
|
|
# so that ports for Lua modules can use the version subdir too without
|
|
# making a mess.
|
|
DOCSDIR= ${PREFIX}/share/doc/lua${PKGNAMESUFFIX}/lua
|
|
PORTDOCS= *
|
|
BUILD_WRKDOC= ${WRKSRC}/doc
|
|
|
|
LUA_PREFIX= ${PREFIX}
|
|
|
|
# 2018-03-17: AG - These should match lua.mk, but we can't include that here
|
|
LUA_CMD= lua${PKGNAMESUFFIX}
|
|
LUAC_CMD= luac${PKGNAMESUFFIX}
|
|
LUA_INCDIR= ${LUA_PREFIX}/include/lua${PKGNAMESUFFIX}
|
|
LUA_LIBDIR= ${LUA_PREFIX}/lib
|
|
|
|
LUA_LIB_STATIC= liblua-${LUA_VER}.a
|
|
LUA_LIB_SHARED= liblua-${LUA_VER}.so
|
|
LUA_PC_FILE= lua-${LUA_VER}.pc
|
|
|
|
# using the "bsd" target rather than "freebsd" saves patching out the
|
|
# assumption of using base libedit in order to make it configurable. "bsd"
|
|
# is "generic" plus the POSIX and DLOPEN options, plus -Wl,-E at link time;
|
|
# it doesn't set CC either, which makes it easier for us to control that too.
|
|
ALL_TARGET=bsd
|
|
|
|
# Options
|
|
|
|
OPTIONS_DEFAULT=LIBEDIT_DL
|
|
|
|
OPTIONS_GROUP= DOCSGRP DEBUGGRP
|
|
OPTIONS_SINGLE= EDITGRP
|
|
|
|
OPTIONS_GROUP_DOCSGRP= DOCS
|
|
OPTIONS_GROUP_DEBUGGRP= ASSERT APICHECK
|
|
|
|
OPTIONS_SINGLE_EDITGRP= EDITNONE LIBEDIT_DL LIBEDIT READLINE
|
|
|
|
# Option descriptions
|
|
|
|
DEBUGGRP_DESC= Debugging options
|
|
ASSERT_DESC= Enable interpreter assertions
|
|
APICHECK_DESC= Enable API checks
|
|
|
|
DOCSGRP_DESC= Documentation options
|
|
DOCS_DESC= Install language and API reference (HTML, ~400kB)
|
|
|
|
EDITGRP_DESC= Interactive command-line editing
|
|
EDITNONE_DESC= No command-line editing
|
|
LIBEDIT_DL_DESC=Use dynamically loaded libedit (recommended)
|
|
LIBEDIT_DESC= Use libedit (breaks lcurses)
|
|
READLINE_DESC= Use GNU Readline (breaks lcurses)
|
|
|
|
# Option implementations
|
|
|
|
ASSERT_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-assert
|
|
|
|
APICHECK_CPPFLAGS= -DLUA_USE_APICHECK
|
|
|
|
# EDITNONE currently requires no settings
|
|
|
|
LIBEDIT_DL_USES= libedit
|
|
LIBEDIT_DL_CPPFLAGS= -DLUA_USE_READLINE_DL
|
|
|
|
LIBEDIT_USES= libedit
|
|
LIBEDIT_CPPFLAGS= -DLUA_USE_READLINE
|
|
LIBEDIT_LIBS= -ledit
|
|
|
|
READLINE_USES= readline
|
|
READLINE_CPPFLAGS= -DLUA_USE_READLINE
|
|
READLINE_LIBS= -lreadline
|
|
|
|
# end of option vars
|
|
|
|
CFLAGS+= -fPIC
|
|
|
|
WITHOUT_NO_STRICT_ALIASING=yes
|
|
|
|
MAKE_ARGS+= CC="${CC}" \
|
|
MYCFLAGS="${CPPFLAGS} ${CFLAGS}" \
|
|
MYLDFLAGS="${LDFLAGS}" \
|
|
MYLIBS="${LIBS}" \
|
|
LUA_T=${LUA_CMD} \
|
|
LUAC_T=${LUAC_CMD} \
|
|
LUA_A=${LUA_LIB_STATIC} \
|
|
LUA_SO=${LUA_LIB_SHARED} \
|
|
LUA_SONAME=${LUA_LIB_SHARED} \
|
|
TO_BIN="${LUA_CMD} ${LUAC_CMD}" \
|
|
TO_LIB="${LUA_LIB_SHARED} ${LUA_LIB_STATIC}" \
|
|
INSTALL_TOP=${STAGEDIR}${PREFIX} \
|
|
INSTALL_INC=${STAGEDIR}${LUA_INCDIR} \
|
|
INSTALL_EXEC="${INSTALL_PROGRAM}"
|
|
|
|
SUB_FILES= ${LUA_PC_FILE}
|
|
SUB_LIST= version=${PORTVERSION} \
|
|
includedir=${LUA_INCDIR} \
|
|
libdir=${LUA_LIBDIR} \
|
|
soname=lua-${LUA_VER}
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e "/LUA_ROOT/s,/usr/local,${LUA_PREFIX}," \
|
|
${WRKSRC}/src/luaconf.h
|
|
|
|
post-patch-LIBEDIT-on:
|
|
@${REINPLACE_CMD} -e "s,readline/,editline/,g ; \
|
|
/history\.h/d" ${WRKSRC}/src/lua.c
|
|
|
|
post-patch-LIBEDIT_DL-on:
|
|
@${REINPLACE_CMD} \
|
|
-e "/^#def.*LUA_READLINE_LIBPATH/s,/usr/local,${LOCALBASE}," \
|
|
${WRKSRC}/src/lua.c
|
|
|
|
post-install:
|
|
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${LUA_LIB_SHARED}
|
|
${MV} ${STAGEDIR}${PREFIX}/man/man1/lua.1 \
|
|
${STAGEDIR}${PREFIX}/man/man1/${LUA_CMD}.1
|
|
${MV} ${STAGEDIR}${PREFIX}/man/man1/luac.1 \
|
|
${STAGEDIR}${PREFIX}/man/man1/${LUAC_CMD}.1
|
|
${INSTALL_DATA} ${WRKDIR}/${LUA_PC_FILE} \
|
|
${STAGEDIR}${PREFIX}/libdata/pkgconfig
|
|
|
|
post-install-DOCS-on:
|
|
${MKDIR} ${STAGEDIR}${DOCSDIR}
|
|
(cd ${BUILD_WRKDOC} && \
|
|
${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} '-not -name *\.1')
|
|
|
|
.include <bsd.port.mk>
|