1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-21 00:25:50 +00:00
freebsd-ports/lang/seed7/Makefile
Pietro Cerutti 7d89615715 - Update to 05_20140803
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.
2014-08-04 12:04:58 +00:00

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>