From 32c60786a0f7c981a4284ff8af372b980aa39c58 Mon Sep 17 00:00:00 2001 From: Wen Heping Date: Sun, 5 Oct 2014 14:50:37 +0000 Subject: [PATCH] vasm is a portable and retargetable assembler to create linkable objects in various formats or absolute code. Multiple CPU-, syntax and output-modules can be selected. Currently the following CPUs are officially supported by vasm: M680x0 family (including M6888x, M68851 and CPU32) ColdFire family (all models of V2, V3, V4, V4e) 80x86 family (IA32 8/16/32 bit, using MIT-syntax) PowerPC family (POWER, 40x, 6xx, 7xx, 7xxx, 860, e300) ARM (architecture ARMv1 to ARMv4, including THUMB mode) Jaguar RISC (GPU and DSP instruction sets) Z80 family (Z80, 8080, GBZ80, 64180, RCM2/3/4k) C16x/ST10 6502 family 6800 family (6800, 68HC11) These syntax flavours are supported: Standard MIT (GNU-as style) syntax Motorola/Freescale 68k syntax (Devpac compatible) Old 8-bit style syntax WWW: http://sun.hasenbraten.de/vasm/ PR: 194152 Submitted by: uffe@uffe.org --- devel/Makefile | 1 + devel/vasm/Makefile | 49 ++++++++++++++++++++++++++++++++ devel/vasm/distinfo | 2 ++ devel/vasm/pkg-descr | 24 ++++++++++++++++ devel/vasm/pkg-plist | 67 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 143 insertions(+) create mode 100644 devel/vasm/Makefile create mode 100644 devel/vasm/distinfo create mode 100644 devel/vasm/pkg-descr create mode 100644 devel/vasm/pkg-plist diff --git a/devel/Makefile b/devel/Makefile index 53ad71b60d07..a4059166ec00 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -4744,6 +4744,7 @@ SUBDIR += valgrind SUBDIR += valgrind-devel SUBDIR += varconf + SUBDIR += vasm SUBDIR += vera++ SUBDIR += viewvc SUBDIR += violet diff --git a/devel/vasm/Makefile b/devel/vasm/Makefile new file mode 100644 index 000000000000..3b8ba685aa79 --- /dev/null +++ b/devel/vasm/Makefile @@ -0,0 +1,49 @@ +# Created by: Uffe Jakobsen +# $FreeBSD$ + +PORTNAME= vasm +PORTVERSION= 1.7a +CATEGORIES= devel +MASTER_SITES= http://sun.hasenbraten.de/vasm/release/ +DISTNAME= ${PORTNAME} + +MAINTAINER= uffe@uffe.org +COMMENT= Portable 6502 6800 arm c16x jagrisc m68k ppc vidcore x86 z80 assembler + +LEGAL_TEXT= This archive may be redistributed without modifications and used for non-commercial purposes. + +USES= gmake pathfix + +CPU_LIST= 6502 6800 arm c16x jagrisc m68k ppc test vidcore x86 z80 +SYNTAX_LIST= std mot oldstyle test +OUTPUT_LIST= aout bin elf hunk test tos vobj + +do-build: +.for CPU in ${CPU_LIST} +.for SYNTAX in ${SYNTAX_LIST} + ${GMAKE} -C ${WRKSRC} CC=${CC} CPU=${CPU} SYNTAX=${SYNTAX} >/dev/null 2>&1 +.endfor +.endfor + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/vobjdump ${STAGEDIR}${PREFIX}/bin +.for CPU in ${CPU_LIST} +.for SYNTAX in ${SYNTAX_LIST} + ${INSTALL_PROGRAM} ${WRKSRC}/vasm${CPU}_${SYNTAX} ${STAGEDIR}${PREFIX}/bin +.endfor +.endfor + ${MKDIR} ${STAGEDIR}${DOCSDIR} +.for CPU in ${CPU_LIST} +.for SYNTAX in ${SYNTAX_LIST} + -test -f ${WRKSRC}/doc/cpu_${CPU}.texi && ${INSTALL_MAN} ${WRKSRC}/doc/cpu_${CPU}.texi ${STAGEDIR}${DOCSDIR} + -test -f ${WRKSRC}/doc/syntax_${SYNTAX}.texi && ${INSTALL_MAN} ${WRKSRC}/doc/syntax_${SYNTAX}.texi ${STAGEDIR}${DOCSDIR} +.for OUTPUT in ${OUTPUT_LIST} + -test -f ${WRKSRC}/doc/output_${OUTPUT}.texi && ${INSTALL_MAN} ${WRKSRC}/doc/output_${OUTPUT}.texi ${STAGEDIR}${DOCSDIR} +.endfor +.endfor +.endfor + ${INSTALL_MAN} ${WRKSRC}/doc/vasm.texi ${STAGEDIR}${DOCSDIR} + ${INSTALL_MAN} ${WRKSRC}/doc/vasm_main.texi ${STAGEDIR}${DOCSDIR} + ${INSTALL_MAN} ${WRKSRC}/doc/interface.texi ${STAGEDIR}${DOCSDIR} + +.include diff --git a/devel/vasm/distinfo b/devel/vasm/distinfo new file mode 100644 index 000000000000..4a94a0dbd39e --- /dev/null +++ b/devel/vasm/distinfo @@ -0,0 +1,2 @@ +SHA256 (vasm.tar.gz) = d97cc9e3eb1f175e1187ef0773d8f3a267bdf97939ef0b97a719a98b8de7b6be +SIZE (vasm.tar.gz) = 337992 diff --git a/devel/vasm/pkg-descr b/devel/vasm/pkg-descr new file mode 100644 index 000000000000..28ea2c416e8d --- /dev/null +++ b/devel/vasm/pkg-descr @@ -0,0 +1,24 @@ +vasm is a portable and retargetable assembler to create linkable +objects in various formats or absolute code. +Multiple CPU-, syntax and output-modules can be selected. + +Currently the following CPUs are officially supported by vasm: + + M680x0 family (including M6888x, M68851 and CPU32) + ColdFire family (all models of V2, V3, V4, V4e) + 80x86 family (IA32 8/16/32 bit, using MIT-syntax) + PowerPC family (POWER, 40x, 6xx, 7xx, 7xxx, 860, e300) + ARM (architecture ARMv1 to ARMv4, including THUMB mode) + Jaguar RISC (GPU and DSP instruction sets) + Z80 family (Z80, 8080, GBZ80, 64180, RCM2/3/4k) + C16x/ST10 + 6502 family + 6800 family (6800, 68HC11) + +These syntax flavours are supported: + + Standard MIT (GNU-as style) syntax + Motorola/Freescale 68k syntax (Devpac compatible) + Old 8-bit style syntax + +WWW: http://sun.hasenbraten.de/vasm/ diff --git a/devel/vasm/pkg-plist b/devel/vasm/pkg-plist new file mode 100644 index 000000000000..dda79b4f6996 --- /dev/null +++ b/devel/vasm/pkg-plist @@ -0,0 +1,67 @@ +bin/vasm6502_mot +bin/vasm6502_oldstyle +bin/vasm6502_std +bin/vasm6502_test +bin/vasm6800_mot +bin/vasm6800_oldstyle +bin/vasm6800_std +bin/vasm6800_test +bin/vasmarm_mot +bin/vasmarm_oldstyle +bin/vasmarm_std +bin/vasmarm_test +bin/vasmc16x_mot +bin/vasmc16x_oldstyle +bin/vasmc16x_std +bin/vasmc16x_test +bin/vasmjagrisc_mot +bin/vasmjagrisc_oldstyle +bin/vasmjagrisc_std +bin/vasmjagrisc_test +bin/vasmm68k_mot +bin/vasmm68k_oldstyle +bin/vasmm68k_std +bin/vasmm68k_test +bin/vasmppc_mot +bin/vasmppc_oldstyle +bin/vasmppc_std +bin/vasmppc_test +bin/vasmtest_mot +bin/vasmtest_oldstyle +bin/vasmtest_std +bin/vasmtest_test +bin/vasmvidcore_mot +bin/vasmvidcore_oldstyle +bin/vasmvidcore_std +bin/vasmvidcore_test +bin/vasmx86_mot +bin/vasmx86_oldstyle +bin/vasmx86_std +bin/vasmx86_test +bin/vasmz80_mot +bin/vasmz80_oldstyle +bin/vasmz80_std +bin/vasmz80_test +bin/vobjdump +%%PORTDOCS%%%%DOCSDIR%%/cpu_6502.texi +%%PORTDOCS%%%%DOCSDIR%%/cpu_6800.texi +%%PORTDOCS%%%%DOCSDIR%%/cpu_arm.texi +%%PORTDOCS%%%%DOCSDIR%%/cpu_c16x.texi +%%PORTDOCS%%%%DOCSDIR%%/cpu_jagrisc.texi +%%PORTDOCS%%%%DOCSDIR%%/cpu_m68k.texi +%%PORTDOCS%%%%DOCSDIR%%/cpu_ppc.texi +%%PORTDOCS%%%%DOCSDIR%%/cpu_x86.texi +%%PORTDOCS%%%%DOCSDIR%%/cpu_z80.texi +%%PORTDOCS%%%%DOCSDIR%%/interface.texi +%%PORTDOCS%%%%DOCSDIR%%/output_aout.texi +%%PORTDOCS%%%%DOCSDIR%%/output_bin.texi +%%PORTDOCS%%%%DOCSDIR%%/output_elf.texi +%%PORTDOCS%%%%DOCSDIR%%/output_hunk.texi +%%PORTDOCS%%%%DOCSDIR%%/output_test.texi +%%PORTDOCS%%%%DOCSDIR%%/output_tos.texi +%%PORTDOCS%%%%DOCSDIR%%/output_vobj.texi +%%PORTDOCS%%%%DOCSDIR%%/syntax_mot.texi +%%PORTDOCS%%%%DOCSDIR%%/syntax_oldstyle.texi +%%PORTDOCS%%%%DOCSDIR%%/syntax_std.texi +%%PORTDOCS%%%%DOCSDIR%%/vasm.texi +%%PORTDOCS%%%%DOCSDIR%%/vasm_main.texi