-rw-r--r-- | development/macosx/README_MACOSX | 6 | ||||
-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) | 12 |
3 files changed, 12 insertions, 6 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 @@ Information about porting Opie to MacOS-X (eilers) ================================================== Credits: -------- Special thanks to Andreas Junghans (webmaster@lucid-cake.net) for its patches for qt-X11 (2.3.2), QT/E (2.3.5) and qtopia (1.6.1). Without them, I wouldn't be able to provide the port for OPIE to MacOS-X that fast.. Status: ------- The basic system works quite well. But a lot of applications and plugins, which are platform specific, need some work to be compileable. What is ready: libqpe libopie1 libopie2/opiedb pim-applications (addressbook, todolist, datebook, today) A lot of applications and plugins which are not platform specific. What will follow soon: libopie2 How to compile Opie for MacOS-X: ------------------------------- Before compiling for MacOS-X, you need the following: 1. X11-Server+X11SDK (Provided by Apple) 2. QT-2.3.2 for X11 (Provided by Trolltech) 3. QT/E-2.3.7 (Provided by Trolltech) 4. Patches for QT-2.3.2 for MacOSX (take the one in this directory !) 5. Patches for QT/E-2.3.7 for MacOSX (take the one, provided in $OPIEDIR/qt) The Patch for QT/E for Opie, including all other opie-patches is available in the qt-directory ($OPIEDIR/qt) and is called "qte237-all-macosx.patch". +To be able to compile, you have to copy the file from the directory "./config-files/qte-2.3.7" +into the directory "configs" within the base directory of qt/e. The Patch for QT-2.3.2 is provided in this directory and is called "qt232-X11.patch". -ATTENTION: The patch does not contain the darwin config file. Please copy the file -"darwin-g++-shared" into the directory "configs" within the qt-2.3.2 directory !! +Please copy the file "darwin-g++-shared" from the directory "./config-files/qt-2.3.2" into the directory "configs" +within the qt-2.3.2 directory !! If your buildsystem is working correctly, you should be able to build opie. HOWTO COMPILE: ------------- Compile QT-2.3.2: Got to into the basic directory of qt-2.3.2 and enter export QTDIR=`pwd` export DYLD_LIBRARY_PATH=$QTDIR/lib ./configure -no-xft -platform darwin-g++ make After compiling successful (I hope) you need qvfb: cd tools/qvfb make Compile QT/E-2.3.7: Got to into the basic directory of qt-2.3.2 and enter export QTDIR=`pwd` export QPEDIR=$QTDIR export DYLD_LIBRARY_PATH=$QTDIR/lib ./configure -platform darwin-generic-g++ -qconfig qpe -qvfb -depths 4,8,16,32 make Compile OPIE: Set your environment (You may use the script "set_vars.sh" to set your variables successfully ! BUT: You have to customize this script for YOUR needs !!) Go into the basic directory of Opie make menuconfig" set "Build Parameters"->"Target Machine"->"Mac OS X (DARWIN)" to activate the platform specific changes. save and exit the menuconfig app make You will see that a lot of applications and plugins/applets will not compile successfully, due to the fact that they are not ported to this platform. You may disable them to be able to compile the rest. Remember: A lot of configuration-settings are not tested and might fail to compile. If you want to avoid misconfigurations, you may want to start with the config-file in this directory. Just copy "config_macosx" to $OPIEDIR/.config to get a working configuration to start with. (The missing apps/plugins will be ported on demand.) SPECIAL INFORMATION FOR USERS OF PANTHER ---------------------------------------- I had a lot of problems compiling qt-2.3.2 and QT/E-2.3.7 on Panther. The new release of the X-Server causes a lot of trouble.. To compile QT-2.3.2 successfully, you have to disable support of freetype fonts and you have to use the patch in this directory, otherwise your wont't be able to compile ! Use the param "-no-xft" for the configure script to disable this function ! Information for Developers: --------------------------- 1. Platform specific code should be surrounded by #ifdef Q_OS_MACX MACOS-X CODE #else OTHER-CODE #endif 2. The Plugin-Handling by MacOS-X is different than it is by Linux. On linux-systems, shared libraries are not different to dynamic loaded libraries (aka plugins). They just are different whether they are loaded automatically at startup or manually by any application. On MacOS-X, the plugins are loaded by a special mechanism and must be in a special binary format. Therefore you have to add the term "plugin" to the CONFIG-clause, as for instance: TEMPLATE=lib CONFIG += qt plugin release If you don't add "plugin" you will get a shared library which is not loadable (Error-Code: NSObjectFileImageInappropriateFile (2))! For problems, help and flames, feel free to contact me at eilers.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 @@ # Compiling INTERFACE_DECL_PATH = . SYSCONF_CXX = g++ SYSCONF_CC = gcc DASHCROSS = # Compiling with support libraries -SYSCONF_CXXFLAGS_X11 = -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 +SYSCONF_CXXFLAGS_X11 = -I/usr/X11R6/include SYSCONF_CXXFLAGS_QT = -I$(QTDIR)/include +SYSCONF_CXXFLAGS_QTOPIA = -I$(QPEDIR)/include SYSCONF_CXXFLAGS_OPENGL = -I/usr/X11R6/include # Compiling YACC output SYSCONF_CXXFLAGS_YACC = -Wno-unused -Wno-parentheses # Linking with support libraries SYSCONF_RPATH_X11 = -L/usr/X11R6/lib SYSCONF_RPATH_QT = -L$(QTDIR)/lib +SYSCONF_RPATH_QTOPIA = -L$(QPEDIR)/lib SYSCONF_RPATH_OPENGL = -L/usr/X11R6/lib # Linking with support libraries # X11 SYSCONF_LFLAGS_X11 = -L/usr/X11R6/lib -SYSCONF_LIBS_X11 = -lXext -lX11 -lm +SYSCONF_LIBS_X11 = # Qt, Qt+OpenGL SYSCONF_LFLAGS_QT = -L$(QTDIR)/lib -SYSCONF_LIBS_QT = -lqt$(QT_THREAD_SUFFIX) +SYSCONF_LFLAGS_QTOPIA = -L$(QPEDIR)/lib +SYSCONF_LIBS_QT = -lqte$(QT_THREAD_SUFFIX) SYSCONF_LIBS_QT_OPENGL = +SYSCONF_LIBS_QTOPIA = -lqtopia # OpenGL SYSCONF_LFLAGS_OPENGL = -L/usr/X11R6/lib SYSCONF_LIBS_OPENGL = -lGLU -lGL -lXmu # Yacc SYSCONF_LIBS_YACC = # Linking applications SYSCONF_LINK = g++ SYSCONF_LFLAGS = SYSCONF_LIBS = # Link flags for shared objects SYSCONF_LFLAGS_SHOBJ = -dynamiclib # Flags for threading SYSCONF_CFLAGS_THREAD = -pthread -D_THREAD_SAFE SYSCONF_CXXFLAGS_THREAD = -pthread -D_THREAD_SAFE SYSCONF_LFLAGS_THREAD = -pthread SYSCONF_LIBS_THREAD = # Meta-object compiler SYSCONF_MOC = $(QTDIR)/bin/moc # UI compiler SYSCONF_UIC = $(QTDIR)/bin/uic # Linking shared libraries # - Build the $(TARGET) library, eg. lib$(TARGET).so.2.2.2 # - Place target in $(DESTDIR) - which has a trailing / # - Usually needs to incorporate $(VER_MAJ), $(VER_MIN) and $(VER_PATCH) # SYSCONF_LINK_SHLIB = g++ SYSCONF_LINK_TARGET_SHARED = lib$(TARGET).dylib.$(VER_MAJ).$(VER_MIN).$(VER_PATCH) SYSCONF_LINK_LIB_SHARED = $(SYSCONF_LINK_SHLIB) -dynamiclib \ $(LFLAGS) -o $(SYSCONF_LINK_TARGET_SHARED) \ $(OBJECTS) $(OBJMOC) $(LIBS) && \ mv $(SYSCONF_LINK_TARGET_SHARED) $(DESTDIR); \ cd $(DESTDIR) && \ rm -f lib$(TARGET).dylib lib$(TARGET).dylib.$(VER_MAJ) lib$(TARGET).dylib.$(VER_MAJ).$(VER_MIN); \ ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).dylib; \ ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).dylib.$(VER_MAJ); \ ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).dylib.$(VER_MAJ).$(VER_MIN) # Linking static libraries # - Build the $(TARGET) library, eg. lib$(TARGET).a # - Place target in $(DESTDIR) - which has a trailing / # SYSCONF_AR = ar cqs SYSCONF_LINK_TARGET_STATIC = lib$(TARGET).a SYSCONF_LINK_LIB_STATIC = rm -f $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) ; \ $(SYSCONF_AR) $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) $(OBJECTS) $(OBJMOC) # Compiling application source -SYSCONF_CXXFLAGS = -pipe -fno-exceptions -O2 -Wall -W +SYSCONF_CXXFLAGS = -pipe -fno-exceptions -DQWS -fno-rtti -fno-exceptions -DQT_NO_QWS_LINUXFB -DQT_NO_QWS_TRANSFORMED -O0 -Wall -W -DNO_DEBUG SYSCONF_CFLAGS = -pipe -fno-exceptions -O2 -Wall -W # Default link type (static linking is still be used where required) SYSCONF_LINK_LIB = $(SYSCONF_LINK_LIB_SHARED) SYSCONF_LINK_TARGET = $(SYSCONF_LINK_TARGET_SHARED) # Compiling library source SYSCONF_CXXFLAGS_LIB = -fPIC SYSCONF_CFLAGS_LIB = -fPIC # Compiling shared-object source SYSCONF_CXXFLAGS_SHOBJ = -fPIC SYSCONF_CFLAGS_SHOBJ = -fPIC # Linking Qt SYSCONF_LIBS_QTLIB = $(SYSCONF_LFLAGS_X11) $(QT_LIBS_MT) $(QT_LIBS_OPT) # Linking Qt applications SYSCONF_LIBS_QTAPP = |