bug-gnustep
[Top][All Lists]
Advanced

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

[PATCH/RFC] GSWeb - single GSW/WO namespace frameworks


From: David Ayers
Subject: [PATCH/RFC] GSWeb - single GSW/WO namespace frameworks
Date: Sat, 07 Dec 2002 01:02:10 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2) Gecko/20021126

Hello everyone,

Currently GSWeb builds all classes and globals with the GSW prefix and supplies WO prefixed subclasses for convenience to support both GSW and WO naming conventions at runtime. Both GSW and WO projects can compile againts this default framework, yet WO projects are subject to lots of compiler warnings about invalid pointer assignments as the class hierarchy of the WO classes isn't clean.

This patch asserts that:
http://mail.gnu.org/pipermail/gnustep-dev/2002-December/001137.html
will be commited soon :-) but let me drop this code anyway so you can take a look at it and giv me some feed back... So here it is...

This patch adds support to have the sources build and install seperate frameworks for each name space. GSWeb/GSWeb_wo, GSWExtensions/GSWebExtensions_wo and GSWExtensionsGSW/GSWExtensionsGSW_wo
seperatly.

I think it will be best to branch (or at least tag) before commiting these changes. Maybe even change version number in the framework. Most of the changes in this patch are in the configuration, makefiles and headers (or rather thier inclusions). Other places that currently support the hybrid namespaces will be dealt with later.

You may ./configure gsweb using: --with-gswnames=(gsw,wo,all) with 'all' being default. This will determine which option the makefiles will use when not explicitly set during make invokation. Yet you may "make gswnames=(gsw,wo,all) <target>" at any time, independant of you configuration.

GSW-Projects don't need to be touched at all, but you may want to remove some explicit linking agains the gsweb libs and merely include $(GNUSTEP_MAKEFILES)/Auxiliary/gsweb.make. These projects should also make sure only to include <GSWeb/file.h>, <GSWExtensions/file.h>, <GSWExtensionsGSW/file.h> but I believe that should generally be the case allready.

WO-Projects should include $(GNUSTEP_MAKEFILES)/Auxiliary/gsweb_wo.make. They should also make sure only to include <WebObjects/file.h>, <WOExtensions/file.h> but I believe that also should generally be the case allready. (They may also include <GSWExtenstionsGSW_wo/file.h>)

If you wish to use a similar technique to build projects that compile against both versions, have a look at the GSWExtenstions subproject (or ask me :-) ).

New files needed by this patch :
gsweb/config.mak.in
gsweb/GSWExtensions.framework/WOExtensions.h
gsweb/GSWExtensions.framework/GSWExtensions.h
gsweb/GSWExtensions.framework/GSWExtWOCompatibility.h
gsweb/GSWExtensionsGSW.framework/GSWExtGSWWOCompatibility.h

Files to remove with this patch:
gsweb/config.mak
gsweb/GSWeb.framework/WebObjects/WOApplication.h
gsweb/GSWeb.framework/WebObjects/WOComponent.h
gsweb/GSWeb.framework/WebObjects/WOContext.h
gsweb/GSWeb.framework/WebObjects/WODirectAction.h
gsweb/GSWeb.framework/WebObjects/WORequest.h
gsweb/GSWeb.framework/WebObjects/WOSession.h

I'd be pleased to get some feedback, but I probably won't be able to reply until about Monday or Tuesday.

Cheers,
Dave

Attachment: GSWWONames.tar.gz
Description: application/gunzip


reply via email to

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