adtools / amigaos-cross-toolchain

AmigaOS cross compiler for Linux / MacOSX / Windows
184 stars 48 forks source link

clean up directory structure for prefix installation #47

Closed cmsj closed 8 years ago

cmsj commented 8 years ago

I just noticed that I have an m68k-amigaos inside my /opt/m68k-amigaos directory. It seems to have a fairly small number of files (ar, as, nm, ld and a few other binaries, plus the os-includes and libnix/clib2 directories).

I'm mildly sure this is wrong, but I wanted to check before I start digging into the build script.

cahirwpz commented 8 years ago

This is perfectly ok. For that matter the toolchain installation should have not messed with any prefix structure (including /usr or /opt/local), but that's not true as for now. What should be done then? Here is a list:

With that being done I'm pretty confident the toolchain would be ready for hassle free inclusion into many Mac / Linux package systems.

Obviously moving the files around isn't enough. Paths are embedded into many binaries and they need to be patched and thoroughly tested to make sure nothing's got broken. That isn't particularly difficult but is time consuming. Is that worth the effort? In long term the answer is yes. Unfortunately I'm quite busy now with some other projects. I'd appreciate if you could help me a bit.

cmsj commented 8 years ago

Sorry, I'm slightly confused - what are your meanings for $PREFIX and $TARGET there? In terms of the toolchain-m68k script, the two are equivalent, right? The user specifies --prefix=/opt/m68k-amigaos and internally the script refers to that as {target}, if I am reading it correctly?

cahirwpz commented 8 years ago

When I referred to $PREFIX I meant a configure script variable that is set based on argument to --prefix option, same for $TARGET. I should probably change {target} variable to {prefix} to avoid confusion.

$PREFIX is any directory you want to install software into (as with configure). $TARGET is platform name, in our case m68k-amigaos.

cahirwpz commented 8 years ago

I cleaned up installation directory structure in prefix_cleanup branch and it looks like this:

bin/fd2sfd
bin/gg-fix-includes
bin/ira
bin/m68k-amigaos-*
bin/sfdc
bin/vasm
bin/vc
bin/vda68k
bin/vlink
bin/vobjdump
bin/vprof
etc/vc.config
lib/gcc-lib/m68k-amigaos/2.95.3/*
m68k-amigaos/bin/*
m68k-amigaos/clib2/*
m68k-amigaos/info/*
m68k-amigaos/lib/*
m68k-amigaos/libnix/*
m68k-amigaos/ndk/*
m68k-amigaos/sys-include/*
m68k-amigaos/vbcc/*
share/fd2sfd/*
share/man/man1/*