discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Announce: GWorkspace-0.2.2


From: LHelldorf
Subject: Re: Announce: GWorkspace-0.2.2
Date: Thu, 1 Nov 2001 03:40:56 +0100

>This version would have been released over some days but I'm releasing it
>now as a help in porting GWorkspace to Mac OS X.

I have downloaded it and came substantially further compiling it, although 
I had to change some files. Here is a diff of what changed with comments 
why I changed it:

Only in GWorkspace/: .DS_Store
Only in GWorkspace/Apps_wrappers: .DS_Store
Only in GWorkspace/Apps_wrappers/Acrobat.app: .DS_Store
Only in GWorkspace/Apps_wrappers/LyX.app: .DS_Store
Only in GWorkspace/Apps_wrappers/emacs.app: .DS_Store
Only in GWorkspace/Apps_wrappers/ghostview.app: .DS_Store
Only in GWorkspace/Apps_wrappers/gimp.app: .DS_Store
Only in GWorkspace/Apps_wrappers/nedit.app: .DS_Store
Only in GWorkspace/Apps_wrappers/netscape.app: .DS_Store
Only in GWorkspace/Apps_wrappers/vi.app: .DS_Store
Only in GWorkspace/Apps_wrappers/xfig.app: .DS_Store
Only in GWorkspace/Apps_wrappers/xv.app: .DS_Store

don't know what those are. maybe something created by Apples Finder. 
nothing important.

Only in GWorkspace/English.lproj: InfoPlist.strings
Only in GWorkspace/English.lproj: MainMenu.nib

Those files where created by Project Builder on project creation. I don't 
use them right now.

diff -r GWorkspace.original/Fiend/Fiend.m GWorkspace/Fiend/Fiend.m
31c31
< #include "Dialogs/Dialogs.h"
---
> #include "../Dialogs/Dialogs.h"

The headerfile was not found otherwise. Maybe due to some unability of me 
to use Project Builder properly, I am just learning by doing.

diff -r GWorkspace.original/Finder/Finder.m GWorkspace/Finder/Finder.m
29c29
< #include "Shelf/Shelf.h"
---
> #include "../Shelf/Shelf.h"

dito

diff -r GWorkspace.original/Finder/FinderShelf.m 
GWorkspace/Finder/FinderShelf.m
27c27
< #include "Shelf/Shelf.h"
---
> #include "../Shelf/Shelf.h"

dito

diff -r GWorkspace.original/GNUstep.h GWorkspace/GNUstep.h
69,70c69,70
< define _(X) NSLocalizedString (X, nil)
< define __(X) X
---
> #define _(X) NSLocalizedString (X, nil)
> #define __(X) X
72c72
< define NSLocalizedStaticString(X, Y) X
---
> #define NSLocalizedStaticString(X, Y) X
73a74
>   NSDesktopWindowLevel = -1000;       /* GNUstep addition     *//* from 
NSWindow.h */

the '#'s were missing and gave me some parsing errors. 
NSDesktopWindowLevel was needed by BackWindow.m. I don't know if this 
definition is of any use for Mac OS X (Yes, the desktop of Mac OS X is 
created by the finder, but I don't know if we can take over the desktop, 
since the finder immediately after it is killed), at least it compiles 
this way.

Only in GWorkspace/: GWorkspace.pbproj

the Project Builder Project file itself. Very necessary when trying to 
build GWorkspace on Mac OS X.

Only in GWorkspace/Inspectors: .DS_Store
Only in GWorkspace/Inspectors/Viewers: .DS_Store
diff -r GWorkspace.original/Viewers/GWBrowser.h 
GWorkspace/Viewers/GWBrowser.h
28c28
< #include <AppKit/NSControl.h>
---
> //#include <AppKit/NSControl.h>

