summaryrefslogtreecommitdiff
authoreilers <eilers>2003-12-22 11:08:30 (UTC)
committer eilers <eilers>2003-12-22 11:08:30 (UTC)
commit8d91c030bd4cb8ef296eb25fee9394ca4a8319f8 (patch) (unidiff)
treebea20afe0c841b16a2bf7a214667652caedbbd11
parent5bcd8c0cdeec2777a20bd56bec14e06206b4128e (diff)
downloadopie-8d91c030bd4cb8ef296eb25fee9394ca4a8319f8.zip
opie-8d91c030bd4cb8ef296eb25fee9394ca4a8319f8.tar.gz
opie-8d91c030bd4cb8ef296eb25fee9394ca4a8319f8.tar.bz2
Some information about missing or unfinshed functions by the macosx port
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--development/macosx/README_MACOSX19
1 files changed, 18 insertions, 1 deletions
diff --git a/development/macosx/README_MACOSX b/development/macosx/README_MACOSX
index 5069a2e..4cb5908 100644
--- a/development/macosx/README_MACOSX
+++ b/development/macosx/README_MACOSX
@@ -1,133 +1,150 @@
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) for its 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 wouldn't be 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-------
14The basic system works quite well. But a lot of applications and plugins, 14The basic system works quite well. But a lot of applications and plugins,
15which are platform specific, need some work to be compileable. 15which are platform specific, need some work to be compileable.
16 16
17What is ready: 17What is ready:
18 18
19libqpe 19libqpe
20libopie1 20libopie1
21libopie2/opiedb 21libopie2/opiedb
22pim-applications (addressbook, todolist, datebook, today) 22pim-applications (addressbook, todolist, datebook, today)
23A lot of applications and plugins which are not platform specific. 23A lot of applications and plugins which are not platform specific.
24 24
25What will follow soon: 25What will follow soon:
26 26
27libopie2 27libopie2 (libopiecore and libopiedb works already !)
28
29ToDO:
30-----
31There are some functions in the sourcecode which are not yet ported to Mac. If the
32MacOS environment should be used for real productive work, the following functions
33must be implemented correctly:
34
35libopie/pim/otimezone.cpp:
36Accessing of "setenv(...)" on Mac caused bus-errors.
37Workaround/Fix: Unknown
38Current-State: setenv() was just commented out. Thus the related functions may behave wrong!
39
40library/filemanager.cpp:
41The sendfile() function is not available in MacOSX. Therefore a workaround must be implemented.
42Workaround/Fix: Unknown. The function is available in the header files, but disabled by a
43"#ifdef SENDFILE" .. and not implemented int the c-library.
44If it will be supported, it should activate itself automatically by the "#ifdef"..
28 45
29 46
30How to compile Opie for MacOS-X: 47How to compile Opie for MacOS-X:
31------------------------------- 48-------------------------------
32 49
33Before compiling for MacOS-X, you need the following: 50Before compiling for MacOS-X, you need the following:
34 51
35 1. X11-Server+X11SDK (Provided by Apple) 52 1. X11-Server+X11SDK (Provided by Apple)
36 2. QT-2.3.2 for X11 (Provided by Trolltech) 53 2. QT-2.3.2 for X11 (Provided by Trolltech)
37 3. QT/E-2.3.7 (Provided by Trolltech) 54 3. QT/E-2.3.7 (Provided by Trolltech)
38 4. Patches for QT-2.3.2 for MacOSX (take the one in this directory !) 55 4. Patches for QT-2.3.2 for MacOSX (take the one in this directory !)
39 5. Patches for QT/E-2.3.7 for MacOSX (take the one, provided in $OPIEDIR/qt) 56 5. Patches for QT/E-2.3.7 for MacOSX (take the one, provided in $OPIEDIR/qt)
40 57
41The Patch for QT-2.3.2 is provided in this directory and is called "qt232-X11.patch". 58The Patch for QT-2.3.2 is provided in this directory and is called "qt232-X11.patch".
42 59
43The Patch for QT/E for Opie, including all other opie-patches is available in the 60The Patch for QT/E for Opie, including all other opie-patches is available in the
44qt-directory ($OPIEDIR/qt) and is called "qte237-all-macosx.patch". 61qt-directory ($OPIEDIR/qt) and is called "qte237-all-macosx.patch".
45 62
46Please read further, how to compile the stuff. 63Please read further, how to compile the stuff.
47 64
48HOWTO COMPILE: 65HOWTO COMPILE:
49------------- 66-------------
50 67
51Compile QT-2.3.2: 68Compile QT-2.3.2:
52 69
53Go to into the basic directory of qt-2.3.2 and enter 70Go to into the basic directory of qt-2.3.2 and enter
54export QTDIR=`pwd` 71export QTDIR=`pwd`
55export DYLD_LIBRARY_PATH=$QTDIR/lib 72export DYLD_LIBRARY_PATH=$QTDIR/lib
56./configure -no-xft -platform darwin-g++ 73./configure -no-xft -platform darwin-g++
57make 74make
58After compiling successful (I hope) you need qvfb: 75After compiling successful (I hope) you need qvfb:
59cd tools/qvfb 76cd tools/qvfb
60make 77make
61 78
62Compile QT/E-2.3.7: 79Compile QT/E-2.3.7:
63 80
64Got to into the basic directory of qt-2.3.2 and enter 81Got to into the basic directory of qt-2.3.2 and enter
65export QTDIR=`pwd` 82export QTDIR=`pwd`
66export QPEDIR=$QTDIR 83export QPEDIR=$QTDIR
67export DYLD_LIBRARY_PATH=$QTDIR/lib 84export DYLD_LIBRARY_PATH=$QTDIR/lib
68./configure -platform darwin-generic-g++ -qconfig qpe -qvfb -depths 4,8,16,32 85./configure -platform darwin-generic-g++ -qconfig qpe -qvfb -depths 4,8,16,32
69make 86make
70 87
71Now create a link for the uic of qt-2.3.2 into the bin-directory of qt/e 2.3.7 ! 88Now create a link for the uic of qt-2.3.2 into the bin-directory of qt/e 2.3.7 !
72Otherwise OPIE will fail to compile ! 89Otherwise OPIE will fail to compile !
73 90
74Compile OPIE: 91Compile OPIE:
75Set your environment 92Set your environment
76(You may use the script "set_vars.sh" to set your variables successfully ! 93(You may use the script "set_vars.sh" to set your variables successfully !
77BUT: You have to customize this script for YOUR needs !!) 94BUT: You have to customize this script for YOUR needs !!)
78Go into the basic directory of Opie 95Go into the basic directory of Opie
79make menuconfig" 96make menuconfig"
80set "Build Parameters"->"Target Machine"->"Mac OS X (DARWIN)" to activate the platform specific changes. 97set "Build Parameters"->"Target Machine"->"Mac OS X (DARWIN)" to activate the platform specific changes.
81save and exit the menuconfig app 98save and exit the menuconfig app
82make 99make
83 100
84You will see that a lot of applications and plugins/applets will not compile 101You will see that a lot of applications and plugins/applets will not compile
85successfully, due to the fact that they are not ported to this platform. 102successfully, due to the fact that they are not ported to this platform.
86You may disable them to be able to compile the rest. 103You may disable them to be able to compile the rest.
87 104
88Remember: A lot of configuration-settings are not tested and might fail to compile. 105Remember: A lot of configuration-settings are not tested and might fail to compile.
89If you want to avoid misconfigurations, you may want to start with 106If you want to avoid misconfigurations, you may want to start with
90the config-file in this directory. Just copy "config_macosx" to $OPIEDIR/.config 107the config-file in this directory. Just copy "config_macosx" to $OPIEDIR/.config
91to get a working configuration to start with. 108to get a working configuration to start with.
92 109
93(The missing apps/plugins will be ported on demand.) 110(The missing apps/plugins will be ported on demand.)
94 111
95 112
96SPECIAL INFORMATION FOR USERS OF PANTHER 113SPECIAL INFORMATION FOR USERS OF PANTHER
97---------------------------------------- 114----------------------------------------
98I had a lot of problems compiling qt-2.3.2 and QT/E-2.3.7 on Panther. The 115I had a lot of problems compiling qt-2.3.2 and QT/E-2.3.7 on Panther. The
99new release of the X-Server causes a lot of trouble.. 116new release of the X-Server causes a lot of trouble..
100 117
101To compile QT-2.3.2 successfully, you have to disable support of freetype fonts and you have 118To compile QT-2.3.2 successfully, you have to disable support of freetype fonts and you have
102to use the patch in this directory, otherwise your wont't be able to compile ! 119to use the patch in this directory, otherwise your wont't be able to compile !
103Use the param "-no-xft" for the configure script to disable this function ! 120Use the param "-no-xft" for the configure script to disable this function !
104 121
105Information for Developers: 122Information for Developers:
106--------------------------- 123---------------------------
107 124
1081. Platform specific code should be surrounded by 1251. Platform specific code should be surrounded by
109#ifdef Q_OS_MACX 126#ifdef Q_OS_MACX
110MACOS-X CODE 127MACOS-X CODE
111#else 128#else
112OTHER-CODE 129OTHER-CODE
113#endif 130#endif
114 131
1152. The Plugin-Handling by MacOS-X is different than it is by Linux. 1322. The Plugin-Handling by MacOS-X is different than it is by Linux.
116On linux-systems, shared libraries are not different to dynamic loaded libraries 133On linux-systems, shared libraries are not different to dynamic loaded libraries
117(aka plugins). They just are different whether they are loaded automatically 134(aka plugins). They just are different whether they are loaded automatically
118at startup or manually by any application. 135at startup or manually by any application.
119On MacOS-X, the plugins are loaded by a special mechanism and must be in a special 136On MacOS-X, the plugins are loaded by a special mechanism and must be in a special
120binary format. Therefore you have to add the term "plugin" to the CONFIG-clause, as 137binary format. Therefore you have to add the term "plugin" to the CONFIG-clause, as
121for instance: 138for instance:
122 139
123TEMPLATE=lib 140TEMPLATE=lib
124CONFIG += qt plugin release 141CONFIG += qt plugin release
125 142
126If you don't add "plugin" you will get a shared library which is not loadable 143If you don't add "plugin" you will get a shared library which is not loadable
127(Error-Code: NSObjectFileImageInappropriateFile (2))! 144(Error-Code: NSObjectFileImageInappropriateFile (2))!
128 145
129 146
130 147
131For problems, help and flames, feel free to contact me at 148For problems, help and flames, feel free to contact me at
132 149
133eilers.stefan@epost.de \ No newline at end of file 150eilers.stefan@epost.de \ No newline at end of file