[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