Some things where redefined before I changed this. Apples Cocoa headers 
seem not to be protected against double includes (At least there are no 
#ifndefs in NSControl.h). #import instead of #include works here too.

Only in GWorkspace/: build

the build directory.

>
>So, I've not fixed all the bugs noticed by Martin Brecher and other
>people.
>
>I've tried to eliminate all the GNUstep specific code, as
>gnustep_global_lock.
>I've also included, in all the source files, an header, GNUstep.h, with
>macros to make easier the port.
>
>Added a recycler. Its icon is, for the moment, provvisional.

The build failed at another point:

Viewers/GWBrowser.m:29: header file 'AppKit/AppKitExceptions.h' not found
Viewers/GWBrowser.m:39: header file 'AppKit/PSOperators.h' not found

For curiousity I copied the respective header files of GNUstep into the 
AppKits Header folder. While PSOperators.h might not work at all it helped the 
compilation cause. Then the file 
DPSOperators.h was required by PSOperators.h. i copied that one too. Obviously 
some AppKit header files were #included 
twice. I changed those to #import and the errors went away. But then 
appeared DPSOperators.h as the showstopper: NSGraphicContext of Cocoa and 
GNUstep 
seem to be different. Anyway, there has a lot to be changed since all the 
PostScript functions aren't supported by Cocoa anymore, we will have to 
use Quartz (was this the name?) functions instead. 

Now a stupid question: What would be the best way to #ifndef parts of the 
code out and #ifdef others in? 'GNUSTEP' like in GNUstep.h? What are the 
defines in Cocoa? Or is the such a thing like an #else clause to a 
#ifndef? That were four stupid questions...

Here are the latest changes as a diff:

diff -r GWorkspace.original/Viewers/GWBrowser.h 
GWorkspace/Viewers/GWBrowser.h
28c28,29
< #include <AppKit/NSControl.h>
---
> #import <AppKit/NSControl.h>
> #import <Foundation/NSTimer.h>
diff -r GWorkspace.original/Viewers/GWBrowser.m 
GWorkspace/Viewers/GWBrowser.m
31c31
< #include <AppKit/NSCell.h>
---
> #import <AppKit/NSCell.h>
35c35
< #include <AppKit/NSGraphics.h>
---
> #import <AppKit/NSGraphics.h>

Then I excluded the bugging GWBrowser.m and GWBrowser.h from the build 
process (that's just two clicks anyway). other changes:

diff -r GWorkspace.original/Viewers/ViewersWin.m 
GWorkspace/Viewers/ViewersWin.m
29c29
< #include "Shelf/Shelf.h"
---
> #include "../Shelf/Shelf.h"
diff -r GWorkspace.original/Watchers/FileWatchers.m 
GWorkspace/Watchers/FileWatchers.m
29,38c29,38
< #include "Watchers/Watcher.h"
< #include "Dialogs/Dialogs.h"
< #include "Inspectors/InspectorsWin.h"
< #include "Processes/Processes.h"
< #include "Finder/Finder.h"
< #include "Preferences/PreferencesWin.h"
< #include "Fiend/Fiend.h"
< #include "Viewers/ViewersWin.h"
< #include "BackWindow/BackWindow.h"
< #include "BackWindow/BackView.h"
---
> #include "../Watchers/Watcher.h"
> #include "../Dialogs/Dialogs.h"
> #include "../Inspectors/InspectorsWin.h"
> #include "../Processes/Processes.h"
> #include "../Finder/Finder.h"
> #include "../Preferences/PreferencesWin.h"
> #include "../Fiend/Fiend.h"
> #include "../Viewers/ViewersWin.h"
> #include "../BackWindow/BackWindow.h"
> #include "../BackWindow/BackView.h"

Here the compile phase was finished, but the build did not complete. 
Errors like the following arose:

BuildPhase GWorkspace.app 
Completed phase <DeriveAndCompileSources> for GWorkspace.app
MasterObjectFile.Combine 
/Volumes/Data/GWorkspace/build/intermediates/GWorkspace.build/master.o 
/usr/bin/ld: multiple definitions of symbol _NSDesktopWindowLevel
/Volumes/Data/GWorkspace/build/intermediates/GWorkspace.build/Objects/ppc/main.o
 
definition of _NSDesktopWindowLevel in section (__DATA,__data)
/Volumes/Data/GWorkspace/build/intermediates/GWorkspace.build/Objects/ppc/IconViewsIcon.o
 
definition of _NSDesktopWindowLevel in section (__DATA,__data)
/Volumes/Data/GWorkspace/build/intermediates/GWorkspace.build/Objects/ppc/GWSplitView.o
 
definition of _NSDesktopWindowLevel in section (__DATA,__data)
/Volumes/Data/GWorkspace/build/intermediates/GWorkspace.build/Objects/ppc/GWorkspace.o
 
definition of _NSDesktopWindowLevel in section (__DATA,__data)
/Volumes/Data/GWorkspace/build/intermediates/GWorkspace.build/Objects/ppc/Functions.o
 
definition of _NSDesktopWindowLevel in section (__DATA,__data)
/Volumes/Data/GWorkspace/build/intermediates/GWorkspace.build/Objects/ppc/FileOperation.o
 
definition of _NSDesktopWindowLevel in section (__DATA,__data)

the same for _GWorkspaceEmptyRecyclerOperation, 
_GWorkspaceRecycleOutOperation and _main. Don't know what's going wrong 
here.


I could also send you the output of the compilation process but that is 
huge, I don't want to post it to a mailinglist. If you want it, just say 
so. 

There are different versions of GNUstep.h in several subdirectories 
(ImageViewer, FolderViewer, AppViever, backgrounder) that are not needed. 
Deleting those had no effect on the build process.

Btw. it seems you are not using a cvs system yet. You can have such a 
thing, bugtracking and even more features if you put the GWorkspace 
project onto SourceForge (http://sourceforge.net/) or Savannah 
(http://savannah.gnu.org/) if you like that more. The project will benefit 
a lot.

Puh, that was a long mail. Hope the people with slow modem lines won't get 
to angry, sorry for that.

Greetings, Lars




reply via email to

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