swarm-hackers
[Top][All Lists]
Advanced

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

Re: [swarm-hackers] header directory structure


From: Scott Christley
Subject: Re: [swarm-hackers] header directory structure
Date: Sun, 06 Jul 2008 17:03:27 -0700

Even if do get subdirectories under the framework, applications still need to specify the framework name at the start. The only way I know to get around this would be hack the include header paths to not require the framework name, but then that would need to be done by every Swarm application on OSX, which is no good.

#import <Swarm/defobj/DefObject.h>

and yes, I'm talking about the Apple build machinery, building Swarm applications with Apple development tools, Apple runtime, Apple compiler, etc.


On Jul 6, 2008, at 4:54 PM, Bill Northcott wrote:

Maybe I have this all wrong as usual, but I don't see any reason for this change.

Packages like R use subdirectories in the Headers perfectly happily. Indeed the real headers are in Resources/include and subdirectories. I have built Swarm frameworks like this and they work perfectly well.

AFAIK the headers only need to appear in the top level of Headers if you want to use the -F option to gcc. Using -I, they can be anywhere you want, and it makes the MacOS builds more like the UNIX ones. I guess it a question of using make or Apple's build machinery.

Bill

On 07/07/2008, at 7:34 AM, Scott Christley wrote:
I recently committed some changes, albeit to the objc runtime branch, that changed how header files are referenced from other header files. For example this:

#import <defobj/DefObject.h>

got changed to this:

#import "DefObject.h"

The reason is due to how frameworks are constructed on Apple (and GNUstep). For those not familiar, frameworks are a simple directory wrapper structure that puts a dynamic library, its header files, documentation, any resource files. Normally on UNIX-like systems, these are separated in difference directories, e.g. the library goes in /usr/local/lib, the header files go in /usr/local/ include, the documentation goes in another place as well as the resource files. The nice thing about frameworks is because everything is wrapped up together, it is easy to copy, distribute, move, etc., the framework around and it always has everything together.


_______________________________________________
swarm-hackers mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/swarm-hackers





reply via email to

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