-rw-r--r-- | development/macosx/README_MACOSX | 81 | ||||
-rw-r--r-- | development/macosx/config_macosx | 1 |
2 files changed, 60 insertions, 22 deletions
diff --git a/development/macosx/README_MACOSX b/development/macosx/README_MACOSX index e58aa8a..864f486 100644 --- a/development/macosx/README_MACOSX +++ b/development/macosx/README_MACOSX | |||
@@ -1,86 +1,123 @@ | |||
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) for its 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 wouldn't be able to provide the port for OPIE to MacOS-X that fast.. |
10 | 10 | ||
11 | Status: | 11 | Status: |
12 | ------- | 12 | ------- |
13 | The basic system works quite well. But a lot of applications and plugins, | 13 | The basic system works quite well. But a lot of applications and plugins, |
14 | which are platform specific, need some work to be compileable. | 14 | which are platform specific, need some work to be compileable. |
15 | 15 | ||
16 | What is ready: | 16 | What is ready: |
17 | 17 | ||
18 | libqpe | 18 | libqpe |
19 | libopie1 | 19 | libopie1 |
20 | libopie2/opiedb | ||
20 | pim-applications (addressbook, todolist, datebook, today) | 21 | pim-applications (addressbook, todolist, datebook, today) |
21 | A lot of applications and plugins which are not platform specific. | 22 | A lot of applications and plugins which are not platform specific. |
22 | 23 | ||
23 | What will follow soon: | 24 | What will follow soon: |
24 | 25 | ||
25 | libopie2 | 26 | libopie2 |
26 | 27 | ||
27 | Remember: A lot of configuration-settings are not tested (as for instance | ||
28 | the quicklauncher) and might fail to compile. | ||
29 | If you want to avoid misconfigurations, you may want to start with | ||
30 | the config-file in this directory. Just copy "config_macosx" to $OPIEDIR/.config | ||
31 | to get a working configuration to start with. | ||
32 | |||
33 | (The missing apps/plugins will be ported on demand.) | ||
34 | 28 | ||
35 | How to compile Opie for MacOS-X: | 29 | How to compile Opie for MacOS-X: |
36 | ------------------------------- | 30 | ------------------------------- |
37 | 31 | ||
38 | Before compiling for MacOS-X, you need the following: | 32 | Before compiling for MacOS-X, you need the following: |
39 | 33 | ||
40 | 1. X11-Server (Provided by Apple) | 34 | 1. X11-Server+X11SDK (Provided by Apple) |
41 | 2. QT-2.3.2 for X11 | 35 | 2. QT-2.3.2 for X11 (Provided by Trolltech) |
42 | 3. QT/E-2.3.7 | 36 | 3. QT/E-2.3.7 (Provided by Trolltech) |
43 | 4. Patches for QT-2.3.2 for MacOSX | 37 | 4. Patches for QT-2.3.2 for MacOSX (take the one in this directory !) |
44 | 5. Patches for QT/E-2.3.7 for MacOSX | 38 | 5. Patches for QT/E-2.3.7 for MacOSX (take the one, provided in $OPIEDIR/qt) |
45 | 39 | ||
46 | Please follow the instructions by http://www.lucid-cake.net/osx_qpe/index_de.html | ||
47 | how to create a buildsystem for your Mac. | ||
48 | What is different to the previous desciption: | ||
49 | You don't need Qtopia ! | ||
50 | It is recommended to use QT/E in version 2.3.7 instead of 2.3.5 as described. | ||
51 | The Patch for QT/E for Opie, including all other opie-patches is available in the | 40 | The Patch for QT/E for Opie, including all other opie-patches is available in the |
52 | qt-directory ($OPIEDIR/qt) and is called "qte237-all-macosx.patch". | 41 | qt-directory ($OPIEDIR/qt) and is called "qte237-all-macosx.patch". |
42 | The Patch for QT-2.3.2 is provided in this directory.. | ||
53 | 43 | ||
54 | If your buildsystem is working correctly, you should be able to build | 44 | If your buildsystem is working correctly, you should be able to build |
55 | opie. You have to enter "make menuconfig" and set | 45 | opie. |
56 | "Build Parameters"->"Target Machine"->"Mac OS X (DARWIN)" | 46 | |
57 | activate the platform specific changes. | 47 | HOWTO COMPILE: |
48 | ------------- | ||
49 | |||
50 | Compile QT-2.3.2: | ||
51 | |||
52 | Got to into the basic directory of qt-2.3.2 and enter | ||
53 | export QTDIR=`pwd` | ||
54 | export DYLD_LIBRARY_PATH=$QTDIR/lib | ||
55 | ./configure -no-xft -platform darwin-g++ | ||
56 | make | ||
57 | After compiling successful (I hope) you need qvfb: | ||
58 | cd tools/qvfb | ||
59 | make | ||
60 | |||
61 | Compile QT/E-2.3.7: | ||
62 | |||
63 | Got to into the basic directory of qt-2.3.2 and enter | ||
64 | export QTDIR=`pwd` | ||
65 | export QPEDIR=$QTDIR | ||
66 | export DYLD_LIBRARY_PATH=$QTDIR/lib | ||
67 | ./configure -platform darwin-generic-g++ -qconfig qpe -qvfb -depths 4,8,16,32 | ||
68 | make | ||
69 | |||
70 | Compile OPIE: | ||
71 | Set your environment | ||
72 | (You may use the script "set_vars.sh" to set your variables successfully ! | ||
73 | BUT: You have to customize this script for YOUR needs !!) | ||
74 | Go into the basic directory of Opie | ||
75 | make menuconfig" | ||
76 | set "Build Parameters"->"Target Machine"->"Mac OS X (DARWIN)" to activate the platform specific changes. | ||
77 | save and exit the menuconfig app | ||
78 | make | ||
58 | 79 | ||
59 | You will see that a lot of applications and plugins/applets will not compile | 80 | You will see that a lot of applications and plugins/applets will not compile |
60 | successfully, due to the fact that they are not ported to this platform. | 81 | successfully, due to the fact that they are not ported to this platform. |
61 | You may disable them to be able to compile the rest. | 82 | You may disable them to be able to compile the rest. |
62 | 83 | ||
84 | Remember: A lot of configuration-settings are not tested and might fail to compile. | ||
85 | If you want to avoid misconfigurations, you may want to start with | ||
86 | the config-file in this directory. Just copy "config_macosx" to $OPIEDIR/.config | ||
87 | to get a working configuration to start with. | ||
88 | |||
89 | (The missing apps/plugins will be ported on demand.) | ||
90 | |||
91 | |||
92 | SPECIAL INFORMATION FOR USERS OF PANTHER | ||
93 | ---------------------------------------- | ||
94 | I had a lot of problems compiling qt-2.3.2 and QT/E-2.3.7 on Panther. The | ||
95 | new release of the X-Server causes a lot of trouble.. | ||
96 | |||
97 | To compile QT-2.3.2 successfully, you have to disable support of freetype fonts and you have | ||
98 | to use the patch in this directory, otherwise your wont't be able to compile ! | ||
99 | Use the param "-no-xft" for the configure script to disable this function ! | ||
63 | 100 | ||
64 | Information for Developers: | 101 | Information for Developers: |
65 | --------------------------- | 102 | --------------------------- |
66 | 103 | ||
67 | 1. Platform specific code should be surrounded by | 104 | 1. Platform specific code should be surrounded by |
68 | #ifdef Q_OS_MACX | 105 | #ifdef Q_OS_MACX |
69 | MACOS-X CODE | 106 | MACOS-X CODE |
70 | #else | 107 | #else |
71 | OTHER-CODE | 108 | OTHER-CODE |
72 | #endif | 109 | #endif |
73 | 110 | ||
74 | 2. The Plugin-Handling by MacOS-X is different than it is by Linux. | 111 | 2. The Plugin-Handling by MacOS-X is different than it is by Linux. |
75 | On linux-systems, shared libraries are not different to dynamic loaded libraries | 112 | On linux-systems, shared libraries are not different to dynamic loaded libraries |
76 | (aka plugins). They just are different whether they are loaded automatically | 113 | (aka plugins). They just are different whether they are loaded automatically |
77 | at startup or manually by any application. | 114 | at startup or manually by any application. |
78 | On MacOS-X, the plugins are loaded by a special mechanism and must be in a special | 115 | On MacOS-X, the plugins are loaded by a special mechanism and must be in a special |
79 | binary format. Therefore you have to add the term "plugin" to the CONFIG-clause, as | 116 | binary format. Therefore you have to add the term "plugin" to the CONFIG-clause, as |
80 | for instance: | 117 | for instance: |
81 | 118 | ||
82 | TEMPLATE=lib | 119 | TEMPLATE=lib |
83 | CONFIG += qt plugin release | 120 | CONFIG += qt plugin release |
84 | 121 | ||
85 | If you don't add "plugin" you will get a shared library which is not loadable | 122 | If you don't add "plugin" you will get a shared library which is not loadable |
86 | (Error-Code: NSObjectFileImageInappropriateFile (2))! | 123 | (Error-Code: NSObjectFileImageInappropriateFile (2))! |
diff --git a/development/macosx/config_macosx b/development/macosx/config_macosx index eb0792f..656a468 100644 --- a/development/macosx/config_macosx +++ b/development/macosx/config_macosx | |||
@@ -6,48 +6,49 @@ | |||
6 | # Build Parameters | 6 | # Build Parameters |
7 | # | 7 | # |
8 | # CONFIG_TARGET_X86 is not set | 8 | # CONFIG_TARGET_X86 is not set |
9 | CONFIG_TARGET_MACOSX=y | 9 | CONFIG_TARGET_MACOSX=y |
10 | # CONFIG_TARGET_SHARP is not set | 10 | # CONFIG_TARGET_SHARP is not set |
11 | # CONFIG_TARGET_IPAQ is not set | 11 | # CONFIG_TARGET_IPAQ is not set |
12 | # CONFIG_TARGET_RAMSES is not set | 12 | # CONFIG_TARGET_RAMSES is not set |
13 | # CONFIG_TARGET_SIMPAD is not set | 13 | # CONFIG_TARGET_SIMPAD is not set |
14 | # CONFIG_TARGET_YOPY is not set | 14 | # CONFIG_TARGET_YOPY is not set |
15 | # CONFIG_OPTIMIZE is not set | 15 | # CONFIG_OPTIMIZE is not set |
16 | CONFIG_DEBUG=y | 16 | CONFIG_DEBUG=y |
17 | CONFIG_QUICK_LAUNCH=y | 17 | CONFIG_QUICK_LAUNCH=y |
18 | # CONFIG_OPIE_NO_OVERRIDE_QT is not set | 18 | # CONFIG_OPIE_NO_OVERRIDE_QT is not set |
19 | CONFIG_SPECFILE="qws/macx-generic-g++" | 19 | CONFIG_SPECFILE="qws/macx-generic-g++" |
20 | CONFIG_EXPERIMENTAL=y | 20 | CONFIG_EXPERIMENTAL=y |
21 | 21 | ||
22 | # | 22 | # |
23 | # Base | 23 | # Base |
24 | # | 24 | # |
25 | CONFIG_LIBQPE=y | 25 | CONFIG_LIBQPE=y |
26 | # CONFIG_X11 is not set | 26 | # CONFIG_X11 is not set |
27 | CONFIG_LIBOPIE=y | 27 | CONFIG_LIBOPIE=y |
28 | # CONFIG_OPIE-LOGIN is not set | 28 | # CONFIG_OPIE-LOGIN is not set |
29 | # CONFIG_OPIEALARM is not set | 29 | # CONFIG_OPIEALARM is not set |
30 | CONFIG_QUICKLAUNCHER=y | ||
30 | CONFIG_LAUNCHER=y | 31 | CONFIG_LAUNCHER=y |
31 | CONFIG_PRELOAD=y | 32 | CONFIG_PRELOAD=y |
32 | CONFIG_LAUNCHER_CORE=y | 33 | CONFIG_LAUNCHER_CORE=y |
33 | CONFIG_QWS=y | 34 | CONFIG_QWS=y |
34 | 35 | ||
35 | # | 36 | # |
36 | # | 37 | # |
37 | # | 38 | # |
38 | 39 | ||
39 | # | 40 | # |
40 | # Applets | 41 | # Applets |
41 | # | 42 | # |
42 | CONFIG_BATTERYAPPLET=y | 43 | CONFIG_BATTERYAPPLET=y |
43 | # CONFIG_CARDMON is not set | 44 | # CONFIG_CARDMON is not set |
44 | CONFIG_CLIPBOARDAPPLET=y | 45 | CONFIG_CLIPBOARDAPPLET=y |
45 | CONFIG_CLOCKAPPLET=y | 46 | CONFIG_CLOCKAPPLET=y |
46 | CONFIG_HOMEAPPLET=y | 47 | CONFIG_HOMEAPPLET=y |
47 | # CONFIG_IRDAAPPLET is not set | 48 | # CONFIG_IRDAAPPLET is not set |
48 | # CONFIG_LOGOUTAPPLET is not set | 49 | # CONFIG_LOGOUTAPPLET is not set |
49 | # CONFIG_OBEXAPPLET is not set | 50 | # CONFIG_OBEXAPPLET is not set |
50 | # CONFIG_OBEX is not set | 51 | # CONFIG_OBEX is not set |
51 | # CONFIG_RESTARTAPPLET is not set | 52 | # CONFIG_RESTARTAPPLET is not set |
52 | # CONFIG_ROTATEAPPLET is not set | 53 | # CONFIG_ROTATEAPPLET is not set |
53 | # CONFIG_SCREENSHOTAPPLET is not set | 54 | # CONFIG_SCREENSHOTAPPLET is not set |