discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Development environment


From: Ivan Vučica
Subject: Re: Development environment
Date: Mon, 11 Dec 2017 10:54:24 +0000

On Mon, Dec 11, 2017 at 9:14 AM, Daniel Santos <daniel.dlds@gmail.com> wrote:
> How do you set up xcode to work with gnustep sources and libraries ?

I would be surprised if people were doing this for the core libraries.
If you want to do this and are not completely sure you need it, please
don't try doing it.

I have not tried this, however here's general guidance.

Before you can use the libraries in Xcode, you'll have to install them.

There are some "additions" libraries in -base and -gui, and you
install them pretty closely to how you set up GNUstep on other
platforms:
- install gnustep-make (./configure, make, sudo -E make install)
- install gnustep-base additions (./configure, make, sudo -E make
install; I believe should detect that you're on a macOS machine, and
deploy only additions)
- install gnustep-gui additions, as needed (./configure, make, sudo -E
make install; same story)
- skip installing gnustep-back
- install anything else you need

You might get away without -base and -gui, and someone should confirm
my assertions about only additions being installed by -base and -gui
by default.

Now, how do you link the new code in? The same way you would link
other third-party, Xcode-unaware libraries. This is what I do for
things like libxml2 or libxmlsec when linking them into software built
using Xcode:
- have Xcode pass the appropriate header search paths to the compiler
(-I/path/to/headers or -isystem /path/to/headers or -iquote
/path/to/headers, as appropriate),
- have Xcode pass the appropriate library search paths to the linker
(-L/path/to/headers),
- have Xcode pass the appropriate library link flags to the linker
(-lnameoflibrarywithoutlibprefixorextension, for example
-lgnustep-base or -lgnustep-gui)

A useful way to think about Xcode is that it's a build system[1]
first, IDE second. Keep that in mind when clicking around the user
interface related to build options.

[1]: https://en.wikipedia.org/wiki/Project_Builder



reply via email to

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