mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-06 01:57:40 +00:00
67107f0681
20180304: - In fil_rtl.c and ut8_rlt.c the functions filLineRead, filWordRead, ut8LineRead and ut8WordRead have been improved to use getc_unlocked() instead of getc(). This way the performance of the functions has been improved by a factor of 2 (filLineRead has been measured with gcc and valgrind). - In listutl.c the performance of the function copy_list has been improved by 15% (measured with gcc and valgrind). - In getf.s7i the performance of the function readf has been improved by a factor of 4 (measured with gcc and valgrind). - The functions free_helem and free_hash in hshlib.c have been improved to stop searching for helems as soon as the last helem has been freed. This improves the performance free_hash by 36% (measured with gcc and valgrind). - In fil_rtl.c the function read_and_alloc_stri and filGets have been improved to have less usages of err_info and num_of_chars_read. - In soc_rtl.c the function receive_and_alloc_stri has been improved to have less usages of err_info and better logError messages. - In hsh_rtl.c and hshlib.c the function create_hash has been improved to use memset to initialize empty hash tables. - The functions bstCmp, genericCmp, ptrCmp, rflCmp and typCmp have been improved to use a result variable named signumValue. - Interpreter and compiler have been improved to support the actions ACT_ICONV1, ACT_ICONV3, INT_ICONV1, INT_ICONV3 and REF_HSHLENGTH. - The libraries integer.s7i, bin32.s7i, bin64.s7i, category.s7i and graph.s7i have been improved to use the new primitive actions. - The function boolean(), which converts a string to a boolean value, has been added to boolean.s7i. - The function char(), which converts a string to a char value, has been added to char.s7i. - The function float(), which converts a string to a float value, has been added to float.s7i. - The compiler has been improved to support the actions ACT_GEN and TYP_VARFUNC. - The compiler now uses the function process_call_by_name_expr to create code for loop conditions, loop bodies and other call by name parameters. - The functions process_match and process_inline_param have been added to the compiler. - The compiler has been improved to implement functions, which just call one of the special actions HSH_CONTAINS, HSH_EXCL, HSH_INCL, HSH_KEYS, SET_BASELIT, SET_CONV, SET_ELEM, SET_EXCL, SET_INCL, SET_NOT_ELEM, as inline functions. This allows optimizations for the types set of char and set of string. - The compiler has been improved to optimize the action HSH_CONTAINS, when the hash table is constant. - The compiler optimizations for the actions SET_ELEM and SET_NOT_ELEM have been improved. - A test, that checks for-loops over hash tables, has been added to chkhsh.sd7.
80 lines
2.4 KiB
Makefile
80 lines
2.4 KiB
Makefile
# Created by: gahr
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= seed7
|
|
DISTVERSION= 05_20180304
|
|
CATEGORIES= lang
|
|
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${DISTNAME}/
|
|
DISTNAME= ${PORTNAME}_${DISTVERSION}
|
|
|
|
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
|
|
|
|
ONLY_FOR_ARCHS= amd64 i386 sparc64
|
|
|
|
LIB_DEPENDS= libodbc.so:databases/unixODBC
|
|
|
|
OPTIONS_DEFINE= DOCS EXAMPLES
|
|
|
|
USES= mysql:client ncurses pgsql sqlite tar:tgz
|
|
USE_XORG= x11
|
|
WANT_PGSQL= client
|
|
|
|
WRKSRC= ${WRKDIR}/${PORTNAME}/src
|
|
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= *
|
|
|
|
MAKEFILE= mk_freebsd.mk
|
|
|
|
post-patch:
|
|
${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g;' \
|
|
-e 's|^CFLAGS = |CFLAGS = -I${NCURSESINC} |' \
|
|
${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
|
|
${INSTALL} -d ${STAGEDIR}${DOCSDIR}
|
|
cd ${WRKSRC}/../doc && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR}
|
|
# install PORTEXAMPLES
|
|
${INSTALL} -d ${STAGEDIR}${EXAMPLESDIR}
|
|
cd ${WRKSRC}/../prg && ${COPYTREE_SHARE} '*.dna *.sd7 *.dat *.s7i' ${STAGEDIR}${EXAMPLESDIR}
|
|
# insall man pages
|
|
${INSTALL_DATA} ${WRKSRC}/../doc/s7.1 ${STAGEDIR}${PREFIX}/man/man1
|
|
${INSTALL_DATA} ${WRKSRC}/../doc/s7c.1 ${STAGEDIR}${PREFIX}/man/man1
|
|
|
|
do-test:
|
|
cd ${WRKSRC} && ${MAKE} -f ${MAKEFILE} test
|
|
|
|
.include <bsd.port.mk>
|