mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-26 00:55:14 +00:00
53abdbc4c5
Changes: * The chapter in the manual about the foreign function interface has been improved. * A paragraph about regular expressions and lexical scanner functions has been added to the FAQ. * The handling of the actions CHR_CLIT and INT_STRI in the compiler has been improved. The string buffers for chrCLitToBuffer and intStrToBuffer use the correct alignment now. * In big_rtl.c the functions bigParseBasedPow2 and bigParseBased2To36 have been added and bigParseBased has been changed to call them. This improves the conversion of a string to a bigInteger, when the base is a power of two. Valgrind measurements of the function bigParseBased in chkbig.sd7 show a speed improvement with a factor of 239. * The macros memcpy_to_strelem and memset_to_strelem (defined in striutl.h) have been turned into functions (defined in striutl.c). * The unrolling in memcpy_to_strelem and memset_to_strelem has been changed from 8 times to 32 times. This improves the performance for big data amounts by 16% (Measured with valgrind and gcc). * Usages of the macros memcpy_to_strelem and memset_to_strelem in bst_rtl.c, fil_rtl.c, soc_rtl.c and str_rtl.c have been turned into usages of the corresponding functions. * Calls of cstri_expand, ustri_expand, cstri_expand2 and ustri_expand2 in analyze.c, chr_rtl.c, flt_rtl.c, infile.c, str_rtl.c and striutl.c have been turned into calls of memcpy_to_strelem. * The functions (macros) cstri_expand, ustri_expand, cstri_expand2 and ustri_expand2 have been removed from striutl.c and striutl.h. * The functions doCompileAndLink, compileAndLinkWithOptionsOk, compileAndLinkOk, appendToFile and detemineDatabaseDefines have been added to chkccomp.c. The function compilationOkay has been replaced by compileAndLinkOk.
78 lines
2.1 KiB
Makefile
78 lines
2.1 KiB
Makefile
# Created by: gahr
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= seed7
|
|
DISTVERSION= 05_20140420
|
|
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>
|