mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-23 04:23:08 +00:00
83120e0c21
20180601: - The library tls.s7i has been improved to support the server_name extension and to process handshake messages, that extend over several tls message records. Additionally TLS version 1.2 is used now. - The library x509cert.s7i has been improved to accept a validity with times in GeneralizedTime data elements (additionally to times in UTCTime data elements). - The library browser.s7i has been improved to support calling Safari under Mac OS X. - Tests for the functions environment(), getenv() and setenv() have been added to chkcmd.sd7. - A test that checks the sorting of an array of strings has been added to chkstr.sd7. This checks the compare() function for strings. - The compiler s7c has been improved to create better code for the option -tf (trace functions). Now the trace functions are added after the declarations (such that older C compilers will accept this also). - In chkflt.sd7 tests for NaN have been grouped together. - In chkovf.sd7 tests for the binomial coefficient have been split into groups. - The program chkccomp.c has been improved to define the macros LIMITED_CSTRI_LITERAL_LEN, LIMITED_ARRAY_LITERAL_LEN, DECLARE_OS_ENVIRON, USE_GET_ENVIRONMENT, INITIALIZE_OS_ENVIRON, DEFINE_WGETENV, DEFINE_WSETENV, os_environ, os_getenv, os_setenv, os_putenv, DELETE_PUTENV_STRING, DEFINE_WSTATI64_EXT, DEFINE_STRUCT_STATI64_EXT, DEFINE_FSTATI64_EXT, os_lstat, os_stat, os_fstat, os_stat_struct, os_fstat_struct, HAS_SELECT and HAS_MMAP. - In int_rtl.c the macro DECIMAL_DIGITS has been improved to work with unsigned numbers. - In str_rtl.c the function strCmpGeneric() has been changed back to the old behaviour. Now strCmpGeneric() and strCompare() have again the same behaviour. It has turned out that sorting an array of strings worked wrong, when the program was compiled. - In pcs_win.c the function prepareCommandLine has been improved and the function copyQuotedPart has been added. Now the command line created for CreateProcessW() has fewer quoted parameters. Now parameters that contain a space or a quotation (") or a control character or a character byond ASCII are quoted. All other parameters are not quoted. - Definitions of USE_MMAP, os_environ, os_fstat, DEFINE_WSTATI64_EXT, os_lstat, os_stat, os_stat_orig, os_stat_struct, os_fstat_struct, DEFINE_WSETENV, os_setenv, os_putenv and USE_DIRENT have been removed from the makefiles. - In several files usages of USE_MMAP have been replaced by usages of HAS_MMAP. - The file read_me.txt has been updated. - In chkccomp.c the functions checkForLimitedArrayLiteralLength() and determineStatFunctions() have been added and the functions determineEnvironDefines() and determineBigIntDefines() have been improved. Now the test for the GMP library enforces static linking. - The macros DEFINE_MATHERR_FUNCTION and DEFINE__MATHERR_FUNCTION have been improved to define if matherr() or _matherr() should be defined. - Log functions have been improved in big_gmp.c, big_rtl.c and int_rtl.c. 20180513: - In the manual descriptions of the binomial coefficient and of several conversion functions have been improved. - The bas7.sd7 (basic interpreter) example program has been improved to use case statements with strings. - The operator &:= has been added to the libraries bitsetof.s7i and bitset.s7i. - The function rand() has been added to the library hashsetof.s7i. This function returns a random element from a hash set. - The compiler (s7c) has been improved to generate code that uses memcpy or memmove to copy and create arrays of simple value types (e.g. array integer). The destruction of arrays of simple value types has also been simplified. - The compiler has been improved to optimize the action SET_RAND. - The compiler optimizations for the actions SET_DIFF, SET_UNION and SET_UNION_ASSIGN has been improved. - In the compiler (in comp/const.s7i) the actions BLN_ICONV1, BLN_ICONV3, CHR_ICONV3 and SET_RAND have been added to the list of special actions. The compiler implements functions, which just call one of the special actions as inline functions. - Interpreter and compiler have been improved to support the actions HSH_RAND_KEY and SET_INTERSECT_ASSIGN. - Tests for the functions card() and rand() for the type set of string have been added to chkset.sd7. - Tests for intersection assignments ( &:= ) have been added to chkset.sd7. - In s7c.sd7 the code to call C compiler and linker has been refactored. - The compiler has been improved (in comp/prc_act.s7i) to use the function hshIdxDefault0() instead of hshIdxWithDefault() for case statements with hashsets. - The code generation of the compiler has been improved to trigger the signal SIGFPE with a call of triggerSigfpe(). - The compiler has been improved to insert diagnostic line information (e.g.: #line 64 "logfile.s7i") into code for the actions ARR_CPY, BLN_AND, BLN_OR, ITF_CPY, PRC_IF, PRC_IF_ELSIF, PRC_IF_NOOP - The compiler has been improved to insert diagnostic line information for inlined functions. - The configuration values in cc_conf.s7i have been improved. SWITCH_WORKS_FOR_INT64TYPE, CC_OPT_OPTIMIZE_1, CC_OPT_OPTIMIZE_2 and CC_OPT_OPTIMIZE_3 have been added. SYSTEM_DB_LIBS has been renamed to ADDITIONAL_SYSTEM_LIBS. HAS_SIGACTION, SIGNAL_RESETS_HANDLER and DO_SIGFPE_WITH_DIV_BY_ZERO have been removed. - The program chkccomp.c has been improved. Now it determines the name of the NULL device (/dev/null or NUL:), the system socket library (unix sockets or winsocket), the method to read directories, the bigInteger implementation used (big_rtl.c or big_gmp.c) and the support for switch statements with 64-bit values. - Documentation comments have been added or improved in bigint.s7i, integer.s7i, bitsetof.s7i, bitset.s7i, hashsetof.s7i, cc_conf.s7i, fil_rtl.c, dir_drv.h, cmd_rtl.c, set_rtl.c, str_rtl.c and striutl.c. - In set_rtl.c the function setIntersect() has been improved to create a smaller intersection result, if possible. - In set_rtl.c the function setIntersectAssign has been added. - In setlib.c the function set_intersect_assign has been added. - In hsh_rtl.c the functions get_helem_elem, get_hash_elem, hshRand and hshIdxDefault0 have been added. - In hshlib.c the functions get_helem_elem, get_hash_elem and hsh_rand_key have been added. - In gkb_x11.c and gkb_win.c the function find_window() has been improved to use hshIdxDefault0() instead of hshIdxWithDefault(). - In big_gmp.c the function bigDivRem has been improved to initialize the remainder. - In str_rtl.c and strlib.c the function strelem_memcmp has been renamed to memcmp_strelem. - In str_rtl.c the function strCmpGeneric has been changed to avoid calls of memcmp_strelem(), when the string sizes differ. This differs from the behaviour of strCompare, but the difference is not important, because strCmpGeneric() is only used for string comparisons of hash keys (in compiled programs). - In striutl.c the function conv_to_cstri has been rewritten to return the C string, when the function succeeds, and to work without the parameter err_info. - In striutl.c the function stri_to_bstriw has been rewritten to use an err_info parameter. - In striutl.c the functions with loop unrolling inspired by Duff's device have been rewritten. - In striutl.c the loops in conv_to_cstri, stri_to_cstri and conv_to_os_stri have been optimized. - The macro castIntTypeForSwitch has been introduced to support C compilers, that do not support switch statements with 64-bit values. - Definitions of NULL_DEVICE, USE_GETADDRINFO, USE_WINSOCK and BIGINT_LIB_DEFINE have been removed from the makefiles. 20180401: - The new library logfile.s7i has been added. It defines the interface logFile. A logFile works like a normal file unless the log file has the value STD_NULL. When a logFile has the value STD_NULL string expressions written to the logFile are not evaluated. This reduces the overhead, when logging is turned off. - The bas7.sd7 (basic interpreter) example program has been improved. The logging is now done via the new logFile type. This improves the performance, when no logging is done. Several DATA statements in one line are processed correctly now. Support for IF GOSUB and DISPLAY statements and for the function COMMAND$ has been added. - Tests of nested bigInteger for loops have been added to chkbig.sd7. - A test with the assignment of a hash variable to itself have been added to chkhsh.sd7. - Tests of the replace function have been added to chkstr.sd7. - In striutl.c the functions conv_from_os_stri, cstri8_to_stri and cstri8_buf_to_stri have been improved. Now they call realloc() only, when the size has changed. This improves the performance of conv_from_os_stri by 32% (measured with gcc and valgrind, when reading a directory). - In str_rtl.c the function strUtf8ToStri has been improved to call realloc() only, when the size has changed. - In cmd_rtl.c the functions add_stri_to_array and complete_stri_array have been renamed to addStriToRtlArray and completeRtlStriArray respectively. The renamed functions have also been improved to work with a simpler parameter list. Together with the improvement of conv_from_os_stri this improves the performance of cmdLs by 14% (measured with gcc and valgrind, when reading a directory). - In cmdlib.c the function cmd_ls has been rewritten to be based on cmdLs. The functions cmp_mem and read_dir have been removed. - In cmdlib.c the main loop in the function toArrayType has been optimized for performance. - In str_rtl.c the function add_stri_to_array has been renamed to addCopiedStriToRtlArray and the function completeRtlStriArray has been introduced. The code of addCopiedStriToRtlArray has also been improved to work with a simpler parameter list. - In strlib.c the function add_stri_to_array has been renamed to addCopiedStriToArray and the functions freeStriArray and completeStriArray have been introduced. The code of addCopiedStriToArray has also been improved to work with a simpler parameter list. - The compiler has been improved to optimize the action HSH_CONTAINS, when the hash table is constant and contains one element. - In the compiler (in comp/const.s7i) the actions BLN_ORD, CHR_ICONV1, CHR_ORD and INT_ODD have been added to the list of special actions. The compiler implements functions, which just call one of the special actions as inline functions. This allows optimizations for the boolean and char random number generator. - The compiler (s7c) has been improved (in comp/destr.s7i) to define interface destructors, which take all possible implementation types into account. Additionally a switch statement is used instead of an if-then-else chain. Double entries are also avoided now. - The function strChRepl has been added to str_rtl.c. - The compiler has been improved to use strChRepl instead of strRepl, to optimize split operations. - Unnecessary function parameters have been removed in several include files of the compiler. - In flt_rtl.c the function doubleToCharBuffer has been improved to determine the integer value of the exponent without calling strtol(). - The function freeRtlStriArray has been added to arr_rtl.c. - Several #define flags in pol_sel.c have been improved. - The macro CSTRI_LITERAL_TO_STRI has been defined in striutl.h and used in analyze.c, arr_rtl.c, cmd_rtl.c, cmd_unx.c, infile.c, pcs_unx.c and pcs_win.c. - Calls of logError have been added to functions in cmd_rtl.c, con_inf.c, prclib.c, soc_rtl.c, tim_dos.c, tim_rtl.c, tim_unx.c and tim_win.c. - Documentation comments have been added or improved in cmdlib.c, int_rtl.c and tim_rtl.c.
80 lines
2.4 KiB
Makefile
80 lines
2.4 KiB
Makefile
# Created by: gahr
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= seed7
|
|
DISTVERSION= 05_20180601
|
|
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>
|