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