summaryrefslogtreecommitdiff
path: root/development
Unidiff
Diffstat (limited to 'development') (more/less context) (ignore whitespace changes)
-rw-r--r--development/macosx/README_MACOSX6
-rw-r--r--development/macosx/config-files/qt-2.3.2/darwin-g++-shared (copied from development/macosx/darwin-g++-shared)0
-rw-r--r--development/macosx/config-files/qte-2.3.7/darwin-generic-g++-shared (renamed from development/macosx/darwin-g++-shared)16
3 files changed, 14 insertions, 8 deletions
diff --git a/development/macosx/README_MACOSX b/development/macosx/README_MACOSX
index 877e2f8..bc21548 100644
--- a/development/macosx/README_MACOSX
+++ b/development/macosx/README_MACOSX
@@ -1,132 +1,134 @@
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..
10 10
11Status: 11Status:
12------- 12-------
13The basic system works quite well. But a lot of applications and plugins, 13The basic system works quite well. But a lot of applications and plugins,
14which are platform specific, need some work to be compileable. 14which are platform specific, need some work to be compileable.
15 15
16What is ready: 16What is ready:
17 17
18libqpe 18libqpe
19libopie1 19libopie1
20libopie2/opiedb 20libopie2/opiedb
21pim-applications (addressbook, todolist, datebook, today) 21pim-applications (addressbook, todolist, datebook, today)
22A lot of applications and plugins which are not platform specific. 22A lot of applications and plugins which are not platform specific.
23 23
24What will follow soon: 24What will follow soon:
25 25
26libopie2 26libopie2
27 27
28 28
29How to compile Opie for MacOS-X: 29How to compile Opie for MacOS-X:
30------------------------------- 30-------------------------------
31 31
32Before compiling for MacOS-X, you need the following: 32Before compiling for MacOS-X, you need the following:
33 33
34 1. X11-Server+X11SDK (Provided by Apple) 34 1. X11-Server+X11SDK (Provided by Apple)
35 2. QT-2.3.2 for X11 (Provided by Trolltech) 35 2. QT-2.3.2 for X11 (Provided by Trolltech)
36 3. QT/E-2.3.7 (Provided by Trolltech) 36 3. QT/E-2.3.7 (Provided by Trolltech)
37 4. Patches for QT-2.3.2 for MacOSX (take the one in this directory !) 37 4. Patches for QT-2.3.2 for MacOSX (take the one in this directory !)
38 5. Patches for QT/E-2.3.7 for MacOSX (take the one, provided in $OPIEDIR/qt) 38 5. Patches for QT/E-2.3.7 for MacOSX (take the one, provided in $OPIEDIR/qt)
39 39
40The Patch for QT/E for Opie, including all other opie-patches is available in the 40The Patch for QT/E for Opie, including all other opie-patches is available in the
41qt-directory ($OPIEDIR/qt) and is called "qte237-all-macosx.patch". 41qt-directory ($OPIEDIR/qt) and is called "qte237-all-macosx.patch".
42To be able to compile, you have to copy the file from the directory "./config-files/qte-2.3.7"
43into the directory "configs" within the base directory of qt/e.
42 44
43The Patch for QT-2.3.2 is provided in this directory and is called "qt232-X11.patch". 45The Patch for QT-2.3.2 is provided in this directory and is called "qt232-X11.patch".
44ATTENTION: The patch does not contain the darwin config file. Please copy the file 46Please copy the file "darwin-g++-shared" from the directory "./config-files/qt-2.3.2" into the directory "configs"
45"darwin-g++-shared" into the directory "configs" within the qt-2.3.2 directory !! 47within the qt-2.3.2 directory !!
46 48
47If your buildsystem is working correctly, you should be able to build 49If your buildsystem is working correctly, you should be able to build
48opie. 50opie.
49 51
50HOWTO COMPILE: 52HOWTO COMPILE:
51------------- 53-------------
52 54
53Compile QT-2.3.2: 55Compile QT-2.3.2:
54 56
55Got to into the basic directory of qt-2.3.2 and enter 57Got to into the basic directory of qt-2.3.2 and enter
56export QTDIR=`pwd` 58export QTDIR=`pwd`
57export DYLD_LIBRARY_PATH=$QTDIR/lib 59export DYLD_LIBRARY_PATH=$QTDIR/lib
58./configure -no-xft -platform darwin-g++ 60./configure -no-xft -platform darwin-g++
59make 61make
60After compiling successful (I hope) you need qvfb: 62After compiling successful (I hope) you need qvfb:
61cd tools/qvfb 63cd tools/qvfb
62make 64make
63 65
64Compile QT/E-2.3.7: 66Compile QT/E-2.3.7:
65 67
66Got to into the basic directory of qt-2.3.2 and enter 68Got to into the basic directory of qt-2.3.2 and enter
67export QTDIR=`pwd` 69export QTDIR=`pwd`
68export QPEDIR=$QTDIR 70export QPEDIR=$QTDIR
69export DYLD_LIBRARY_PATH=$QTDIR/lib 71export DYLD_LIBRARY_PATH=$QTDIR/lib
70./configure -platform darwin-generic-g++ -qconfig qpe -qvfb -depths 4,8,16,32 72./configure -platform darwin-generic-g++ -qconfig qpe -qvfb -depths 4,8,16,32
71make 73make
72 74
73Compile OPIE: 75Compile OPIE:
74Set your environment 76Set your environment
75(You may use the script "set_vars.sh" to set your variables successfully ! 77(You may use the script "set_vars.sh" to set your variables successfully !
76BUT: You have to customize this script for YOUR needs !!) 78BUT: You have to customize this script for YOUR needs !!)
77Go into the basic directory of Opie 79Go into the basic directory of Opie
78make menuconfig" 80make menuconfig"
79set "Build Parameters"->"Target Machine"->"Mac OS X (DARWIN)" to activate the platform specific changes. 81set "Build Parameters"->"Target Machine"->"Mac OS X (DARWIN)" to activate the platform specific changes.
80save and exit the menuconfig app 82save and exit the menuconfig app
81make 83make
82 84
83You will see that a lot of applications and plugins/applets will not compile 85You will see that a lot of applications and plugins/applets will not compile
84successfully, due to the fact that they are not ported to this platform. 86successfully, due to the fact that they are not ported to this platform.
85You may disable them to be able to compile the rest. 87You may disable them to be able to compile the rest.
86 88
87Remember: A lot of configuration-settings are not tested and might fail to compile. 89Remember: A lot of configuration-settings are not tested and might fail to compile.
88If you want to avoid misconfigurations, you may want to start with 90If you want to avoid misconfigurations, you may want to start with
89the config-file in this directory. Just copy "config_macosx" to $OPIEDIR/.config 91the config-file in this directory. Just copy "config_macosx" to $OPIEDIR/.config
90to get a working configuration to start with. 92to get a working configuration to start with.
91 93
92(The missing apps/plugins will be ported on demand.) 94(The missing apps/plugins will be ported on demand.)
93 95
94 96
95SPECIAL INFORMATION FOR USERS OF PANTHER 97SPECIAL INFORMATION FOR USERS OF PANTHER
96---------------------------------------- 98----------------------------------------
97I had a lot of problems compiling qt-2.3.2 and QT/E-2.3.7 on Panther. The 99I had a lot of problems compiling qt-2.3.2 and QT/E-2.3.7 on Panther. The
98new release of the X-Server causes a lot of trouble.. 100new release of the X-Server causes a lot of trouble..
99 101
100To compile QT-2.3.2 successfully, you have to disable support of freetype fonts and you have 102To compile QT-2.3.2 successfully, you have to disable support of freetype fonts and you have
101to use the patch in this directory, otherwise your wont't be able to compile ! 103to use the patch in this directory, otherwise your wont't be able to compile !
102Use the param "-no-xft" for the configure script to disable this function ! 104Use the param "-no-xft" for the configure script to disable this function !
103 105
104Information for Developers: 106Information for Developers:
105--------------------------- 107---------------------------
106 108
1071. Platform specific code should be surrounded by 1091. Platform specific code should be surrounded by
108#ifdef Q_OS_MACX 110#ifdef Q_OS_MACX
109MACOS-X CODE 111MACOS-X CODE
110#else 112#else
111OTHER-CODE 113OTHER-CODE
112#endif 114#endif
113 115
1142. The Plugin-Handling by MacOS-X is different than it is by Linux. 1162. The Plugin-Handling by MacOS-X is different than it is by Linux.
115On linux-systems, shared libraries are not different to dynamic loaded libraries 117On linux-systems, shared libraries are not different to dynamic loaded libraries
116(aka plugins). They just are different whether they are loaded automatically 118(aka plugins). They just are different whether they are loaded automatically
117at startup or manually by any application. 119at startup or manually by any application.
118On MacOS-X, the plugins are loaded by a special mechanism and must be in a special 120On MacOS-X, the plugins are loaded by a special mechanism and must be in a special
119binary format. Therefore you have to add the term "plugin" to the CONFIG-clause, as 121binary format. Therefore you have to add the term "plugin" to the CONFIG-clause, as
120for instance: 122for instance:
121 123
122TEMPLATE=lib 124TEMPLATE=lib
123CONFIG += qt plugin release 125CONFIG += qt plugin release
124 126
125If you don't add "plugin" you will get a shared library which is not loadable 127If you don't add "plugin" you will get a shared library which is not loadable
126(Error-Code: NSObjectFileImageInappropriateFile (2))! 128(Error-Code: NSObjectFileImageInappropriateFile (2))!
127 129
128 130
129 131
130For problems, help and flames, feel free to contact me at 132For problems, help and flames, feel free to contact me at
131 133
132eilers.stefan@epost.de \ No newline at end of file 134eilers.stefan@epost.de \ No newline at end of file
diff --git a/development/macosx/darwin-g++-shared b/development/macosx/config-files/qt-2.3.2/darwin-g++-shared
index 18d3b15..18d3b15 100644
--- a/development/macosx/darwin-g++-shared
+++ b/development/macosx/config-files/qt-2.3.2/darwin-g++-shared
diff --git a/development/macosx/darwin-g++-shared b/development/macosx/config-files/qte-2.3.7/darwin-generic-g++-shared
index 18d3b15..ebeabfc 100644
--- a/development/macosx/darwin-g++-shared
+++ b/development/macosx/config-files/qte-2.3.7/darwin-generic-g++-shared
@@ -1,94 +1,98 @@
1# Compiling 1# Compiling
2 INTERFACE_DECL_PATH = . 2 INTERFACE_DECL_PATH = .
3 SYSCONF_CXX = g++ 3 SYSCONF_CXX = g++
4 SYSCONF_CC = gcc 4 SYSCONF_CC = gcc
5 DASHCROSS = 5 DASHCROSS =
6 6
7# Compiling with support libraries 7# Compiling with support libraries
8 SYSCONF_CXXFLAGS_X11= -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 8 SYSCONF_CXXFLAGS_X11= -I/usr/X11R6/include
9 SYSCONF_CXXFLAGS_QT= -I$(QTDIR)/include 9 SYSCONF_CXXFLAGS_QT= -I$(QTDIR)/include
10 SYSCONF_CXXFLAGS_QTOPIA= -I$(QPEDIR)/include
10 SYSCONF_CXXFLAGS_OPENGL= -I/usr/X11R6/include 11 SYSCONF_CXXFLAGS_OPENGL= -I/usr/X11R6/include
11 12
12# Compiling YACC output 13# Compiling YACC output
13SYSCONF_CXXFLAGS_YACC = -Wno-unused -Wno-parentheses 14SYSCONF_CXXFLAGS_YACC = -Wno-unused -Wno-parentheses
14 15
15# Linking with support libraries 16# Linking with support libraries
16 SYSCONF_RPATH_X11= -L/usr/X11R6/lib 17 SYSCONF_RPATH_X11= -L/usr/X11R6/lib
17 SYSCONF_RPATH_QT= -L$(QTDIR)/lib 18 SYSCONF_RPATH_QT= -L$(QTDIR)/lib
19 SYSCONF_RPATH_QTOPIA= -L$(QPEDIR)/lib
18 SYSCONF_RPATH_OPENGL= -L/usr/X11R6/lib 20 SYSCONF_RPATH_OPENGL= -L/usr/X11R6/lib
19 21
20# Linking with support libraries 22# Linking with support libraries
21# X11 23# X11
22 SYSCONF_LFLAGS_X11= -L/usr/X11R6/lib 24 SYSCONF_LFLAGS_X11= -L/usr/X11R6/lib
23 SYSCONF_LIBS_X11= -lXext -lX11 -lm 25 SYSCONF_LIBS_X11=
24# Qt, Qt+OpenGL 26# Qt, Qt+OpenGL
25 SYSCONF_LFLAGS_QT= -L$(QTDIR)/lib 27 SYSCONF_LFLAGS_QT= -L$(QTDIR)/lib
26 SYSCONF_LIBS_QT = -lqt$(QT_THREAD_SUFFIX) 28 SYSCONF_LFLAGS_QTOPIA= -L$(QPEDIR)/lib
29 SYSCONF_LIBS_QT = -lqte$(QT_THREAD_SUFFIX)
27 SYSCONF_LIBS_QT_OPENGL= 30 SYSCONF_LIBS_QT_OPENGL=
31 SYSCONF_LIBS_QTOPIA= -lqtopia
28# OpenGL 32# OpenGL
29 SYSCONF_LFLAGS_OPENGL= -L/usr/X11R6/lib 33 SYSCONF_LFLAGS_OPENGL= -L/usr/X11R6/lib
30 SYSCONF_LIBS_OPENGL= -lGLU -lGL -lXmu 34 SYSCONF_LIBS_OPENGL= -lGLU -lGL -lXmu
31# Yacc 35# Yacc
32 SYSCONF_LIBS_YACC= 36 SYSCONF_LIBS_YACC=
33 37
34# Linking applications 38# Linking applications
35 SYSCONF_LINK = g++ 39 SYSCONF_LINK = g++
36 SYSCONF_LFLAGS = 40 SYSCONF_LFLAGS =
37 SYSCONF_LIBS = 41 SYSCONF_LIBS =
38 42
39# Link flags for shared objects 43# Link flags for shared objects
40 SYSCONF_LFLAGS_SHOBJ= -dynamiclib 44 SYSCONF_LFLAGS_SHOBJ= -dynamiclib
41 45
42# Flags for threading 46# Flags for threading
43 SYSCONF_CFLAGS_THREAD= -pthread -D_THREAD_SAFE 47 SYSCONF_CFLAGS_THREAD= -pthread -D_THREAD_SAFE
44 SYSCONF_CXXFLAGS_THREAD= -pthread -D_THREAD_SAFE 48 SYSCONF_CXXFLAGS_THREAD= -pthread -D_THREAD_SAFE
45 SYSCONF_LFLAGS_THREAD= -pthread 49 SYSCONF_LFLAGS_THREAD= -pthread
46 SYSCONF_LIBS_THREAD= 50 SYSCONF_LIBS_THREAD=
47 51
48# Meta-object compiler 52# Meta-object compiler
49 SYSCONF_MOC = $(QTDIR)/bin/moc 53 SYSCONF_MOC = $(QTDIR)/bin/moc
50 54
51# UI compiler 55# UI compiler
52 SYSCONF_UIC = $(QTDIR)/bin/uic 56 SYSCONF_UIC = $(QTDIR)/bin/uic
53 57
54# Linking shared libraries 58# Linking shared libraries
55# - Build the $(TARGET) library, eg. lib$(TARGET).so.2.2.2 59# - Build the $(TARGET) library, eg. lib$(TARGET).so.2.2.2
56# - Place target in $(DESTDIR) - which has a trailing / 60# - Place target in $(DESTDIR) - which has a trailing /
57# - Usually needs to incorporate $(VER_MAJ), $(VER_MIN) and $(VER_PATCH) 61# - Usually needs to incorporate $(VER_MAJ), $(VER_MIN) and $(VER_PATCH)
58# 62#
59 SYSCONF_LINK_SHLIB= g++ 63 SYSCONF_LINK_SHLIB= g++
60 SYSCONF_LINK_TARGET_SHARED= lib$(TARGET).dylib.$(VER_MAJ).$(VER_MIN).$(VER_PATCH) 64 SYSCONF_LINK_TARGET_SHARED= lib$(TARGET).dylib.$(VER_MAJ).$(VER_MIN).$(VER_PATCH)
61 SYSCONF_LINK_LIB_SHARED= $(SYSCONF_LINK_SHLIB) -dynamiclib \ 65 SYSCONF_LINK_LIB_SHARED= $(SYSCONF_LINK_SHLIB) -dynamiclib \
62 $(LFLAGS) -o $(SYSCONF_LINK_TARGET_SHARED) \ 66 $(LFLAGS) -o $(SYSCONF_LINK_TARGET_SHARED) \
63 $(OBJECTS) $(OBJMOC) $(LIBS) && \ 67 $(OBJECTS) $(OBJMOC) $(LIBS) && \
64 mv $(SYSCONF_LINK_TARGET_SHARED) $(DESTDIR); \ 68 mv $(SYSCONF_LINK_TARGET_SHARED) $(DESTDIR); \
65 cd $(DESTDIR) && \ 69 cd $(DESTDIR) && \
66 rm -f lib$(TARGET).dylib lib$(TARGET).dylib.$(VER_MAJ) lib$(TARGET).dylib.$(VER_MAJ).$(VER_MIN); \ 70 rm -f lib$(TARGET).dylib lib$(TARGET).dylib.$(VER_MAJ) lib$(TARGET).dylib.$(VER_MAJ).$(VER_MIN); \
67 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).dylib; \ 71 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).dylib; \
68 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).dylib.$(VER_MAJ); \ 72 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).dylib.$(VER_MAJ); \
69 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).dylib.$(VER_MAJ).$(VER_MIN) 73 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).dylib.$(VER_MAJ).$(VER_MIN)
70 74
71# Linking static libraries 75# Linking static libraries
72# - Build the $(TARGET) library, eg. lib$(TARGET).a 76# - Build the $(TARGET) library, eg. lib$(TARGET).a
73# - Place target in $(DESTDIR) - which has a trailing / 77# - Place target in $(DESTDIR) - which has a trailing /
74# 78#
75 SYSCONF_AR = ar cqs 79 SYSCONF_AR = ar cqs
76SYSCONF_LINK_TARGET_STATIC = lib$(TARGET).a 80SYSCONF_LINK_TARGET_STATIC = lib$(TARGET).a
77 SYSCONF_LINK_LIB_STATIC= rm -f $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) ; \ 81 SYSCONF_LINK_LIB_STATIC= rm -f $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) ; \
78 $(SYSCONF_AR) $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) $(OBJECTS) $(OBJMOC) 82 $(SYSCONF_AR) $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) $(OBJECTS) $(OBJMOC)
79# Compiling application source 83# Compiling application source
80 SYSCONF_CXXFLAGS= -pipe -fno-exceptions -O2 -Wall -W 84 SYSCONF_CXXFLAGS= -pipe -fno-exceptions -DQWS -fno-rtti -fno-exceptions -DQT_NO_QWS_LINUXFB -DQT_NO_QWS_TRANSFORMED -O0 -Wall -W -DNO_DEBUG
81 SYSCONF_CFLAGS = -pipe -fno-exceptions -O2 -Wall -W 85 SYSCONF_CFLAGS = -pipe -fno-exceptions -O2 -Wall -W
82# Default link type (static linking is still be used where required) 86# Default link type (static linking is still be used where required)
83 SYSCONF_LINK_LIB= $(SYSCONF_LINK_LIB_SHARED) 87 SYSCONF_LINK_LIB= $(SYSCONF_LINK_LIB_SHARED)
84 SYSCONF_LINK_TARGET= $(SYSCONF_LINK_TARGET_SHARED) 88 SYSCONF_LINK_TARGET= $(SYSCONF_LINK_TARGET_SHARED)
85# Compiling library source 89# Compiling library source
86 SYSCONF_CXXFLAGS_LIB= -fPIC 90 SYSCONF_CXXFLAGS_LIB= -fPIC
87 SYSCONF_CFLAGS_LIB= -fPIC 91 SYSCONF_CFLAGS_LIB= -fPIC
88# Compiling shared-object source 92# Compiling shared-object source
89 SYSCONF_CXXFLAGS_SHOBJ= -fPIC 93 SYSCONF_CXXFLAGS_SHOBJ= -fPIC
90 SYSCONF_CFLAGS_SHOBJ= -fPIC 94 SYSCONF_CFLAGS_SHOBJ= -fPIC
91# Linking Qt 95# Linking Qt
92 SYSCONF_LIBS_QTLIB= $(SYSCONF_LFLAGS_X11) $(QT_LIBS_MT) $(QT_LIBS_OPT) 96 SYSCONF_LIBS_QTLIB= $(SYSCONF_LFLAGS_X11) $(QT_LIBS_MT) $(QT_LIBS_OPT)
93# Linking Qt applications 97# Linking Qt applications
94 SYSCONF_LIBS_QTAPP= 98 SYSCONF_LIBS_QTAPP=