Re: Distributing gnustep-based software

Richard Frith-Macdonald <[email protected]>
Newsgroups gmane.comp.lib.gnustep.user
Message-ID <[email protected]>
On 4 Feb 2005, at 17:39, Sébastien Pierre wrote:

>
> Le 4 févr. 05, à 18:21, Richard Frith-Macdonald a écrit :
>
>>  do a clean install of make + base, then build and install my program 
>> ... then I can make a tar image of the entire /usr/GNUstep tree (my 
>> program will be in /usr/GNUstep/Local/Tools).
>
> This seems like a proper way to do what I want :)
> However, is there any method to determine unneeded files ? In fact, I 
> would like to distribute my app under Linux, OSX and... Windows, and 
> am really concerned about three things :
>
> 1/	Installation should be really straightforward, ideally something 
> like "unpack here" (no environment variable required, or conflicts 
> with existing GNUstep)
> 2/	Size should be as small as possible. My app is around 1.2Mb on 
> Intel and 2.4Mb on PPC (OSX)
> 3/	Platform parity: I'm especially concerned about size/efficiency on 
> Windows
>
> Do you think these requirements could be satisfied ?

Not really ... it's going to be big.

If you want it to work on multiple hardware/operating system setups, 
you will need to configure  gnustep with the 'flattened' option turned 
off, so it has subdirectories to contain system dependent binaries.

If you want a *really* self contained package, you might consider 
installing any libraries gstep-base uses (libxml2, libiconv on windows, 
the gcc libraries, the objc runtime library) in the /usr/GNUstep 
hierarchy, and configuring the base librrary to use those local, 
versions.

Both those things will make for a very big package ... but if you do 
that, you can use a small
shell script to set the environment to the correct location, hardware, 
operating-system  of the installed package before running your 
application  binary.  I've done that for a package to work on both 
linux/intel and solaris/sparc, so it should work for windows too.

Unless you really need that single package does everything approach, I 
would recommend having different packages for each platform, and 
assuming that the default system libxml and gcc libraries will do (you 
don't need libiconv on most platforms).  Probably worth installing your 
own objc runtime library though.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.