summaryrefslogtreecommitdiff
authoreilers <eilers>2004-10-25 10:13:03 (UTC)
committer eilers <eilers>2004-10-25 10:13:03 (UTC)
commitf3e72852d40bdf7c664f60390ce3cc7485bd8410 (patch) (unidiff)
tree6ec2994134e54f63b779f2b81ca1b2c527e35cba
parentaf0556afccb9df439bd826bb6028e05560d2910a (diff)
downloadopie-f3e72852d40bdf7c664f60390ce3cc7485bd8410.zip
opie-f3e72852d40bdf7c664f60390ce3cc7485bd8410.tar.gz
opie-f3e72852d40bdf7c664f60390ce3cc7485bd8410.tar.bz2
Language fixes and new mail address..
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--development/macosx/README_MACOSX14
1 files changed, 4 insertions, 10 deletions
diff --git a/development/macosx/README_MACOSX b/development/macosx/README_MACOSX
index ac62046..25de8d6 100644
--- a/development/macosx/README_MACOSX
+++ b/development/macosx/README_MACOSX
@@ -1,168 +1,162 @@
1Information about porting Opie to MacOS-X (eilers) 1Information about porting Opie to MacOS-X (eilers)
2================================================== 2==================================================
3 3
4Credits: 4Credits:
5-------- 5--------
6 6
7Special thanks to Andreas Junghans (webmaster@lucid-cake.net) for its patches for qt-X11 (2.3.2), 7Special thanks to Andreas Junghans (webmaster@lucid-cake.net) providing patches for qt-X11 (2.3.2),
8QT/E (2.3.5) and qtopia (1.6.1). 8QT/E (2.3.5) and qtopia (1.6.1).
9Without them, I wouldn't be able to provide the port for OPIE to MacOS-X that fast.. 9Without them, I wasn't able to provide the port for OPIE to MacOS-X that fast..
10Thanks to Juergen Graf to debug this very generic README ! 10Thanks to Juergen Graf to debug this very generic README !
11 11
12Status: 12Status:
13------- 13-------
14This work is done, do provide a development platform for Apple-Users! Please do not expect that you 14Aim of this work is to provide a development platform for Apple-Users! Please do not expect that you
15could create a productive Opie system for the Mac with it !! 15could create a productive Opie system for the Mac with it !!
16 16
17The basic system works quite well. But a lot of applications and plugins, 17The basic system works quite well. But a lot of applications and plugins,
18which are platform specific, need some work to be compileable. 18which are platform specific, need some work to be compileable.
19 19
20What is ready: 20What is ready:
21 21
22libqpe 22libqpe
23libopie1 23libopie1
24libopie2 24libopie2
25pim-applications (addressbook, todolist, datebook, today) 25pim-applications (addressbook, todolist, datebook, today)
26A lot of applications and plugins which are not platform specific. 26A lot of applications and plugins which are not platform specific.
27 27
28ToDO: 28ToDO:
29----- 29-----
30There are some functions in the sourcecode which are not yet ported to Mac. If the 30There are some functions in the sourcecode which are not yet ported to Mac. If the
31MacOS environment should be used for real productive work, the following functions 31MacOS environment should be used for real productive work, the following functions
32must be implemented correctly: 32must be implemented correctly:
33 33
34libopie/pim/otimezone.cpp: 34libopie/pim/otimezone.cpp:
35Accessing of "setenv(...)" on Mac caused bus-errors. 35Accessing of "setenv(...)" on Mac caused bus-errors.
36Workaround/Fix: Unknown 36Workaround/Fix: Unknown
37Current-State: setenv() was just commented out. Thus the related functions may behave wrong! 37Current-State: setenv() was just commented out. Thus the related functions may behave wrong!
38 38
39library/filemanager.cpp:
40The sendfile() function is not available in MacOSX. Therefore a workaround must be implemented.
41Workaround/Fix: Unknown. The function is available in the header files, but disabled by a
42"#ifdef SENDFILE" .. and not implemented int the c-library.
43If it will be supported, it should activate itself automatically by the "#ifdef"..
44
45 39
46How to compile Opie for MacOS-X: 40How to compile Opie for MacOS-X:
47------------------------------- 41-------------------------------
48 42
49Before compiling for MacOS-X, you need the following: 43Before compiling for MacOS-X, you need the following:
50 44
51 1. X11-Server+X11SDK (Provided by Apple) 45 1. X11-Server+X11SDK (Provided by Apple)
52 2. QT-2.3.2 for X11 (Provided by Trolltech) 46 2. QT-2.3.2 for X11 (Provided by Trolltech)
53 3. QT/E-2.3.7 (Provided by Trolltech) 47 3. QT/E-2.3.7 (Provided by Trolltech)
54 4. Patches for QT-2.3.2 for MacOSX (take the one in this directory !) 48 4. Patches for QT-2.3.2 for MacOSX (take the one in this directory !)
55 5. Patches for QT/E-2.3.7 for MacOSX (take the one, provided in $OPIEDIR/qt) 49 5. Patches for QT/E-2.3.7 for MacOSX (take the one, provided in $OPIEDIR/qt)
56 50
57The Patch for QT-2.3.2 is provided in this directory and is called "qt232-X11.patch". 51The Patch for QT-2.3.2 is provided in this directory and is called "qt232-X11.patch".
58 52
59The Patch for QT/E for Opie, including all other opie-patches is available in the 53The Patch for QT/E for Opie, including all other opie-patches is available in the
60qt-directory ($OPIEDIR/qt) and is called "qte237-all-macosx.patch". 54qt-directory ($OPIEDIR/qt) and is called "qte237-all-macosx.patch".
61 55
62Please read further, how to compile the stuff. 56Please read further, how to compile the stuff.
63 57
64HOWTO COMPILE: 58HOWTO COMPILE:
65------------- 59-------------
66 60
67Compile QT-2.3.2: 61Compile QT-2.3.2:
68 62
69Go to into the basic directory of qt-2.3.2 and enter 63Go to into the basic directory of qt-2.3.2 and enter
70export QTDIR=`pwd` 64export QTDIR=`pwd`
71export DYLD_LIBRARY_PATH=$QTDIR/lib 65export DYLD_LIBRARY_PATH=$QTDIR/lib
72./configure -no-xft -platform darwin-g++ 66./configure -no-xft -platform darwin-g++
73make 67make
74After compiling successful (I hope) you need qvfb: 68After compiling successful (I hope) you need qvfb:
75cd tools/qvfb 69cd tools/qvfb
76make 70make
77 71
78Compile QT/E-2.3.7: 72Compile QT/E-2.3.7:
79 73
80Got to into the basic directory of qt-2.3.2 and enter 74Got to into the basic directory of qt-2.3.2 and enter
81export QTDIR=`pwd` 75export QTDIR=`pwd`
82export QPEDIR=$QTDIR 76export QPEDIR=$QTDIR
83export DYLD_LIBRARY_PATH=$QTDIR/lib 77export DYLD_LIBRARY_PATH=$QTDIR/lib
84./configure -platform darwin-generic-g++ -qconfig qpe -qvfb -depths 4,8,16,32 78./configure -platform darwin-generic-g++ -qconfig qpe -qvfb -depths 4,8,16,32
85make 79make
86 80
87Now create a link for the uic of qt-2.3.2 into the bin-directory of qt/e 2.3.7 ! 81Now create a link for the uic of qt-2.3.2 into the bin-directory of qt/e 2.3.7 !
88Otherwise OPIE will fail to compile ! 82Otherwise OPIE will fail to compile !
89 83
90Compile OPIE: 84Compile OPIE:
91Set your environment 85Set your environment
92(You may use the script "set_vars.sh" to set your variables successfully ! 86(You may use the script "set_vars.sh" to set your variables successfully !
93BUT: You have to customize this script for YOUR needs !!) 87BUT: You have to customize this script for YOUR needs !!)
94Go into the basic directory of Opie 88Go into the basic directory of Opie
95make menuconfig" 89make menuconfig"
96set "Build Parameters"->"Target Machine"->"Mac OS X (DARWIN)" to activate the platform specific changes. 90set "Build Parameters"->"Target Machine"->"Mac OS X (DARWIN)" to activate the platform specific changes.
97save and exit the menuconfig app 91save and exit the menuconfig app
98make (ATTENTION: See Known Bugs below!!) 92make (ATTENTION: See Known Bugs below!!)
99 93
100You will see that a lot of applications and plugins/applets will not compile 94You will see that a lot of applications and plugins/applets will not compile
101successfully, due to the fact that they are not ported to this platform. 95successfully, due to the fact that they are not ported to this platform.
102You may disable them to be able to compile the rest. 96You may disable them to be able to compile the rest.
103 97
104Remember: A lot of configuration-settings are not tested and might fail to compile. 98Remember: A lot of configuration-settings are not tested and might fail to compile.
105If you want to avoid misconfigurations, you may want to start with 99If you want to avoid misconfigurations, you may want to start with
106the config-file in this directory. Just copy "config_macosx" to $OPIEDIR/.config 100the config-file in this directory. Just copy "config_macosx" to $OPIEDIR/.config
107to get a working configuration to start with. 101to get a working configuration to start with.
108 102
109(The missing apps/plugins will be ported on demand.) 103(The missing apps/plugins will be ported on demand.)
110 104
111Known Bugs (compilation problems): 105Known Bugs (compilation problems):
112----------- 106-----------
113The Apple-Linker does not load indirect linked libraries automatically ( if somebody 107The Apple-Linker does not load indirect linked libraries automatically ( if somebody
114has a solution here, please inform me !!), therefore I had to add "-lopiedb2" and "-lqpe" 108has a solution here, please inform me !!), therefore I had to add "-lopiedb2" and "-lqpe"
115for applications/libraries who used libraries which are linked against them. 109for applications/libraries who used libraries which are linked against them.
116A goot solution would be to add it in the project files of these application, but this would 110A goot solution would be to add it in the project files of these application, but this would
117influence the linux-platform as well... :( 111influence the linux-platform as well... :(
118As a first (but stupid) solution, I added this linker parameter to the global "include.pro" 112As a first (but stupid) solution, I added this linker parameter to the global "include.pro"
119which adds them for everything.. Yes, also for libqpe etc.. 113which adds them for everything.. Yes, also for libqpe etc..
120Therefore this project will not compile out of the box. You have to compile in a two-pass way: 114Therefore this project will not compile out of the box. You have to compile in a two-pass way:
121 115
122Pass 1: Find the line "LIBS += -lopiedb2 -lqpe" in the file include.pro and comment out it (put a "#" 116Pass 1: Find the line "LIBS += -lopiedb2 -lqpe" in the file include.pro and comment out it (put a "#"
123 in front of it) 117 in front of it)
124 Do a "make -k" to compile what is already compileable (some will not compile) 118 Do a "make -k" to compile what is already compileable (some will not compile)
125Pass 2: Remove the comment from Pass1 and do a "make". The rest should compile now successfully. 119Pass 2: Remove the comment from Pass1 and do a "make". The rest should compile now successfully.
126 120
127 121
128I know, this is a silly solution ! But I don't have anything better without influence the Linux build 122I know, this is a silly solution ! But I don't have anything better without influence the Linux build
129process too much .. I would be happy, if somebody could help me here ! 123process too much .. I would be happy, if somebody could help me here !
130 124
131SPECIAL INFORMATION FOR USERS OF PANTHER 125SPECIAL INFORMATION FOR USERS OF PANTHER
132---------------------------------------- 126----------------------------------------
133I had a lot of problems compiling qt-2.3.2 and QT/E-2.3.7 on Panther. The 127I had a lot of problems compiling qt-2.3.2 and QT/E-2.3.7 on Panther. The
134new release of the X-Server causes a lot of trouble.. 128new release of the X-Server causes a lot of trouble..
135 129
136To compile QT-2.3.2 successfully, you have to disable support of freetype fonts and you have 130To compile QT-2.3.2 successfully, you have to disable support of freetype fonts and you have
137to use the patch in this directory, otherwise your wont't be able to compile ! 131to use the patch in this directory, otherwise your wont't be able to compile !
138Use the param "-no-xft" for the configure script to disable this function ! 132Use the param "-no-xft" for the configure script to disable this function !
139 133
140Information for Developers: 134Information for Developers:
141--------------------------- 135---------------------------
142 136
1431. Platform specific code should be surrounded by 1371. Platform specific code should be surrounded by
144#ifdef Q_OS_MACX 138#ifdef Q_OS_MACX
145MACOS-X CODE 139MACOS-X CODE
146#else 140#else
147OTHER-CODE 141OTHER-CODE
148#endif 142#endif
149 143
1502. The Plugin-Handling by MacOS-X is different than it is by Linux. 1442. The Plugin-Handling by MacOS-X is different than it is by Linux.
151On linux-systems, shared libraries are not different to dynamic loaded libraries 145On linux-systems, shared libraries are not different to dynamic loaded libraries
152(aka plugins). They just are different whether they are loaded automatically 146(aka plugins). They just are different whether they are loaded automatically
153at startup or manually by any application. 147at startup or manually by any application.
154On MacOS-X, the plugins are loaded by a special mechanism and must be in a special 148On MacOS-X, the plugins are loaded by a special mechanism and must be in a special
155binary format. Therefore you have to add the term "plugin" to the CONFIG-clause, as 149binary format. Therefore you have to add the term "plugin" to the CONFIG-clause, as
156for instance: 150for instance:
157 151
158TEMPLATE=lib 152TEMPLATE=lib
159CONFIG += qt plugin release 153CONFIG += qt plugin release
160 154
161If you don't add "plugin" you will get a shared library which is not loadable 155If you don't add "plugin" you will get a shared library which is not loadable
162(Error-Code: NSObjectFileImageInappropriateFile (2))! 156(Error-Code: NSObjectFileImageInappropriateFile (2))!
163 157
164 158
165 159
166For problems, help and flames, feel free to contact me at 160For problems, help and flames, feel free to contact me at
167 161
168eilers.stefan@epost.de \ No newline at end of file 162stefan@eilers-online.net