mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-26 00:55:14 +00:00
140a1d1269
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.
78 lines
2.1 KiB
Makefile
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>
|