mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-21 00:25:50 +00:00
7d89615715
Changes: * The handling of ctrl-c has been changed to work better under windows. * The runtime of the function intPowOvfChk in int_rtl.c has been reduced to 57% (measured with gcc and valgrind). * The generation of code in the compiler for the action INT_POW has been improved. When the base is a negative power of two the exponentiation is done with a shift instead of a call of intPow (respectively intPowOvfChk). * The overflow checking for INT_POW in the compiler has been improved. When base or exponent is known the overflow checking is done with inline code and intPow is called instead of intPowOvfChk. * Documentation comments have been added to bitsetof.s7i * Tests for ** have been added to chkint.sd7 and chkovf.st7 * The tests for * and *:= in chkovf.st7 have been reorganized. * An interrupt_flag has been introduced in the interpreter. This flag is used for exception handling and for signal handling. Exceptions set interrupt_flag and fail_flag (with the macro set_fail_flag). Signals set only the interrupt_flag (file sigutl.c). The interrupt_flag is handled in exec_action (file exec.c). * The functions signal_name, handle_signals, handle_segv_signal, handle_term_signal and activate_signal_handlers in sigutl.c have been improved. * The functions continue_question, write_curr_position and show_signal in runerr.c have been improved. * The functions handle_int_signal, readChar, doGetcFromTerminal, doGetsFromTerminal, doLineRead, doLineReadFromTerminal, doWordRead, doWordReadFromTerminal, filGetcChkCtrlC, filGetsChkCtrlC, filHasNextChkCtrlC, filLineReadChkCtrlC and filWordReadChkCtrlC have been added to fil_rtl.c. This functions support reading from a terminal with a check for ctrl*c. This functions are used by the interpreter (file intlib.c). * Tracing has been added to functions in int_rtl.c. * Configuration defines for CTRL_C_SENDS_EOF, SIGNAL_HANDLER_CAN_DO_IO and INT64TYPE_NO_SUFFIX_BUT_CAST have been added to makefiles.
82 lines
2.4 KiB
Makefile
82 lines
2.4 KiB
Makefile
# Created by: gahr
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= seed7
|
|
DISTVERSION= 05_20140803
|
|
CATEGORIES= lang
|
|
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${DISTNAME}/
|
|
DISTNAME= ${PORTNAME}_${DISTVERSION}
|
|
EXTRACT_SUFX= .tgz
|
|
|
|
MAINTAINER= gahr@FreeBSD.org
|
|
COMMENT= High-level, extensible programming language
|
|
|
|
# The language libraries are licensed under the LGPL21 license. Starting from
|
|
# version 05_20140601, the compiler libraries are also distributed. These are
|
|
# licensed under the GPLv2 and can be found in ${PREFIX}/lib/seed7/lib/comp.
|
|
LICENSE= GPLv2 LGPL21
|
|
LICENSE_COMB= multi
|
|
|
|
OPTIONS_DEFINE= DOCS EXAMPLES
|
|
|
|
USE_XORG= x11
|
|
|
|
ONLY_FOR_ARCHS= i386 amd64 sparc64
|
|
|
|
WRKSRC= ${WRKDIR}/${PORTNAME}/src
|
|
MAKEFILE= makefile
|
|
MAKE_ENV+= S7_LIB_DIR=${S7_LIB_DIR} \
|
|
SEED7_LIBRARY=${SEED7_LIBRARY} \
|
|
C_COMPILER=${CC} \
|
|
CPLUSPLUS_COMPILER=${CPP}
|
|
|
|
SEED7_LIBRARY= ${PREFIX}/lib/${PORTNAME}/lib
|
|
S7_LIB_DIR= ${PREFIX}/lib/${PORTNAME}/bin
|
|
S7_LIBS= s7_comp.a s7_con.a s7_draw.a s7_data.a seed7_05.a
|
|
|
|
PORTEXAMPLES= *
|
|
PORTDOCS= *
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
MAKEFILE= mk_freebsd.mk
|
|
|
|
post-patch:
|
|
${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g;' ${WRKSRC}/${MAKEFILE}
|
|
|
|
do-build:
|
|
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} -f ${MAKEFILE} depend
|
|
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} -f ${MAKEFILE} s7 s7c
|
|
|
|
do-install:
|
|
# install interpreter and compiler
|
|
${INSTALL_PROGRAM} ${WRKSRC}/../bin/s7 ${STAGEDIR}${PREFIX}/bin
|
|
${INSTALL_PROGRAM} ${WRKSRC}/../prg/s7c ${STAGEDIR}${PREFIX}/bin
|
|
# install seed7 library
|
|
${INSTALL} -d ${STAGEDIR}${SEED7_LIBRARY}/comp
|
|
cd ${WRKSRC}/../lib && ${COPYTREE_SHARE} '*.s7i' ${STAGEDIR}${SEED7_LIBRARY}
|
|
cd ${WRKSRC}/../lib/comp && ${COPYTREE_SHARE} '*.s7i' ${STAGEDIR}${SEED7_LIBRARY}/comp
|
|
# install static libraries
|
|
${INSTALL} -d ${STAGEDIR}${S7_LIB_DIR}
|
|
.for s7_lib in ${S7_LIBS}
|
|
${INSTALL_DATA} ${WRKSRC}/../bin/${s7_lib} ${STAGEDIR}${S7_LIB_DIR}
|
|
.endfor
|
|
# install PORTDOCS
|
|
.if ${PORT_OPTIONS:MDOCS}
|
|
${INSTALL} -d ${STAGEDIR}${DOCSDIR}
|
|
cd ${WRKSRC}/../doc && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR}
|
|
.endif
|
|
# install PORTEXAMPLES
|
|
.if ${PORT_OPTIONS:MEXAMPLES}
|
|
${INSTALL} -d ${STAGEDIR}${EXAMPLESDIR}
|
|
cd ${WRKSRC}/../prg && ${COPYTREE_SHARE} '*.dna *.sd7 *.dat *.s7i' ${STAGEDIR}${EXAMPLESDIR}
|
|
.endif
|
|
# insall man pages
|
|
${INSTALL_DATA} ${WRKSRC}/../doc/s7.1 ${STAGEDIR}${PREFIX}/man/man1
|
|
${INSTALL_DATA} ${WRKSRC}/../doc/s7c.1 ${STAGEDIR}${PREFIX}/man/man1
|
|
|
|
regression-test: build
|
|
cd ${WRKSRC} && ${MAKE} -f ${MAKEFILE} test
|
|
|
|
.include <bsd.port.mk>
|