Files
haikuports/dev-lang/vlink/vlink-0.18.recipe
2025-09-21 16:19:04 +02:00

79 lines
2.3 KiB
Bash

SUMMARY="Portable linker for multiple file formats"
DESCRIPTION="vlink is a portable linker, written in ANSI-C, that can read and \
write a wide range of object- and executable file formats. It can be used to \
link a specific target format from several different input file formats, or \
for converting, stripping and manipulating files.
The linker can be controlled by GNU-style linker scripts to generate absolute \
code, but it also runs very well with default rules to create relocatable \
executables, as required for AmigaOS or MorphOS.
Of course there might be technical restrictions that object files of different \
architectures cannot be merged because of incompatible relocation types, \
differing endianess or symbol-names with and without leading underscores. But \
in theory everything is possible!
Currently the following object and executable file formats are supported by vlink:
* a.out generic
* a.out Jaguar (M68k with support for RISC relocations)
* a.out MiNT (embedded in Atari TOS format)
* a.out NetBSD/68k (4k and 8k pages)
* a.out NetBSD/386
* a.out PC/386
* a.out Sun/010 (also Amiga/Atari 68000)
* a.out Sun/020 (also Amiga/Atari 68020+)
* AmigaOS hunk format
* Apple OMF format (Apple IIgs)
* Atari TOS/DRI format
* EHF, extended hunk format (WarpOS)
* ELF 32bit ARM little endian
* ELF 32bit Jaguar RISC big endian
* ELF 32bit M68k big endian
* ELF 32bit PowerPC big endian
* ELF 32bit PowerPC AmigaOS (special dynamic linking rules)
* ELF 32bit PowerPC MorphOS (relocatable executables)
* ELF 32bit PowerPC PowerUp (relocatable executables)
* ELF 32bit x86 little endian
* ELF 32bit x86 AROS (relocatable executables)
* ELF 64bit x86_64 little endian
* o65 binary relocation format V1.3 (6502 and 65816)
* OS-9/6809 modules (writing only)
* VOBJ, proprietary versatile object format"
HOMEPAGE="http://sun.hasenbraten.de/vlink/"
COPYRIGHT="1997-2025 Frank Wille"
LICENSE="vlink"
REVISION="1"
SOURCE_URI="http://server.owl.de/~frank/tags/vlink0_18.tar.gz"
CHECKSUM_SHA256="a40c3313ef5b0956cad8f140557b70ee88a9e96cf14bbc3276cca565fa0fdf01"
SOURCE_DIR="vlink"
ARCHITECTURES="all"
PROVIDES="
vlink = $portVersion
cmd:vlink
"
REQUIRES="
haiku
"
BUILD_REQUIRES="
haiku_devel
"
BUILD_PREREQUIRES="
cmd:gcc
cmd:make
"
BUILD()
{
mkdir -p objects
make $jobArgs
}
INSTALL()
{
mkdir -p $binDir
cp vlink $binDir
}