0dbb1fb2a7
Changes: * The compiler has been improved to use charvalue instead of intvalue, when characters are initialized. Thanks go to Brian Callahan, for reporting the bug. Btw.: Brian Callahan created an openBSD port for Seed7. * The makefile mk_freebsd.mk has been added to support compilation under freeBSD. Thanks go to Pietro Cerutti, for providing it. * The makefiles mk_clang.mak and mk_freebsd.mk have been improved to use the options -ffunction-sections, -fdata-sections and *Wl,--strip-debug. * The functions bStriLe2BigInt, bytesLe2BigInt, bStriBe2BigInt, bytesBe2BigInt, bStriLe, bytesLe, bStriBe and bytesBe have been added to bytedata.s7i. This functions convert between sequences of bytes and bigInteger numbers. * In bytedata.s7i the functions bytesLeAsInt and bytesBeAsInt have been renamed to bytesLe2Int respectively bytesBe2Int. * Parameter names have been added to seed7_05.s7i, graph_file.s7i, graph.s7i, reference.s7i, pac.sd7, tetg.sd7, tet.sd7 and wiz.sd7. * Checks for the Karatsuba multiplication and the functions bytesBe, bytesLe, bytesBe2BigInt and bytesLe2BigInt have been added to chkbig.sd7. * Checks for set membership in character sets have been added to chkset.sd7. * The readability of the bitset initialisation in the compiler (s7c) has been improved. * Interpreter and compiler have been improved to support the new actions BIG_FROM_BSTRI_BE, BIG_FROM_BSTRI_LE, BIG_TO_BSTRI_BE and BIG_TO_BSTRI_LE. * The functions bigFromBytesBe, bigFromBytesLe, bigFromBStriBe, bigFromBStriLe, bigToBStriBe and bigToBStriLe have been added to both, big_gmp.c and big_rtl.c. * In big_gmp.c and big_rtl.c the function bigImport has been rewritten to use bigFromBytesBe. * The readability of the function uint2_mult in int_rtl.c has been improved. * The program chkccomp.c has been improved to check for a ones complement inttype and if casting can be used to get the element of a union. * Several makefiles have been adjusted to use 'cp -p' instead of 'cp -a'. The cp command openBSD does not support -a. * The function bigRand in big_rtl.c has been improved to avoid that a random number is outside the required range.
76 lines
2 KiB
Makefile
76 lines
2 KiB
Makefile
# Created by: gahr
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= seed7
|
|
DISTVERSION= 05_20130908
|
|
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
|
|
|
|
USE_XORG= x11
|
|
MAN1= s7.1 s7c.1
|
|
|
|
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 ${PREFIX}/bin
|
|
${INSTALL_PROGRAM} ${WRKSRC}/../prg/s7c ${PREFIX}/bin
|
|
# install seed7 library
|
|
${INSTALL} -d ${SEED7_LIBRARY}
|
|
cd ${WRKSRC}/../lib && ${COPYTREE_SHARE} '*.s7i' ${SEED7_LIBRARY}
|
|
# install static libraries
|
|
${INSTALL} -d ${S7_LIB_DIR}
|
|
.for s7_lib in ${S7_LIBS}
|
|
${INSTALL_DATA} ${WRKSRC}/../bin/${s7_lib} ${S7_LIB_DIR}
|
|
.endfor
|
|
# install PORTDOCS
|
|
.if ${PORT_OPTIONS:MDOCS}
|
|
${INSTALL} -d ${DOCSDIR}
|
|
cd ${WRKSRC}/../doc && ${COPYTREE_SHARE} \* ${DOCSDIR}
|
|
.endif
|
|
# install PORTEXAMPLES
|
|
.if ${PORT_OPTIONS:MEXAMPLES}
|
|
${INSTALL} -d ${EXAMPLESDIR}
|
|
cd ${WRKSRC}/../prg && ${COPYTREE_SHARE} '*.dna *.sd7 *.dat *.s7i' ${EXAMPLESDIR}
|
|
.endif
|
|
# insall man pages
|
|
${INSTALL_DATA} ${WRKSRC}/../doc/s7.1 ${MANPREFIX}/man/man1
|
|
${INSTALL_DATA} ${WRKSRC}/../doc/s7c.1 ${MANPREFIX}/man/man1
|
|
|
|
regression-test: build
|
|
cd ${WRKSRC} && ${MAKE} -f ${MAKEFILE} test
|
|
|
|
.include <bsd.port.mk>
|