gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Config updates


From: Sheldon Gill
Subject: Re: Config updates
Date: Tue, 19 Sep 2006 08:45:39 +0800
User-agent: Thunderbird 1.5.0.7 (Windows/20060909)

Nicola Pero wrote:
I committed some changes to gnustep-make that should fix a few remaining
issues in the config system.  There are a few things worth nothing.

**1. No more need to source GNUstep.sh :-)

It works for me, might need more work to work for everyone I guess ;-)

Anyway in the standard flattened/no-multi-arch case, once I add the
gnustep dirs
to /etc/ld.so.conf and to PATH (I'm on GNU), I can now compile stuff by
just doing:

export GNUSTEP_MAKEFILES=/opt/gnustep/System/Library/Makefiles
make

No more need to source GNUstep.sh :-)
(hope it works for you as well, if not, let me know!)

I'm afraid that won't work on MS-Windows. For starters, no /etc/ld.so.conf

Also, I'm not that keen on adding all those dirs to either ld.so.conf or my 
PATH.

IMHO there is a better solution for those who don't want to source GNUstep.sh and that is to place a command on their path which sets up the environment and evokes make.

Something like this:

-------------------------------<snip here>---------------------------------
#!/bin/sh

# Command to make GNUstep applications
#   Sets up the environment correctly and then
#   invokes make.

. /usr/shared/GNUstep/Makefiles/GNUstep.sh

make $@
-------------------------------<snip here>---------------------------------

That works everywhere and makes it easy to change things when needed. Doesn't require any mods to ld.so.conf nor changes to the existing PATH

I've put mine into /usr/bin/ so things are sweet. No sourcing GNUstep.sh, no need to mod the environment nor edit my .bashrc or profile. Nada.

Also, your solution *still* requires

export GNUSTEP_MAKEFILES=

which sort of defeats the purpose in my view because you still need a preliminary step before you can build.

**2. Each library-combo needs to be configured separately

Second, Richard started a change to move the gnustep-make config into a
library-combo subdir,
which I've now completed ... it has a few implications:

 1. you can configure different library-combos to use different compilers
with different flags;
I assume this was the main reason behind the change (presumably it helps
with apple-apple-apple
vs gnu-gnu-gnu on Mac OS X ?)

Sound in theory.

2. if you haven't configured a library-combo, you can no longer use it. For example, if you plan on
using both gnu-gnu-gnu and gnu-ld-nil, you need to do
         ./configure --with-library-combo=gnu-gnu-gnu --disable-flattened
         make
         su -c 'make install'

         ./configure --with-library-combo=gnu-ld-nil  --disable-flattened
         make
         su -c 'make install'

The second one is needed because it will install
GNUSTEP_MAKEFILES/ix86/linux-gnu/gnu-fd-nil/config.make.
If you try to compile using a library-combo that wasn't configured, it
won't work.  This is because
each one has got its own CC, OPTFLAGS, etc flags now.  Hmmm.

Hmm.. won't this will mean that all Headers will actually be in

 $GNUSTEP_SYSTEM_ROOT/Library/Headers/${ac_cv_library_combo}

right? So we'd have like

 /usr/GNUstep/System/Library/Headers/gnu-gnu-gnu/Foundation/

As long as flattened continues to be supported.
I'll have to look at the flags issue sometime.


Regards,
Sheldon




reply via email to

[Prev in Thread] Current Thread [Next in Thread]