magic 5.48-1
magic file MIME type detection static library
Short: magic file MIME type detection static library
Author: Ian Darwin, Christos Zoulas et al. (see COPYING)
Uploader: Cameron Armstrong (Nightfox) <cameronscottarmstrong gmail com>
Type: dev/lib
Version: 5.48-1
Replaces: dev/lib/magic.lha
Requires: an Amiga gcc cross compiler (bebbo/amiga-gcc, adtools, MorphOS SDK)
Architecture: m68k-amigaos >= 2.0; ppc-amigaos; ppc-morphos
magic (libmagic.a) is a static library that identifies the MIME type of a file, or
of a buffer in memory, by inspecting the content. This archive contains static
libraries and the public header for AmigaOS 3 (68k), AmigaOS 4 (PPC) and
MorphOS (PPC) development, plus the magic database the library needs at run
time.
Contents
magic.readme this file
magic/C/magic.mgc the compiled magic database (shared by
all systems -- it is not machine code)
magic/AmigaOS3/libnix/ header and libraries, libnix
magic/AmigaOS3/clib2/ header and libraries, clib2
magic/AmigaOS4/ header and libraries, clib4
magic/MorphOS/ header and libraries, both ABIs
Each of those directories holds include/magic.h plus a lib/ tree in the
gcc multilib layout, so it can be copied straight over an existing SDK.
Note the difference between the two architectures. On m68k each C runtime
is a separate tree, so libnix/ and clib2/ each carry their own include/
and lib/. On PPC the runtime is instead a multilib slot beneath a shared
lib/, and headers come from the one shared include/.
AmigaOS 3 slots (inside libnix/ and clib2/):
lib/ 68000, absolute addressing
lib/libm020/ 68020, absolute addressing
lib/libb/ 68000, -fbaserel
lib/libb/libm020/ 68020, -fbaserel
lib/libb32/libm020/ 68020, -fbaserel32
AmigaOS 4 slots:
lib/clib4/ clib4
MorphOS slots:
lib/ ixemul
lib/libb32/ ixemul, -mbaserel32
lib/libnix/ native C library (-noixemul)
lib/libb32/libnix/ native C library, -mbaserel32
-mclib=libnix and -noixemul select the same multilib. That ABI is the
self-contained one -- an ixemul build needs ixemul.library on the
target machine -- so prefer lib/libnix/ for new code.
Installation
Copy the tree for your target into the matching cross compiler
directory, e.g.
cp -a magic/AmigaOS3/libnix /opt/amiga/m68k-amigaos/
cp -a magic/AmigaOS3/clib2 /opt/amiga/m68k-amigaos/
cp -a magic/AmigaOS4/* /opt/amiga/ppc-amigaos/
cp -a magic/MorphOS/* /opt/amiga/ppc-morphos/
Then copy C/magic.mgc to C: on the target machine, or ship it with your
application. Point the library at it with magic_load().
Usage
#include <magic.h>
magic_t m = magic_open(MAGIC_MIME_TYPE);
magic_load(m, NULL); /* or "C:magic.mgc" */
const char *type = magic_file(m, "Work:something");
magic_close(m);
Link with -lmagic -lm, and put them *after* your own objects on the
command line. For clib2 add -lunix after -lmagic, since clib2 keeps its
POSIX layer there.
Licence
BSD-style; see COPYING in the source distribution.
Gratis
Desde el Amiga: abre Hangar y busca magic.
| Autor | Ian Darwin, Christos Zoulas et al. (see COPYING) |
|---|---|
| Categoría | dev/lib |
| Tamaño | 2.1 MB |
| Fecha | 2026-10-25 |
| Para | m68k-amigaos >= 2.0; ppc-amigaos; ppc-morphos |
| Necesita | an Amiga gcc cross compiler (bebbo/amiga-gcc, adtools, MorphOS SDK) |
| Origen | Aminet |