Index: head/cad/ghdl/Makefile =================================================================== --- head/cad/ghdl/Makefile (revision 388182) +++ head/cad/ghdl/Makefile (revision 388183) @@ -1,124 +1,163 @@ # Created by: John Marino # $FreeBSD$ PORTNAME= ghdl PORTVERSION= 0.32 CATEGORIES= cad DISTFILES= ${SRCDISTFILE} ${GCCDISTFILE} MAINTAINER= marino@FreeBSD.org COMMENT= GNU VHDL simulator LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libgmp.so:${PORTSDIR}/math/gmp \ libmpfr.so:${PORTSDIR}/math/mpfr \ libmpc.so:${PORTSDIR}/math/mpc -USES= ada gmake iconv libtool perl5 -USE_PERL5= build -INFO= ghdl - +USES= ada gmake USE_GITHUB= yes GH_ACCOUNT= hanzer GH_PROJECT= GHDL GH_TAGNAME= a88ac1c GNU_CONFIGURE= yes GCCVER= 4.9.2 +LLVMVER= 35 SRCDISTFILE= hanzer-GHDL-${PORTVERSION}-${GH_TAGNAME}_GH0.tar.gz -GCCDISTFILE= gcc-${GCCVER}.tar.bz2 BLD_TARGET= ${ARCH:S/amd64/x86_64/}-portbld-${OPSYS:tl}${OSREL:R} BUILDDIR= ${WRKDIR}/build GCCSRCDIR= ${WRKDIR}/gcc-${GCCVER} CFG_SCRIPT= ${GCCSRCDIR}/configure PKG_PREFIX= ${PREFIX}/ghdl LINKER_COMMAND= ${LOCALBASE}/gcc-aux/bin/gcc -PLIST_SUB= GLEX=ghdl/libexec/gcc/${BLD_TARGET}/${GCCVER} \ - GLIB=ghdl/lib/gcc/${BLD_TARGET}/${GCCVER} \ - TARGET=${BLD_TARGET} GHDL_ARGS= --enable-languages="c,vhdl" \ --build=${BLD_TARGET} \ --prefix=${PKG_PREFIX:Q} \ --disable-bootstrap \ --disable-nls \ --disable-libquadmath \ --disable-libmudflap \ --disable-libgomp \ --disable-libssp \ --with-system-zlib \ --with-gmp=${PREFIX} \ --with-mpfr=${PREFIX} \ --with-mpc=${PREFIX} \ --enable-shared \ --enable-threads=posix \ ${ICONV_CONFIGURE_ARG} ${EXTRA_CONFIG} -.include +OPTIONS_SINGLE= BACKEND +OPTIONS_SINGLE_BACKEND= GCC LLVM +GCC_DESC= Code generator is GCC (mature) +LLVM_DESC= Code generator is LLVM (experimental) + +.if exists (/sbin/hammer) +OPTIONS_DEFAULT= LLVM +PLIST_SUB= DRAGONFLY="" FREEBSD="@comment " +.else +OPTIONS_DEFAULT= GCC +PLIST_SUB= DRAGONFLY="@comment " FREEBSD="" +.endif + +.include + .if ${OPSYS} == FreeBSD MODERN_BINUTILS= yes -PLIST_SUB+= FREEBSD="" . if ${OSREL:R} == 8 && ${ARCH} == i386 BROKEN= get_pc_thunk.cx errors . endif -.else -PLIST_SUB+= FREEBSD="@comment " .endif .if ${ARCH:S/amd64/x86_64/} == x86_64 PLIST_SUB+= X86_64="" .else PLIST_SUB+= X86_64="@comment " .endif -.if ${OPSYS} == DragonFly -IGNORE= Not supported yet -.endif - .if defined(MODERN_BINUTILS) # Apparently gcc 4.9 needs binutils 2.23 or greater to link Ada correctly USE_BINUTILS= yes RUN_DEPENDS+= ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils AS_COMMAND= ${LOCALBASE}/bin/as EXTRA_CONFIG+= --with-ld=${LOCALBASE}/bin/ld .else AS_COMMAND= /usr/bin/as EXTRA_CONFIG+= --with-ld=/usr/bin/ld .endif EXTRA_CONFIG+= --with-as=${AS_COMMAND} +.if ${PORT_OPTIONS:MGCC} +GCCDISTFILE= gcc-${GCCVER}.tar.bz2 +USES+= iconv libtool perl5 +USE_PERL5= build +INFO= ghdl +PLIST_SUB+= GLEX=ghdl/libexec/gcc/${BLD_TARGET}/${GCCVER} \ + GLIB=ghdl/lib/gcc/${BLD_TARGET}/${GCCVER} \ + TARGET=${BLD_TARGET} +. if ${OPSYS} == DragonFly +IGNORE= Not supported by GCC backend +. endif +.endif + +.if ${PORT_OPTIONS:MLLVM} +BUILD_DEPENDS+= llvm-config${LLVMVER}:${PORTSDIR}/devel/llvm${LLVMVER} \ + clang++${LLVMVER}:${PORTSDIR}/lang/clang${LLVMVER} +RUN_DEPENDS+= llc${LLVMVER}:${PORTSDIR}/devel/llvm${LLVMVER} +PLIST= ${.CURDIR}/llvm-plist +PLIST_SUB+= GLIB=ghdl/lib/ghdl/ +MAKE_JOBS_UNSAFE= yes +.endif + post-patch: - ${REINPLACE_CMD} \ + @${REINPLACE_CMD} \ -e 's|\@AS_COMMAND\@|${AS_COMMAND}|' \ -e 's|\@LINKER_COMMAND\@|${LINKER_COMMAND}|' \ ${WRKSRC}/src/ghdldrv/ghdldrv.adb + @${REINPLACE_CMD} \ + -e 's|llvm-config|llvm-config${LLVMVER}|' \ + -e 's|(INSTALL_PROGRAM)|(BSD_INSTALL_PROGRAM)|' \ + -e 's|(INSTALL_DATA)|(BSD_INSTALL_DATA)|' \ + ${WRKSRC}/configure ${WRKSRC}/Makefile.in + @${REINPLACE_CMD} -e 's|clang++|clang++${LLVMVER}|' \ + ${WRKSRC}/src/ortho/llvm/Makefile +.if ${PORT_OPTIONS:MGCC} do-configure: ${MKDIR} ${BUILDDIR} (cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./configure \ --with-gcc=${GCCSRCDIR} --prefix=${PKG_PREFIX:Q}) ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC} copy-sources (cd ${BUILDDIR} && ${SETENV} ${CONFIGURE_ENV} \ ${CFG_SCRIPT} ${GHDL_ARGS}) do-build: (cd ${BUILDDIR} && ${SETENV} ${MAKE_ENV} \ ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} ${MAKE_ARGS} all) do-install: (cd ${BUILDDIR} && ${SETENV} ${MAKE_ENV} \ ${MAKE_CMD} install-strip ${MAKE_ARGS}) ${MV} ${STAGEDIR}${PREFIX}/ghdl/share/man/man1/ghdl.1 \ ${STAGEDIR}${PREFIX}/man/man1 ${MV} ${STAGEDIR}${PREFIX}/ghdl/share/info/ghdl.info \ ${STAGEDIR}${PREFIX}/info ${RM} -r ${STAGEDIR}${PREFIX}/ghdl/share +.endif # TAIL: GCC + +.if ${PORT_OPTIONS:MLLVM} +do-configure: + (cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./configure \ + --with-llvm=${LOCALBASE} --prefix=${PKG_PREFIX:Q}) +.endif # TAIL: LLVM + check: (cd ${WRKSRC}/testsuite && ${SETENV} ${MAKE_ENV} \ GHDL=${STAGEDIR}${PREFIX}/ghdl/bin/ghdl ${SH} testsuite.sh) -.include +.include Index: head/cad/ghdl/files/patch-src_grt_config_linux.c =================================================================== --- head/cad/ghdl/files/patch-src_grt_config_linux.c (nonexistent) +++ head/cad/ghdl/files/patch-src_grt_config_linux.c (revision 388183) @@ -0,0 +1,11 @@ +--- src/grt/config/linux.c.orig 2015-05-27 18:49:40 UTC ++++ src/grt/config/linux.c +@@ -44,7 +44,7 @@ + #define EXTEND_STACK 1 + #define STACK_SIGNAL SIGSEGV + #endif +-#ifdef __FreeBSD__ ++#if defined (__FreeBSD__) || defined (__DragonFly__) + /* If set, SIGSEGV is caught in order to automatically grow the stacks. */ + #define EXTEND_STACK 1 + #define STACK_SIGNAL SIGSEGV Property changes on: head/cad/ghdl/files/patch-src_grt_config_linux.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/cad/ghdl/llvm-plist =================================================================== --- head/cad/ghdl/llvm-plist (nonexistent) +++ head/cad/ghdl/llvm-plist (revision 388183) @@ -0,0 +1,197 @@ +ghdl/bin/ghdl +ghdl/bin/ghdl1-llvm +%%GLIB%%grt.lst +%%GLIB%%grt.ver +%%GLIB%%libgrt.a +%%GLIB%%src/ieee/math_complex-body.vhdl +%%GLIB%%src/ieee/math_complex.vhdl +%%GLIB%%src/ieee/math_real-body.vhdl +%%GLIB%%src/ieee/math_real.vhdl +%%GLIB%%src/ieee/numeric_bit-body.v87 +%%GLIB%%src/ieee/numeric_bit-body.v93 +%%GLIB%%src/ieee/numeric_bit.v87 +%%GLIB%%src/ieee/numeric_bit.v93 +%%GLIB%%src/ieee/numeric_std-body.v87 +%%GLIB%%src/ieee/numeric_std-body.v93 +%%GLIB%%src/ieee/numeric_std.v87 +%%GLIB%%src/ieee/numeric_std.v93 +%%GLIB%%src/ieee/std_logic_1164.v87 +%%GLIB%%src/ieee/std_logic_1164.v93 +%%GLIB%%src/ieee/std_logic_1164_body.v87 +%%GLIB%%src/ieee/std_logic_1164_body.v93 +%%GLIB%%src/ieee2008/fixed_float_types.vhdl +%%GLIB%%src/ieee2008/fixed_generic_pkg-body.vhdl +%%GLIB%%src/ieee2008/fixed_generic_pkg.vhdl +%%GLIB%%src/ieee2008/fixed_pkg.vhdl +%%GLIB%%src/ieee2008/float_generic_pkg-body.vhdl +%%GLIB%%src/ieee2008/float_generic_pkg.vhdl +%%GLIB%%src/ieee2008/float_pkg.vhdl +%%GLIB%%src/ieee2008/ieee_bit_context.vhdl +%%GLIB%%src/ieee2008/ieee_std_context.vhdl +%%GLIB%%src/ieee2008/math_complex-body.vhdl +%%GLIB%%src/ieee2008/math_complex.vhdl +%%GLIB%%src/ieee2008/math_real-body.vhdl +%%GLIB%%src/ieee2008/math_real.vhdl +%%GLIB%%src/ieee2008/numeric_bit-body.vhdl +%%GLIB%%src/ieee2008/numeric_bit.vhdl +%%GLIB%%src/ieee2008/numeric_bit_unsigned-body.vhdl +%%GLIB%%src/ieee2008/numeric_bit_unsigned.vhdl +%%GLIB%%src/ieee2008/numeric_std-body.vhdl +%%GLIB%%src/ieee2008/numeric_std.vhdl +%%GLIB%%src/ieee2008/numeric_std_unsigned-body.vhdl +%%GLIB%%src/ieee2008/numeric_std_unsigned.vhdl +%%GLIB%%src/ieee2008/std_logic_1164-body.vhdl +%%GLIB%%src/ieee2008/std_logic_1164.vhdl +%%GLIB%%src/ieee2008/std_logic_textio.vhdl +%%GLIB%%src/mentor/std_logic_arith.vhdl +%%GLIB%%src/mentor/std_logic_arith_body.vhdl +%%GLIB%%src/std/env.vhdl +%%GLIB%%src/std/env_body.vhdl +%%GLIB%%src/std/textio.v08 +%%GLIB%%src/std/textio.v87 +%%GLIB%%src/std/textio.v93 +%%GLIB%%src/std/textio_body.v08 +%%GLIB%%src/std/textio_body.v87 +%%GLIB%%src/std/textio_body.v93 +%%GLIB%%src/synopsys/std_logic_arith.vhdl +%%GLIB%%src/synopsys/std_logic_misc-body.vhdl +%%GLIB%%src/synopsys/std_logic_misc.vhdl +%%GLIB%%src/synopsys/std_logic_signed.vhdl +%%GLIB%%src/synopsys/std_logic_textio.vhdl +%%GLIB%%src/synopsys/std_logic_unsigned.vhdl +%%GLIB%%src/vital2000/memory_b.vhdl +%%GLIB%%src/vital2000/memory_p.vhdl +%%GLIB%%src/vital2000/prmtvs_b.vhdl +%%GLIB%%src/vital2000/prmtvs_p.vhdl +%%GLIB%%src/vital2000/timing_b.vhdl +%%GLIB%%src/vital2000/timing_p.vhdl +%%GLIB%%src/vital95/vital_primitives.vhdl +%%GLIB%%src/vital95/vital_primitives_body.vhdl +%%GLIB%%src/vital95/vital_timing.vhdl +%%GLIB%%src/vital95/vital_timing_body.vhdl +%%GLIB%%v08/ieee/fixed_float_types.o +%%GLIB%%v08/ieee/fixed_generic_pkg-body.o +%%GLIB%%v08/ieee/fixed_generic_pkg.o +%%GLIB%%v08/ieee/fixed_pkg.o +%%GLIB%%v08/ieee/float_generic_pkg-body.o +%%GLIB%%v08/ieee/float_generic_pkg.o +%%GLIB%%v08/ieee/float_pkg.o +%%GLIB%%v08/ieee/ieee-obj08.cf +%%GLIB%%v08/ieee/ieee_bit_context.o +%%GLIB%%v08/ieee/ieee_std_context.o +%%GLIB%%v08/ieee/math_complex-body.o +%%GLIB%%v08/ieee/math_complex.o +%%GLIB%%v08/ieee/math_real-body.o +%%GLIB%%v08/ieee/math_real.o +%%GLIB%%v08/ieee/numeric_bit-body.o +%%GLIB%%v08/ieee/numeric_bit.o +%%GLIB%%v08/ieee/numeric_bit_unsigned-body.o +%%GLIB%%v08/ieee/numeric_bit_unsigned.o +%%GLIB%%v08/ieee/numeric_std-body.o +%%GLIB%%v08/ieee/numeric_std.o +%%GLIB%%v08/ieee/numeric_std_unsigned-body.o +%%GLIB%%v08/ieee/numeric_std_unsigned.o +%%GLIB%%v08/ieee/std_logic_1164-body.o +%%GLIB%%v08/ieee/std_logic_1164.o +%%GLIB%%v08/ieee/std_logic_textio.o +%%GLIB%%v08/std/env.o +%%GLIB%%v08/std/env_body.o +%%GLIB%%v08/std/std-obj08.cf +%%GLIB%%v08/std/std_standard.o +%%GLIB%%v08/std/textio.o +%%GLIB%%v08/std/textio_body.o +%%GLIB%%v87/ieee/ieee-obj87.cf +%%GLIB%%v87/ieee/numeric_bit-body.o +%%GLIB%%v87/ieee/numeric_bit.o +%%GLIB%%v87/ieee/numeric_std-body.o +%%GLIB%%v87/ieee/numeric_std.o +%%GLIB%%v87/ieee/std_logic_1164.o +%%GLIB%%v87/ieee/std_logic_1164_body.o +%%GLIB%%v87/ieee/vital_primitives.o +%%GLIB%%v87/ieee/vital_primitives_body.o +%%GLIB%%v87/ieee/vital_timing.o +%%GLIB%%v87/ieee/vital_timing_body.o +%%GLIB%%v87/std/std-obj87.cf +%%GLIB%%v87/std/std_standard.o +%%GLIB%%v87/std/textio.o +%%GLIB%%v87/std/textio_body.o +%%GLIB%%v87/synopsys/ieee-obj87.cf +%%GLIB%%v87/synopsys/numeric_bit-body.o +%%GLIB%%v87/synopsys/numeric_bit.o +%%GLIB%%v87/synopsys/numeric_std-body.o +%%GLIB%%v87/synopsys/numeric_std.o +%%GLIB%%v87/synopsys/std_logic_1164.o +%%GLIB%%v87/synopsys/std_logic_1164_body.o +%%GLIB%%v87/synopsys/std_logic_arith.o +%%GLIB%%v87/synopsys/std_logic_misc-body.o +%%GLIB%%v87/synopsys/std_logic_misc.o +%%GLIB%%v87/synopsys/std_logic_signed.o +%%GLIB%%v87/synopsys/std_logic_textio.o +%%GLIB%%v87/synopsys/std_logic_unsigned.o +%%GLIB%%v87/synopsys/vital_primitives.o +%%GLIB%%v87/synopsys/vital_primitives_body.o +%%GLIB%%v87/synopsys/vital_timing.o +%%GLIB%%v87/synopsys/vital_timing_body.o +%%GLIB%%v93/ieee/ieee-obj93.cf +%%GLIB%%v93/ieee/math_complex-body.o +%%GLIB%%v93/ieee/math_complex.o +%%GLIB%%v93/ieee/math_real-body.o +%%GLIB%%v93/ieee/math_real.o +%%GLIB%%v93/ieee/memory_b.o +%%GLIB%%v93/ieee/memory_p.o +%%GLIB%%v93/ieee/numeric_bit-body.o +%%GLIB%%v93/ieee/numeric_bit.o +%%GLIB%%v93/ieee/numeric_std-body.o +%%GLIB%%v93/ieee/numeric_std.o +%%GLIB%%v93/ieee/prmtvs_b.o +%%GLIB%%v93/ieee/prmtvs_p.o +%%GLIB%%v93/ieee/std_logic_1164.o +%%GLIB%%v93/ieee/std_logic_1164_body.o +%%GLIB%%v93/ieee/timing_b.o +%%GLIB%%v93/ieee/timing_p.o +%%GLIB%%v93/mentor/ieee-obj93.cf +%%GLIB%%v93/mentor/math_complex-body.o +%%GLIB%%v93/mentor/math_complex.o +%%GLIB%%v93/mentor/math_real-body.o +%%GLIB%%v93/mentor/math_real.o +%%GLIB%%v93/mentor/memory_b.o +%%GLIB%%v93/mentor/memory_p.o +%%GLIB%%v93/mentor/numeric_bit-body.o +%%GLIB%%v93/mentor/numeric_bit.o +%%GLIB%%v93/mentor/numeric_std-body.o +%%GLIB%%v93/mentor/numeric_std.o +%%GLIB%%v93/mentor/prmtvs_b.o +%%GLIB%%v93/mentor/prmtvs_p.o +%%GLIB%%v93/mentor/std_logic_1164.o +%%GLIB%%v93/mentor/std_logic_1164_body.o +%%GLIB%%v93/mentor/std_logic_arith.o +%%GLIB%%v93/mentor/std_logic_arith_body.o +%%GLIB%%v93/mentor/timing_b.o +%%GLIB%%v93/mentor/timing_p.o +%%GLIB%%v93/std/std-obj93.cf +%%GLIB%%v93/std/std_standard.o +%%GLIB%%v93/std/textio.o +%%GLIB%%v93/std/textio_body.o +%%GLIB%%v93/synopsys/ieee-obj93.cf +%%GLIB%%v93/synopsys/math_complex-body.o +%%GLIB%%v93/synopsys/math_complex.o +%%GLIB%%v93/synopsys/math_real-body.o +%%GLIB%%v93/synopsys/math_real.o +%%GLIB%%v93/synopsys/memory_b.o +%%GLIB%%v93/synopsys/memory_p.o +%%GLIB%%v93/synopsys/numeric_bit-body.o +%%GLIB%%v93/synopsys/numeric_bit.o +%%GLIB%%v93/synopsys/numeric_std-body.o +%%GLIB%%v93/synopsys/numeric_std.o +%%GLIB%%v93/synopsys/prmtvs_b.o +%%GLIB%%v93/synopsys/prmtvs_p.o +%%GLIB%%v93/synopsys/std_logic_1164.o +%%GLIB%%v93/synopsys/std_logic_1164_body.o +%%GLIB%%v93/synopsys/std_logic_arith.o +%%GLIB%%v93/synopsys/std_logic_misc-body.o +%%GLIB%%v93/synopsys/std_logic_misc.o +%%GLIB%%v93/synopsys/std_logic_signed.o +%%GLIB%%v93/synopsys/std_logic_textio.o +%%GLIB%%v93/synopsys/std_logic_unsigned.o +%%GLIB%%v93/synopsys/timing_b.o +%%GLIB%%v93/synopsys/timing_p.o Property changes on: head/cad/ghdl/llvm-plist ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property