[gccsdk] Autobuilder library packaging
theo at markettos.org.uk
Sun Nov 29 15:15:21 PST 2015
Can someone explain the difference between the three library packaging
streams? I've been trying to work out what's happening with DeskLib, and
I'm a bit confused.
There are three archives made:
I had assumed that autobuilder_packages/.../*.zip was for publication of RISC OS
builds that are destined for PackMan installation - ie should be RISC OS
applications containing files suitable for use by a compiler on RISC OS, ie
suffix swapping (h/foo).
I'd assumed that autobuilder_libraries was for downstream consumption by the
autobuilder - ie you can untar autobuilder_libraries/*.tar in your
GCCSDK_INSTALL_ENV to allow the cross compiler to use that library.
It seems that autobuilder_libraries/*.zip are getting suffix swapped, but
autobuilder_packages/**/*.zip are not. But autobuilder_libraries/*.zip are
not being packaged, they're just collections of header and library files.
So if users install the autobuilder_packages/**/*.zip then they have files
in RISC OS called include.foo/h which GCC won't find.
I can understand the need for two library packages, but three?
just says 'Libraries: to be added'
Where is the right place to put suffix swapping so that combinations work
out? The Desklib setvars just says:
ab_create_app DeskLib Apps/Library desklib
rsync -av --exclude='*/.svn*' ../\!DLUser $A/..
rsync -av --exclude='*/.svn*' ../\!DeskLib $A/..
rsync -av --exclude='*/.svn*' ../Examples $A/../\!DeskLib
$AB_HOME/add-riscpkg -name DeskLib -unixlib
Which looks pretty uncontroversial to me. I haven't looked at RISC OS
packages of other libraries, but imagine they're similarly affected.
I can figure some things out from the code, but was wondering what the
philosophy was supposed to be, so I don't end up breaking other things.
More information about the gcc