1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-26 00:55:14 +00:00
freebsd-ports/lang/seed7/Makefile
Pietro Cerutti 140a1d1269 - Update to 05_20140216
Changes:

  * A new numeric escape sequence for string literals has been
    introduced. A backslash followed by an integer literal and a
    semicolon is interpreted as character with the specified ordinal
    number. E.g.: "abc\128;def". With the old numeric escape sequence
    this would be "abc\128\def". Terminating the escape sequence
    with ; instead of \ improves the readability, especially when
    escape sequences follow each other. Instead of "\8\\12\\7\8\9\\\"
    it is now possible to write "\8;\12;\7;8\9;\\" The old escape
    sequence is still supported, but it is deprecated and should not
    be used. Future versions will warn about the deprecated escape
    sequence.
  * The conversion functions 'bytes' and 'bytes2Int' in bytedata.s7c
    have been improved to support all combinations of signedness and
    endianess.
  * The functions bStriBe and bStriLe have been removed from
    bstring.s7i. The function 'bytes' in bytedata.s7c can be used as
    replacement.
  * Checks for lowestSetBit and UNSIGNED conversions with the
    functions 'bytes' and 'bytes2Int' have been added to chkint.sd7.
  * Checks for UNSIGNED conversions with the functions 'bytes' and
    'bytes2BigInt' have been added to chkbig.sd7.
  * Checks for the function rand have been added to chkset.sd7.
  * The parser has been improved to write error messages when the
    source file contains unexpected UTF-8 continuation bytes, solitary
    UTF-8 start bytes, extended control codes from the C1 set or an
    UTF-16 byte order mark.
  * In tar.s7i the functions getoct, putspc and putoct have been
    improved. The computation of the size of padding data has also
    been improved.
  * The compiler has been improved to optimize string initialisations
    with the function strZero. StrZero creates a string of arbitrary
    length with '\0;' (zero) bytes.
  * The compiler has been improved to optimize integer exponentiation
    (action INT_POW). Now the multiplication pattern is determined at
    compile time and the number of multiplications is reduced.
  * The performance of the function setCard in set_rtl.c has been
    improved by a factor of 2.5.
  * The performance of the function setRand in set_rtl.c has been
    improved by a factor of 2.3.
  * Loop unrolling inspired by Duff's device has been introduced in
    striutl.h. The unrolling is used for tight loops which copy byte
    data to Seed7 strings in fil_rtl.c, soc_rtl.c and bst_rtl.c. The
    performance improvement has been verified with gcc and valgrind.
  * The example program err.sd7, which checks compile time error
    messages, has been improved.
  * The old way to store the data of constant bigIntegers has been
    removed from compiler and runtime library.
  * The buffers used in intRadix and intRadixPow2 (file int_rtl.c) have
    been enlarged to fit for the most negative number with a base of 2.
  * In itflib.c the functions itf_cpy and itf_cpy2 have been fixed to
    work correctly, when the destination is converted from a struct to
    an interface.
  * In traceutl.c the tracing of characters has been improved in the
    functions prot_char, prot_os_stri, prot_stri_unquoted and
    prot_bstri.
  * In ut8_rtl.c the function ut8Getc has been improved to use smarter
    checks for ranges of characters.
  * The deprecated variant of the function str, which has a second
    parameter to specify a numeric base, has been removed. The
    operators radix and RADIX can be used instead.
  * Interpreter and compiler have been improved to support the new
    actions INT_BYTES_BE, INT_BYTES_LE, INT_BYTES_BE_2_INT and
    INT_BYTES_LE_2_INT. The functions intBytesBe, int_bytesBe,
    intBytesLe, int_bytesLe, intBytesBe2Int, int_bytesBe2Int,
    intBytesLe2Int and int_bytesLe2Int have been added.
  * Support for the actions BIG_CLIT, INT_TO_BSTRI_BE, INT_TO_BSTRI_LE,
    INT_BYTES_BE_2_UINT and INT_BYTES_LE_2_UINT has been removed from
    interpreter and compiler. The functions bigImport, bigCLit,
    big_clit, intToBStriBe, int_toBStriBe, intToBStriLe, int_toBStriLe,
    intBytesBe2UInt, int_bytes_be_2_uint, intBytesLe2UInt and
    int_bytes_le_2_uint have been removed.
2014-02-17 10:58:31 +00:00

78 lines
2.1 KiB
Makefile

# Created by: gahr
# $FreeBSD$
PORTNAME= seed7
DISTVERSION= 05_20140216
CATEGORIES= lang
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${DISTNAME}/
DISTNAME= ${PORTNAME}_${DISTVERSION}
EXTRACT_SUFX= .tgz
MAINTAINER= gahr@FreeBSD.org
COMMENT= High-level, extensible programming language
LICENSE= LGPL21
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}
# ${REINPLACE_CMD} -e '/FLOATTYPE_DOUBLE/s|undef|define|' ${WRKSRC}/config.h
do-build:
cd ${WRKSRC} && ${MAKE} -f ${MAKEFILE} depend
cd ${WRKSRC} && ${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}
cd ${WRKSRC}/../lib && ${COPYTREE_SHARE} '*.s7i' ${STAGEDIR}${SEED7_LIBRARY}
# 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>