81 lines
2.4 KiB
Bash
81 lines
2.4 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:
|
||
|
* 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 M68k big endian
|
||
|
* ELF 32bit Jaguar RISC big endian
|
||
|
* ELF 32bit x86 little endian
|
||
|
* ELF 32bit x86 AROS (relocatable executables)
|
||
|
* ELF 32bit ARM little endian
|
||
|
* ELF 64bit x86_64 little endian
|
||
|
* a.out Sun/010 (also Amiga/Atari 68000)
|
||
|
* a.out Sun/020 (also Amiga/Atari 68020+)
|
||
|
* a.out MiNT (embedded in Atari TOS format)
|
||
|
* a.out Jaguar (M68k with support for RISC relocations)
|
||
|
* a.out NetBSD/68k (4k and 8k pages)
|
||
|
* a.out NetBSD/386
|
||
|
* a.out PC/386
|
||
|
* a.out generic
|
||
|
* AmigaOS hunk format
|
||
|
* EHF, extended hunk format (WarpOS)
|
||
|
* Atari TOS format (writing only)
|
||
|
* Motorola S-Records (writing only)
|
||
|
* Intel-hex format (writing only)
|
||
|
* AMSDOS format (Amstrad/Schneider CPC)
|
||
|
* Commodore 8-bit PRG format
|
||
|
* Raw binaries (writing only)
|
||
|
* VOBJ, proprietary versatile object format (reading only)"
|
||
|
HOMEPAGE="http://sun.hasenbraten.de/vlink/"
|
||
|
COPYRIGHT="1997-2017 Frank Wille"
|
||
|
LICENSE="vlink"
|
||
|
REVISION="1"
|
||
|
SOURCE_URI="http://server.owl.de/~frank/tags/vlink0_16a.tar.gz"
|
||
|
CHECKSUM_SHA256="5ffeb9f544628d69257185771199530f31800a6949b4cc52d5da2ded72c212bc"
|
||
|
SOURCE_DIR="vlink"
|
||
|
|
||
|
ARCHITECTURES="x86_gcc2"
|
||
|
|
||
|
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
|
||
|
}
|