summaryrefslogtreecommitdiff
authoreilers <eilers>2003-11-03 16:52:18 (UTC)
committer eilers <eilers>2003-11-03 16:52:18 (UTC)
commitd34dc773591a2d467c68875a68a671d6a809f861 (patch) (unidiff)
treeb57e5ae15c51e3d87ca95d57aedfd1ca3db57bfe
parentce84f2d8bdd65c438821f0457cdad6bbbfa73380 (diff)
downloadopie-d34dc773591a2d467c68875a68a671d6a809f861.zip
opie-d34dc773591a2d467c68875a68a671d6a809f861.tar.gz
opie-d34dc773591a2d467c68875a68a671d6a809f861.tar.bz2
Porting Opie to MacOS-X.
The base system and all platform independent applications and platforms should work. Please see $OPIEDIR/development/macosx for details
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Vars.make3
-rw-r--r--config.in4
-rw-r--r--core/applets/batteryapplet/batteryapplet.pro2
-rw-r--r--core/applets/cardmon/cardmon.pro2
-rw-r--r--core/applets/clipboardapplet/clipboardapplet.pro2
-rw-r--r--core/applets/clockapplet/clockapplet.pro2
-rw-r--r--core/applets/homeapplet/homeapplet.pro2
-rw-r--r--core/applets/irdaapplet/irdaapplet.pro2
-rw-r--r--core/applets/logoutapplet/logoutapplet.pro2
-rw-r--r--core/applets/restartapplet/restartapplet.pro2
-rw-r--r--core/applets/restartapplet2/restartapplet.pro2
-rw-r--r--core/applets/rotateapplet/rotateapplet.pro2
-rw-r--r--core/applets/screenshotapplet/screenshotapplet.pro2
-rw-r--r--core/applets/suspendapplet/suspendapplet.pro2
-rw-r--r--core/applets/vmemo/vmemo.pro2
-rw-r--r--core/applets/volumeapplet/volumeapplet.pro2
-rw-r--r--core/launcher/applauncher.cpp4
-rw-r--r--core/launcher/inputmethods.cpp4
-rw-r--r--core/launcher/irserver.cpp4
-rw-r--r--core/launcher/main.cpp2
-rw-r--r--core/launcher/packageslave.cpp304
-rw-r--r--core/launcher/qprocess_unix.cpp3
-rw-r--r--core/launcher/server.pro7
-rw-r--r--core/launcher/startmenu.cpp4
-rw-r--r--core/launcher/systray.cpp5
-rw-r--r--core/launcher/transferserver.cpp3
-rw-r--r--core/multimedia/opieplayer/wavplugin/wavplugin.pro2
-rw-r--r--core/pim/today/plugins/addressbook/addressbook.pro2
-rw-r--r--core/pim/today/plugins/datebook/datebook.pro2
-rw-r--r--core/pim/today/plugins/mail/mail.pro2
-rw-r--r--core/pim/today/plugins/todolist/todolist.pro2
-rw-r--r--core/pim/today/today.cpp7
-rw-r--r--core/qws/transferserver.cpp31
-rw-r--r--core/settings/launcher/menusettings.cpp4
-rw-r--r--core/settings/launcher/taskbarsettings.cpp17
-rw-r--r--development/keyview/keyview.pro4
-rw-r--r--development/macosx/README_MACOSX91
-rw-r--r--development/macosx/config_macosx290
-rw-r--r--include.pro12
-rw-r--r--inputmethods/dasher/dasher.pro2
-rw-r--r--inputmethods/dvorak/dvorak.pro2
-rw-r--r--inputmethods/handwriting/handwriting.pro2
-rw-r--r--inputmethods/jumpx/jumpx.pro2
-rw-r--r--inputmethods/keyboard/keyboard.pro2
-rw-r--r--inputmethods/kjumpx/kjumpx.pro2
-rw-r--r--inputmethods/multikey/multikey.pro2
-rw-r--r--inputmethods/pickboard/pickboard.pro2
-rw-r--r--inputmethods/unikeyboard/unikeyboard.pro2
-rw-r--r--libopie/libopie.pro4
-rw-r--r--libopie/odevice.cpp2
-rw-r--r--library/filemanager.cpp67
-rw-r--r--library/fontdatabase.cpp4
-rw-r--r--library/global.cpp4
-rw-r--r--library/library.pro2
-rw-r--r--library/network.cpp4
-rw-r--r--library/qlibrary_unix.cpp113
-rw-r--r--library/qpeapplication.cpp29
-rw-r--r--library/qpedecoration_qws.cpp8
-rw-r--r--library/sound.cpp3
-rw-r--r--library/storage.cpp42
-rw-r--r--mkspecs/qws/macx-generic-g++/qmake.conf3
-rw-r--r--noncore/applets/networkapplet/networkapplet.pro2
-rw-r--r--noncore/applets/notesapplet/notesapplet.pro2
-rw-r--r--noncore/applets/wirelessapplet/wirelessapplet.pro2
-rw-r--r--noncore/decorations/flat/flat.pro2
-rw-r--r--noncore/decorations/liquid/liquid.pro2
-rw-r--r--noncore/decorations/polished/polished.pro2
-rw-r--r--noncore/net/opietooth/applet/applet.pro2
-rw-r--r--noncore/settings/networksettings/ppp/ppp.pro4
-rw-r--r--noncore/settings/networksettings/wlan/wlan.pro4
-rw-r--r--noncore/styles/flat/flat.pro2
-rw-r--r--noncore/styles/fresh/fresh.pro2
-rw-r--r--noncore/styles/liquid/liquid.pro2
-rw-r--r--noncore/styles/metal/metal.pro2
-rw-r--r--noncore/styles/theme/theme.pro2
-rw-r--r--noncore/todayplugins/fortune/fortune.pro2
-rw-r--r--noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro2
-rw-r--r--noncore/todayplugins/weather/weather.pro2
-rw-r--r--noncore/unsupported/mail2/bend/bend.pro2
-rw-r--r--plugins/Makefile6
-rw-r--r--qmake/include/qglobal.h9
-rw-r--r--qt/qt-2.3.7.patch/qte237-all-macosx.patch1161
-rw-r--r--rsync/config_linux.h2
-rw-r--r--rsync/trace.h40
-rw-r--r--scripts/kconfig/lkc_proto.h4
85 files changed, 2262 insertions, 144 deletions
diff --git a/Vars.make b/Vars.make
index ae54661..062094c 100644
--- a/Vars.make
+++ b/Vars.make
@@ -31,12 +31,15 @@ ifdef CONFIG_TARGET_SIMPAD
31 PLATFORM=simpad-linux 31 PLATFORM=simpad-linux
32endif 32endif
33 33
34ifdef CONFIG_TARGET_YOPY 34ifdef CONFIG_TARGET_YOPY
35 PLATFORM=yopy-linux 35 PLATFORM=yopy-linux
36endif 36endif
37ifdef CONFIG_TARGET_MACOSX
38 PLATFORM=macx-darwin
39endif
37 40
38export QMAKE:=$(OPIEDIR)/qmake/qmake 41export QMAKE:=$(OPIEDIR)/qmake/qmake
39export QMAKESPECSDIR=$(OPIEDIR)/mkspecs 42export QMAKESPECSDIR=$(OPIEDIR)/mkspecs
40 43
41ifeq ($(QPE_VERSION),) 44ifeq ($(QPE_VERSION),)
42 VERSION_MAJ:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\..*\..*".*/\1/p' <$(OPIEDIR)/library/version.h)) 45 VERSION_MAJ:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\..*\..*".*/\1/p' <$(OPIEDIR)/library/version.h))
diff --git a/config.in b/config.in
index 4db0204..20fcf56 100644
--- a/config.in
+++ b/config.in
@@ -9,12 +9,15 @@ choice
9 Please select the architecture of the machine you will be 9 Please select the architecture of the machine you will be
10 building the OpenZaurus buildroot for. 10 building the OpenZaurus buildroot for.
11 11
12 config TARGET_X86 12 config TARGET_X86
13 boolean "Intel X86" 13 boolean "Intel X86"
14 14
15 config TARGET_MACOSX
16 boolean "Mac OS X (DARWIN)"
17
15 config TARGET_SHARP 18 config TARGET_SHARP
16 boolean "Sharp Zaurus" 19 boolean "Sharp Zaurus"
17 20
18 config TARGET_IPAQ 21 config TARGET_IPAQ
19 boolean "iPAQ" 22 boolean "iPAQ"
20 23
@@ -59,12 +62,13 @@ config SPECFILE
59 default "linux-g++" if TARGET_IPAQ && X11 62 default "linux-g++" if TARGET_IPAQ && X11
60 default "qws/linux-ramses-g++" if TARGET_RAMSES && (! X11) 63 default "qws/linux-ramses-g++" if TARGET_RAMSES && (! X11)
61 default "linux-g++" if TARGET_RAMSES && X11 64 default "linux-g++" if TARGET_RAMSES && X11
62 default "qws/linux-simpad-g++" if TARGET_SIMPAD && (! X11) 65 default "qws/linux-simpad-g++" if TARGET_SIMPAD && (! X11)
63 default "linux-g++" if TARGET_SIMPAD && X11 66 default "linux-g++" if TARGET_SIMPAD && X11
64 default "qws/linux-yopy-g++" if TARGET_YOPY && (! X11) 67 default "qws/linux-yopy-g++" if TARGET_YOPY && (! X11)
68 default "qws/macx-generic-g++" if TARGET_MACOSX && (! X11)
65 69
66config CUSTOMFILE 70config CUSTOMFILE
67 string 71 string
68 default "custom-ipaq.h" if TARGET_IPAQ 72 default "custom-ipaq.h" if TARGET_IPAQ
69 default "custom-sharp.h" if TARGET_SHARP 73 default "custom-sharp.h" if TARGET_SHARP
70 default "custom-ramses.h" if TARGET_RAMSES 74 default "custom-ramses.h" if TARGET_RAMSES
diff --git a/core/applets/batteryapplet/batteryapplet.pro b/core/applets/batteryapplet/batteryapplet.pro
index c68ceb7..1bc208b 100644
--- a/core/applets/batteryapplet/batteryapplet.pro
+++ b/core/applets/batteryapplet/batteryapplet.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= battery.h batterystatus.h batteryappletimpl.h 3 HEADERS= battery.h batterystatus.h batteryappletimpl.h
4 SOURCES= battery.cpp batterystatus.cpp batteryappletimpl.cpp 4 SOURCES= battery.cpp batterystatus.cpp batteryappletimpl.cpp
5 TARGET = batteryapplet 5 TARGET = batteryapplet
6 DESTDIR = $(OPIEDIR)/plugins/applets 6 DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include .. 8DEPENDPATH += ../$(OPIEDIR)/include ..
diff --git a/core/applets/cardmon/cardmon.pro b/core/applets/cardmon/cardmon.pro
index 3907aa4..75facde 100644
--- a/core/applets/cardmon/cardmon.pro
+++ b/core/applets/cardmon/cardmon.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS =cardmon.h cardmonimpl.h 3 HEADERS =cardmon.h cardmonimpl.h
4 SOURCES =cardmon.cpp cardmonimpl.cpp 4 SOURCES =cardmon.cpp cardmonimpl.cpp
5 TARGET = cardmonapplet 5 TARGET = cardmonapplet
6 DESTDIR = $(OPIEDIR)/plugins/applets 6 DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include ../launcher 8DEPENDPATH += $(OPIEDIR)/include ../launcher
diff --git a/core/applets/clipboardapplet/clipboardapplet.pro b/core/applets/clipboardapplet/clipboardapplet.pro
index 1e9cc4f..358d658 100644
--- a/core/applets/clipboardapplet/clipboardapplet.pro
+++ b/core/applets/clipboardapplet/clipboardapplet.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= clipboard.h clipboardappletimpl.h 3 HEADERS= clipboard.h clipboardappletimpl.h
4 SOURCES= clipboard.cpp clipboardappletimpl.cpp 4 SOURCES= clipboard.cpp clipboardappletimpl.cpp
5 TARGET = clipboardapplet 5 TARGET = clipboardapplet
6 DESTDIR = $(OPIEDIR)/plugins/applets 6 DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include 8DEPENDPATH += ../$(OPIEDIR)/include
diff --git a/core/applets/clockapplet/clockapplet.pro b/core/applets/clockapplet/clockapplet.pro
index 22c7b55..88092f5 100644
--- a/core/applets/clockapplet/clockapplet.pro
+++ b/core/applets/clockapplet/clockapplet.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= clock.h clockappletimpl.h 3 HEADERS= clock.h clockappletimpl.h
4 SOURCES= clock.cpp clockappletimpl.cpp 4 SOURCES= clock.cpp clockappletimpl.cpp
5 TARGET = clockapplet 5 TARGET = clockapplet
6 DESTDIR = $(OPIEDIR)/plugins/applets 6 DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include .. 8DEPENDPATH += ../$(OPIEDIR)/include ..
diff --git a/core/applets/homeapplet/homeapplet.pro b/core/applets/homeapplet/homeapplet.pro
index ac7956b..854050f 100644
--- a/core/applets/homeapplet/homeapplet.pro
+++ b/core/applets/homeapplet/homeapplet.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = home.h 3HEADERS = home.h
4SOURCES = home.cpp 4SOURCES = home.cpp
5TARGET = homeapplet 5TARGET = homeapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
diff --git a/core/applets/irdaapplet/irdaapplet.pro b/core/applets/irdaapplet/irdaapplet.pro
index 56632ed..be16bad 100644
--- a/core/applets/irdaapplet/irdaapplet.pro
+++ b/core/applets/irdaapplet/irdaapplet.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = irda.h irdaappletimpl.h 3HEADERS = irda.h irdaappletimpl.h
4SOURCES = irda.cpp irdaappletimpl.cpp 4SOURCES = irda.cpp irdaappletimpl.cpp
5TARGET = irdaapplet 5TARGET = irdaapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include 8DEPENDPATH += ../$(OPIEDIR)/include
diff --git a/core/applets/logoutapplet/logoutapplet.pro b/core/applets/logoutapplet/logoutapplet.pro
index a019303..7826bb3 100644
--- a/core/applets/logoutapplet/logoutapplet.pro
+++ b/core/applets/logoutapplet/logoutapplet.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = logout.h 3HEADERS = logout.h
4SOURCES = logout.cpp 4SOURCES = logout.cpp
5TARGET = logoutapplet 5TARGET = logoutapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
diff --git a/core/applets/restartapplet/restartapplet.pro b/core/applets/restartapplet/restartapplet.pro
index bd27b0a..368a0ea 100644
--- a/core/applets/restartapplet/restartapplet.pro
+++ b/core/applets/restartapplet/restartapplet.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = restart.h restartappletimpl.h 3HEADERS = restart.h restartappletimpl.h
4SOURCES = restart.cpp restartappletimpl.cpp 4SOURCES = restart.cpp restartappletimpl.cpp
5TARGET = restartapplet 5TARGET = restartapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include 8DEPENDPATH += ../$(OPIEDIR)/include
diff --git a/core/applets/restartapplet2/restartapplet.pro b/core/applets/restartapplet2/restartapplet.pro
index 85a3b66..12a7922 100644
--- a/core/applets/restartapplet2/restartapplet.pro
+++ b/core/applets/restartapplet2/restartapplet.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = restart.h 3HEADERS = restart.h
4SOURCES = restart.cpp 4SOURCES = restart.cpp
5TARGET = restartapplet 5TARGET = restartapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
diff --git a/core/applets/rotateapplet/rotateapplet.pro b/core/applets/rotateapplet/rotateapplet.pro
index 9b39dba..2c8de8d 100644
--- a/core/applets/rotateapplet/rotateapplet.pro
+++ b/core/applets/rotateapplet/rotateapplet.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugn warn_on release
3HEADERS = rotate.h 3HEADERS = rotate.h
4SOURCES = rotate.cpp 4SOURCES = rotate.cpp
5TARGET = rotateapplet 5TARGET = rotateapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
diff --git a/core/applets/screenshotapplet/screenshotapplet.pro b/core/applets/screenshotapplet/screenshotapplet.pro
index fe7b299..a86eff2 100644
--- a/core/applets/screenshotapplet/screenshotapplet.pro
+++ b/core/applets/screenshotapplet/screenshotapplet.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = screenshot.h inputDialog.h screenshotappletimpl.h 3HEADERS = screenshot.h inputDialog.h screenshotappletimpl.h
4SOURCES = screenshot.cpp inputDialog.cpp screenshotappletimpl.cpp 4SOURCES = screenshot.cpp inputDialog.cpp screenshotappletimpl.cpp
5TARGET = screenshotapplet 5TARGET = screenshotapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include 8DEPENDPATH += ../$(OPIEDIR)/include
diff --git a/core/applets/suspendapplet/suspendapplet.pro b/core/applets/suspendapplet/suspendapplet.pro
index 7635d32..f58de63 100644
--- a/core/applets/suspendapplet/suspendapplet.pro
+++ b/core/applets/suspendapplet/suspendapplet.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = suspend.h 3HEADERS = suspend.h
4SOURCES = suspend.cpp 4SOURCES = suspend.cpp
5TARGET = suspendapplet 5TARGET = suspendapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
diff --git a/core/applets/vmemo/vmemo.pro b/core/applets/vmemo/vmemo.pro
index 8cf1f07..43cb767 100644
--- a/core/applets/vmemo/vmemo.pro
+++ b/core/applets/vmemo/vmemo.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = vmemo.h vmemoimpl.h adpcm.h 3HEADERS = vmemo.h vmemoimpl.h adpcm.h
4SOURCES = vmemo.cpp vmemoimpl.cpp adpcm.c 4SOURCES = vmemo.cpp vmemoimpl.cpp adpcm.c
5TARGET = vmemoapplet 5TARGET = vmemoapplet
6DESTDIR =$(OPIEDIR)/plugins/applets 6DESTDIR =$(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
diff --git a/core/applets/volumeapplet/volumeapplet.pro b/core/applets/volumeapplet/volumeapplet.pro
index d30567c..68d9eff 100644
--- a/core/applets/volumeapplet/volumeapplet.pro
+++ b/core/applets/volumeapplet/volumeapplet.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= volume.h volumeappletimpl.h oledbox.h 3 HEADERS= volume.h volumeappletimpl.h oledbox.h
4 SOURCES= volume.cpp volumeappletimpl.cpp oledbox.cpp 4 SOURCES= volume.cpp volumeappletimpl.cpp oledbox.cpp
5 TARGET = volumeapplet 5 TARGET = volumeapplet
6 DESTDIR = $(OPIEDIR)/plugins/applets 6 DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include 8DEPENDPATH += ../$(OPIEDIR)/include
diff --git a/core/launcher/applauncher.cpp b/core/launcher/applauncher.cpp
index d6f93da..0ac043b 100644
--- a/core/launcher/applauncher.cpp
+++ b/core/launcher/applauncher.cpp
@@ -543,13 +543,17 @@ bool AppLauncher::execute(const QString &c, const QString &docParam, bool noRais
543 const char **args = new const char *[slist.count() + 1]; 543 const char **args = new const char *[slist.count() + 1];
544 for ( j = 0; j < slist.count(); j++ ) 544 for ( j = 0; j < slist.count(); j++ )
545 args[j] = slist.at(j); 545 args[j] = slist.at(j);
546 args[j] = NULL; 546 args[j] = NULL;
547 547
548#ifndef Q_OS_WIN32 548#ifndef Q_OS_WIN32
549#ifdef Q_OS_MACX
550 if ( qlPid && qlReady && QFile::exists( QPEApplication::qpeDir()+"plugins/application/lib"+args[0] + ".dylib" ) ) {
551#else
549 if ( qlPid && qlReady && QFile::exists( QPEApplication::qpeDir()+"plugins/application/lib"+args[0] + ".so" ) ) { 552 if ( qlPid && qlReady && QFile::exists( QPEApplication::qpeDir()+"plugins/application/lib"+args[0] + ".so" ) ) {
553#endif /* Q_OS_MACX */
550 qDebug( "Quick launching: %s", args[0] ); 554 qDebug( "Quick launching: %s", args[0] );
551 if ( getuid() == 0 ) 555 if ( getuid() == 0 )
552 setpriority( PRIO_PROCESS, qlPid, 0 ); 556 setpriority( PRIO_PROCESS, qlPid, 0 );
553 QCString qlch("QPE/QuickLauncher-"); 557 QCString qlch("QPE/QuickLauncher-");
554 qlch += QString::number(qlPid); 558 qlch += QString::number(qlPid);
555 QCopEnvelope env( qlch, "execute(QStrList)" ); 559 QCopEnvelope env( qlch, "execute(QStrList)" );
diff --git a/core/launcher/inputmethods.cpp b/core/launcher/inputmethods.cpp
index 8f3e812..62e316c 100644
--- a/core/launcher/inputmethods.cpp
+++ b/core/launcher/inputmethods.cpp
@@ -224,13 +224,17 @@ void InputMethods::unloadMethod( QValueList<InputMethod>& list ) {
224 224
225} 225}
226 226
227 227
228QStringList InputMethods::plugins()const { 228QStringList InputMethods::plugins()const {
229 QString path = QPEApplication::qpeDir() + "/plugins/inputmethods"; 229 QString path = QPEApplication::qpeDir() + "/plugins/inputmethods";
230#ifdef Q_OS_MACX
231 QDir dir( path, "lib*.dylib" );
232#else
230 QDir dir( path, "lib*.so" ); 233 QDir dir( path, "lib*.so" );
234#endif /* Q_OS_MACX */
231 return dir.entryList(); 235 return dir.entryList();
232} 236}
233 237
234void InputMethods::installTranslator( const QString& type ) { 238void InputMethods::installTranslator( const QString& type ) {
235 QStringList langs = Global::languageList(); 239 QStringList langs = Global::languageList();
236 QStringList::ConstIterator lit; 240 QStringList::ConstIterator lit;
diff --git a/core/launcher/irserver.cpp b/core/launcher/irserver.cpp
index 579c78c..63f8d05 100644
--- a/core/launcher/irserver.cpp
+++ b/core/launcher/irserver.cpp
@@ -33,13 +33,17 @@
33IrServer::IrServer( QObject *parent, const char *name ) 33IrServer::IrServer( QObject *parent, const char *name )
34 : QObject( parent, name ), obexIface(0) 34 : QObject( parent, name ), obexIface(0)
35{ 35{
36 lib = 0; 36 lib = 0;
37 obexIface = 0; 37 obexIface = 0;
38 QString path = QPEApplication::qpeDir() + "/plugins/obex/"; 38 QString path = QPEApplication::qpeDir() + "/plugins/obex/";
39#ifdef Q_OS_MACX
40 QDir dir( path, "lib*.dylib" );
41#else
39 QDir dir( path, "lib*.so" ); 42 QDir dir( path, "lib*.so" );
43#endif /* Q_OS_MACX */
40 QStringList list = dir.entryList(); 44 QStringList list = dir.entryList();
41 QStringList::Iterator it; 45 QStringList::Iterator it;
42 for ( it = list.begin(); it != list.end(); ++it ) { 46 for ( it = list.begin(); it != list.end(); ++it ) {
43 QLibrary *trylib = new QLibrary( path + *it ); 47 QLibrary *trylib = new QLibrary( path + *it );
44 //qDebug("trying lib %s", (path + (*it)).latin1() ); 48 //qDebug("trying lib %s", (path + (*it)).latin1() );
45 if ( trylib->queryInterface( IID_ObexInterface, (QUnknownInterface**)&obexIface ) == QS_OK ) { 49 if ( trylib->queryInterface( IID_ObexInterface, (QUnknownInterface**)&obexIface ) == QS_OK ) {
diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp
index 74965df..5416d33 100644
--- a/core/launcher/main.cpp
+++ b/core/launcher/main.cpp
@@ -273,13 +273,15 @@ int initApplication( int argc, char ** argv )
273 273
274 int rv = a.exec(); 274 int rv = a.exec();
275 275
276 qDebug("exiting..."); 276 qDebug("exiting...");
277 delete s; 277 delete s;
278 278
279#ifndef Q_OS_MACX
279 ODevice::inst()->setSoftSuspend( false ); 280 ODevice::inst()->setSoftSuspend( false );
281#endif
280 282
281 return rv; 283 return rv;
282} 284}
283 285
284static const char *pidfile_path = "/var/run/opie.pid"; 286static const char *pidfile_path = "/var/run/opie.pid";
285 287
diff --git a/core/launcher/packageslave.cpp b/core/launcher/packageslave.cpp
index 4f149a5..bf34368 100644
--- a/core/launcher/packageslave.cpp
+++ b/core/launcher/packageslave.cpp
@@ -1,10 +1,10 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
@@ -16,82 +16,326 @@
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "packageslave.h" 21#include "packageslave.h"
22#include <qtopia/qprocess.h>
22 23
23#include <qpe/process.h> 24#ifdef Q_WS_QWS
24#include <qpe/qcopenvelope_qws.h> 25#include <qtopia/qcopenvelope_qws.h>
26#endif
25 27
26#include <qdatastream.h> 28#include <qdatastream.h>
29#ifdef Q_WS_QWS
27#include <qcopchannel_qws.h> 30#include <qcopchannel_qws.h>
31#endif
28 32
33#include <qtextstream.h>
34#include <qdir.h>
35
36#include <stdlib.h>
37#include <sys/stat.h> // mkdir()
38
39#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
29#include <unistd.h> 40#include <unistd.h>
41#include <sys/vfs.h>
42#include <mntent.h>
43#elif defined(Q_OS_WIN32)
44#include <windows.h>
45#include <winbase.h>
46#elif defined(Q_OS_MACX)
47#include <unistd.h>
48#endif
49
30 50
31PackageSlave::PackageSlave( QObject *parent, char* name ) 51PackageHandler::PackageHandler( QObject *parent, char* name )
32 : QObject( parent, name ), packageChannel( 0 ) 52 : QObject( parent, name ), packageChannel( 0 ), currentProcess( 0 ), mNoSpaceLeft( FALSE )
33{ 53{
34 // setup qcop channel 54 // setup qcop channel
55#ifndef QT_NO_COP
35 packageChannel = new QCopChannel( "QPE/Package", this ); 56 packageChannel = new QCopChannel( "QPE/Package", this );
36 connect( packageChannel, SIGNAL( received(const QCString &, const QByteArray &) ), 57 connect( packageChannel, SIGNAL( received(const QCString &, const QByteArray &) ),
37 this, SLOT( qcopMessage( const QCString &, const QByteArray &) ) ); 58 this, SLOT( qcopMessage( const QCString &, const QByteArray &) ) );
59#endif
38} 60}
39 61
40void PackageSlave::qcopMessage( const QCString &msg, const QByteArray &data ) 62void PackageHandler::qcopMessage( const QCString &msg, const QByteArray &data )
41{ 63{
42 QDataStream stream( data, IO_ReadOnly ); 64 QDataStream stream( data, IO_ReadOnly );
43 65
44 if ( msg == "installPackage(QString)" ) { 66 if ( msg == "installPackage(QString)" ) {
45 QString file; 67 QString file;
46 stream >> file; 68 stream >> file;
47 installPackage( file ); 69 installPackage( file );
48 } 70 } else if ( msg == "removePackage(QString)" ) {
49 else if ( msg == "removePackage(QString)" ) {
50 QString file; 71 QString file;
51 stream >> file; 72 stream >> file;
52 removePackage( file ); 73 removePackage( file );
74 } else if ( msg == "addPackageFiles(QString,QString)" ) {
75 QString location, listfile;
76 stream >> location >> listfile;
77 addPackageFiles( location, listfile);
78 } else if ( msg == "addPackages(QString)" ) {
79 QString location;
80 stream >> location;
81 addPackages( location );
82 } else if ( msg == "cleanupPackageFiles(QString)" ) {
83 QString listfile;
84 stream >> listfile;
85 cleanupPackageFiles( listfile );
86 } else if ( msg == "cleanupPackages(QString)" ) {
87 QString location;
88 stream >> location;
89 cleanupPackages( location );
90 } else if ( msg == "prepareInstall(QString,QString)" ) {
91 QString size, path;
92 stream >> size;
93 stream >> path;
94 prepareInstall( size, path );
53 } 95 }
54} 96}
55 97
56void PackageSlave::installPackage( const QString &package ) 98void PackageHandler::installPackage( const QString &package )
57{ 99{
58 Process proc( QStringList() << "ipkg" << "install" << package ); 100 if ( mNoSpaceLeft ) {
101 mNoSpaceLeft = FALSE;
102 // Don't emit that for now, I still couldn't test it (Wener)
103 //sendReply( "installFailed(QString)", package );
104 //return;
105 }
106
107 currentProcess = new QProcess( QStringList() << "ipkg" << "install" << package ); // No tr
108 connect( currentProcess, SIGNAL( processExited() ), SLOT( iProcessExited() ) );
109 connect( currentProcess, SIGNAL( readyReadStdout() ), SLOT( readyReadStdout() ) );
110 connect( currentProcess, SIGNAL( readyReadStderr() ), SLOT( readyReadStderr() ) );
111 currentPackage = package;
59 112
113 currentProcessError="";
60 sendReply( "installStarted(QString)", package ); 114 sendReply( "installStarted(QString)", package );
115 currentProcess->start();
116}
117
118void PackageHandler::removePackage( const QString &package )
119{
120 currentProcess = new QProcess( QStringList() << "ipkg" << "remove" << package ); // No tr
121 connect( currentProcess, SIGNAL( processExited() ), SLOT( rmProcessExited() ) );
122 connect( currentProcess, SIGNAL( readyReadStdout() ), SLOT( readyReadStdout() ) );
123 connect( currentProcess, SIGNAL( readyReadStderr() ), SLOT( readyReadStderr() ) );
124 currentPackage = package;
125
126 currentProcessError="";
127 sendReply( "removeStarted(QString)", package );
128 currentProcess->start();
129}
130
131void PackageHandler::sendReply( const QCString& msg, const QString& arg )
132{
133#ifndef QT_NO_COP
134 QCopEnvelope e( "QPE/Desktop", msg );
135 e << arg;
136#endif
137}
138
139void PackageHandler::addPackageFiles( const QString &location,
140 const QString &listfile )
141{
142 QFile f(listfile);
143#ifndef Q_OS_WIN32
144 //make a copy so we can remove the symlinks later
145 mkdir( ("/usr/lib/ipkg/info/"+location).ascii(), 0777 );
146 system(("cp " + f.name() + " /usr/lib/ipkg/info/"+location).ascii());
147#else
148 QDir d;
149 //#### revise
150 qDebug("Copy file at %s: %s", __FILE__, __LINE__ );
151 d.mkdir(("/usr/lib/ipkg/info/" + location).ascii());
152 system(("copy " + f.name() + " /usr/lib/ipkg/info/"+location).ascii());
153#endif
154
155
156 if ( f.open(IO_ReadOnly) ) {
157 QTextStream ts(&f);
158
159 QString s;
160 while ( !ts.eof() ) { // until end of file...
161 s = ts.readLine(); // line of text excluding '\n'
162 // for s, do link/mkdir.
163 if ( s.right(1) == "/" ) {
164 qDebug("do mkdir for %s", s.ascii());
165#ifndef Q_OS_WIN32
166 mkdir( s.ascii(), 0777 );
167 //possible optimization: symlink directories
168 //that don't exist already. -- Risky.
169#else
170 d.mkdir( s.ascii());
171#endif
172
173 } else {
174#ifndef Q_OS_WIN32
175 qDebug("do symlink for %s", s.ascii());
176 symlink( (location + s).ascii(), s.ascii() );
177#else
178 qDebug("Copy file instead of a symlink for WIN32");
179 if (!CopyFile((TCHAR*)qt_winTchar((location + s), TRUE), (TCHAR*)qt_winTchar(s, TRUE), FALSE))
180 qWarning("Unable to create symlinkfor %s",
181 (location + s).ascii());
182#endif
183 }
184 }
185 f.close();
186 }
187}
61 188
62 QString output; 189void PackageHandler::addPackages( const QString &location )
63 if ( proc.exec( "", output ) ) { 190{
64 sendReply( "installDone(QString)", package ); 191 // get list of *.list in location/usr/lib/ipkg/info/*.list
192 QDir dir(location + "/usr/lib/ipkg/info", "*.list", // No tr
193 QDir::Name, QDir::Files);
194 if ( !dir.exists() )
195 return;
196
197 QStringList packages = dir.entryList();
198 for ( QStringList::Iterator it = packages.begin();
199 it != packages.end(); ++it ) {
200 addPackageFiles( location, *it );
65 } 201 }
202}
203
204
205void PackageHandler::cleanupPackageFiles( const QString &listfile )
206{
207 QFile f(listfile);
208
209 if ( f.open(IO_ReadOnly) ) {
210 QTextStream ts(&f);
211
212 QString s;
213 while ( !ts.eof() ) { // until end of file...
214 s = ts.readLine(); // line of text excluding '\n'
215 // for s, do link/mkdir.
216 if ( s.right(1) == "/" ) {
217 //should rmdir if empty, after all files have been removed
218 } else {
219#ifndef Q_OS_WIN32
220 qDebug("remove symlink for %s", s.ascii());
221 //check if it is a symlink first (don't remove /etc/passwd...)
222 char buf[10]; //we don't care about the contents
223 if ( ::readlink( s.ascii(),buf, 10 >= 0 ) )
224 ::unlink( s.ascii() );
225 #else
226 // ### revise
227 qWarning("Unable to remove symlink %s:%s", __FILE__, __LINE__);
228#endif
229 }
230 }
231 f.close();
232
233 //remove the list file
234 ::unlink( listfile.ascii() );
235
236 }
237}
238
239void PackageHandler::cleanupPackages( const QString &location )
240{
241 // get list of *.list in location/usr/lib/ipkg/info/*.list
242 QDir dir( "/usr/lib/ipkg/info/"+location, "*.list", // No tr
243 QDir::Name, QDir::Files);
244 if ( !dir.exists() )
245 return;
246
247 QStringList packages = dir.entryList();
248 for ( QStringList::Iterator it = packages.begin();
249 it != packages.end(); ++it ) {
250 cleanupPackageFiles( *it );
251 }
252
253 //remove the backup directory
254 //###
255}
256
257void PackageHandler::prepareInstall( const QString& size, const QString& path )
258{
259 // Check whether there will be enough space to install the next package.
260 bool ok;
261 unsigned int s = size.toUInt( &ok );
262
263 if ( !ok )
264 return;
265
266 // Shamelessly stolen from the sysinfo application (Werner)
267#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
268 struct statfs fs;
269 if ( statfs( path.latin1(), &fs ) == 0 )
270 if ( s > fs.f_bsize * fs.f_bavail ) {
271 //qDebug("############### Not enough space left ###############");
272 mNoSpaceLeft = TRUE;
273 }
274#endif
275}
276
277void PackageHandler::iProcessExited()
278{
279 if ( currentProcess->normalExit() && currentProcess->exitStatus() == 0 )
280 sendReply( "installDone(QString)", currentPackage );
66 else { 281 else {
67 sendReply( "installFailed(QString)", package ); 282#ifndef QT_NO_COP
283 QCopEnvelope e( "QPE/Desktop", "installFailed(QString,int,QString)" );
284 e << currentPackage << currentProcess->exitStatus()
285 << currentProcessError;
286#endif
68 } 287 }
288
289 delete currentProcess;
290 currentProcess = 0;
291
292#ifndef QT_NO_COP
69 QCopEnvelope e("QPE/System", "linkChanged(QString)"); 293 QCopEnvelope e("QPE/System", "linkChanged(QString)");
70 QString lf = QString::null; 294 QString lf = QString::null;
71 e << lf; 295 e << lf;
72 unlink( package ); 296#endif
297 unlink( currentPackage );
73} 298}
74 299
75void PackageSlave::removePackage( const QString &package ) 300void PackageHandler::rmProcessExited()
76{ 301{
77 Process proc( QStringList() << "ipkg" << "remove" << package ); 302 if ( currentProcess->normalExit() && currentProcess->exitStatus() == 0 )
303 sendReply( "removeDone(QString)", currentPackage );
304 else
305 sendReply( "removeFailed(QString)", currentPackage );
78 306
79 sendReply( "removeStarted(QString)", package ); 307#ifndef QT_NO_COP
80
81 QString output;
82 if ( proc.exec( "", output ) ) {
83 sendReply( "removeDone(QString)", package );
84 }
85 else {
86 sendReply( "removeFailed(QString)", package );
87 }
88 QCopEnvelope e("QPE/System", "linkChanged(QString)"); 308 QCopEnvelope e("QPE/System", "linkChanged(QString)");
89 QString lf = QString::null; 309 QString lf = QString::null;
90 e << lf; 310 e << lf;
311#endif
91} 312}
92 313
93void PackageSlave::sendReply( const QCString& msg, const QString& arg ) 314void PackageHandler::readyReadStdout()
94{ 315{
95 QCopEnvelope e( "QPE/Desktop", msg ); 316 while ( currentProcess->canReadLineStdout() ) {
96 e << arg; 317 QString line = currentProcess->readLineStdout();
318 currentProcessError.append("OUT:"+line);
319 if ( line.contains( "Unpacking" ) ) // No tr
320 sendReply( "installStep(QString)", "one" ); // No tr
321 else if ( line.contains( "Configuring" ) ) // No tr
322 sendReply( "installStep(QString)", "two" ); // No tr
323 }
324}
325
326void PackageHandler::readyReadStderr()
327{
328 while ( currentProcess->canReadLineStderr() ) {
329 QString line = currentProcess->readLineStderr();
330 currentProcessError.append("ERR:"+line);
331 }
332}
333
334void PackageHandler::redoPackages()
335{
336 //get list of filesystems
337
338 //call cleanupPackages for the ones that have disappeared
339
340 //call addPackageFiles for the new ones
97} 341}
diff --git a/core/launcher/qprocess_unix.cpp b/core/launcher/qprocess_unix.cpp
index a07bf64..19a8c93 100644
--- a/core/launcher/qprocess_unix.cpp
+++ b/core/launcher/qprocess_unix.cpp
@@ -47,12 +47,15 @@
47#include <sys/ioctl.h> 47#include <sys/ioctl.h>
48#include <sys/wait.h> 48#include <sys/wait.h>
49#include <sys/fcntl.h> 49#include <sys/fcntl.h>
50 50
51#include <errno.h> 51#include <errno.h>
52 52
53#ifdef Q_OS_MACX
54#include <sys/time.h>
55#endif
53#include <sys/resource.h> 56#include <sys/resource.h>
54 57
55#ifdef __MIPSEL__ 58#ifdef __MIPSEL__
56# ifndef SOCK_DGRAM 59# ifndef SOCK_DGRAM
57# define SOCK_DGRAM 1 60# define SOCK_DGRAM 1
58# endif 61# endif
diff --git a/core/launcher/server.pro b/core/launcher/server.pro
index 93baeb4..0513536 100644
--- a/core/launcher/server.pro
+++ b/core/launcher/server.pro
@@ -112,9 +112,14 @@ DEPENDPATH += $(OPIEDIR)/core/apps/calibrate
112 112
113INCLUDEPATH += $(OPIEDIR)/include $(OPIEDIR)/rsync 113INCLUDEPATH += $(OPIEDIR)/include $(OPIEDIR)/rsync
114 DEPENDPATH+= $(OPIEDIR)/rsync 114 DEPENDPATH+= $(OPIEDIR)/rsync
115 115
116 TARGET = qpe 116 TARGET = qpe
117 117
118 LIBS+= -lcrypt -lqpe -lopie 118CONFTEST = $$system( echo $CONFIG_TARGET_MACOSX )
119contains( CONFTEST, y ){
120 LIBS += -lqpe -lopie
121}else{
122 LIBS+= -lcrypt -lqpe -lopie
123}
119 124
120include ( $(OPIEDIR)/include.pro ) 125include ( $(OPIEDIR)/include.pro )
diff --git a/core/launcher/startmenu.cpp b/core/launcher/startmenu.cpp
index 014418d..08ae885 100644
--- a/core/launcher/startmenu.cpp
+++ b/core/launcher/startmenu.cpp
@@ -253,13 +253,17 @@ void StartMenu::loadApplets()
253 // we don't currently use it -zecke 253 // we don't currently use it -zecke
254 254
255 QStringList exclude = cfg.readListEntry( "ExcludeApplets", ',' ); 255 QStringList exclude = cfg.readListEntry( "ExcludeApplets", ',' );
256 256
257 QString lang = getenv( "LANG" ); 257 QString lang = getenv( "LANG" );
258 QString path = QPEApplication::qpeDir() + "/plugins/applets"; 258 QString path = QPEApplication::qpeDir() + "/plugins/applets";
259#ifdef Q_OS_MACX
260 QDir dir( path, "lib*.dylib" );
261#else
259 QDir dir( path, "lib*.so" ); 262 QDir dir( path, "lib*.so" );
263#endif /* Q_OS_MACX */
260 QStringList list = dir.entryList(); 264 QStringList list = dir.entryList();
261 QStringList::Iterator it; 265 QStringList::Iterator it;
262 int napplets=0; 266 int napplets=0;
263 MenuApplet* *xapplets = new MenuApplet*[list.count()]; 267 MenuApplet* *xapplets = new MenuApplet*[list.count()];
264 for ( it = list.begin(); it != list.end(); ++it ) { 268 for ( it = list.begin(); it != list.end(); ++it ) {
265 if ( exclude.find( *it ) != exclude.end() ) 269 if ( exclude.find( *it ) != exclude.end() )
diff --git a/core/launcher/systray.cpp b/core/launcher/systray.cpp
index 6122770..691f6b8 100644
--- a/core/launcher/systray.cpp
+++ b/core/launcher/systray.cpp
@@ -99,20 +99,25 @@ void SysTray::addApplets()
99 Config cfg( "Taskbar" ); 99 Config cfg( "Taskbar" );
100 cfg.setGroup( "Applets" ); 100 cfg.setGroup( "Applets" );
101 QStringList exclude = cfg.readListEntry( "ExcludeApplets", ',' ); 101 QStringList exclude = cfg.readListEntry( "ExcludeApplets", ',' );
102 102
103 QString lang = getenv( "LANG" ); 103 QString lang = getenv( "LANG" );
104 QString path = QPEApplication::qpeDir() + "/plugins/applets"; 104 QString path = QPEApplication::qpeDir() + "/plugins/applets";
105#ifdef Q_OS_MACX
106 QDir dir( path, "lib*.dylib" );
107#else
105 QDir dir( path, "lib*.so" ); 108 QDir dir( path, "lib*.so" );
109#endif /* Q_OS_MACX */
106 QStringList list = dir.entryList(); 110 QStringList list = dir.entryList();
107 QStringList::Iterator it; 111 QStringList::Iterator it;
108 int napplets=0; 112 int napplets=0;
109 TaskbarApplet* *applets = new TaskbarApplet*[list.count()]; 113 TaskbarApplet* *applets = new TaskbarApplet*[list.count()];
110 for ( it = list.begin(); it != list.end(); ++it ) { 114 for ( it = list.begin(); it != list.end(); ++it ) {
111 if ( exclude.find( *it ) != exclude.end() ) 115 if ( exclude.find( *it ) != exclude.end() )
112 continue; 116 continue;
117 qWarning( "Found Applet: %s", (*it).latin1() );
113 TaskbarAppletInterface *iface = 0; 118 TaskbarAppletInterface *iface = 0;
114 QLibrary *lib = new QLibrary( path + "/" + *it ); 119 QLibrary *lib = new QLibrary( path + "/" + *it );
115 if (( lib->queryInterface( IID_TaskbarApplet, (QUnknownInterface**)&iface ) == QS_OK ) && iface ) { 120 if (( lib->queryInterface( IID_TaskbarApplet, (QUnknownInterface**)&iface ) == QS_OK ) && iface ) {
116 TaskbarApplet *applet = new TaskbarApplet; 121 TaskbarApplet *applet = new TaskbarApplet;
117 applets[napplets++] = applet; 122 applets[napplets++] = applet;
118 applet->library = lib; 123 applet->library = lib;
diff --git a/core/launcher/transferserver.cpp b/core/launcher/transferserver.cpp
index c69df2d..439e110 100644
--- a/core/launcher/transferserver.cpp
+++ b/core/launcher/transferserver.cpp
@@ -25,14 +25,17 @@
25#ifndef Q_OS_WIN32 25#ifndef Q_OS_WIN32
26#include <pwd.h> 26#include <pwd.h>
27#include <sys/types.h> 27#include <sys/types.h>
28#include <unistd.h> 28#include <unistd.h>
29#include <stdlib.h> 29#include <stdlib.h>
30#include <time.h> 30#include <time.h>
31
32#ifndef Q_OS_MACX
31#include <shadow.h> 33#include <shadow.h>
32#include <crypt.h> 34#include <crypt.h>
35#endif /* Q_OS_MACX */
33 36
34#else 37#else
35#include <stdlib.h> 38#include <stdlib.h>
36#include <time.h> 39#include <time.h>
37#endif 40#endif
38 41
diff --git a/core/multimedia/opieplayer/wavplugin/wavplugin.pro b/core/multimedia/opieplayer/wavplugin/wavplugin.pro
index 0366542..db41ad4 100644
--- a/core/multimedia/opieplayer/wavplugin/wavplugin.pro
+++ b/core/multimedia/opieplayer/wavplugin/wavplugin.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS = wavplugin.h wavpluginimpl.h 3 HEADERS = wavplugin.h wavpluginimpl.h
4 SOURCES = wavplugin.cpp wavpluginimpl.cpp 4 SOURCES = wavplugin.cpp wavpluginimpl.cpp
5 TARGET = wavplugin 5 TARGET = wavplugin
6 DESTDIR = $(OPIEDIR)/plugins/codecs 6 DESTDIR = $(OPIEDIR)/plugins/codecs
7INCLUDEPATH += $(OPIEDIR)/include .. 7INCLUDEPATH += $(OPIEDIR)/include ..
8DEPENDPATH += ../$(OPIEDIR)/include .. 8DEPENDPATH += ../$(OPIEDIR)/include ..
diff --git a/core/pim/today/plugins/addressbook/addressbook.pro b/core/pim/today/plugins/addressbook/addressbook.pro
index 4ebbc9e..54aaff2 100644
--- a/core/pim/today/plugins/addressbook/addressbook.pro
+++ b/core/pim/today/plugins/addressbook/addressbook.pro
@@ -1,9 +1,9 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG -= moc 2CONFIG -= moc
3CONFIG += qt release 3CONFIG += qt plugin release
4 4
5# Input 5# Input
6HEADERS = addressplugin.h addresspluginimpl.h addresspluginconfig.h \ 6HEADERS = addressplugin.h addresspluginimpl.h addresspluginconfig.h \
7 addresspluginwidget.h 7 addresspluginwidget.h
8SOURCES = addressplugin.cpp addresspluginimpl.cpp addresspluginconfig.cpp \ 8SOURCES = addressplugin.cpp addresspluginimpl.cpp addresspluginconfig.cpp \
9 addresspluginwidget.cpp 9 addresspluginwidget.cpp
diff --git a/core/pim/today/plugins/datebook/datebook.pro b/core/pim/today/plugins/datebook/datebook.pro
index e0a1dcb..2139f63 100644
--- a/core/pim/today/plugins/datebook/datebook.pro
+++ b/core/pim/today/plugins/datebook/datebook.pro
@@ -1,9 +1,9 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG -= moc 2CONFIG -= moc
3CONFIG += qt release 3CONFIG += qt plugin release
4# Input 4# Input
5HEADERS = datebookplugin.h datebookpluginimpl.h datebookpluginconfig.h \ 5HEADERS = datebookplugin.h datebookpluginimpl.h datebookpluginconfig.h \
6 datebookevent.h datebookpluginwidget.h 6 datebookevent.h datebookpluginwidget.h
7SOURCES = datebookplugin.cpp datebookpluginimpl.cpp datebookpluginconfig.cpp \ 7SOURCES = datebookplugin.cpp datebookpluginimpl.cpp datebookpluginconfig.cpp \
8 datebookevent.cpp datebookpluginwidget.cpp 8 datebookevent.cpp datebookpluginwidget.cpp
9 9
diff --git a/core/pim/today/plugins/mail/mail.pro b/core/pim/today/plugins/mail/mail.pro
index 70c484d..421b3a5 100644
--- a/core/pim/today/plugins/mail/mail.pro
+++ b/core/pim/today/plugins/mail/mail.pro
@@ -1,9 +1,9 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG -= moc 2CONFIG -= moc
3CONFIG += qt release 3CONFIG += qt plugin release
4 4
5# Input 5# Input
6HEADERS = mailplugin.h mailpluginimpl.h mailpluginwidget.h 6HEADERS = mailplugin.h mailpluginimpl.h mailpluginwidget.h
7SOURCES = mailplugin.cpp mailpluginimpl.cpp mailpluginwidget.cpp 7SOURCES = mailplugin.cpp mailpluginimpl.cpp mailpluginwidget.cpp
8 8
9INCLUDEPATH += $(OPIEDIR)/include \ 9INCLUDEPATH += $(OPIEDIR)/include \
diff --git a/core/pim/today/plugins/todolist/todolist.pro b/core/pim/today/plugins/todolist/todolist.pro
index 31a6a27..c8730bb 100644
--- a/core/pim/today/plugins/todolist/todolist.pro
+++ b/core/pim/today/plugins/todolist/todolist.pro
@@ -1,9 +1,9 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG -= moc 2CONFIG -= moc
3CONFIG += qt release 3CONFIG += qt plugin release
4 4
5# Input 5# Input
6HEADERS = todoplugin.h todopluginimpl.h todopluginconfig.h \ 6HEADERS = todoplugin.h todopluginimpl.h todopluginconfig.h \
7 todopluginwidget.h 7 todopluginwidget.h
8SOURCES = todoplugin.cpp todopluginimpl.cpp todopluginconfig.cpp \ 8SOURCES = todoplugin.cpp todopluginimpl.cpp todopluginconfig.cpp \
9 todopluginwidget.cpp 9 todopluginwidget.cpp
diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp
index f213943..cb18c1c 100644
--- a/core/pim/today/today.cpp
+++ b/core/pim/today/today.cpp
@@ -171,17 +171,24 @@ void Today::loadPlugins() {
171 delete (*tit).library; 171 delete (*tit).library;
172 } 172 }
173 pluginList.clear(); 173 pluginList.clear();
174 } 174 }
175 175
176 QString path = QPEApplication::qpeDir() + "/plugins/today"; 176 QString path = QPEApplication::qpeDir() + "/plugins/today";
177 qWarning("Searching for Plugins in: %s", path.latin1());
178#ifdef Q_OS_MACX
179 QDir dir( path, "lib*.dylib" );
180#else
177 QDir dir( path, "lib*.so" ); 181 QDir dir( path, "lib*.so" );
182#endif
178 183
179 QStringList list = dir.entryList(); 184 QStringList list = dir.entryList();
180 QStringList::Iterator it; 185 QStringList::Iterator it;
181 186
187 qWarning("Found: %d entries !", list.count() );
188
182 QMap<QString, TodayPlugin> tempList; 189 QMap<QString, TodayPlugin> tempList;
183 190
184 for ( it = list.begin(); it != list.end(); ++it ) { 191 for ( it = list.begin(); it != list.end(); ++it ) {
185 QInterfacePtr<TodayPluginInterface> iface; 192 QInterfacePtr<TodayPluginInterface> iface;
186 QLibrary *lib = new QLibrary( path + "/" + *it ); 193 QLibrary *lib = new QLibrary( path + "/" + *it );
187 194
diff --git a/core/qws/transferserver.cpp b/core/qws/transferserver.cpp
index 0337a94..239c824 100644
--- a/core/qws/transferserver.cpp
+++ b/core/qws/transferserver.cpp
@@ -20,29 +20,41 @@
20#define _XOPEN_SOURCE 20#define _XOPEN_SOURCE
21#include <pwd.h> 21#include <pwd.h>
22#include <sys/types.h> 22#include <sys/types.h>
23#include <unistd.h> 23#include <unistd.h>
24#include <stdlib.h> 24#include <stdlib.h>
25#include <time.h> 25#include <time.h>
26
27#ifndef Q_OS_MACX
26#include <shadow.h> 28#include <shadow.h>
29#endif /* Q_OS_MACX */
27 30
28/* we need the _OS_LINUX stuff first ! */ 31/* we need the _OS_LINUX stuff first ! */
29#include <qglobal.h> 32#include <qglobal.h>
30 33
31#ifndef _OS_LINUX_ 34#ifndef _OS_LINUX_
35// Is anybody able to review this ? The include "uuid/uuid.h" couldn't be found
36// anywhere ? Therfore I removed it completely..
37// I think it should be made permanentyl !? (eilers)
38#warning "Where should uuid/uuid.h be found ? Removed this part .. (eilers)"
39#if 0
32 40
33extern "C" 41extern "C"
34{ 42{
35#include <uuid/uuid.h> 43#include <uuid/uuid.h>
36#define UUID_H_INCLUDED 44#define UUID_H_INCLUDED
37} 45}
38 46
47#endif
48
39#endif // not defined linux 49#endif // not defined linux
40 50
41#if defined(_OS_LINUX_) 51#if defined(_OS_LINUX_)
42#include <shadow.h> 52#include <shadow.h>
53#elif defined(Q_OS_MACX)
54#include <stdlib.h>
43#endif 55#endif
44 56
45#include <qdir.h> 57#include <qdir.h>
46#include <qfile.h> 58#include <qfile.h>
47#include <qtextstream.h> 59#include <qtextstream.h>
48#include <qdatastream.h> 60#include <qdatastream.h>
@@ -88,21 +100,21 @@ void TransferServer::newConnection( int socket )
88namespace 100namespace
89{ 101{
90struct UidGen 102struct UidGen
91{ 103{
92 QString uuid(); 104 QString uuid();
93}; 105};
94#if !defined(_OS_LINUX_) 106#if defined(Q_OS_MACX)
95
96QString UidGen::uuid() 107QString UidGen::uuid()
97{ 108{
98 uuid_t uuid; 109 srandom( random() );
99 uuid_generate( uuid ); 110 QString numStr = QString::number( random() );
100 return QUUid( uuid ).toString(); 111
112 return "{" + numStr + "}";
101} 113}
102#else 114#elif defined(_OS_LINUX_)
103/* 115/*
104* linux got a /proc/sys/kernel/random/uuid file 116* linux got a /proc/sys/kernel/random/uuid file
105* it'll generate the uuids for us 117* it'll generate the uuids for us
106*/ 118*/
107QString UidGen::uuid() 119QString UidGen::uuid()
108{ 120{
@@ -111,12 +123,19 @@ QString UidGen::uuid()
111 return QString::null; 123 return QString::null;
112 124
113 QTextStream stream(&file); 125 QTextStream stream(&file);
114 126
115 return "{" + stream.read().stripWhiteSpace() + "}"; 127 return "{" + stream.read().stripWhiteSpace() + "}";
116} 128}
129#else
130QString UidGen::uuid()
131{
132 uuid_t uuid;
133 ::uuid_generate( uuid );
134 return QUUid( uuid ).toString();
135}
117#endif 136#endif
118} 137}
119 138
120QString SyncAuthentication::serverId() 139QString SyncAuthentication::serverId()
121{ 140{
122 Config cfg("Security"); 141 Config cfg("Security");
diff --git a/core/settings/launcher/menusettings.cpp b/core/settings/launcher/menusettings.cpp
index 5a9fada..6fca621 100644
--- a/core/settings/launcher/menusettings.cpp
+++ b/core/settings/launcher/menusettings.cpp
@@ -76,13 +76,17 @@ void MenuSettings::init ( )
76{ 76{
77 Config cfg ( "StartMenu" ); 77 Config cfg ( "StartMenu" );
78 cfg. setGroup ( "Applets" ); 78 cfg. setGroup ( "Applets" );
79 QStringList exclude = cfg. readListEntry ( "ExcludeApplets", ',' ); 79 QStringList exclude = cfg. readListEntry ( "ExcludeApplets", ',' );
80 80
81 QString path = QPEApplication::qpeDir ( ) + "/plugins/applets"; 81 QString path = QPEApplication::qpeDir ( ) + "/plugins/applets";
82#ifdef Q_OS_MACX
83 QStringList list = QDir ( path, "lib*.dylib" ). entryList ( );
84#else
82 QStringList list = QDir ( path, "lib*.so" ). entryList ( ); 85 QStringList list = QDir ( path, "lib*.so" ). entryList ( );
86#endif /* Q_OS_MACX */
83 87
84 for ( QStringList::Iterator it = list. begin ( ); it != list. end ( ); ++it ) { 88 for ( QStringList::Iterator it = list. begin ( ); it != list. end ( ); ++it ) {
85 QString name; 89 QString name;
86 QPixmap icon; 90 QPixmap icon;
87 MenuAppletInterface *iface = 0; 91 MenuAppletInterface *iface = 0;
88 92
diff --git a/core/settings/launcher/taskbarsettings.cpp b/core/settings/launcher/taskbarsettings.cpp
index b3e302a..d03ea49 100644
--- a/core/settings/launcher/taskbarsettings.cpp
+++ b/core/settings/launcher/taskbarsettings.cpp
@@ -72,51 +72,68 @@ void TaskbarSettings::init ( )
72{ 72{
73 Config cfg ( "Taskbar" ); 73 Config cfg ( "Taskbar" );
74 cfg. setGroup ( "Applets" ); 74 cfg. setGroup ( "Applets" );
75 QStringList exclude = cfg. readListEntry ( "ExcludeApplets", ',' ); 75 QStringList exclude = cfg. readListEntry ( "ExcludeApplets", ',' );
76 76
77 QString path = QPEApplication::qpeDir ( ) + "/plugins/applets"; 77 QString path = QPEApplication::qpeDir ( ) + "/plugins/applets";
78#ifdef Q_OS_MACX
79 QStringList list = QDir ( path, "lib*.dylib" ). entryList ( );
80#else
78 QStringList list = QDir ( path, "lib*.so" ). entryList ( ); 81 QStringList list = QDir ( path, "lib*.so" ). entryList ( );
82#endif /* Q_OS_MACX */
79 83
80 for ( QStringList::Iterator it = list. begin ( ); it != list. end ( ); ++it ) { 84 for ( QStringList::Iterator it = list. begin ( ); it != list. end ( ); ++it ) {
81 QString name; 85 QString name;
82 QPixmap icon; 86 QPixmap icon;
83 TaskbarNamedAppletInterface *iface = 0; 87 TaskbarNamedAppletInterface *iface = 0;
84 88
89 qWarning("Load applet: %s", (*it).latin1() );
85 QLibrary *lib = new QLibrary ( path + "/" + *it ); 90 QLibrary *lib = new QLibrary ( path + "/" + *it );
86 lib-> queryInterface ( IID_TaskbarNamedApplet, (QUnknownInterface**) &iface ); 91 lib-> queryInterface ( IID_TaskbarNamedApplet, (QUnknownInterface**) &iface );
92 qWarning("<1>");
87 if ( iface ) { 93 if ( iface ) {
94 qWarning("<2>");
88 QString lang = getenv( "LANG" ); 95 QString lang = getenv( "LANG" );
89 QTranslator *trans = new QTranslator ( qApp ); 96 QTranslator *trans = new QTranslator ( qApp );
90 QString type = (*it). left ((*it). find (".")); 97 QString type = (*it). left ((*it). find ("."));
91 QString tfn = QPEApplication::qpeDir ( ) + "/i18n/" + lang + "/" + type + ".qm"; 98 QString tfn = QPEApplication::qpeDir ( ) + "/i18n/" + lang + "/" + type + ".qm";
92 if ( trans-> load ( tfn )) 99 if ( trans-> load ( tfn ))
93 qApp-> installTranslator ( trans ); 100 qApp-> installTranslator ( trans );
94 else 101 else
95 delete trans; 102 delete trans;
96 name = iface-> name ( ); 103 name = iface-> name ( );
97 icon = iface-> icon ( ); 104 icon = iface-> icon ( );
98 iface-> release ( ); 105 iface-> release ( );
99 } 106 }
107 qWarning("<3>");
100 if ( !iface ) { 108 if ( !iface ) {
109 qWarning("<4>");
101 lib-> queryInterface ( IID_TaskbarApplet, (QUnknownInterface**) &iface ); 110 lib-> queryInterface ( IID_TaskbarApplet, (QUnknownInterface**) &iface );
102 111
103 if ( iface ) { 112 if ( iface ) {
113 qWarning("<5>");
104 name = (*it). mid ( 3 ); 114 name = (*it). mid ( 3 );
115 qWarning("Found applet: %s", name.latin1() );
116#ifdef Q_OS_MACX
117 int sep = name. find( ".dylib" );
118#else
105 int sep = name. find( ".so" ); 119 int sep = name. find( ".so" );
120#endif /* Q_OS_MACX */
106 if ( sep > 0 ) 121 if ( sep > 0 )
107 name. truncate ( sep ); 122 name. truncate ( sep );
108 sep = name. find ( "applet" ); 123 sep = name. find ( "applet" );
109 if ( sep == (int) name.length ( ) - 6 ) 124 if ( sep == (int) name.length ( ) - 6 )
110 name. truncate ( sep ); 125 name. truncate ( sep );
111 name[0] = name[0]. upper ( ); 126 name[0] = name[0]. upper ( );
112 iface-> release ( ); 127 iface-> release ( );
113 } 128 }
114 } 129 }
130 qWarning("<6>");
115 131
116 if ( iface ) { 132 if ( iface ) {
133 qWarning("<7>");
117 QCheckListItem *item; 134 QCheckListItem *item;
118 item = new QCheckListItem ( m_list, name, QCheckListItem::CheckBox ); 135 item = new QCheckListItem ( m_list, name, QCheckListItem::CheckBox );
119 if ( !icon. isNull ( )) 136 if ( !icon. isNull ( ))
120 item-> setPixmap ( 0, icon ); 137 item-> setPixmap ( 0, icon );
121 item-> setOn ( exclude. find ( *it ) == exclude. end ( )); 138 item-> setOn ( exclude. find ( *it ) == exclude. end ( ));
122 m_applets [*it] = item; 139 m_applets [*it] = item;
diff --git a/development/keyview/keyview.pro b/development/keyview/keyview.pro
index 70cc171..ca657bd 100644
--- a/development/keyview/keyview.pro
+++ b/development/keyview/keyview.pro
@@ -1,9 +1,9 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 #CONFIG = qt warn_on debug 2 #CONFIG = qt plugin warn_on debug
3 CONFIG = qt warn_on release 3 CONFIG = qt plugin warn_on release
4 HEADERS = keyview.h keyboardimpl.h 4 HEADERS = keyview.h keyboardimpl.h
5 SOURCES = keyview.cpp keyboardimpl.cpp 5 SOURCES = keyview.cpp keyboardimpl.cpp
6 INCLUDEPATH+= $(OPIEDIR)/include 6 INCLUDEPATH+= $(OPIEDIR)/include
7 DEPENDPATH+= $(OPIEDIR)/include ../../launcher 7 DEPENDPATH+= $(OPIEDIR)/include ../../launcher
8LIBS += -lqpe 8LIBS += -lqpe
9 INTERFACES= 9 INTERFACES=
diff --git a/development/macosx/README_MACOSX b/development/macosx/README_MACOSX
new file mode 100644
index 0000000..e2ed15f
--- a/dev/null
+++ b/development/macosx/README_MACOSX
@@ -0,0 +1,91 @@
1Information about porting Opie to MacOS-X (eilers)
2==================================================
3
4Credits:
5--------
6
7Special thanks to xxxx for its patches for qt-X11 (2.3.2), QT/E (2.3.5) and qtopia (1.6.1).
8Without them, I wouldn't be able to provide the port for OPIE to MacOS-X that fast..
9
10Status:
11-------
12The basic system works quite well. But a lot of applications and plugins,
13which are platform specific, need some work to be compileable.
14
15What is ready:
16
17libqpe
18libopie1
19pim-applications (addressbook, todolist, datebook, today)
20A lot of applications and plugins which are not platform specific.
21
22What will follow soon:
23
24libopie2
25
26Remember: A lot of configuration-settings are not tested (as for instance
27the quicklauncher) and might fail to compile.
28If you want to avoid misconfigurations, you may want to start with
29the config-file in this directory. Just copy "config_macosx" to $OPIEDIR/.config
30to get a working configuration to start with.
31
32(The missing apps/plugins will be ported on demand.)
33
34How to compile Opie for MacOS-X:
35-------------------------------
36
37Before compiling for MacOS-X, you need the following:
38
391. X11-Server (Provided by Apple)
402. QT-2.3.2 for X11
413. QT/E-2.3.7
424. Patches for QT-2.3.2 for MacOSX
435. Patches for QT/E-2.3.7 for MacOSX
44
45Please follow the instructions by xxxx how to create a buildsystem
46for your Mac.
47What is different to the previous desciption:
48You don't need Qtopia !
49It is recommended to use QT/E in version 2.3.7 instead of 2.3.5 as described.
50The Patch for QT/E for Opie, including all other opie-patches is available in the
51qt-directory ($OPIEDIR/qt) and is called "qte237-all-macosx.patch"
52
53If your buildsystem is working correctly, you should be able to build
54opie. You have to enter "make menuconfig" and set
55"Build Parameters"->"Target Machine"->"Mac OS X (DARWIN)"
56activate the platform specific changes.
57
58You will see that a lot of applications and plugins/applets will not compile
59successfully, due to the fact that they are not ported to this platform.
60You may disable them to be able to compile the rest.
61
62
63Information for Developers:
64---------------------------
65
661. Platform specific code should be surrounded by
67#ifdef Q_OS_MACX
68MACOS-X CODE
69#else
70OTHER-CODE
71#endif
72
732. The Plugin-Handling by MacOS-X is different than it is by Linux.
74On linux-systems, shared libraries are not different to dynamic loaded libraries
75(aka plugins). They just are different whether they are loaded automatically
76at startup or manually by any application.
77On MacOS-X, the plugins are loaded by a special mechanism and must be in a special
78binary format. Therefore you have to add the term "plugin" to the CONFIG-clause, as
79for instance:
80
81TEMPLATE=lib
82CONFIG += qt plugin release
83
84If you don't add "plugin" you will get a shared library which is not loadable
85(Error-Code: NSObjectFileImageInappropriateFile (2))!
86
87
88
89For problems, help and flames, feel free to contact me at
90
91eilers.stefan@epost.de \ No newline at end of file
diff --git a/development/macosx/config_macosx b/development/macosx/config_macosx
new file mode 100644
index 0000000..eb0792f
--- a/dev/null
+++ b/development/macosx/config_macosx
@@ -0,0 +1,290 @@
1#
2# Automatically generated make config: don't edit
3#
4
5#
6# Build Parameters
7#
8# CONFIG_TARGET_X86 is not set
9CONFIG_TARGET_MACOSX=y
10# CONFIG_TARGET_SHARP is not set
11# CONFIG_TARGET_IPAQ is not set
12# CONFIG_TARGET_RAMSES is not set
13# CONFIG_TARGET_SIMPAD is not set
14# CONFIG_TARGET_YOPY is not set
15# CONFIG_OPTIMIZE is not set
16CONFIG_DEBUG=y
17CONFIG_QUICK_LAUNCH=y
18# CONFIG_OPIE_NO_OVERRIDE_QT is not set
19CONFIG_SPECFILE="qws/macx-generic-g++"
20CONFIG_EXPERIMENTAL=y
21
22#
23# Base
24#
25CONFIG_LIBQPE=y
26# CONFIG_X11 is not set
27CONFIG_LIBOPIE=y
28# CONFIG_OPIE-LOGIN is not set
29# CONFIG_OPIEALARM is not set
30CONFIG_LAUNCHER=y
31CONFIG_PRELOAD=y
32CONFIG_LAUNCHER_CORE=y
33CONFIG_QWS=y
34
35#
36#
37#
38
39#
40# Applets
41#
42CONFIG_BATTERYAPPLET=y
43# CONFIG_CARDMON is not set
44CONFIG_CLIPBOARDAPPLET=y
45CONFIG_CLOCKAPPLET=y
46CONFIG_HOMEAPPLET=y
47# CONFIG_IRDAAPPLET is not set
48# CONFIG_LOGOUTAPPLET is not set
49# CONFIG_OBEXAPPLET is not set
50# CONFIG_OBEX is not set
51# CONFIG_RESTARTAPPLET is not set
52# CONFIG_ROTATEAPPLET is not set
53# CONFIG_SCREENSHOTAPPLET is not set
54# CONFIG_SUSPENDAPPLET is not set
55# CONFIG_VMEMO is not set
56# CONFIG_VOLUMEAPPLET is not set
57# CONFIG_VTAPPLET is not set
58
59#
60# Network applet needs a libqpe and libopie2 (core, ui, net)
61#
62CONFIG_NOTESAPPLET=y
63# CONFIG_WIRELESSAPPLET is not set
64
65#
66# Apps
67#
68# CONFIG_CALIBRATE is not set
69# CONFIG_EMBEDDEDKONSOLE is not set
70CONFIG_FILEBROWSER=y
71CONFIG_HELPBROWSER=y
72# CONFIG_OAPP is not set
73CONFIG_OIPKG=y
74CONFIG_QCOP=y
75CONFIG_TEXTEDIT=y
76# CONFIG_ADVANCEDFM is not set
77# CONFIG_AQPKG is not set
78CONFIG_CHECKBOOK=y
79# CONFIG_ODICT is not set
80# CONFIG_BARTENDER is not set
81# CONFIG_OPIE-CONSOLE is not set
82# CONFIG_OPIE-READER is not set
83CONFIG_OPIE-SHEET=y
84CONFIG_OPIE-WRITE=y
85CONFIG_OXYGEN=y
86CONFIG_SYSINFO=y
87CONFIG_TABLEVIEWER=y
88CONFIG_TINYKATE=y
89CONFIG_LIBKATE=y
90# CONFIG_ZSAFE is not set
91
92#
93# Communications and Networking
94#
95# CONFIG_GSMTOOL is not set
96# CONFIG_KEYPEBBLE is not set
97# CONFIG_MOBILEMSG is not set
98# CONFIG_MAIL is not set
99# CONFIG_FTPLIB is not set
100# CONFIG_MAILIT is not set
101# CONFIG_OPIEIRC is not set
102# CONFIG_OPIE-RDESKTOP is not set
103# CONFIG_UBROWSER is not set
104
105#
106# wellenreiter needs libqpe, libopie1 and libopie2 (core+net+ui)
107#
108
109#
110# Games
111#
112CONFIG_BACKGAMMON=y
113CONFIG_BOUNCE=y
114CONFIG_BUZZWORD=y
115CONFIG_FIFTEEN=y
116CONFIG_GO=y
117CONFIG_KBILL=y
118CONFIG_KCHECKERS=y
119CONFIG_KPACMAN=y
120CONFIG_MINDBREAKER=y
121CONFIG_MINESWEEP=y
122# CONFIG_WORDGAME is not set
123CONFIG_PARASHOOT=y
124CONFIG_QASTEROIDS=y
125# CONFIG_SFCAVE is not set
126# CONFIG_SFCAVE-SDL is not set
127# CONFIG_SNAKE is not set
128CONFIG_SOLITAIRE=y
129# CONFIG_TETRIX is not set
130# CONFIG_TICTAC is not set
131
132#
133# Graphics and Multimedia
134#
135# CONFIG_FREETYPE is not set
136CONFIG_DRAWPAD=y
137# CONFIG_QPDF is not set
138# CONFIG_OPIEPLAYER is not set
139
140#
141# opie-camera needs a libqpe, libopie and libopie2core
142#
143# CONFIG_OPIEPLAYER2 is not set
144# CONFIG_OPIEREC is not set
145CONFIG_SHOWIMG=y
146
147#
148# Input methods
149#
150# CONFIG_DASHER is not set
151# CONFIG_DVORAK is not set
152CONFIG_HANDWRITING=y
153
154#
155# opie-handwriting-classicset automatically selected
156#
157
158#
159# opie-handwriting-graffitiset automatically selected
160#
161CONFIG_JUMPX=y
162# CONFIG_KEYBOARD is not set
163CONFIG_KJUMPX=y
164# CONFIG_MULTIKEY is not set
165CONFIG_PICKBOARD=y
166CONFIG_UNIKEYBOARD=y
167
168#
169# Pim
170#
171CONFIG_ADDRESSBOOK=y
172CONFIG_DATEBOOK=y
173CONFIG_OSEARCH=y
174CONFIG_TODAY=y
175CONFIG_TODO=y
176
177#
178# Today Plugins
179#
180# CONFIG_TODAY_FORTUNE is not set
181# CONFIG_TODAY_STOCKTICKER is not set
182# CONFIG_TODAY_WEATHER is not set
183CONFIG_TODAY_ADDRESSBOOK=y
184CONFIG_TODAY_DATEBOOK=y
185CONFIG_TODAY_MAIL=y
186CONFIG_TODAY_TODOLIST=y
187
188#
189# Settings
190#
191CONFIG_BUTTON-SETTINGS=y
192CONFIG_CITYTIME=y
193CONFIG_LAUNCHER-SETTINGS=y
194CONFIG_LIGHT-AND-POWER=y
195CONFIG_SECURITY=y
196CONFIG_APPEARANCE2=y
197CONFIG_BACKUP=y
198CONFIG_LANGUAGE=y
199CONFIG_MEDIUMMOUNT=y
200CONFIG_NETSYSTEMTIME=y
201# CONFIG_NETWORKSETUP is not set
202# CONFIG_SOUND is not set
203# CONFIG_SSHKEYS is not set
204CONFIG_TABMANAGER=y
205# CONFIG_USERMANAGER is not set
206
207#
208# Theming
209#
210
211#
212# Decorations
213#
214CONFIG_DECO_FLAT=y
215CONFIG_DECO_LIQUID=y
216CONFIG_DECO_POLISHED=y
217
218#
219# Styles
220#
221CONFIG_FLAT=y
222CONFIG_FRESH=y
223CONFIG_LIQUID=y
224CONFIG_METAL=y
225CONFIG_THEME=y
226
227#
228# Tools
229#
230CONFIG_CALCULATOR=y
231CONFIG_CLOCK=y
232CONFIG_EUROCONV=y
233# CONFIG_FORMATTER is not set
234CONFIG_OPIE-SH=y
235# CONFIG_REMOTE is not set
236
237#
238# Development
239#
240# CONFIG_KEYVIEW is not set
241
242#
243# Examples
244#
245# CONFIG_EXAMPLES is not set
246
247#
248#
249#
250
251#
252# Experimental
253#
254
255#
256# libopie2
257#
258# CONFIG_LIBOPIE2CORE is not set
259
260#
261# libopie2db needs a libqpe and libopie2core
262#
263
264#
265# libopie2net needs a libqpe and libopie2core
266#
267
268#
269# libopie2pim needs a libqpe and libopie2core
270#
271
272#
273# libopie2ui needs a libqpe and libopie2core
274#
275
276#
277# libopie2mm needs a libqpe and libopie2core
278#
279
280#
281#
282#
283
284#
285# the examples need a libqpe, libopie2core, libopie2db, libopie2net, libopie2pim, libopie2ui and libopie2mm
286#
287
288#
289# SQL-Support needs libopie2db!
290#
diff --git a/include.pro b/include.pro
index 70ed731..4bdcaa7 100644
--- a/include.pro
+++ b/include.pro
@@ -1,10 +1,11 @@
1include ( $(OPIEDIR)/gen.pro ) 1include ( $(OPIEDIR)/gen.pro )
2 2
3# base opie install path 3# base opie install path
4prefix = /opt/QtPalmtop 4# prefix = /opt/QtPalmtop ??? Why here (eilers) ???
5prefix = $(OPIEDIR)
5 6
6contains( CONFIG, quick-app-lib ) { 7contains( CONFIG, quick-app-lib ) {
7 TEMPLATE = lib 8 TEMPLATE = lib
8 DESTDIR = $(OPIEDIR)/plugins/application 9 DESTDIR = $(OPIEDIR)/plugins/application
9 DEFINES += OPIE_APP_INTERFACE 10 DEFINES += OPIE_APP_INTERFACE
10 !contains( TARGET, launcher ) { 11 !contains( TARGET, launcher ) {
@@ -92,13 +93,22 @@ messages.target = messages
92messages.commands = xgettext -C -n -ktr -kQT_TRANSLATE_NOOP $$HEADERS $$SOURCES -o '$(OPIEDIR)/messages-$(QMAKE_TARGET)-tr.po' && xgettext -C -n -a $$HEADERS $$SOURCES -o '$(OPIEDIR)/messages-$(QMAKE_TARGET)-allstrings.po' 93messages.commands = xgettext -C -n -ktr -kQT_TRANSLATE_NOOP $$HEADERS $$SOURCES -o '$(OPIEDIR)/messages-$(QMAKE_TARGET)-tr.po' && xgettext -C -n -a $$HEADERS $$SOURCES -o '$(OPIEDIR)/messages-$(QMAKE_TARGET)-allstrings.po'
93 94
94ipk.target = ipk 95ipk.target = ipk
95ipk.commands = tmp=`mktemp -d /tmp/ipkg-opie.XXXXXXXXXX` && ( $(MAKE) INSTALL_ROOT="$$$$tmp" install && ipkg-build $$$$tmp; rm -rf $$$$tmp; ) 96ipk.commands = tmp=`mktemp -d /tmp/ipkg-opie.XXXXXXXXXX` && ( $(MAKE) INSTALL_ROOT="$$$$tmp" install && ipkg-build $$$$tmp; rm -rf $$$$tmp; )
96 97
97QMAKE_EXTRA_UNIX_TARGETS += lupdate lrelease ipk opie-lupdate opie-lrelease messages 98QMAKE_EXTRA_UNIX_TARGETS += lupdate lrelease ipk opie-lupdate opie-lrelease messages
99CONFTEST = $$system( echo $CONFIG_TARGET_MACOSX )
100contains( CONFTEST, y ){
101QMAKE_LFLAGS += -Wl
102}
103else {
98QMAKE_LFLAGS += -Wl,-rpath=$$prefix/lib 104QMAKE_LFLAGS += -Wl,-rpath=$$prefix/lib
105# I am not sure whether it is a good idea to change the way plugins is build
106# on linux. Therefore I remove the "plugin" term, which is needed by MacOS-X
107CONFIG -= plugin
108}
99QMAKE_LIBDIR += $(OPIEDIR)/lib 109QMAKE_LIBDIR += $(OPIEDIR)/lib
100 110
101MOC_DIR=.moc/$(PLATFORM) 111MOC_DIR=.moc/$(PLATFORM)
102OBJECTS_DIR=.obj/$(PLATFORM) 112OBJECTS_DIR=.obj/$(PLATFORM)
103 113
104#was here now at thetop 114#was here now at thetop
diff --git a/inputmethods/dasher/dasher.pro b/inputmethods/dasher/dasher.pro
index 7b6def9..b7669a4 100644
--- a/inputmethods/dasher/dasher.pro
+++ b/inputmethods/dasher/dasher.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 3
4HEADERS = Alphabet.h \ 4HEADERS = Alphabet.h \
5 DasherModel.h \ 5 DasherModel.h \
6 FrameRate.h \ 6 FrameRate.h \
7 AlphabetMap.h \ 7 AlphabetMap.h \
8 DasherNode.h \ 8 DasherNode.h \
diff --git a/inputmethods/dvorak/dvorak.pro b/inputmethods/dvorak/dvorak.pro
index cd30aa2..67fe4e6 100644
--- a/inputmethods/dvorak/dvorak.pro
+++ b/inputmethods/dvorak/dvorak.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= dvorak.h \ 3 HEADERS= dvorak.h \
4 dvorakimpl.h 4 dvorakimpl.h
5 SOURCES= dvorak.cpp \ 5 SOURCES= dvorak.cpp \
6 dvorakimpl.cpp 6 dvorakimpl.cpp
7 TARGET = qdvorak 7 TARGET = qdvorak
8 DESTDIR = ../../plugins/inputmethods 8 DESTDIR = ../../plugins/inputmethods
diff --git a/inputmethods/handwriting/handwriting.pro b/inputmethods/handwriting/handwriting.pro
index 4ec5932..7a22208 100644
--- a/inputmethods/handwriting/handwriting.pro
+++ b/inputmethods/handwriting/handwriting.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= qimpenchar.h \ 3 HEADERS= qimpenchar.h \
4 qimpenprofile.h \ 4 qimpenprofile.h \
5 qimpencombining.h \ 5 qimpencombining.h \
6 qimpenhelp.h \ 6 qimpenhelp.h \
7 qimpeninput.h \ 7 qimpeninput.h \
8 qimpenmatch.h \ 8 qimpenmatch.h \
diff --git a/inputmethods/jumpx/jumpx.pro b/inputmethods/jumpx/jumpx.pro
index eff4563..a75ffd5 100644
--- a/inputmethods/jumpx/jumpx.pro
+++ b/inputmethods/jumpx/jumpx.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = keyboard.h \ 3HEADERS = keyboard.h \
4 keyboardimpl.h 4 keyboardimpl.h
5SOURCES = keyboard.cpp \ 5SOURCES = keyboard.cpp \
6 keyboardimpl.cpp 6 keyboardimpl.cpp
7TARGET = qjumpx 7TARGET = qjumpx
8DESTDIR = ../../plugins/inputmethods 8DESTDIR = ../../plugins/inputmethods
diff --git a/inputmethods/keyboard/keyboard.pro b/inputmethods/keyboard/keyboard.pro
index 5ca97f1..56e35b9 100644
--- a/inputmethods/keyboard/keyboard.pro
+++ b/inputmethods/keyboard/keyboard.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= keyboard.h \ 3 HEADERS= keyboard.h \
4 keyboardimpl.h 4 keyboardimpl.h
5 SOURCES= keyboard.cpp \ 5 SOURCES= keyboard.cpp \
6 keyboardimpl.cpp 6 keyboardimpl.cpp
7 TARGET = qkeyboard 7 TARGET = qkeyboard
8 DESTDIR = ../../plugins/inputmethods 8 DESTDIR = ../../plugins/inputmethods
diff --git a/inputmethods/kjumpx/kjumpx.pro b/inputmethods/kjumpx/kjumpx.pro
index 0624583..2dd6ddf 100644
--- a/inputmethods/kjumpx/kjumpx.pro
+++ b/inputmethods/kjumpx/kjumpx.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = keyboard.h \ 3HEADERS = keyboard.h \
4 keyboardimpl.h 4 keyboardimpl.h
5SOURCES = keyboard.cpp \ 5SOURCES = keyboard.cpp \
6 keyboardimpl.cpp 6 keyboardimpl.cpp
7TARGET = qkjumpx 7TARGET = qkjumpx
8DESTDIR = ../../plugins/inputmethods 8DESTDIR = ../../plugins/inputmethods
diff --git a/inputmethods/multikey/multikey.pro b/inputmethods/multikey/multikey.pro
index 424c000..82dcb94 100644
--- a/inputmethods/multikey/multikey.pro
+++ b/inputmethods/multikey/multikey.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= keyboard.h \ 3 HEADERS= keyboard.h \
4 configdlg.h \ 4 configdlg.h \
5 keyboardimpl.h 5 keyboardimpl.h
6 SOURCES= keyboard.cpp \ 6 SOURCES= keyboard.cpp \
7 configdlg.cpp \ 7 configdlg.cpp \
8 keyboardimpl.cpp 8 keyboardimpl.cpp
diff --git a/inputmethods/pickboard/pickboard.pro b/inputmethods/pickboard/pickboard.pro
index 53ff8f0..b86c069 100644
--- a/inputmethods/pickboard/pickboard.pro
+++ b/inputmethods/pickboard/pickboard.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= pickboard.h pickboardcfg.h pickboardimpl.h pickboardpicks.h 3 HEADERS= pickboard.h pickboardcfg.h pickboardimpl.h pickboardpicks.h
4 SOURCES= pickboard.cpp pickboardcfg.cpp pickboardimpl.cpp pickboardpicks.cpp 4 SOURCES= pickboard.cpp pickboardcfg.cpp pickboardimpl.cpp pickboardpicks.cpp
5 TARGET = qpickboard 5 TARGET = qpickboard
6 DESTDIR = ../../plugins/inputmethods 6 DESTDIR = ../../plugins/inputmethods
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include ../../launcher 8DEPENDPATH += ../$(OPIEDIR)/include ../../launcher
diff --git a/inputmethods/unikeyboard/unikeyboard.pro b/inputmethods/unikeyboard/unikeyboard.pro
index 0732dc8..678f575 100644
--- a/inputmethods/unikeyboard/unikeyboard.pro
+++ b/inputmethods/unikeyboard/unikeyboard.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= unikeyboard.h unikeyboardimpl.h 3 HEADERS= unikeyboard.h unikeyboardimpl.h
4 SOURCES= unikeyboard.cpp unikeyboardimpl.cpp 4 SOURCES= unikeyboard.cpp unikeyboardimpl.cpp
5 TARGET = qunikeyboard 5 TARGET = qunikeyboard
6 DESTDIR = ../../plugins/inputmethods 6 DESTDIR = ../../plugins/inputmethods
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include ../../launcher 8DEPENDPATH += ../$(OPIEDIR)/include ../../launcher
diff --git a/libopie/libopie.pro b/libopie/libopie.pro
index 0398775..bf6b78f 100644
--- a/libopie/libopie.pro
+++ b/libopie/libopie.pro
@@ -90,16 +90,12 @@ SOURCES = ofontmenu.cc \
90 oticker.cpp owait.cpp 90 oticker.cpp owait.cpp
91 91
92TARGET = opie 92TARGET = opie
93INCLUDEPATH += $(OPIEDIR)/include 93INCLUDEPATH += $(OPIEDIR)/include
94DESTDIR = $(OPIEDIR)/lib$(PROJMAK) 94DESTDIR = $(OPIEDIR)/lib$(PROJMAK)
95 95
96# The following is just for my Notebook !
97# It should never be committed !! (eilers)
98# QMAKE_CXXFLAGS += -DQT_NO_SOUND
99
100LIBS += -lqpe 96LIBS += -lqpe
101 97
102# Add SQL-Support if selected by config (eilers) 98# Add SQL-Support if selected by config (eilers)
103CONFTEST = $$system( echo $CONFIG_SQL_PIM_BACKEND ) 99CONFTEST = $$system( echo $CONFIG_SQL_PIM_BACKEND )
104contains( CONFTEST, y ){ 100contains( CONFTEST, y ){
105 101
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp
index 3edf8e7..fef623a 100644
--- a/libopie/odevice.cpp
+++ b/libopie/odevice.cpp
@@ -20,13 +20,15 @@
20#include <stdlib.h> 20#include <stdlib.h>
21#include <unistd.h> 21#include <unistd.h>
22#include <fcntl.h> 22#include <fcntl.h>
23#include <sys/ioctl.h> 23#include <sys/ioctl.h>
24#include <signal.h> 24#include <signal.h>
25#include <sys/time.h> 25#include <sys/time.h>
26#ifndef QT_NO_SOUND
26#include <linux/soundcard.h> 27#include <linux/soundcard.h>
28#endif
27#include <math.h> 29#include <math.h>
28 30
29#include <qapplication.h> 31#include <qapplication.h>
30 32
31#include <qfile.h> 33#include <qfile.h>
32#include <qtextstream.h> 34#include <qtextstream.h>
diff --git a/library/filemanager.cpp b/library/filemanager.cpp
index cc657fa..91986a0 100644
--- a/library/filemanager.cpp
+++ b/library/filemanager.cpp
@@ -28,13 +28,22 @@
28 28
29#include <errno.h> 29#include <errno.h>
30#include <stdlib.h> 30#include <stdlib.h>
31#include <unistd.h> 31#include <unistd.h>
32#include <sys/stat.h> 32#include <sys/stat.h>
33#include <dirent.h> 33#include <dirent.h>
34#include <sys/sendfile.h> 34#ifdef Q_OS_MACX
35// MacOS X does not have sendfile.. :(
36// But maybe in the future.. !?
37# ifdef SENDFILE
38# include <sys/types.h>
39# include <sys/socket.h>
40# endif
41#else
42# include <sys/sendfile.h>
43#endif /* Q_OS_MACX */
35#include <fcntl.h> 44#include <fcntl.h>
36 45
37/*! 46/*!
38 \class FileManager 47 \class FileManager
39 \brief The FileManager class assists with AppLnk input/output. 48 \brief The FileManager class assists with AppLnk input/output.
40*/ 49*/
@@ -213,12 +222,14 @@ bool FileManager::copyFile( const AppLnk &src, const AppLnk &dest )
213 QFile::remove( fn.latin1() ); 222 QFile::remove( fn.latin1() );
214 } 223 }
215 224
216 return ok; 225 return ok;
217} 226}
218 227
228
229
219bool FileManager::copyFile( const QString & src, const QString & dest ) { 230bool FileManager::copyFile( const QString & src, const QString & dest ) {
220 bool success = true; 231 bool success = true;
221 struct stat status; 232 struct stat status;
222 int read_fd=0; 233 int read_fd=0;
223 int write_fd=0; 234 int write_fd=0;
224 struct stat stat_buf; 235 struct stat stat_buf;
@@ -235,23 +246,55 @@ bool FileManager::copyFile( const QString & src, const QString & dest ) {
235 if( !destFile.open( IO_WriteOnly|IO_Raw ) ) 246 if( !destFile.open( IO_WriteOnly|IO_Raw ) )
236 return success = false; 247 return success = false;
237 write_fd = destFile.handle(); 248 write_fd = destFile.handle();
238 if(write_fd != -1) { 249 if(write_fd != -1) {
239 int err=0; 250 int err=0;
240 QString msg; 251 QString msg;
241 err = sendfile(write_fd, read_fd, &offset, stat_buf.st_size); 252#ifdef Q_OS_MACX
242 if( err == -1) { 253#ifdef SENDMAIL
243 switch(err) { 254 /* FreeBSD does support a different kind of
244 case EBADF : msg = "The input file was not opened for reading or the output file was not opened for writing. "; 255 * sendfile. (eilers)
245 case EINVAL: msg = "Descriptor is not valid or locked. "; 256 * I took this from Very Secure FTPd
246 case ENOMEM: msg = "Insufficient memory to read from in_fd."; 257 * Licence: GPL
247 case EIO: msg = "Unspecified error while reading from in_fd."; 258 * Author: Chris Evans
248 }; 259 * sysdeputil.c
249 success = false; 260 */
250 } 261 /* XXX - start_pos will truncate on 32-bit machines - can we
251 } else { 262 * say "start from current pos"?
263 */
264 off_t written = 0;
265 int retval = 0;
266 retval = sendfile(read_fd, write_fd, offset, stat_buf.st_size, NULL,
267 &written, 0);
268 /* Translate to Linux-like retval */
269 if (written > 0)
270 {
271 err = (int) written;
272 }
273#else /* SENDMAIL */
274 err == -1;
275 msg = "FAILURE: Using unsupported function \"sendfile()\" Need Workaround !!";
276 success = false;
277# warning "Need workaround for sendfile!!(eilers)"
278#endif /* SENDMAIL */
279
280#else
281 err = sendfile(write_fd, read_fd, &offset, stat_buf.st_size);
282 if( err == -1) {
283 switch(err) {
284 case EBADF : msg = "The input file was not opened for reading or the output file was not opened for writing. ";
285 case EINVAL: msg = "Descriptor is not valid or locked. ";
286 case ENOMEM: msg = "Insufficient memory to read from in_fd.";
287 case EIO: msg = "Unspecified error while reading from in_fd.";
288 };
289 success = false;
290 }
291#endif /* Q_OS_MACX */
292 if( !success )
293 qWarning( msg );
294 } else {
252 qWarning("open write failed %s, %s",src.latin1(), dest.latin1()); 295 qWarning("open write failed %s, %s",src.latin1(), dest.latin1());
253 success = false; 296 success = false;
254 } 297 }
255 } else { 298 } else {
256 qWarning("open read failed %s, %s",src.latin1(), dest.latin1()); 299 qWarning("open read failed %s, %s",src.latin1(), dest.latin1());
257 success = false; 300 success = false;
diff --git a/library/fontdatabase.cpp b/library/fontdatabase.cpp
index c7a5211..2ad8e95 100644
--- a/library/fontdatabase.cpp
+++ b/library/fontdatabase.cpp
@@ -167,13 +167,17 @@ void FontDatabase::loadRenderers()
167 (*mit).library->unload(); 167 (*mit).library->unload();
168 delete (*mit).library; 168 delete (*mit).library;
169 } 169 }
170 factoryList->clear(); 170 factoryList->clear();
171 171
172 QString path = QPEApplication::qpeDir() + "/plugins/fontfactories"; 172 QString path = QPEApplication::qpeDir() + "/plugins/fontfactories";
173#ifdef Q_OS_MACX
174 QDir dir( path, "lib*.dylib" );
175#else
173 QDir dir( path, "lib*.so" ); 176 QDir dir( path, "lib*.so" );
177#endif
174 178
175 if ( !dir.exists()) 179 if ( !dir.exists())
176 return; 180 return;
177 181
178 QStringList list = dir.entryList(); 182 QStringList list = dir.entryList();
179 QStringList::Iterator it; 183 QStringList::Iterator it;
diff --git a/library/global.cpp b/library/global.cpp
index 90954fe..05d23ac 100644
--- a/library/global.cpp
+++ b/library/global.cpp
@@ -601,13 +601,17 @@ void Global::invoke(const QString &c)
601 // an attempt to show a wait... 601 // an attempt to show a wait...
602 // more logic should be used, but this will be fine for the moment... 602 // more logic should be used, but this will be fine for the moment...
603 QCopEnvelope ( "QPE/System", "busy()" ); 603 QCopEnvelope ( "QPE/System", "busy()" );
604#endif 604#endif
605 605
606#ifdef HAVE_QUICKEXEC 606#ifdef HAVE_QUICKEXEC
607#ifdef Q_OS_MACX
608 QString libexe = qpeDir()+"/binlib/lib"+args[0] + ".dylib";
609#else
607 QString libexe = qpeDir()+"/binlib/lib"+args[0] + ".so"; 610 QString libexe = qpeDir()+"/binlib/lib"+args[0] + ".so";
611#endif
608 qDebug("libfile = %s", libexe.latin1() ); 612 qDebug("libfile = %s", libexe.latin1() );
609 if ( QFile::exists( libexe ) ) { 613 if ( QFile::exists( libexe ) ) {
610 qDebug("calling quickexec %s", libexe.latin1() ); 614 qDebug("calling quickexec %s", libexe.latin1() );
611 quickexecv( libexe.utf8().data(), (const char **)args ); 615 quickexecv( libexe.utf8().data(), (const char **)args );
612 } else 616 } else
613#endif 617#endif
diff --git a/library/library.pro b/library/library.pro
index ab1f451..5acfc0c 100644
--- a/library/library.pro
+++ b/library/library.pro
@@ -121,13 +121,13 @@ SOURCES = calendar.cpp \
121 121
122 122
123# Qt 3 compatibility 123# Qt 3 compatibility
124HEADERS += quuid.h qcom.h qlibrary.h qlibrary_p.h 124HEADERS += quuid.h qcom.h qlibrary.h qlibrary_p.h
125SOURCES += quuid.cpp qlibrary.cpp qlibrary_unix.cpp 125SOURCES += quuid.cpp qlibrary.cpp qlibrary_unix.cpp
126INCLUDEPATH += $(OPIEDIR)/include backend 126INCLUDEPATH += $(OPIEDIR)/include backend
127 LIBS += -ldl -lcrypt -lm 127 # LIBS += -ldl -lcrypt -lm
128INTERFACES = passwordbase_p.ui categoryeditbase_p.ui findwidgetbase_p.ui lnkpropertiesbase_p.ui 128INTERFACES = passwordbase_p.ui categoryeditbase_p.ui findwidgetbase_p.ui lnkpropertiesbase_p.ui
129 TARGET = qpe 129 TARGET = qpe
130 DESTDIR = $(OPIEDIR)/lib$(PROJMAK) 130 DESTDIR = $(OPIEDIR)/lib$(PROJMAK)
131 VERSION = 1.5.0.1 131 VERSION = 1.5.0.1
132 132
133TRANSLATIONS = ../i18n/de/libqpe.ts \ 133TRANSLATIONS = ../i18n/de/libqpe.ts \
diff --git a/library/network.cpp b/library/network.cpp
index 3568809..991e11a 100644
--- a/library/network.cpp
+++ b/library/network.cpp
@@ -415,13 +415,17 @@ static QDict<NetworkInterface> *ifaces;
415NetworkInterface* Network::loadPlugin(const QString& type) 415NetworkInterface* Network::loadPlugin(const QString& type)
416{ 416{
417#ifndef QT_NO_COMPONENT 417#ifndef QT_NO_COMPONENT
418 if ( !ifaces ) ifaces = new QDict<NetworkInterface>; 418 if ( !ifaces ) ifaces = new QDict<NetworkInterface>;
419 NetworkInterface *iface = ifaces->find(type); 419 NetworkInterface *iface = ifaces->find(type);
420 if ( !iface ) { 420 if ( !iface ) {
421#ifdef Q_OS_MACX
422 QString libfile = QPEApplication::qpeDir() + "/plugins/network/lib" + type + ".dylib";
423#else
421 QString libfile = QPEApplication::qpeDir() + "/plugins/network/lib" + type + ".so"; 424 QString libfile = QPEApplication::qpeDir() + "/plugins/network/lib" + type + ".so";
425#endif
422 QLibrary lib(libfile); 426 QLibrary lib(libfile);
423 if ( !lib.queryInterface( IID_Network, (QUnknownInterface**)&iface ) == QS_OK ) 427 if ( !lib.queryInterface( IID_Network, (QUnknownInterface**)&iface ) == QS_OK )
424 return 0; 428 return 0;
425 ifaces->insert(type,iface); 429 ifaces->insert(type,iface);
426 QStringList langs = Global::languageList(); 430 QStringList langs = Global::languageList();
427 for (QStringList::ConstIterator it = langs.begin(); it!=langs.end(); ++it) { 431 for (QStringList::ConstIterator it = langs.begin(); it!=langs.end(); ++it) {
diff --git a/library/qlibrary_unix.cpp b/library/qlibrary_unix.cpp
index 7740321..0229b7b 100644
--- a/library/qlibrary_unix.cpp
+++ b/library/qlibrary_unix.cpp
@@ -73,13 +73,124 @@ void* QLibraryPrivate::resolveSymbol( const char* symbol )
73#endif 73#endif
74 return 0; 74 return 0;
75 } 75 }
76 return address; 76 return address;
77} 77}
78 78
79#else // Q_OS_HPUX 79#elif defined(_NULL_LIB_)
80
81bool QLibraryPrivate::loadLibrary()
82{
83 //qDebug("QLibraryPrivate::loadLibrary\n");
84 return FALSE;
85}
86bool QLibraryPrivate::freeLibrary()
87{
88 //qDebug("QLibraryPrivate::freeLibrary\n");
89 return FALSE;
90}
91void* QLibraryPrivate::resolveSymbol( const char* symbol )
92{
93 //qDebug("QLibraryPrivate::resolveSymbol\n");
94 return FALSE;
95}
96
97#elif defined(Q_OS_MACX)
98
99#define ENUM_DYLD_BOOL
100enum DYLD_BOOL {
101 DYLD_FALSE,
102 DYLD_TRUE
103};
104#include <mach-o/dyld.h>
105typedef struct {
106 NSObjectFileImage img;
107 NSModule mod;
108} DyldLibDesc;
109
110bool QLibraryPrivate::loadLibrary()
111{
112 // qDebug("QLibraryPrivate::loadLibrary\n");
113 // return FALSE;
114 if ( pHnd )
115 return TRUE;
116
117 QString filename = library->library();
118
119 NSObjectFileImage img = 0;
120 NSModule mod = 0;
121 NSObjectFileImageReturnCode ret = NSCreateObjectFileImageFromFile( filename.latin1() , &img );
122 if ( ret != NSObjectFileImageSuccess ) {
123 qWarning( "Error in NSCreateObjectFileImageFromFile(): %d; Filename: %s", ret, filename.latin1() );
124 if (ret == NSObjectFileImageAccess) {
125 qWarning ("(NSObjectFileImageAccess)" );
126 }
127 } else {
128 mod = NSLinkModule(img, filename.latin1(), NSLINKMODULE_OPTION_BINDNOW |
129 NSLINKMODULE_OPTION_PRIVATE |
130 NSLINKMODULE_OPTION_RETURN_ON_ERROR);
131 if (mod == 0) {
132 qWarning( "Error in NSLinkModule()" );
133 NSDestroyObjectFileImage(img);
134 }
135 }
136 DyldLibDesc* desc = 0;
137 if (img != 0 && mod != 0) {
138 desc = new DyldLibDesc;
139 desc->img = img;
140 desc->mod = mod;
141 }
142 pHnd = desc;
143 return pHnd != 0;
144}
145
146bool QLibraryPrivate::freeLibrary()
147{
148 //qDebug("QLibraryPrivate::freeLibrary\n");
149 //return FALSE;
150 if ( !pHnd )
151 return TRUE;
152
153 DyldLibDesc* desc = (DyldLibDesc*) pHnd;
154 NSModule mod = desc->mod;
155 NSObjectFileImage img = desc->img;
156 DYLD_BOOL success = NSUnLinkModule(mod, NSUNLINKMODULE_OPTION_NONE);
157 if ( success ) {
158 NSDestroyObjectFileImage(img);
159 delete desc;
160 pHnd = 0;
161 }
162#if defined(QT_DEBUG) || defined(QT_DEBUG_COMPONENT)
163 else {
164 qWarning( "Error in NSUnLinkModule(): %d", ret );
165 }
166#endif
167 return pHnd == 0;
168}
169
170void* QLibraryPrivate::resolveSymbol( const char* symbol )
171{
172 //qDebug("QLibraryPrivate::resolveSymbol\n");
173 //return FALSE;
174 if ( !pHnd )
175 return 0;
176
177 DyldLibDesc* desc = (DyldLibDesc*) pHnd;
178 NSSymbol sym = NSLookupSymbolInModule(desc->mod, symbol);
179 void* address = 0;
180 if (sym != 0) {
181 address = NSAddressOfSymbol(sym);
182 }
183#if defined(QT_DEBUG) || defined(QT_DEBUG_COMPONENT)
184 if ( address == 0 )
185 qWarning( "Cannot find symbol: %s", symbol );
186#endif
187 return address;
188}
189
190#else
80// Something else, assuming POSIX 191// Something else, assuming POSIX
81#include <dlfcn.h> 192#include <dlfcn.h>
82 193
83bool QLibraryPrivate::loadLibrary() 194bool QLibraryPrivate::loadLibrary()
84{ 195{
85 if ( pHnd ) 196 if ( pHnd )
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index d4734ae..a97efc0 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -17,13 +17,15 @@
17** not clear to you. 17** not clear to you.
18** 18**
19*/ 19*/
20#define QTOPIA_INTERNAL_LANGLIST 20#define QTOPIA_INTERNAL_LANGLIST
21#include <stdlib.h> 21#include <stdlib.h>
22#include <unistd.h> 22#include <unistd.h>
23#ifndef Q_OS_MACX
23#include <linux/limits.h> // needed for some toolchains (PATH_MAX) 24#include <linux/limits.h> // needed for some toolchains (PATH_MAX)
25#endif
24#include <qfile.h> 26#include <qfile.h>
25#include <qqueue.h> 27#include <qqueue.h>
26#ifdef Q_WS_QWS 28#ifdef Q_WS_QWS
27#ifndef QT_NO_COP 29#ifndef QT_NO_COP
28#if QT_VERSION <= 231 30#if QT_VERSION <= 231
29#define private public 31#define private public
@@ -86,14 +88,15 @@
86#include "textcodecinterface.h" 88#include "textcodecinterface.h"
87#include "imagecodecinterface.h" 89#include "imagecodecinterface.h"
88 90
89#include <unistd.h> 91#include <unistd.h>
90#include <sys/file.h> 92#include <sys/file.h>
91#include <sys/ioctl.h> 93#include <sys/ioctl.h>
94#ifndef QT_NO_SOUND
92#include <sys/soundcard.h> 95#include <sys/soundcard.h>
93 96#endif
94#include "qt_override_p.h" 97#include "qt_override_p.h"
95 98
96 99
97class QPEApplicationData 100class QPEApplicationData
98{ 101{
99public: 102public:
@@ -230,13 +233,17 @@ public:
230 } 233 }
231 } 234 }
232 235
233 void loadTextCodecs() 236 void loadTextCodecs()
234 { 237 {
235 QString path = QPEApplication::qpeDir() + "/plugins/textcodecs"; 238 QString path = QPEApplication::qpeDir() + "/plugins/textcodecs";
239#ifdef Q_OS_MACX
240 QDir dir( path, "lib*.dylib" );
241#else
236 QDir dir( path, "lib*.so" ); 242 QDir dir( path, "lib*.so" );
243#endif
237 QStringList list; 244 QStringList list;
238 if ( dir. exists ( )) 245 if ( dir. exists ( ))
239 list = dir.entryList(); 246 list = dir.entryList();
240 QStringList::Iterator it; 247 QStringList::Iterator it;
241 for ( it = list.begin(); it != list.end(); ++it ) { 248 for ( it = list.begin(); it != list.end(); ++it ) {
242 TextCodecInterface *iface = 0; 249 TextCodecInterface *iface = 0;
@@ -255,13 +262,17 @@ public:
255 } 262 }
256 } 263 }
257 264
258 void loadImageCodecs() 265 void loadImageCodecs()
259 { 266 {
260 QString path = QPEApplication::qpeDir() + "/plugins/imagecodecs"; 267 QString path = QPEApplication::qpeDir() + "/plugins/imagecodecs";
268#ifdef Q_OS_MACX
269 QDir dir( path, "lib*.dylib" );
270#else
261 QDir dir( path, "lib*.so" ); 271 QDir dir( path, "lib*.so" );
272#endif
262 QStringList list; 273 QStringList list;
263 if ( dir. exists ( )) 274 if ( dir. exists ( ))
264 list = dir.entryList(); 275 list = dir.entryList();
265 QStringList::Iterator it; 276 QStringList::Iterator it;
266 for ( it = list.begin(); it != list.end(); ++it ) { 277 for ( it = list.begin(); it != list.end(); ++it ) {
267 ImageCodecInterface *iface = 0; 278 ImageCodecInterface *iface = 0;
@@ -337,20 +348,22 @@ static void setVolume( int t = 0, int percent = -1 )
337 switch ( t ) { 348 switch ( t ) {
338 case 0: { 349 case 0: {
339 Config cfg( "qpe" ); 350 Config cfg( "qpe" );
340 cfg.setGroup( "Volume" ); 351 cfg.setGroup( "Volume" );
341 if ( percent < 0 ) 352 if ( percent < 0 )
342 percent = cfg.readNumEntry( "VolumePercent", 50 ); 353 percent = cfg.readNumEntry( "VolumePercent", 50 );
354#ifndef QT_NO_SOUND
343 int fd = 0; 355 int fd = 0;
344 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) { 356 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) {
345 int vol = muted ? 0 : percent; 357 int vol = muted ? 0 : percent;
346 // set both channels to same volume 358 // set both channels to same volume
347 vol |= vol << 8; 359 vol |= vol << 8;
348 ioctl( fd, MIXER_WRITE( 0 ), &vol ); 360 ioctl( fd, MIXER_WRITE( 0 ), &vol );
349 ::close( fd ); 361 ::close( fd );
350 } 362 }
363#endif
351 } 364 }
352 break; 365 break;
353 } 366 }
354} 367}
355 368
356static void setMic( int t = 0, int percent = -1 ) 369static void setMic( int t = 0, int percent = -1 )
@@ -359,18 +372,20 @@ static void setMic( int t = 0, int percent = -1 )
359 case 0: { 372 case 0: {
360 Config cfg( "qpe" ); 373 Config cfg( "qpe" );
361 cfg.setGroup( "Volume" ); 374 cfg.setGroup( "Volume" );
362 if ( percent < 0 ) 375 if ( percent < 0 )
363 percent = cfg.readNumEntry( "Mic", 50 ); 376 percent = cfg.readNumEntry( "Mic", 50 );
364 377
378#ifndef QT_NO_SOUND
365 int fd = 0; 379 int fd = 0;
366 int mic = micMuted ? 0 : percent; 380 int mic = micMuted ? 0 : percent;
367 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) { 381 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) {
368 ioctl( fd, MIXER_WRITE( SOUND_MIXER_MIC ), &mic ); 382 ioctl( fd, MIXER_WRITE( SOUND_MIXER_MIC ), &mic );
369 ::close( fd ); 383 ::close( fd );
370 } 384 }
385#endif
371 } 386 }
372 break; 387 break;
373 } 388 }
374} 389}
375 390
376 391
@@ -380,18 +395,20 @@ static void setBass( int t = 0, int percent = -1 )
380 case 0: { 395 case 0: {
381 Config cfg( "qpe" ); 396 Config cfg( "qpe" );
382 cfg.setGroup( "Volume" ); 397 cfg.setGroup( "Volume" );
383 if ( percent < 0 ) 398 if ( percent < 0 )
384 percent = cfg.readNumEntry( "BassPercent", 50 ); 399 percent = cfg.readNumEntry( "BassPercent", 50 );
385 400
401#ifndef QT_NO_SOUND
386 int fd = 0; 402 int fd = 0;
387 int bass = percent; 403 int bass = percent;
388 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) { 404 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) {
389 ioctl( fd, MIXER_WRITE( SOUND_MIXER_BASS ), &bass ); 405 ioctl( fd, MIXER_WRITE( SOUND_MIXER_BASS ), &bass );
390 ::close( fd ); 406 ::close( fd );
391 } 407 }
408#endif
392 } 409 }
393 break; 410 break;
394 } 411 }
395} 412}
396 413
397 414
@@ -401,18 +418,20 @@ static void setTreble( int t = 0, int percent = -1 )
401 case 0: { 418 case 0: {
402 Config cfg( "qpe" ); 419 Config cfg( "qpe" );
403 cfg.setGroup( "Volume" ); 420 cfg.setGroup( "Volume" );
404 if ( percent < 0 ) 421 if ( percent < 0 )
405 percent = cfg.readNumEntry( "TreblePercent", 50 ); 422 percent = cfg.readNumEntry( "TreblePercent", 50 );
406 423
424#ifndef QT_NO_SOUND
407 int fd = 0; 425 int fd = 0;
408 int treble = percent; 426 int treble = percent;
409 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) { 427 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) {
410 ioctl( fd, MIXER_WRITE( SOUND_MIXER_TREBLE ), &treble ); 428 ioctl( fd, MIXER_WRITE( SOUND_MIXER_TREBLE ), &treble );
411 ::close( fd ); 429 ::close( fd );
412 } 430 }
431#endif
413 } 432 }
414 break; 433 break;
415 } 434 }
416} 435}
417 436
418 437
@@ -1646,17 +1665,23 @@ void QPEApplication::internalSetStyle( const QString &style )
1646#endif 1665#endif
1647 1666
1648 else { 1667 else {
1649 QStyle *sty = 0; 1668 QStyle *sty = 0;
1650 QString path = QPEApplication::qpeDir ( ) + "/plugins/styles/"; 1669 QString path = QPEApplication::qpeDir ( ) + "/plugins/styles/";
1651 1670
1671#ifdef Q_OS_MACX
1672 if ( style. find ( ".dylib" ) > 0 )
1673 path += style;
1674 else
1675 path = path + "lib" + style. lower ( ) + ".dylib"; // compatibility
1676#else
1652 if ( style. find ( ".so" ) > 0 ) 1677 if ( style. find ( ".so" ) > 0 )
1653 path += style; 1678 path += style;
1654 else 1679 else
1655 path = path + "lib" + style. lower ( ) + ".so"; // compatibility 1680 path = path + "lib" + style. lower ( ) + ".so"; // compatibility
1656 1681#endif
1657 static QLibrary *lastlib = 0; 1682 static QLibrary *lastlib = 0;
1658 static StyleInterface *lastiface = 0; 1683 static StyleInterface *lastiface = 0;
1659 1684
1660 QLibrary *lib = new QLibrary ( path ); 1685 QLibrary *lib = new QLibrary ( path );
1661 StyleInterface *iface = 0; 1686 StyleInterface *iface = 0;
1662 1687
diff --git a/library/qpedecoration_qws.cpp b/library/qpedecoration_qws.cpp
index 933542d..bac1a75 100644
--- a/library/qpedecoration_qws.cpp
+++ b/library/qpedecoration_qws.cpp
@@ -509,17 +509,25 @@ void QPEDecoration::init ( const QString &plugin )
509 delete wdiface; 509 delete wdiface;
510 } 510 }
511 511
512 WindowDecorationInterface *iface = 0; 512 WindowDecorationInterface *iface = 0;
513 QString path = QPEApplication::qpeDir() + "/plugins/decorations/"; 513 QString path = QPEApplication::qpeDir() + "/plugins/decorations/";
514 514
515#ifdef Q_OS_MACX
516 if ( plugin.find( ".dylib" ) > 0 ) {
517#else
515 if ( plugin.find( ".so" ) > 0 ) { 518 if ( plugin.find( ".so" ) > 0 ) {
519#endif
516 // full library name supplied 520 // full library name supplied
517 path += plugin; 521 path += plugin;
518 } else { 522 } else {
523#ifdef Q_OS_MACX
524 path += "lib" + plugin.lower() + ".dylib"; // compatibility
525#else
519 path += "lib" + plugin.lower() + ".so"; // compatibility 526 path += "lib" + plugin.lower() + ".so"; // compatibility
527#endif
520 } 528 }
521 529
522 QLibrary *lib = new QLibrary( path ); 530 QLibrary *lib = new QLibrary( path );
523 if ( lib->queryInterface( IID_WindowDecoration, (QUnknownInterface**)&iface ) == QS_OK && iface ) { 531 if ( lib->queryInterface( IID_WindowDecoration, (QUnknownInterface**)&iface ) == QS_OK && iface ) {
524 wdiface = iface; 532 wdiface = iface;
525 wdlib = lib; 533 wdlib = lib;
diff --git a/library/sound.cpp b/library/sound.cpp
index c8704f9..5b67995 100644
--- a/library/sound.cpp
+++ b/library/sound.cpp
@@ -25,13 +25,16 @@
25#include <qsound.h> 25#include <qsound.h>
26#include <qfile.h> 26#include <qfile.h>
27 27
28#include <unistd.h> 28#include <unistd.h>
29#include <fcntl.h> 29#include <fcntl.h>
30#include <sys/ioctl.h> 30#include <sys/ioctl.h>
31
32#ifndef QT_NO_SOUND
31#include <sys/soundcard.h> 33#include <sys/soundcard.h>
34#endif
32 35
33#include "config.h" 36#include "config.h"
34#include <qmessagebox.h> 37#include <qmessagebox.h>
35#ifndef QT_NO_SOUND 38#ifndef QT_NO_SOUND
36static int WAVsoundDuration(const QString& filename) 39static int WAVsoundDuration(const QString& filename)
37{ 40{
diff --git a/library/storage.cpp b/library/storage.cpp
index dc5cc22..f8b75d0 100644
--- a/library/storage.cpp
+++ b/library/storage.cpp
@@ -26,25 +26,36 @@
26#include <qfile.h> 26#include <qfile.h>
27#include <qtimer.h> 27#include <qtimer.h>
28#include <qcopchannel_qws.h> 28#include <qcopchannel_qws.h>
29 29
30#include <stdio.h> 30#include <stdio.h>
31 31
32#if defined(_OS_LINUX_) || defined(Q_OS_LINUX) 32#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
33#include <sys/vfs.h> 33#include <sys/vfs.h>
34#include <mntent.h> 34#include <mntent.h>
35#endif 35#endif
36 36
37#ifdef Q_OS_MACX
38# include <sys/param.h>
39# include <sys/ucred.h>
40# include <sys/mount.h>
41# include <stdio.h> // For strerror()
42# include <errno.h>
43#endif /* Q_OS_MACX */
44
37#include <qstringlist.h> 45#include <qstringlist.h>
38 46
39#include <sys/vfs.h> 47// Shouldn't be here ! (eilers)
40#include <mntent.h> 48// #include <sys/vfs.h>
49// #include <mntent.h>
41 50
42 51
43static bool isCF(const QString& m) 52static bool isCF(const QString& m)
44{ 53{
54
55#ifndef Q_OS_MACX
45 FILE* f = fopen("/var/run/stab", "r"); 56 FILE* f = fopen("/var/run/stab", "r");
46 if (!f) f = fopen("/var/state/pcmcia/stab", "r"); 57 if (!f) f = fopen("/var/state/pcmcia/stab", "r");
47 if (!f) f = fopen("/var/lib/pcmcia/stab", "r"); 58 if (!f) f = fopen("/var/lib/pcmcia/stab", "r");
48 if ( f ) { 59 if ( f ) {
49 char line[1024]; 60 char line[1024];
50 char devtype[80]; 61 char devtype[80];
@@ -58,12 +69,13 @@ static bool isCF(const QString& m)
58 return TRUE; 69 return TRUE;
59 } 70 }
60 } 71 }
61 } 72 }
62 fclose(f); 73 fclose(f);
63 } 74 }
75#endif /* Q_OS_MACX */
64 return FALSE; 76 return FALSE;
65} 77}
66 78
67/*! \class StorageInfo storage.h 79/*! \class StorageInfo storage.h
68 \brief The StorageInfo class describes the disks mounted on the file system. 80 \brief The StorageInfo class describes the disks mounted on the file system.
69 81
@@ -201,26 +213,46 @@ void StorageInfo::update()
201 i.current()->update(); 213 i.current()->update();
202 } 214 }
203#endif 215#endif
204} 216}
205 217
206bool deviceTab( const char *device) { 218bool deviceTab( const char *device) {
207 QString name = device; 219 QString name = device;
208 bool hasDevice=false; 220 bool hasDevice=false;
221
222#ifdef Q_OS_MACX
223 // Darwin (MacOS X)
224 struct statfs** mntbufp;
225 int count = 0;
226 if ( ( count = getmntinfo( mntbufp, MNT_WAIT ) ) == 0 ){
227 qWarning("deviceTab: Error in getmntinfo(): %s",strerror( errno ) );
228 hasDevice = false;
229 }
230 for( int i = 0; i < count; i++ ){
231 QString deviceName = mntbufp[i]->f_mntfromname;
232 qDebug(deviceName);
233 if( deviceName.left( name.length() ) == name )
234 hasDevice = true;
235 }
236#else
237 // Linux
209 struct mntent *me; 238 struct mntent *me;
210 FILE *mntfp = setmntent( "/etc/mtab", "r" ); 239 FILE *mntfp = setmntent( "/etc/mtab", "r" );
211 if ( mntfp ) { 240 if ( mntfp ) {
212 while ( (me = getmntent( mntfp )) != 0 ) { 241 while ( (me = getmntent( mntfp )) != 0 ) {
213 QString deviceName = me->mnt_fsname; 242 QString deviceName = me->mnt_fsname;
214// qDebug(deviceName); 243// qDebug(deviceName);
215 if( deviceName.left(name.length()) == name) { 244 if( deviceName.left(name.length()) == name) {
216 hasDevice = true; 245 hasDevice = true;
217 } 246 }
218 } 247 }
219 } 248 }
220 endmntent( mntfp ); 249 endmntent( mntfp );
250#endif /* Q_OS_MACX */
251
252
221 return hasDevice; 253 return hasDevice;
222} 254}
223 255
224/*! 256/*!
225 * @fn static bool StorageInfo::hasCf() 257 * @fn static bool StorageInfo::hasCf()
226 * @brief returns whether device has Cf mounted 258 * @brief returns whether device has Cf mounted
diff --git a/mkspecs/qws/macx-generic-g++/qmake.conf b/mkspecs/qws/macx-generic-g++/qmake.conf
index 3460a40..04f1c8b 100644
--- a/mkspecs/qws/macx-generic-g++/qmake.conf
+++ b/mkspecs/qws/macx-generic-g++/qmake.conf
@@ -21,13 +21,13 @@ QMAKE_CFLAGS_RELEASE = $(if $(CFLAGS_RELEASE),$(CFLAGS_RELEASE), -O2 -fno-defaul
21 QMAKE_CFLAGS_DEBUG= -g 21 QMAKE_CFLAGS_DEBUG= -g
22 QMAKE_CFLAGS_SHLIB= -fPIC 22 QMAKE_CFLAGS_SHLIB= -fPIC
23 QMAKE_CFLAGS_YACC= -Wno-unused -Wno-parentheses 23 QMAKE_CFLAGS_YACC= -Wno-unused -Wno-parentheses
24 QMAKE_CFLAGS_THREAD= -D_REENTRANT 24 QMAKE_CFLAGS_THREAD= -D_REENTRANT
25 25
26 QMAKE_CXX = $(TB)c++ 26 QMAKE_CXX = $(TB)c++
27 QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -DQT_NO_QWS_TRANSFORMED -DQWS -fno-exceptions -fno-rtti $(CXXFLAGS_EXTRA) 27 QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -DQT_NO_QWS_TRANSFORMED -DQWS -fno-exceptions -fno-rtti $(CXXFLAGS_EXTRA) -DQ_OS_MACX -DQT_NO_SOUND -DOPIE_NO_OVERRIDE_QT
28 QMAKE_CXXFLAGS_WARN_ON= $$QMAKE_CFLAGS_WARN_ON 28 QMAKE_CXXFLAGS_WARN_ON= $$QMAKE_CFLAGS_WARN_ON
29 QMAKE_CXXFLAGS_WARN_OFF= $$QMAKE_CFLAGS_WARN_OFF 29 QMAKE_CXXFLAGS_WARN_OFF= $$QMAKE_CFLAGS_WARN_OFF
30 QMAKE_CXXFLAGS_RELEASE= $$QMAKE_CFLAGS_RELEASE 30 QMAKE_CXXFLAGS_RELEASE= $$QMAKE_CFLAGS_RELEASE
31 QMAKE_CXXFLAGS_DEBUG= $$QMAKE_CFLAGS_DEBUG 31 QMAKE_CXXFLAGS_DEBUG= $$QMAKE_CFLAGS_DEBUG
32 QMAKE_CXXFLAGS_SHLIB= $$QMAKE_CFLAGS_SHLIB 32 QMAKE_CXXFLAGS_SHLIB= $$QMAKE_CFLAGS_SHLIB
33 QMAKE_CXXFLAGS_YACC= $$QMAKE_CFLAGS_YACC 33 QMAKE_CXXFLAGS_YACC= $$QMAKE_CFLAGS_YACC
@@ -55,12 +55,13 @@ QMAKE_LFLAGS_THREAD =
55 QMAKE_RPATH = 55 QMAKE_RPATH =
56 56
57 QMAKE_LIBS = $(LIBS_EXTRA) 57 QMAKE_LIBS = $(LIBS_EXTRA)
58 QMAKE_LIBS_X11 = 58 QMAKE_LIBS_X11 =
59 QMAKE_LIBS_X11SM= 59 QMAKE_LIBS_X11SM=
60 QMAKE_LIBS_QT = -lqte 60 QMAKE_LIBS_QT = -lqte
61 #QMAKE_LIBS_QT = libqte.dylib
61 QMAKE_LIBS_QT_THREAD= -lqte-mt 62 QMAKE_LIBS_QT_THREAD= -lqte-mt
62 QMAKE_LIBS_QT_OPENGL= -lqgl 63 QMAKE_LIBS_QT_OPENGL= -lqgl
63 QMAKE_LIBS_THREAD= 64 QMAKE_LIBS_THREAD=
64 65
65 QMAKE_MOC = $(QTDIR)/bin/moc 66 QMAKE_MOC = $(QTDIR)/bin/moc
66 QMAKE_UIC = $(QTDIR)/bin/uic 67 QMAKE_UIC = $(QTDIR)/bin/uic
diff --git a/noncore/applets/networkapplet/networkapplet.pro b/noncore/applets/networkapplet/networkapplet.pro
index ec58455..368f80e 100644
--- a/noncore/applets/networkapplet/networkapplet.pro
+++ b/noncore/applets/networkapplet/networkapplet.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = networkapplet.h 3HEADERS = networkapplet.h
4SOURCES = networkapplet.cpp 4SOURCES = networkapplet.cpp
5TARGET = networkapplet 5TARGET = networkapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
diff --git a/noncore/applets/notesapplet/notesapplet.pro b/noncore/applets/notesapplet/notesapplet.pro
index e4558f7..3075948 100644
--- a/noncore/applets/notesapplet/notesapplet.pro
+++ b/noncore/applets/notesapplet/notesapplet.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = notes.h notesappletimpl.h 3HEADERS = notes.h notesappletimpl.h
4SOURCES = notes.cpp notesappletimpl.cpp 4SOURCES = notes.cpp notesappletimpl.cpp
5TARGET = notesapplet 5TARGET = notesapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
diff --git a/noncore/applets/wirelessapplet/wirelessapplet.pro b/noncore/applets/wirelessapplet/wirelessapplet.pro
index 501327d..aee89d7 100644
--- a/noncore/applets/wirelessapplet/wirelessapplet.pro
+++ b/noncore/applets/wirelessapplet/wirelessapplet.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = wireless.h wirelessappletimpl.h networkinfo.h mgraph.h advancedconfig.h 3HEADERS = wireless.h wirelessappletimpl.h networkinfo.h mgraph.h advancedconfig.h
4SOURCES = wireless.cpp wirelessappletimpl.cpp networkinfo.cpp mgraph.cpp advancedconfig.cpp 4SOURCES = wireless.cpp wirelessappletimpl.cpp networkinfo.cpp mgraph.cpp advancedconfig.cpp
5INTERFACES = advancedconfigbase.ui 5INTERFACES = advancedconfigbase.ui
6TARGET = wirelessapplet 6TARGET = wirelessapplet
7DESTDIR = $(OPIEDIR)/plugins/applets 7DESTDIR = $(OPIEDIR)/plugins/applets
8INCLUDEPATH += $(OPIEDIR)/include 8INCLUDEPATH += $(OPIEDIR)/include
diff --git a/noncore/decorations/flat/flat.pro b/noncore/decorations/flat/flat.pro
index e691339..f3d63ea 100644
--- a/noncore/decorations/flat/flat.pro
+++ b/noncore/decorations/flat/flat.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS = flat.h 3 HEADERS = flat.h
4 SOURCES = flat.cpp 4 SOURCES = flat.cpp
5 TARGET = flat 5 TARGET = flat
6 DESTDIR = $(OPIEDIR)/plugins/decorations 6 DESTDIR = $(OPIEDIR)/plugins/decorations
7 INCLUDEPATH+= $(OPIEDIR)/include 7 INCLUDEPATH+= $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
diff --git a/noncore/decorations/liquid/liquid.pro b/noncore/decorations/liquid/liquid.pro
index 7c310a6..2afed26 100644
--- a/noncore/decorations/liquid/liquid.pro
+++ b/noncore/decorations/liquid/liquid.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG = qt embedded release warn_on 2CONFIG = qt plugin embedded release warn_on
3SOURCES = liquid.cpp 3SOURCES = liquid.cpp
4HEADERS = liquid.h 4HEADERS = liquid.h
5LIBS += -lqpe 5LIBS += -lqpe
6INCLUDEPATH += $(OPIEDIR)/include 6INCLUDEPATH += $(OPIEDIR)/include
7DESTDIR = $(OPIEDIR)/plugins/decorations 7DESTDIR = $(OPIEDIR)/plugins/decorations
8TARGET = liquid 8TARGET = liquid
diff --git a/noncore/decorations/polished/polished.pro b/noncore/decorations/polished/polished.pro
index 1ee940e..d3f3dcc 100644
--- a/noncore/decorations/polished/polished.pro
+++ b/noncore/decorations/polished/polished.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS = polished.h 3 HEADERS = polished.h
4 SOURCES = polished.cpp 4 SOURCES = polished.cpp
5 TARGET = polished 5 TARGET = polished
6 DESTDIR = $(OPIEDIR)/plugins/decorations 6 DESTDIR = $(OPIEDIR)/plugins/decorations
7 INCLUDEPATH+= $(OPIEDIR)/include 7 INCLUDEPATH+= $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
diff --git a/noncore/net/opietooth/applet/applet.pro b/noncore/net/opietooth/applet/applet.pro
index 23c1d0a..4efcb42 100644
--- a/noncore/net/opietooth/applet/applet.pro
+++ b/noncore/net/opietooth/applet/applet.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = bluezapplet.h bluezappletimpl.h 3HEADERS = bluezapplet.h bluezappletimpl.h
4SOURCES = bluezapplet.cpp bluezappletimpl.cpp 4SOURCES = bluezapplet.cpp bluezappletimpl.cpp
5TARGET = bluetoothapplet 5TARGET = bluetoothapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8INCLUDEPATH += $(OPIEDIR)/noncore/net/opietooth/lib 8INCLUDEPATH += $(OPIEDIR)/noncore/net/opietooth/lib
diff --git a/noncore/settings/networksettings/ppp/ppp.pro b/noncore/settings/networksettings/ppp/ppp.pro
index 84acd0e..dc78eb1 100644
--- a/noncore/settings/networksettings/ppp/ppp.pro
+++ b/noncore/settings/networksettings/ppp/ppp.pro
@@ -1,11 +1,11 @@
1#TEMPLATE = app 1#TEMPLATE = app
2# 2#
3TEMPLATE = lib 3TEMPLATE = lib
4#CONFIG += qt warn_on release 4#CONFIG += qt plugin warn_on release
5 CONFIG += qt warn_on debug 5 CONFIG += qt plugin warn_on debug
6DESTDIR = $(OPIEDIR)/plugins/networksettings 6DESTDIR = $(OPIEDIR)/plugins/networksettings
7 HEADERS = pppmodule.h modem.h modeminfo.h pppdata.h kpppconfig.h pppdata.h runtests.h general.h modemcmds.h conwindow.h accounts.h connect.h edit.h scriptedit.h pppdargs.h iplined.h pwentry.h pppconfig.h interfaceinformationppp.h interfaceppp.h authwidget.h chooserwidget.h devices.h 7 HEADERS = pppmodule.h modem.h modeminfo.h pppdata.h kpppconfig.h pppdata.h runtests.h general.h modemcmds.h conwindow.h accounts.h connect.h edit.h scriptedit.h pppdargs.h iplined.h pwentry.h pppconfig.h interfaceinformationppp.h interfaceppp.h authwidget.h chooserwidget.h devices.h
8 SOURCES = pppmodule.cpp modem.cpp modeminfo.cpp pppdata.cpp runtests.cpp general.cpp modemcmds.cpp conwindow.cpp accounts.cpp connect.cpp edit.cpp scriptedit.cpp pppdargs.cpp iplined.cpp pwentry.cpp pppconfig.cpp interfaceinformationppp.cpp interfaceppp.cpp authwidget.cpp chooserwidget.cpp devices.cpp 8 SOURCES = pppmodule.cpp modem.cpp modeminfo.cpp pppdata.cpp runtests.cpp general.cpp modemcmds.cpp conwindow.cpp accounts.cpp connect.cpp edit.cpp scriptedit.cpp pppdargs.cpp iplined.cpp pwentry.cpp pppconfig.cpp interfaceinformationppp.cpp interfaceppp.cpp authwidget.cpp chooserwidget.cpp devices.cpp
9 INCLUDEPATH+= $(OPIEDIR)/include ../ ../interfaces/ 9 INCLUDEPATH+= $(OPIEDIR)/include ../ ../interfaces/
10 DEPENDPATH+= $(OPIEDIR)/include 10 DEPENDPATH+= $(OPIEDIR)/include
11LIBS += -lqpe -L../interfaces/ -linterfaces 11LIBS += -lqpe -L../interfaces/ -linterfaces
diff --git a/noncore/settings/networksettings/wlan/wlan.pro b/noncore/settings/networksettings/wlan/wlan.pro
index 82a5b2f..098ad1d 100644
--- a/noncore/settings/networksettings/wlan/wlan.pro
+++ b/noncore/settings/networksettings/wlan/wlan.pro
@@ -1,11 +1,11 @@
1# 1#
2TEMPLATE = lib 2TEMPLATE = lib
3#TEMPLATE = app 3#TEMPLATE = app
4CONFIG += qt warn_on release 4CONFIG += qt plugin warn_on release
5 #CONFIG += qt warn_on debug 5 #CONFIG += qt plugin warn_on debug
6DESTDIR = $(OPIEDIR)/plugins/networksettings 6DESTDIR = $(OPIEDIR)/plugins/networksettings
7 HEADERS = infoimp.h wlanmodule.h wextensions.h keyedit.h 7 HEADERS = infoimp.h wlanmodule.h wextensions.h keyedit.h
8 SOURCES = infoimp.cpp wlanmodule.cpp wextensions.cpp keyedit.cpp 8 SOURCES = infoimp.cpp wlanmodule.cpp wextensions.cpp keyedit.cpp
9 INCLUDEPATH+= $(OPIEDIR)/include ../ ../interfaces/ 9 INCLUDEPATH+= $(OPIEDIR)/include ../ ../interfaces/
10 DEPENDPATH+= $(OPIEDIR)/include 10 DEPENDPATH+= $(OPIEDIR)/include
11LIBS += -lqpe -L../interfaces/ -linterfaces -lopienet2 11LIBS += -lqpe -L../interfaces/ -linterfaces -lopienet2
diff --git a/noncore/styles/flat/flat.pro b/noncore/styles/flat/flat.pro
index ed25d5c..2721e14 100644
--- a/noncore/styles/flat/flat.pro
+++ b/noncore/styles/flat/flat.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS = flat.h 3 HEADERS = flat.h
4 SOURCES = flat.cpp 4 SOURCES = flat.cpp
5 TARGET = flatstyle 5 TARGET = flatstyle
6 DESTDIR = $(OPIEDIR)/plugins/styles 6 DESTDIR = $(OPIEDIR)/plugins/styles
7 INCLUDEPATH+= $(OPIEDIR)/include 7 INCLUDEPATH+= $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
diff --git a/noncore/styles/fresh/fresh.pro b/noncore/styles/fresh/fresh.pro
index 88a8de3..564c5cd 100644
--- a/noncore/styles/fresh/fresh.pro
+++ b/noncore/styles/fresh/fresh.pro
@@ -1,8 +1,8 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS = fresh.h 3 HEADERS = fresh.h
4 SOURCES = fresh.cpp 4 SOURCES = fresh.cpp
5 TARGET = freshstyle 5 TARGET = freshstyle
6 DESTDIR = $(OPIEDIR)/plugins/styles 6 DESTDIR = $(OPIEDIR)/plugins/styles
7 INCLUDEPATH+= $(OPIEDIR)/include 7 INCLUDEPATH+= $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
diff --git a/noncore/styles/liquid/liquid.pro b/noncore/styles/liquid/liquid.pro
index 9241eba..4e1c575 100644
--- a/noncore/styles/liquid/liquid.pro
+++ b/noncore/styles/liquid/liquid.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG = qt embedded release warn_on 2CONFIG = qt plugin embedded release warn_on
3SOURCES = liquid.cpp \ 3SOURCES = liquid.cpp \
4 effects.cpp \ 4 effects.cpp \
5 liquidset.cpp \ 5 liquidset.cpp \
6 plugin.cpp 6 plugin.cpp
7 7
8HEADERS = liquid.h \ 8HEADERS = liquid.h \
diff --git a/noncore/styles/metal/metal.pro b/noncore/styles/metal/metal.pro
index 3bb376d..8633284 100644
--- a/noncore/styles/metal/metal.pro
+++ b/noncore/styles/metal/metal.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG = qt embedded release warn_on 2CONFIG = qt plugin embedded release warn_on
3SOURCES = metal.cpp plugin.cpp 3SOURCES = metal.cpp plugin.cpp
4 4
5HEADERS = metal.h plugin.h 5HEADERS = metal.h plugin.h
6LIBS += -lqpe 6LIBS += -lqpe
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DESTDIR = $(OPIEDIR)/plugins/styles 8DESTDIR = $(OPIEDIR)/plugins/styles
diff --git a/noncore/styles/theme/theme.pro b/noncore/styles/theme/theme.pro
index f7ed324..4f84f3f 100644
--- a/noncore/styles/theme/theme.pro
+++ b/noncore/styles/theme/theme.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG = qt embedded debug warn_on 2CONFIG = qt plugin embedded debug warn_on
3SOURCES = ogfxeffect.cpp \ 3SOURCES = ogfxeffect.cpp \
4 othemestyle.cpp \ 4 othemestyle.cpp \
5 othemebase.cpp \ 5 othemebase.cpp \
6 themeset.cpp \ 6 themeset.cpp \
7 plugin.cpp 7 plugin.cpp
8 8
diff --git a/noncore/todayplugins/fortune/fortune.pro b/noncore/todayplugins/fortune/fortune.pro
index 0a0d5b9..ac503c3 100644
--- a/noncore/todayplugins/fortune/fortune.pro
+++ b/noncore/todayplugins/fortune/fortune.pro
@@ -1,9 +1,9 @@
1TEMPLATE = lib 1TEMPLATE = lib
2#CONFIG -= moc 2#CONFIG -= moc
3CONFIG += qt release 3CONFIG += qt plugin release
4 4
5# Input 5# Input
6HEADERS = fortuneplugin.h fortunepluginimpl.h \ 6HEADERS = fortuneplugin.h fortunepluginimpl.h \
7 fortunepluginwidget.h 7 fortunepluginwidget.h
8SOURCES = fortuneplugin.cpp fortunepluginimpl.cpp \ 8SOURCES = fortuneplugin.cpp fortunepluginimpl.cpp \
9 fortunepluginwidget.cpp 9 fortunepluginwidget.cpp
diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro
index c34be33..490a8f9 100644
--- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro
+++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro
@@ -1,9 +1,9 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG -= moc 2CONFIG -= moc
3CONFIG += qt release 3CONFIG += qt plugin release
4 4
5HEADERS = stocktickerplugin.h stocktickerpluginimpl.h stocktickerpluginwidget.h stocktickerconfig.h \ 5HEADERS = stocktickerplugin.h stocktickerpluginimpl.h stocktickerpluginwidget.h stocktickerconfig.h \
6 ../libstocks/csv.h \ 6 ../libstocks/csv.h \
7 ../libstocks/http.h \ 7 ../libstocks/http.h \
8 ../libstocks/lists.h \ 8 ../libstocks/lists.h \
9 ../libstocks/stocks.h 9 ../libstocks/stocks.h
diff --git a/noncore/todayplugins/weather/weather.pro b/noncore/todayplugins/weather/weather.pro
index 2833e88..bd4b565 100644
--- a/noncore/todayplugins/weather/weather.pro
+++ b/noncore/todayplugins/weather/weather.pro
@@ -1,9 +1,9 @@
1TEMPLATE = lib 1TEMPLATE = lib
2#CONFIG -= moc 2#CONFIG -= moc
3CONFIG += qt release 3CONFIG += qt plugin release
4 4
5HEADERS = weatherplugin.h \ 5HEADERS = weatherplugin.h \
6 weatherpluginimpl.h \ 6 weatherpluginimpl.h \
7 weatherpluginwidget.h \ 7 weatherpluginwidget.h \
8 weatherconfig.h 8 weatherconfig.h
9 9
diff --git a/noncore/unsupported/mail2/bend/bend.pro b/noncore/unsupported/mail2/bend/bend.pro
index b03f652..61eea5f 100644
--- a/noncore/unsupported/mail2/bend/bend.pro
+++ b/noncore/unsupported/mail2/bend/bend.pro
@@ -1,8 +1,8 @@
1 TEMPLATE =lib 1 TEMPLATE =lib
2 CONFIG +=qt warn_on release 2 CONFIG +=qt plugin warn_on release
3 HEADERS +=bend.h \ 3 HEADERS +=bend.h \
4 bendimpl.h 4 bendimpl.h
5 SOURCES +=bend.cpp \ 5 SOURCES +=bend.cpp \
6 bendimpl.cpp 6 bendimpl.cpp
7 INCLUDEPATH +=$(OPIEDIR)/include ../libmail 7 INCLUDEPATH +=$(OPIEDIR)/include ../libmail
8 LIBS +=-lmail -lqpe 8 LIBS +=-lmail -lqpe
diff --git a/plugins/Makefile b/plugins/Makefile
index 4863bd0..2515903 100644
--- a/plugins/Makefile
+++ b/plugins/Makefile
@@ -1,4 +1,8 @@
1clean: 1clean:
2 find -name "*.so*" -print0 | xargs -0 rm -f 2ifeq ( CONFIG_TARGET_MACOSX, y )
3 find ./ -name "*.dylib*" -print0 | xargs -0 rm -f
4else
5 find ./ -name "*.so*" -print0 | xargs -0 rm -f
6endif
3 7
4all install ipk lupdate lrelease opie-lupdate opie-lrelease: 8all install ipk lupdate lrelease opie-lupdate opie-lrelease:
diff --git a/qmake/include/qglobal.h b/qmake/include/qglobal.h
index d212bff..94e5607 100644
--- a/qmake/include/qglobal.h
+++ b/qmake/include/qglobal.h
@@ -151,13 +151,20 @@
151# define Q_OS_UNIXWARE7 151# define Q_OS_UNIXWARE7
152#else 152#else
153# error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com" 153# error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com"
154#endif 154#endif
155 155
156#if defined(Q_OS_MAC9) || defined(Q_OS_MACX) 156#if defined(Q_OS_MAC9) || defined(Q_OS_MACX)
157# define Q_OS_MAC 157/* This hack forces the generater to compile qmake not for maxosx native. It is
158 * compiled for Linux and generates usual makefiles..
159 * Does anyone has a better solution for this ? (eilers)
160 */
161// # define Q_OS_MAC
162#define Q_OS_LINUX
163#warning "boeser Hack !! (se)"
164#undef Q_OS_MACX
158#endif 165#endif
159 166
160#if defined(Q_OS_MAC9) || defined(Q_OS_MSDOS) || defined(Q_OS_OS2) || defined(Q_OS_WIN32) || defined(Q_OS_WIN64) 167#if defined(Q_OS_MAC9) || defined(Q_OS_MSDOS) || defined(Q_OS_OS2) || defined(Q_OS_WIN32) || defined(Q_OS_WIN64)
161# undef Q_OS_UNIX 168# undef Q_OS_UNIX
162#elif !defined(Q_OS_UNIX) 169#elif !defined(Q_OS_UNIX)
163# define Q_OS_UNIX 170# define Q_OS_UNIX
diff --git a/qt/qt-2.3.7.patch/qte237-all-macosx.patch b/qt/qt-2.3.7.patch/qte237-all-macosx.patch
new file mode 100644
index 0000000..82ed530
--- a/dev/null
+++ b/qt/qt-2.3.7.patch/qte237-all-macosx.patch
@@ -0,0 +1,1161 @@
1diff -ru qte-2.3.7_orig/include/qapplication.h qte-2.3.7/include/qapplication.h
2 --- qte-2.3.7_orig/include/qapplication.hThu Jul 17 03:20:25 2003
3 +++ qte-2.3.7/include/qapplication.hMon Oct 27 14:21:28 2003
4@@ -61,6 +61,10 @@
5 class QSemaphore;
6 #endif
7
8+#if !defined( QT_WEAK_SYMBOL )
9+#define QT_WEAK_SYMBOL
10+#endif
11+
12 // REMOVE IN 3.0 (just here for moc source compatibility)
13 #define QNonBaseApplication QApplication
14
15@@ -85,7 +89,10 @@
16
17 #ifndef QT_NO_STYLE
18 static QStyle &style();
19 - static void setStyle( QStyle* );
20 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL;
21+private:
22 +static void setStyle_NonWeak( QStyle* );
23+public:
24 #endif
25 #if 1/* OBSOLETE */
26 enum ColorMode { NormalColors, CustomColors };
27@@ -106,11 +113,19 @@
28 #ifndef QT_NO_PALETTE
29 static QPalette palette( const QWidget* = 0 );
30 static void setPalette( const QPalette &, bool informWidgets=FALSE,
31 + const char* className = 0 ) QT_WEAK_SYMBOL;
32+private:
33 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE,
34 const char* className = 0 );
35+public:
36 #endif
37 static QFont font( const QWidget* = 0 );
38 static void setFont( const QFont &, bool informWidgets=FALSE,
39 + const char* className = 0 ) QT_WEAK_SYMBOL;
40+private:
41 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE,
42 const char* className = 0 );
43 +public:
44 static QFontMetrics fontMetrics();
45
46 QWidget *mainWidget() const;
47@@ -207,7 +222,10 @@
48 void qwsSetCustomColors( QRgb *colortable, int start, int numColors );
49 #ifndef QT_NO_QWS_MANAGER
50 static QWSDecoration &qwsDecoration();
51- static void qwsSetDecoration( QWSDecoration *);
52+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL;
53+private:
54+ static void qwsSetDecoration_NonWeak( QWSDecoration *);
55+public:
56 #endif
57 #endif
58
59Only in qte-2.3.7/include: qconfig-qpe.h
60diff -ru qte-2.3.7_orig/include/qconfig.h qte-2.3.7/include/qconfig.h
61 --- qte-2.3.7_orig/include/qconfig.hFri Jan 26 14:43:06 2001
62 +++ qte-2.3.7/include/qconfig.hWed Oct 29 22:13:16 2003
63@@ -1,3 +1,26 @@
64+// Copied from qconfig-qpe.h
65+/**********************************************************************
66+** Copyright (C) 2000 Trolltech AS. All rights reserved.
67+**
68+** This file is part of Qtopia Environment.
69+**
70+** This file may be distributed and/or modified under the terms of the
71+** GNU General Public License version 2 as published by the Free Software
72+** Foundation and appearing in the file LICENSE.GPL included in the
73+** packaging of this file.
74+**
75+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
76+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
77+**
78+** See http://www.trolltech.com/gpl/ for GPL licensing information.
79+**
80+** Contact info@trolltech.com if any conditions of this licensing are
81+** not clear to you.
82+**
83+**********************************************************************/
84+#ifndef QT_H
85+#endif // QT_H
86+
87 // Empty leaves all features enabled. See doc/html/features.html for choices.
88
89 // Note that disabling some features will produce a libqt that is not
90@@ -8,3 +31,69 @@
91 #ifndef QT_DLL
92 #define QT_DLL // Internal
93 #endif
94+
95+#if defined(QT_QWS_IPAQ) || defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_SL5XXX)
96+# define QT_NO_QWS_CURSOR
97+# define QT_NO_QWS_MOUSE_AUTO
98+#endif
99+#ifndef QT_NO_CODECS
100+#define QT_NO_CODECS
101+#endif
102+#define QT_NO_UNICODETABLES
103+//#define QT_NO_IMAGEIO_BMP
104+#define QT_NO_IMAGEIO_PPM
105+//#define QT_NO_ASYNC_IO
106+//#define QT_NO_ASYNC_IMAGE_IO
107+#define QT_NO_FREETYPE
108+#define QT_NO_BDF
109+//#define QT_NO_FONTDATABASE
110+#define QT_NO_DRAGANDDROP
111+//#define QT_NO_CLIPBOARD
112+#define QT_NO_PROPERTIES
113+#define QT_NO_NETWORKPROTOCOL
114+
115+#define QT_NO_IMAGE_TEXT
116+
117+//#define QT_NO_TOOLTIP
118+#define QT_NO_COLORNAMES
119+#define QT_NO_TRANSFORMATIONS
120+#define QT_NO_TRANSLATION_BUILDER
121+#define QT_NO_COMPLEXTEXT
122+#define QT_NO_PRINTER
123+#define QT_NO_PICTURE
124+//#define QT_NO_ICONVIEW
125+#define QT_NO_DIAL
126+#define QT_NO_SIZEGRIP
127+#define QT_NO_WORKSPACE
128+//#define QT_NO_TABLE
129+//#define QT_NO_ACTION
130+//#define QT_NO_SETTINGS
131+#define QT_NO_STYLE_POCKETPC
132+#ifndef QT_NO_STYLE_AQUA
133+# define QT_NO_STYLE_AQUA
134+#endif
135+#define QT_NO_STYLE_MOTIF
136+#define QT_NO_STYLE_PLATINUM
137+#define QT_NO_FILEDIALOG
138+#define QT_NO_FONTDIALOG
139+#define QT_NO_PRINTDIALOG
140+#define QT_NO_COLORDIALOG
141+#define QT_NO_INPUTDIALOG
142+//#define QT_NO_MESSAGEBOX
143+#define QT_NO_PROGRESSDIALOG
144+//#define QT_NO_TABDIALOG
145+#define QT_NO_WIZARD
146+#define QT_NO_EFFECTS
147+//#define QT_NO_COMPONENT
148+#define QT_NO_DOM
149+#define QT_NO_SEMIMODAL
150+//#define QT_NO_PROGRESSBAR
151+#define QT_NO_SPLITTER
152+
153+//#define QT_NO_QWS_SAVEFONTS
154+//#define QT_NO_QWS_PROPERTIES
155+
156+#define QT_NO_QWS_BEOS_WM_STYLE
157+#define QT_NO_QWS_KDE2_WM_STYLE
158+#define QT_NO_QWS_KDE_WM_STYLE
159+#define QT_NO_QWS_WINDOWS_WM_STYLE
160diff -ru qte-2.3.7_orig/include/qfontdatabase.h qte-2.3.7/include/qfontdatabase.h
161 --- qte-2.3.7_orig/include/qfontdatabase.hThu Jul 17 03:20:25 2003
162 +++ qte-2.3.7/include/qfontdatabase.hMon Oct 27 14:21:28 2003
163@@ -59,6 +59,10 @@
164 class QDiskFont;
165 #endif
166
167+#if !defined( QT_WEAK_SYMBOL )
168+#define QT_WEAK_SYMBOL
169+#endif
170+
171 class QFontDatabasePrivate;
172
173 class Q_EXPORT QFontDatabase
174@@ -67,9 +71,16 @@
175 QFontDatabase();
176
177 QStringList families( bool onlyForLocale = TRUE ) const;
178+
179+
180 QValueList<int> pointSizes( const QString &family,
181 const QString &style = QString::null,
182 - const QString &charSet = QString::null );
183 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL;
184+private:
185+ QValueList<int> pointSizes_NonWeak( const QString &family,
186 + const QString &style,
187 + const QString &charSet );
188+public:
189 QStringList styles( const QString &family,
190 const QString &charSet = QString::null ) const;
191 QStringList charSets( const QString &familyName,
192Only in qte-2.3.7_orig/include: qgifimageformat_p.h
193diff -ru qte-2.3.7_orig/include/qmodules.h qte-2.3.7/include/qmodules.h
194 --- qte-2.3.7_orig/include/qmodules.hFri Aug 31 17:00:56 2001
195 +++ qte-2.3.7/include/qmodules.hWed Oct 29 21:57:53 2003
196@@ -1,14 +1,12 @@
197-#ifndef QT_H
198-#endif // QT_H
199-
200+// These modules are licensed to you
201 #define QT_MODULE_TOOLS
202 #define QT_MODULE_KERNEL
203 #define QT_MODULE_WIDGETS
204 #define QT_MODULE_DIALOGS
205-
206 #define QT_MODULE_ICONVIEW
207 #define QT_MODULE_WORKSPACE
208-#define QT_MODULE_TABLE
209+#define QT_MODULE_NETWORK
210 #define QT_MODULE_CANVAS
211+#define QT_MODULE_TABLE
212 #define QT_MODULE_XML
213-#define QT_MODULE_NETWORK
214+#define QT_MODULE_OPENGL
215Only in qte-2.3.7_orig/include: qxt.h
216Only in qte-2.3.7/lib: libqte.dylib
217Only in qte-2.3.7/lib: libqte.dylib.2
218Only in qte-2.3.7/lib: libqte.dylib.2.3
219Only in qte-2.3.7/lib: libqte.dylib.2.3.7
220Only in qte-2.3.7/src/3rdparty/kernel: qgifimageformat.o
221Only in qte-2.3.7/src/3rdparty/kernel: qpointarray.o
222Only in qte-2.3.7/src/3rdparty/kernel: qpolygonscanner.o
223Only in qte-2.3.7/src/3rdparty/kernel: qregion_qws.o
224Only in qte-2.3.7/src/3rdparty/libpng: png.o
225Only in qte-2.3.7/src/3rdparty/libpng: pngerror.o
226Only in qte-2.3.7/src/3rdparty/libpng: pngget.o
227Only in qte-2.3.7/src/3rdparty/libpng: pngmem.o
228Only in qte-2.3.7/src/3rdparty/libpng: pngpread.o
229Only in qte-2.3.7/src/3rdparty/libpng: pngread.o
230Only in qte-2.3.7/src/3rdparty/libpng: pngrio.o
231Only in qte-2.3.7/src/3rdparty/libpng: pngrtran.o
232Only in qte-2.3.7/src/3rdparty/libpng: pngrutil.o
233Only in qte-2.3.7/src/3rdparty/libpng: pngset.o
234Only in qte-2.3.7/src/3rdparty/libpng: pngtrans.o
235Only in qte-2.3.7/src/3rdparty/libpng: pngwio.o
236Only in qte-2.3.7/src/3rdparty/libpng: pngwrite.o
237Only in qte-2.3.7/src/3rdparty/libpng: pngwtran.o
238Only in qte-2.3.7/src/3rdparty/libpng: pngwutil.o
239Only in qte-2.3.7/src/3rdparty/tools: qbig5codec.o
240Only in qte-2.3.7/src/3rdparty/tools: qeucjpcodec.o
241Only in qte-2.3.7/src/3rdparty/tools: qeuckrcodec.o
242Only in qte-2.3.7/src/3rdparty/tools: qgbkcodec.o
243Only in qte-2.3.7/src/3rdparty/tools: qjiscodec.o
244Only in qte-2.3.7/src/3rdparty/tools: qjpunicode.o
245Only in qte-2.3.7/src/3rdparty/tools: qrtlcodec.o
246Only in qte-2.3.7/src/3rdparty/tools: qsjiscodec.o
247Only in qte-2.3.7/src/3rdparty/tools: qtsciicodec.o
248Only in qte-2.3.7/src/3rdparty/zlib: Makefile
249Only in qte-2.3.7/src/3rdparty/zlib: adler32.o
250Only in qte-2.3.7/src/3rdparty/zlib: compress.o
251Only in qte-2.3.7/src/3rdparty/zlib: crc32.o
252Only in qte-2.3.7/src/3rdparty/zlib: deflate.o
253Only in qte-2.3.7/src/3rdparty/zlib: gzio.o
254Only in qte-2.3.7/src/3rdparty/zlib: infblock.o
255Only in qte-2.3.7/src/3rdparty/zlib: infcodes.o
256Only in qte-2.3.7/src/3rdparty/zlib: inffast.o
257Only in qte-2.3.7/src/3rdparty/zlib: inflate.o
258Only in qte-2.3.7/src/3rdparty/zlib: inftrees.o
259Only in qte-2.3.7/src/3rdparty/zlib: infutil.o
260Only in qte-2.3.7/src/3rdparty/zlib: trees.o
261Only in qte-2.3.7/src/3rdparty/zlib: uncompr.o
262Only in qte-2.3.7/src/3rdparty/zlib: zutil.o
263Only in qte-2.3.7/src: Makefile
264Only in qte-2.3.7/src: allmoc.cpp
265Only in qte-2.3.7/src: allmoc.o
266Only in qte-2.3.7/src/canvas: qcanvas.o
267Only in qte-2.3.7/src/dialogs: qcolordialog.moc
268Only in qte-2.3.7/src/dialogs: qcolordialog.o
269Only in qte-2.3.7/src/dialogs: qfiledialog.moc
270Only in qte-2.3.7/src/dialogs: qfiledialog.o
271Only in qte-2.3.7/src/dialogs: qfontdialog.o
272Only in qte-2.3.7/src/dialogs: qinputdialog.o
273Only in qte-2.3.7/src/dialogs: qmessagebox.o
274Only in qte-2.3.7/src/dialogs: qprintdialog.o
275Only in qte-2.3.7/src/dialogs: qprogressdialog.o
276Only in qte-2.3.7/src/dialogs: qtabdialog.o
277Only in qte-2.3.7/src/dialogs: qwizard.o
278Only in qte-2.3.7/src/iconview: qiconview.o
279Only in qte-2.3.7/src/kernel: qabstractlayout.o
280Only in qte-2.3.7/src/kernel: qaccel.o
281diff -ru qte-2.3.7_orig/src/kernel/qapplication.cpp qte-2.3.7/src/kernel/qapplication.cpp
282 --- qte-2.3.7_orig/src/kernel/qapplication.cppThu Jul 17 03:20:25 2003
283 +++ qte-2.3.7/src/kernel/qapplication.cppMon Oct 27 14:21:28 2003
284@@ -35,6 +35,8 @@
285 **
286 **********************************************************************/
287
288 +#define QT_WEAK_SYMBOL__attribute__(( weak ))
289+
290 #include "qobjectlist.h"
291 #include "qobjectdict.h"
292 #include "qapplication.h"
293@@ -933,11 +935,16 @@
294 #ifndef QT_NO_STYLE
295 void QApplication::setStyle( QStyle *style )
296 {
297 +setStyle_NonWeak ( style );
298+}
299+
300+void QApplication::setStyle_NonWeak( QStyle *style )
301+{
302 QStyle* old = app_style;
303- app_style = style;
304
305 if ( startingUp() ) {
306 delete old;
307 +app_style = style;
308 return;
309 }
310
311@@ -958,6 +965,8 @@
312 old->unPolish( qApp );
313 }
314
315+ app_style = style;
316+
317 // take care of possible palette requirements of certain gui
318 // styles. Do it before polishing the application since the style
319 // might call QApplication::setStyle() itself
320@@ -1184,13 +1193,30 @@
321 \sa QWidget::setPalette(), palette(), QStyle::polish()
322 */
323
324-void QApplication::setPalette( const QPalette &palette, bool informWidgets,
325+void QApplication::setPalette ( const QPalette &palette, bool informWidgets,
326 + const char* className )
327+{
328 +setPalette_NonWeak ( palette, informWidgets, className );
329+}
330+
331+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets,
332 const char* className )
333 {
334 QPalette pal = palette;
335 #ifndef QT_NO_STYLE
336- if ( !startingUp() )
337+ if ( !startingUp() ) {
338 qApp->style().polish( pal );// NB: non-const reference
339 +if ( className ) {
340 + // if we just polished a class specific palette (this normally
341 + // only called by qt_fix_tooltips - see below), we better re-
342 + // polish the global palette. Some styles like liquid can get
343 + // confused, because they can not detect if the polished palette
344 + // is the global one or only a class specific one.
345 + // (liquid uses this palette to calculate blending pixmaps)
346 + QPalette p = qApp-> palette ( );
347 + qApp->style().polish ( p );
348 +}
349+ }
350 #endif
351 bool all = FALSE;
352 if ( !className ) {
353@@ -1273,6 +1299,12 @@
354 */
355
356 void QApplication::setFont( const QFont &font, bool informWidgets,
357 + const char* className )
358+{
359 +setFont_NonWeak ( font, informWidgets, className );
360+}
361+
362+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets,
363 const char* className )
364 {
365 bool all = FALSE;
366diff -ru qte-2.3.7_orig/src/kernel/qapplication.h qte-2.3.7/src/kernel/qapplication.h
367 --- qte-2.3.7_orig/src/kernel/qapplication.hThu Jul 17 03:20:25 2003
368 +++ qte-2.3.7/src/kernel/qapplication.hMon Oct 27 14:21:28 2003
369@@ -61,6 +61,10 @@
370 class QSemaphore;
371 #endif
372
373+#if !defined( QT_WEAK_SYMBOL )
374+#define QT_WEAK_SYMBOL
375+#endif
376+
377 // REMOVE IN 3.0 (just here for moc source compatibility)
378 #define QNonBaseApplication QApplication
379
380@@ -85,7 +89,10 @@
381
382 #ifndef QT_NO_STYLE
383 static QStyle &style();
384 - static void setStyle( QStyle* );
385 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL;
386+private:
387 +static void setStyle_NonWeak( QStyle* );
388+public:
389 #endif
390 #if 1/* OBSOLETE */
391 enum ColorMode { NormalColors, CustomColors };
392@@ -106,11 +113,19 @@
393 #ifndef QT_NO_PALETTE
394 static QPalette palette( const QWidget* = 0 );
395 static void setPalette( const QPalette &, bool informWidgets=FALSE,
396 + const char* className = 0 ) QT_WEAK_SYMBOL;
397+private:
398 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE,
399 const char* className = 0 );
400+public:
401 #endif
402 static QFont font( const QWidget* = 0 );
403 static void setFont( const QFont &, bool informWidgets=FALSE,
404 + const char* className = 0 ) QT_WEAK_SYMBOL;
405+private:
406 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE,
407 const char* className = 0 );
408 +public:
409 static QFontMetrics fontMetrics();
410
411 QWidget *mainWidget() const;
412@@ -207,7 +222,10 @@
413 void qwsSetCustomColors( QRgb *colortable, int start, int numColors );
414 #ifndef QT_NO_QWS_MANAGER
415 static QWSDecoration &qwsDecoration();
416- static void qwsSetDecoration( QWSDecoration *);
417+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL;
418+private:
419+ static void qwsSetDecoration_NonWeak( QWSDecoration *);
420+public:
421 #endif
422 #endif
423
424Only in qte-2.3.7/src/kernel: qapplication.o
425diff -ru qte-2.3.7_orig/src/kernel/qapplication_qws.cpp qte-2.3.7/src/kernel/qapplication_qws.cpp
426 --- qte-2.3.7_orig/src/kernel/qapplication_qws.cppThu Jul 17 03:20:25 2003
427 +++ qte-2.3.7/src/kernel/qapplication_qws.cppMon Oct 27 14:21:28 2003
428@@ -2804,6 +2804,11 @@
429 */
430 void QApplication::qwsSetDecoration( QWSDecoration *d )
431 {
432 +qwsSetDecoration_NonWeak ( d );
433+}
434+
435+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d )
436+{
437 if ( d ) {
438 delete qws_decoration;
439 qws_decoration = d;
440Only in qte-2.3.7/src/kernel: qapplication_qws.cpp~
441Only in qte-2.3.7/src/kernel: qapplication_qws.o
442Only in qte-2.3.7/src/kernel: qasyncimageio.o
443Only in qte-2.3.7/src/kernel: qasyncio.o
444Only in qte-2.3.7/src/kernel: qbitmap.o
445Only in qte-2.3.7/src/kernel: qclipboard.o
446Only in qte-2.3.7/src/kernel: qclipboard_qws.o
447Only in qte-2.3.7/src/kernel: qcolor.o
448Only in qte-2.3.7/src/kernel: qcolor_p.o
449Only in qte-2.3.7/src/kernel: qcolor_qws.o
450Only in qte-2.3.7/src/kernel: qconnection.o
451Only in qte-2.3.7/src/kernel: qcopchannel_qws.moc
452Only in qte-2.3.7/src/kernel: qcopchannel_qws.o
453Only in qte-2.3.7/src/kernel: qcursor.o
454Only in qte-2.3.7/src/kernel: qcursor_qws.o
455Only in qte-2.3.7/src/kernel: qdialog.o
456Only in qte-2.3.7/src/kernel: qdirectpainter_qws.o
457Only in qte-2.3.7/src/kernel: qdnd_qws.o
458Only in qte-2.3.7/src/kernel: qdragobject.o
459Only in qte-2.3.7/src/kernel: qdrawutil.o
460Only in qte-2.3.7/src/kernel: qdropsite.o
461Only in qte-2.3.7/src/kernel: qevent.o
462Only in qte-2.3.7/src/kernel: qfocusdata.o
463Only in qte-2.3.7/src/kernel: qfont.o
464Only in qte-2.3.7/src/kernel: qfont_qws.o
465diff -ru qte-2.3.7_orig/src/kernel/qfontdatabase.cpp qte-2.3.7/src/kernel/qfontdatabase.cpp
466 --- qte-2.3.7_orig/src/kernel/qfontdatabase.cppThu Jul 17 03:20:25 2003
467 +++ qte-2.3.7/src/kernel/qfontdatabase.cppMon Oct 27 14:21:28 2003
468@@ -35,6 +35,8 @@
469 **
470 **********************************************************************/
471
472+#define QT_WEAK_SYMBOL __attribute__(( weak ))
473+
474 #include "qfontdatabase.h"
475
476 #ifndef QT_NO_FONTDATABASE
477@@ -2421,6 +2423,13 @@
478 */
479
480 QValueList<int> QFontDatabase::pointSizes( const QString &family,
481+ const QString &style,
482+ const QString &charSet )
483+{
484 +return pointSizes_NonWeak ( family, style, charSet );
485+}
486+
487+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family,
488 const QString &style,
489 const QString &charSet )
490 {
491diff -ru qte-2.3.7_orig/src/kernel/qfontdatabase.h qte-2.3.7/src/kernel/qfontdatabase.h
492 --- qte-2.3.7_orig/src/kernel/qfontdatabase.hThu Jul 17 03:20:25 2003
493 +++ qte-2.3.7/src/kernel/qfontdatabase.hMon Oct 27 14:21:28 2003
494@@ -59,6 +59,10 @@
495 class QDiskFont;
496 #endif
497
498+#if !defined( QT_WEAK_SYMBOL )
499+#define QT_WEAK_SYMBOL
500+#endif
501+
502 class QFontDatabasePrivate;
503
504 class Q_EXPORT QFontDatabase
505@@ -67,9 +71,16 @@
506 QFontDatabase();
507
508 QStringList families( bool onlyForLocale = TRUE ) const;
509+
510+
511 QValueList<int> pointSizes( const QString &family,
512 const QString &style = QString::null,
513 - const QString &charSet = QString::null );
514 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL;
515+private:
516+ QValueList<int> pointSizes_NonWeak( const QString &family,
517 + const QString &style,
518 + const QString &charSet );
519+public:
520 QStringList styles( const QString &family,
521 const QString &charSet = QString::null ) const;
522 QStringList charSets( const QString &familyName,
523Only in qte-2.3.7/src/kernel: qfontdatabase.o
524Only in qte-2.3.7/src/kernel: qfontfactorybdf_qws.o
525Only in qte-2.3.7/src/kernel: qfontfactoryttf_qws.o
526Only in qte-2.3.7/src/kernel: qfontmanager_qws.o
527diff -ru qte-2.3.7_orig/src/kernel/qgfx_qws.cpp qte-2.3.7/src/kernel/qgfx_qws.cpp
528 --- qte-2.3.7_orig/src/kernel/qgfx_qws.cppThu Jul 17 03:20:25 2003
529 +++ qte-2.3.7/src/kernel/qgfx_qws.cppMon Oct 27 14:27:25 2003
530@@ -32,7 +32,7 @@
531 #include "qgfx_qws.h"
532
533 #include <stdio.h>
534-#include <dlfcn.h>
535+//#include <dlfcn.h>
536 #include <sys/types.h>
537 #include <dirent.h>
538 #include <stdlib.h>
539Only in qte-2.3.7/src/kernel: qgfx_qws.o
540diff -ru qte-2.3.7_orig/src/kernel/qgfxraster_qws.cpp qte-2.3.7/src/kernel/qgfxraster_qws.cpp
541 --- qte-2.3.7_orig/src/kernel/qgfxraster_qws.cppThu Jul 17 03:20:25 2003
542 +++ qte-2.3.7/src/kernel/qgfxraster_qws.cppMon Oct 27 14:27:25 2003
543@@ -75,7 +75,11 @@
544 # if __BYTE_ORDER == __BIG_ENDIAN
545 # define QWS_BIG_ENDIAN
546 # endif
547+#elif defined(__APPLE__)
548+# define QWS_BIG_ENDIAN
549 #endif
550+// AJ: the above (test for __APPLE__) is very hacky, but I can't
551+// think of something better at the moment.
552
553 // Pull this private function in from qglobal.cpp
554 extern unsigned int qt_int_sqrt( unsigned int n );
555@@ -3770,6 +3774,19 @@
556 b = srcval & 0xff;
557
558 unsigned char * tmp=(unsigned char *)&alphabuf[loopc];
559+# ifdef QWS_BIG_ENDIAN
560 + if(av==255) {
561 + // Do nothing - we already have source values in r,g,b
562 + } else if(av==0) {
563 + r = *(tmp+1);
564 + g = *(tmp+2);
565 + b = *(tmp+3);
566 + } else {
567 + r = ((r-*(tmp+1)) * av) / 256 + *(tmp+1);
568 + g = ((g-*(tmp+2)) * av) / 256 + *(tmp+2);
569 + b = ((b-*(tmp+3)) * av) / 256 + *(tmp+3);
570 + }
571+# else
572 if(av==255) {
573 // Do nothing - we already have source values in r,g,b
574 } else if(av==0) {
575@@ -3781,6 +3798,7 @@
576 g = ((g-*(tmp+1)) * av) / 256 + *(tmp+1);
577 b = ((b-*(tmp+0)) * av) / 256 + *(tmp+0);
578 }
579+# endif
580 *(alphaptr++) = (r << 16) | (g << 8) | b;
581 }
582
583@@ -4204,7 +4222,7 @@
584
585 } else if ( depth == 1 ) {
586 if (srctype==SourceImage) {
587 - static int warn;
588 + static int warn = 0;
589 if ( warn++ < 5 )
590 qDebug( "bitmap alpha-image not implemented" );
591 hImageLineUnclipped( x1, x2, l, srcdata, FALSE );
592@@ -4237,7 +4255,7 @@
593 setAlphaType(IgnoreAlpha);
594 if ( w <= 0 || h <= 0 || !ncliprect ) return;
595 GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1))
596-#ifdef QWS_EXPERIMENTAL_FASTPATH
597+#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !!
598 // ### fix for 8bpp
599 // This seems to be reliable now, at least for 16bpp
600
601Only in qte-2.3.7/src/kernel: qgfxraster_qws.cpp~
602Only in qte-2.3.7/src/kernel: qgfxraster_qws.o
603Only in qte-2.3.7/src/kernel: qguardedptr.o
604Only in qte-2.3.7/src/kernel: qiconset.o
605Only in qte-2.3.7/src/kernel: qimage.o
606Only in qte-2.3.7/src/kernel: qinputcontext_qws.o
607Only in qte-2.3.7/src/kernel: qjpegio.o
608diff -ru qte-2.3.7_orig/src/kernel/qkeyboard_qws.cpp qte-2.3.7/src/kernel/qkeyboard_qws.cpp
609 --- qte-2.3.7_orig/src/kernel/qkeyboard_qws.cppThu Jul 17 03:20:25 2003
610 +++ qte-2.3.7/src/kernel/qkeyboard_qws.cppMon Oct 27 14:42:11 2003
611@@ -69,7 +69,7 @@
612 #if !defined(_OS_QNX6_)
613
614 #include <termios.h>
615-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
616+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
617 #include <sys/kd.h>
618 #include <sys/vt.h>
619 #endif
620@@ -468,10 +468,12 @@
621 void QWSPC101KeyboardHandler::restoreLeds()
622 {
623 char leds;
624+#if !defined(_OS_MACX_)
625 ioctl(0, KDGETLED, &leds);
626 leds = leds & ~LED_CAP;
627 if ( caps ) leds |= LED_CAP;
628 ioctl(0, KDSETLED, leds);
629+#endif
630 }
631
632 class QWSTtyKeyboardHandler : public QWSPC101KeyboardHandler
633@@ -547,7 +549,7 @@
634
635 static void vtSwitchHandler(int /*sig*/)
636 {
637-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
638+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
639 if (vtActive) {
640 qwsServer->enablePainting(false);
641 qt_screen->save();
642@@ -880,7 +882,7 @@
643 if (term && !release) {
644 ctrl = false;
645 alt = false;
646-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
647+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
648 ioctl(kbdFD, VT_ACTIVATE, term);
649 #endif
650 return;
651@@ -1031,7 +1033,7 @@
652 struct termios termdata;
653 tcgetattr( kbdFD, &termdata );
654
655-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
656+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
657 ioctl(kbdFD, KDSKBMODE, K_RAW);
658 #endif
659
660@@ -1047,7 +1049,7 @@
661
662 signal(VTSWITCHSIG, vtSwitchHandler);
663
664-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
665+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
666 struct vt_mode vtMode;
667 ioctl(kbdFD, VT_GETMODE, &vtMode);
668
669@@ -1068,7 +1070,7 @@
670 {
671 if (kbdFD >= 0)
672 {
673-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
674+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
675 ioctl(kbdFD, KDSKBMODE, K_XLATE);
676 #endif
677 tcsetattr(kbdFD, TCSANOW, &origTermData);
678Only in qte-2.3.7/src/kernel: qkeyboard_qws.cpp.rej
679Only in qte-2.3.7/src/kernel: qkeyboard_qws.cpp~
680Only in qte-2.3.7/src/kernel: qkeyboard_qws.moc
681Only in qte-2.3.7/src/kernel: qkeyboard_qws.o
682Only in qte-2.3.7/src/kernel: qlayout.o
683Only in qte-2.3.7/src/kernel: qlayoutengine.o
684Only in qte-2.3.7/src/kernel: qlocalfs.o
685diff -ru qte-2.3.7_orig/src/kernel/qlock_qws.cpp qte-2.3.7/src/kernel/qlock_qws.cpp
686 --- qte-2.3.7_orig/src/kernel/qlock_qws.cppThu Jul 17 03:20:25 2003
687 +++ qte-2.3.7/src/kernel/qlock_qws.cppMon Oct 27 14:27:25 2003
688@@ -38,7 +38,7 @@
689 #include <errno.h>
690
691 #if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED) \
692- || defined _OS_FREEBSD_
693+ || defined(_OS_FREEBSD_) || defined(_OS_MACX_)
694 /* union semun is defined by including <sys/sem.h> */
695 #else
696 /* according to X/OPEN we have to define it ourselves */
697Only in qte-2.3.7/src/kernel: qlock_qws.o
698Only in qte-2.3.7/src/kernel: qmemorymanager_qws.o
699Only in qte-2.3.7/src/kernel: qmetaobject.o
700Only in qte-2.3.7/src/kernel: qmime.o
701Only in qte-2.3.7/src/kernel: qmngio.o
702Only in qte-2.3.7/src/kernel: qmovie.moc
703Only in qte-2.3.7/src/kernel: qmovie.o
704Only in qte-2.3.7/src/kernel: qnetworkprotocol.o
705Only in qte-2.3.7/src/kernel: qobject.o
706Only in qte-2.3.7/src/kernel: qpaintdevice_qws.o
707Only in qte-2.3.7/src/kernel: qpaintdevicemetrics.o
708Only in qte-2.3.7/src/kernel: qpainter.o
709Only in qte-2.3.7/src/kernel: qpainter_qws.o
710Only in qte-2.3.7/src/kernel: qpalette.o
711Only in qte-2.3.7/src/kernel: qpicture.o
712Only in qte-2.3.7/src/kernel: qpixmap.o
713Only in qte-2.3.7/src/kernel: qpixmap_qws.o
714Only in qte-2.3.7/src/kernel: qpixmapcache.o
715Only in qte-2.3.7/src/kernel: qpngio.o
716Only in qte-2.3.7/src/kernel: qpoint.o
717Only in qte-2.3.7/src/kernel: qprinter.o
718Only in qte-2.3.7/src/kernel: qprinter_qws.o
719Only in qte-2.3.7/src/kernel: qpsprinter.o
720Only in qte-2.3.7/src/kernel: qrect.o
721Only in qte-2.3.7/src/kernel: qregion.o
722Only in qte-2.3.7/src/kernel: qrichtext.o
723Only in qte-2.3.7/src/kernel: qsemimodal.o
724Only in qte-2.3.7/src/kernel: qsharedmemory.o
725Only in qte-2.3.7/src/kernel: qsignal.o
726Only in qte-2.3.7/src/kernel: qsignalmapper.o
727Only in qte-2.3.7/src/kernel: qsimplerichtext.o
728Only in qte-2.3.7/src/kernel: qsize.o
729Only in qte-2.3.7/src/kernel: qsizegrip.o
730Only in qte-2.3.7/src/kernel: qsocketnotifier.o
731Only in qte-2.3.7/src/kernel: qsound.o
732Only in qte-2.3.7/src/kernel: qsound_qws.o
733Only in qte-2.3.7/src/kernel: qsoundqss_qws.moc
734Only in qte-2.3.7/src/kernel: qsoundqss_qws.o
735Only in qte-2.3.7/src/kernel: qstyle.o
736Only in qte-2.3.7/src/kernel: qstylesheet.o
737Only in qte-2.3.7/src/kernel: qthread_unix.moc
738Only in qte-2.3.7/src/kernel: qthread_unix.o
739Only in qte-2.3.7/src/kernel: qtimer.o
740Only in qte-2.3.7/src/kernel: qtranslator.o
741Only in qte-2.3.7/src/kernel: qurl.o
742Only in qte-2.3.7/src/kernel: qurlinfo.o
743Only in qte-2.3.7/src/kernel: qurloperator.o
744Only in qte-2.3.7/src/kernel: qvariant.o
745Only in qte-2.3.7/src/kernel: qwidget.o
746Only in qte-2.3.7/src/kernel: qwidget_qws.o
747diff -ru qte-2.3.7_orig/src/kernel/qwindowsystem_qws.cpp qte-2.3.7/src/kernel/qwindowsystem_qws.cpp
748 --- qte-2.3.7_orig/src/kernel/qwindowsystem_qws.cppThu Jul 17 03:20:26 2003
749 +++ qte-2.3.7/src/kernel/qwindowsystem_qws.cppMon Oct 27 14:27:25 2003
750@@ -844,6 +844,18 @@
751 {
752 }
753
754+static void catchSegvSignal( int )
755+{
756+#ifndef QT_NO_QWS_KEYBOARD
757+ if ( qwsServer )
758 +qwsServer->closeKeyboard();
759+#endif
760+ QWSServer::closedown();
761+ fprintf(stderr, "Segmentation fault.\n");
762+ exit(1);
763+}
764+
765+
766 /*!
767 \class QWSServer qwindowsystem_qws.h
768 \brief Server-specific functionality in Qt/Embedded
769@@ -936,6 +948,7 @@
770 }
771
772 signal(SIGPIPE, ignoreSignal); //we get it when we read
773+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash
774 #endif
775 focusw = 0;
776 mouseGrabber = 0;
777@@ -950,7 +963,7 @@
778
779 #ifndef QT_NO_QWS_MULTIPROCESS
780 if ( !geteuid() ) {
781-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
782+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
783 if( mount(0, "/var/shm", "shm", 0, 0) ) {
784 /* This just confuses people with 2.2 kernels
785 if ( errno != EBUSY )
786Only in qte-2.3.7/src/kernel: qwindowsystem_qws.cpp~
787Only in qte-2.3.7/src/kernel: qwindowsystem_qws.o
788Only in qte-2.3.7/src/kernel: qwmatrix.o
789Only in qte-2.3.7/src/kernel: qwsbeosdecoration_qws.o
790Only in qte-2.3.7/src/kernel: qwscommand_qws.o
791Only in qte-2.3.7/src/kernel: qwscursor_qws.o
792Only in qte-2.3.7/src/kernel: qwsdecoration_qws.o
793Only in qte-2.3.7/src/kernel: qwsdefaultdecoration_qws.o
794Only in qte-2.3.7/src/kernel: qwsevent_qws.o
795Only in qte-2.3.7/src/kernel: qwshydrodecoration_qws.o
796Only in qte-2.3.7/src/kernel: qwskde2decoration_qws.o
797Only in qte-2.3.7/src/kernel: qwskdedecoration_qws.o
798Only in qte-2.3.7/src/kernel: qwsmanager_qws.o
799diff -ru qte-2.3.7_orig/src/kernel/qwsmouse_qws.cpp qte-2.3.7/src/kernel/qwsmouse_qws.cpp
800 --- qte-2.3.7_orig/src/kernel/qwsmouse_qws.cppThu Jul 17 03:20:26 2003
801 +++ qte-2.3.7/src/kernel/qwsmouse_qws.cppMon Oct 27 14:27:25 2003
802@@ -336,7 +336,7 @@
803 tty.c_oflag = 0;
804 tty.c_lflag = 0;
805 tty.c_cflag = f | CREAD | CLOCAL | HUPCL;
806-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
807+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
808 tty.c_line = 0;
809 #endif
810 tty.c_cc[VTIME] = 0;
811@@ -889,7 +889,7 @@
812 tty.c_iflag = IGNBRK | IGNPAR;
813 tty.c_oflag = 0;
814 tty.c_lflag = 0;
815-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
816+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
817 tty.c_line = 0;
818 #endif // _OS_FREEBSD_
819 tty.c_cc[VTIME] = 0;
820Only in qte-2.3.7/src/kernel: qwsmouse_qws.moc
821Only in qte-2.3.7/src/kernel: qwsmouse_qws.o
822Only in qte-2.3.7/src/kernel: qwsproperty_qws.o
823Only in qte-2.3.7/src/kernel: qwsregionmanager_qws.o
824Only in qte-2.3.7/src/kernel: qwssocket_qws.o
825Only in qte-2.3.7/src/kernel: qwswindowsdecoration_qws.o
826Only in qte-2.3.7/src/moc: Makefile
827Only in qte-2.3.7/src/moc: moc
828Only in qte-2.3.7/src/moc: mocgen.o
829Only in qte-2.3.7/src/moc: qbuffer.o
830Only in qte-2.3.7/src/moc: qcollection.o
831Only in qte-2.3.7/src/moc: qcstring.o
832Only in qte-2.3.7/src/moc: qdatastream.o
833Only in qte-2.3.7/src/moc: qdatetime.o
834Only in qte-2.3.7/src/moc: qfile.o
835Only in qte-2.3.7/src/moc: qfile_unix.o
836Only in qte-2.3.7/src/moc: qgarray.o
837Only in qte-2.3.7/src/moc: qgdict.o
838Only in qte-2.3.7/src/moc: qglist.o
839Only in qte-2.3.7/src/moc: qglobal.o
840Only in qte-2.3.7/src/moc: qgvector.o
841Only in qte-2.3.7/src/moc: qiodevice.o
842Only in qte-2.3.7/src/moc: qregexp.o
843Only in qte-2.3.7/src/moc: qstring.o
844Only in qte-2.3.7/src/moc: qtextcodec.o
845Only in qte-2.3.7/src/moc: qtextstream.o
846Only in qte-2.3.7/src/moc: qutfcodec.o
847Only in qte-2.3.7/src/network: qdns.o
848Only in qte-2.3.7/src/network: qftp.o
849Only in qte-2.3.7/src/network: qhostaddress.o
850Only in qte-2.3.7/src/network: qnetwork.o
851Only in qte-2.3.7/src/network: qserversocket.o
852Only in qte-2.3.7/src/network: qsocket.o
853Only in qte-2.3.7/src/network: qsocketdevice.o
854Only in qte-2.3.7/src/network: qsocketdevice_unix.o
855Only in qte-2.3.7/src/table: qtable.o
856Only in qte-2.3.7/src/tools: qbitarray.o
857Only in qte-2.3.7/src/tools: qbuffer.o
858Only in qte-2.3.7/src/tools: qcollection.o
859Only in qte-2.3.7/src/tools: qconfig-qpe.h
860Only in qte-2.3.7/src/tools: qconfig-qpe.h~
861diff -ru qte-2.3.7_orig/src/tools/qconfig.h qte-2.3.7/src/tools/qconfig.h
862 --- qte-2.3.7_orig/src/tools/qconfig.hFri Jan 26 14:43:06 2001
863 +++ qte-2.3.7/src/tools/qconfig.hWed Oct 29 22:13:16 2003
864@@ -1,3 +1,26 @@
865+// Copied from qconfig-qpe.h
866+/**********************************************************************
867+** Copyright (C) 2000 Trolltech AS. All rights reserved.
868+**
869+** This file is part of Qtopia Environment.
870+**
871+** This file may be distributed and/or modified under the terms of the
872+** GNU General Public License version 2 as published by the Free Software
873+** Foundation and appearing in the file LICENSE.GPL included in the
874+** packaging of this file.
875+**
876+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
877+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
878+**
879+** See http://www.trolltech.com/gpl/ for GPL licensing information.
880+**
881+** Contact info@trolltech.com if any conditions of this licensing are
882+** not clear to you.
883+**
884+**********************************************************************/
885+#ifndef QT_H
886+#endif // QT_H
887+
888 // Empty leaves all features enabled. See doc/html/features.html for choices.
889
890 // Note that disabling some features will produce a libqt that is not
891@@ -8,3 +31,69 @@
892 #ifndef QT_DLL
893 #define QT_DLL // Internal
894 #endif
895+
896+#if defined(QT_QWS_IPAQ) || defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_SL5XXX)
897+# define QT_NO_QWS_CURSOR
898+# define QT_NO_QWS_MOUSE_AUTO
899+#endif
900+#ifndef QT_NO_CODECS
901+#define QT_NO_CODECS
902+#endif
903+#define QT_NO_UNICODETABLES
904+//#define QT_NO_IMAGEIO_BMP
905+#define QT_NO_IMAGEIO_PPM
906+//#define QT_NO_ASYNC_IO
907+//#define QT_NO_ASYNC_IMAGE_IO
908+#define QT_NO_FREETYPE
909+#define QT_NO_BDF
910+//#define QT_NO_FONTDATABASE
911+#define QT_NO_DRAGANDDROP
912+//#define QT_NO_CLIPBOARD
913+#define QT_NO_PROPERTIES
914+#define QT_NO_NETWORKPROTOCOL
915+
916+#define QT_NO_IMAGE_TEXT
917+
918+//#define QT_NO_TOOLTIP
919+#define QT_NO_COLORNAMES
920+#define QT_NO_TRANSFORMATIONS
921+#define QT_NO_TRANSLATION_BUILDER
922+#define QT_NO_COMPLEXTEXT
923+#define QT_NO_PRINTER
924+#define QT_NO_PICTURE
925+//#define QT_NO_ICONVIEW
926+#define QT_NO_DIAL
927+#define QT_NO_SIZEGRIP
928+#define QT_NO_WORKSPACE
929+//#define QT_NO_TABLE
930+//#define QT_NO_ACTION
931+//#define QT_NO_SETTINGS
932+#define QT_NO_STYLE_POCKETPC
933+#ifndef QT_NO_STYLE_AQUA
934+# define QT_NO_STYLE_AQUA
935+#endif
936+#define QT_NO_STYLE_MOTIF
937+#define QT_NO_STYLE_PLATINUM
938+#define QT_NO_FILEDIALOG
939+#define QT_NO_FONTDIALOG
940+#define QT_NO_PRINTDIALOG
941+#define QT_NO_COLORDIALOG
942+#define QT_NO_INPUTDIALOG
943+//#define QT_NO_MESSAGEBOX
944+#define QT_NO_PROGRESSDIALOG
945+//#define QT_NO_TABDIALOG
946+#define QT_NO_WIZARD
947+#define QT_NO_EFFECTS
948+//#define QT_NO_COMPONENT
949+#define QT_NO_DOM
950+#define QT_NO_SEMIMODAL
951+//#define QT_NO_PROGRESSBAR
952+#define QT_NO_SPLITTER
953+
954+//#define QT_NO_QWS_SAVEFONTS
955+//#define QT_NO_QWS_PROPERTIES
956+
957+#define QT_NO_QWS_BEOS_WM_STYLE
958+#define QT_NO_QWS_KDE2_WM_STYLE
959+#define QT_NO_QWS_KDE_WM_STYLE
960+#define QT_NO_QWS_WINDOWS_WM_STYLE
961Only in qte-2.3.7/src/tools: qconfig.h~
962Only in qte-2.3.7/src/tools: qcstring.o
963Only in qte-2.3.7/src/tools: qdatastream.o
964Only in qte-2.3.7/src/tools: qdatetime.o
965Only in qte-2.3.7/src/tools: qdir.o
966Only in qte-2.3.7/src/tools: qdir_unix.o
967Only in qte-2.3.7/src/tools: qfile.o
968Only in qte-2.3.7/src/tools: qfile_unix.o
969Only in qte-2.3.7/src/tools: qfileinfo.o
970Only in qte-2.3.7/src/tools: qfileinfo_unix.o
971Only in qte-2.3.7/src/tools: qgarray.o
972Only in qte-2.3.7/src/tools: qgcache.o
973Only in qte-2.3.7/src/tools: qgdict.o
974Only in qte-2.3.7/src/tools: qglist.o
975Only in qte-2.3.7/src/tools: qglobal.o
976Only in qte-2.3.7/src/tools: qgvector.o
977Only in qte-2.3.7/src/tools: qiodevice.o
978Only in qte-2.3.7/src/tools: qmap.o
979diff -ru qte-2.3.7_orig/src/tools/qmodules.h qte-2.3.7/src/tools/qmodules.h
980 --- qte-2.3.7_orig/src/tools/qmodules.hFri Aug 31 17:00:56 2001
981 +++ qte-2.3.7/src/tools/qmodules.hWed Oct 29 21:57:53 2003
982@@ -1,14 +1,12 @@
983-#ifndef QT_H
984-#endif // QT_H
985-
986+// These modules are licensed to you
987 #define QT_MODULE_TOOLS
988 #define QT_MODULE_KERNEL
989 #define QT_MODULE_WIDGETS
990 #define QT_MODULE_DIALOGS
991-
992 #define QT_MODULE_ICONVIEW
993 #define QT_MODULE_WORKSPACE
994-#define QT_MODULE_TABLE
995+#define QT_MODULE_NETWORK
996 #define QT_MODULE_CANVAS
997+#define QT_MODULE_TABLE
998 #define QT_MODULE_XML
999-#define QT_MODULE_NETWORK
1000+#define QT_MODULE_OPENGL
1001Only in qte-2.3.7/src/tools: qregexp.o
1002Only in qte-2.3.7/src/tools: qstring.o
1003Only in qte-2.3.7/src/tools: qstringlist.o
1004Only in qte-2.3.7/src/tools: qtextcodec.o
1005Only in qte-2.3.7/src/tools: qtextstream.o
1006Only in qte-2.3.7/src/tools: qutfcodec.o
1007Only in qte-2.3.7/src/widgets: qaction.o
1008Only in qte-2.3.7/src/widgets: qbutton.o
1009Only in qte-2.3.7/src/widgets: qbuttongroup.o
1010Only in qte-2.3.7/src/widgets: qcdestyle.o
1011Only in qte-2.3.7/src/widgets: qcheckbox.o
1012Only in qte-2.3.7/src/widgets: qcombobox.o
1013diff -ru qte-2.3.7_orig/src/widgets/qcommonstyle.cpp qte-2.3.7/src/widgets/qcommonstyle.cpp
1014 --- qte-2.3.7_orig/src/widgets/qcommonstyle.cppThu Jul 17 03:20:26 2003
1015 +++ qte-2.3.7/src/widgets/qcommonstyle.cppMon Oct 27 14:21:28 2003
1016@@ -566,7 +566,7 @@
1017 bool enabled, bool active )
1018 {
1019 #ifndef QT_NO_MENUBAR
1020-#ifndef QT_NO_STYLE_SGI
1021+#if 1 // #ifndef QT_NO_STYLE_SGI
1022 if (draw_menu_bar_impl != 0) {
1023 QDrawMenuBarItemImpl impl = draw_menu_bar_impl;
1024 (this->*impl)(p, x, y, w, h, mi, g, enabled, active);
1025Only in qte-2.3.7/src/widgets: qcommonstyle.o
1026Only in qte-2.3.7/src/widgets: qcompactstyle.o
1027Only in qte-2.3.7/src/widgets: qdial.o
1028Only in qte-2.3.7/src/widgets: qeffects.moc
1029Only in qte-2.3.7/src/widgets: qeffects.o
1030Only in qte-2.3.7/src/widgets: qframe.o
1031Only in qte-2.3.7/src/widgets: qgrid.o
1032Only in qte-2.3.7/src/widgets: qgroupbox.o
1033Only in qte-2.3.7/src/widgets: qhbox.o
1034Only in qte-2.3.7/src/widgets: qhbuttongroup.o
1035Only in qte-2.3.7/src/widgets: qheader.o
1036Only in qte-2.3.7/src/widgets: qhgroupbox.o
1037Only in qte-2.3.7/src/widgets: qinterlacestyle.o
1038Only in qte-2.3.7/src/widgets: qlabel.o
1039Only in qte-2.3.7/src/widgets: qlcdnumber.o
1040Only in qte-2.3.7/src/widgets: qlineedit.o
1041Only in qte-2.3.7/src/widgets: qlistbox.o
1042diff -ru qte-2.3.7_orig/src/widgets/qlistview.cpp qte-2.3.7/src/widgets/qlistview.cpp
1043 --- qte-2.3.7_orig/src/widgets/qlistview.cppThu Jul 17 03:20:26 2003
1044 +++ qte-2.3.7/src/widgets/qlistview.cppMon Oct 27 14:21:28 2003
1045@@ -4968,9 +4968,9 @@
1046 l = l->childItem ? l->childItem : l->siblingItem;
1047
1048 if ( l && l->height() )
1049 -s.setHeight( s.height() + 10 * l->height() );
1050- else
1051 -s.setHeight( s.height() + 140 );
1052 +s.setHeight( s.height() + 4 /*10*/ * l->height() );
1053+ else // ^v much too big for handhelds
1054 +s.setHeight( s.height() + 30 /*140*/ );
1055
1056 if ( s.width() > s.height() * 3 )
1057 s.setHeight( s.width() / 3 );
1058Only in qte-2.3.7/src/widgets: qlistview.o
1059Only in qte-2.3.7/src/widgets: qmainwindow.moc
1060Only in qte-2.3.7/src/widgets: qmainwindow.o
1061Only in qte-2.3.7/src/widgets: qmenubar.o
1062Only in qte-2.3.7/src/widgets: qmenudata.o
1063Only in qte-2.3.7/src/widgets: qmotifplusstyle.o
1064Only in qte-2.3.7/src/widgets: qmotifstyle.o
1065Only in qte-2.3.7/src/widgets: qmultilineedit.o
1066Only in qte-2.3.7/src/widgets: qplatinumstyle.o
1067Only in qte-2.3.7/src/widgets: qpopupmenu.o
1068Only in qte-2.3.7/src/widgets: qprogressbar.o
1069Only in qte-2.3.7/src/widgets: qpushbutton.o
1070Only in qte-2.3.7/src/widgets: qradiobutton.o
1071Only in qte-2.3.7/src/widgets: qrangecontrol.o
1072Only in qte-2.3.7/src/widgets: qscrollbar.o
1073Only in qte-2.3.7/src/widgets: qscrollview.o
1074Only in qte-2.3.7/src/widgets: qsgistyle.o
1075Only in qte-2.3.7/src/widgets: qslider.o
1076Only in qte-2.3.7/src/widgets: qspinbox.o
1077Only in qte-2.3.7/src/widgets: qsplitter.o
1078Only in qte-2.3.7/src/widgets: qstatusbar.o
1079Only in qte-2.3.7/src/widgets: qtabbar.o
1080Only in qte-2.3.7/src/widgets: qtableview.o
1081Only in qte-2.3.7/src/widgets: qtabwidget.o
1082Only in qte-2.3.7/src/widgets: qtextbrowser.o
1083Only in qte-2.3.7/src/widgets: qtextview.o
1084Only in qte-2.3.7/src/widgets: qtoolbar.moc
1085Only in qte-2.3.7/src/widgets: qtoolbar.o
1086diff -ru qte-2.3.7_orig/src/widgets/qtoolbutton.cpp qte-2.3.7/src/widgets/qtoolbutton.cpp
1087 --- qte-2.3.7_orig/src/widgets/qtoolbutton.cppThu Jul 17 03:20:27 2003
1088 +++ qte-2.3.7/src/widgets/qtoolbutton.cppMon Oct 27 14:21:28 2003
1089@@ -230,7 +230,7 @@
1090 else
1091 QToolTip::add( this, textLabel );
1092 }
1093 -#endif
1094+#endif
1095 }
1096
1097
1098@@ -324,12 +324,12 @@
1099 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal);
1100 w = pm.width();
1101 h = pm.height();
1102 -if ( w < 32 )
1103 - w = 32;
1104 -if ( h < 32 )
1105 - h = 32;
1106 +if ( w < 24 )
1107 + w = 24;
1108 +if ( h < 24 )
1109 + h = 24;
1110 } else {
1111 -w = h = 16;
1112 +w = h = 14;
1113 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal);
1114 w = pm.width();
1115 h = pm.height();
1116Only in qte-2.3.7/src/widgets: qtoolbutton.o
1117Only in qte-2.3.7/src/widgets: qtooltip.moc
1118Only in qte-2.3.7/src/widgets: qtooltip.o
1119Only in qte-2.3.7/src/widgets: qvalidator.o
1120Only in qte-2.3.7/src/widgets: qvbox.o
1121Only in qte-2.3.7/src/widgets: qvbuttongroup.o
1122Only in qte-2.3.7/src/widgets: qvgroupbox.o
1123Only in qte-2.3.7/src/widgets: qwhatsthis.moc
1124Only in qte-2.3.7/src/widgets: qwhatsthis.o
1125Only in qte-2.3.7/src/widgets: qwidgetstack.o
1126Only in qte-2.3.7/src/widgets: qwindowsstyle.o
1127Only in qte-2.3.7/src/workspace: qworkspace.moc
1128Only in qte-2.3.7/src/workspace: qworkspace.o
1129Only in qte-2.3.7/src/xml: qdom.o
1130Only in qte-2.3.7/src/xml: qxml.o
1131Only in qte-2.3.7: src-mt.mk
1132Only in qte-2.3.7: stamp-headers
1133Only in qte-2.3.7/tools: Makefile
1134Only in qte-2.3.7/tools/designer: Makefile
1135Only in qte-2.3.7/tools/designer/designer: Makefile
1136Only in qte-2.3.7/tools/designer/examples/walkthrough: Makefile
1137Only in qte-2.3.7/tools/designer/integration/rc2ui: Makefile
1138Only in qte-2.3.7/tools/designer/tools/createcw: Makefile
1139Only in qte-2.3.7/tools/designer/uic: Makefile
1140Only in qte-2.3.7/tools/designer/util: Makefile
1141Only in qte-2.3.7/tools/makeqpf: Makefile
1142Only in qte-2.3.7/tools/mergetr: Makefile
1143Only in qte-2.3.7/tools/msg2qm: Makefile
1144Only in qte-2.3.7/tools/qconfig: Makefile
1145Only in qte-2.3.7/tools/qembed: Makefile
1146Only in qte-2.3.7/tools/qvfb: Makefile
1147Only in qte-2.3.7/tutorial: Makefile
1148Only in qte-2.3.7/tutorial/t1: Makefile
1149Only in qte-2.3.7/tutorial/t10: Makefile
1150Only in qte-2.3.7/tutorial/t11: Makefile
1151Only in qte-2.3.7/tutorial/t12: Makefile
1152Only in qte-2.3.7/tutorial/t13: Makefile
1153Only in qte-2.3.7/tutorial/t14: Makefile
1154Only in qte-2.3.7/tutorial/t2: Makefile
1155Only in qte-2.3.7/tutorial/t3: Makefile
1156Only in qte-2.3.7/tutorial/t4: Makefile
1157Only in qte-2.3.7/tutorial/t5: Makefile
1158Only in qte-2.3.7/tutorial/t6: Makefile
1159Only in qte-2.3.7/tutorial/t7: Makefile
1160Only in qte-2.3.7/tutorial/t8: Makefile
1161Only in qte-2.3.7/tutorial/t9: Makefile
diff --git a/rsync/config_linux.h b/rsync/config_linux.h
index e5ff3e4..f488b78 100644
--- a/rsync/config_linux.h
+++ b/rsync/config_linux.h
@@ -20,13 +20,13 @@
20#define _FILE_OFFSET_BITS 64 20#define _FILE_OFFSET_BITS 64
21 21
22/* Define to include GNU C library extensions. */ 22/* Define to include GNU C library extensions. */
23#define _GNU_SOURCE 1 23#define _GNU_SOURCE 1
24 24
25/* GNU extension of saving argv[0] to program_invocation_short_name */ 25/* GNU extension of saving argv[0] to program_invocation_short_name */
26#define HAVE_PROGRAM_INVOCATION_NAME 1 26/* #define HAVE_PROGRAM_INVOCATION_NAME 1 */
27 27
28/* Define to a replacement type if intmax_t is not a builtin, or in 28/* Define to a replacement type if intmax_t is not a builtin, or in
29 sys/types.h or stdlib.h or stddef.h */ 29 sys/types.h or stdlib.h or stddef.h */
30/* #undef intmax_t */ 30/* #undef intmax_t */
31 31
32/* The number of bytes in a int. */ 32/* The number of bytes in a int. */
diff --git a/rsync/trace.h b/rsync/trace.h
index 60a6477..2bb8552 100644
--- a/rsync/trace.h
+++ b/rsync/trace.h
@@ -33,40 +33,33 @@
33 * 33 *
34 * error is always on, but you can return and continue in some way 34 * error is always on, but you can return and continue in some way
35 * 35 *
36 * fatal terminates the whole process 36 * fatal terminates the whole process
37 */ 37 */
38 38
39void rs_fatal0(char const *s, ...); 39#if defined(HAVE_VARARG_MACROS) && defined(__GNUC__)
40void rs_error0(char const *s, ...); 40/*
41void rs_trace0(char const *s, ...); 41 * TODO: Don't assume this is a gcc thing; rather test in autoconf for
42 42 * support for __FUNCTION__. One simple way might just be to try compiling
43void rs_log0_nofn(int level, char const *fmt, ...); 43 * the definition of one of these functions!
44 44 *
45#ifdef __GNUC__ 45 * TODO: Also look for the C9X predefined identifier `_function', or
46 * whatever it's called.
47 */
46 48
47void rs_log0(int level, char const *fn, char const *fmt, ...) 49void rs_log0(int level, char const *fn, char const *fmt, ...)
48 __attribute__ ((format(printf, 3, 4))); 50 __attribute__ ((format(printf, 3, 4)));
49 51
50#ifdef DO_RS_TRACE 52#ifdef DO_RS_TRACE
51# define rs_trace(fmt, arg...) \ 53# define rs_trace(fmt, arg...) \
52 do { rs_log0(RS_LOG_DEBUG, __FUNCTION__, fmt , ##arg); \ 54 do { rs_log0(RS_LOG_DEBUG, __FUNCTION__, fmt , ##arg); \
53 } while (0) 55 } while (0)
54#else 56#else
55# define rs_trace(s, str...) 57# define rs_trace(fmt, arg...)
56 #endif/* !DO_RS_TRACE */ 58 #endif/* !DO_RS_TRACE */
57 59
58/*
59 * TODO: Don't assume this is a gcc thing; rather test in autoconf for
60 * support for __FUNCTION__ and varargs macros. One simple way might
61 * just be to try compiling the definition of one of these functions!
62 *
63 * TODO: Also look for the C9X predefined identifier `_function', or
64 * whatever it's called.
65 */
66
67#define rs_log(l, s, str...) do { \ 60#define rs_log(l, s, str...) do { \
68 rs_log0((l), __FUNCTION__, (s) , ##str); \ 61 rs_log0((l), __FUNCTION__, (s) , ##str); \
69 } while (0) 62 } while (0)
70 63
71 64
72#define rs_error(s, str...) do { \ 65#define rs_error(s, str...) do { \
@@ -79,36 +72,33 @@ void rs_log0(int level, char const *fn, char const *fmt, ...)
79 (s) , ##str); \ 72 (s) , ##str); \
80 abort(); \ 73 abort(); \
81 } while (0) 74 } while (0)
82 75
83 76
84#else /************************* ! __GNUC__ */ 77#else /************************* ! __GNUC__ */
85 78# define rs_trace rs_trace0
86# define rs_fatal rs_fatal0 79# define rs_fatal rs_fatal0
87# define rs_error rs_error0 80# define rs_error rs_error0
88# define rs_log rs_log0_nofn 81# define rs_log rs_log0_nofn
89
90# ifdef DO_RS_TRACE
91# define rs_trace rs_trace0
92 # endif /* DO_RS_TRACE */
93 #endif /* ! __GNUC__ */ 82 #endif /* ! __GNUC__ */
94 83
95 84void rs_trace0(char const *s, ...);
85void rs_fatal0(char const *s, ...);
86void rs_error0(char const *s, ...);
96void rs_log0(int level, char const *fn, char const *fmt, ...); 87void rs_log0(int level, char const *fn, char const *fmt, ...);
97 88void rs_log0_nofn(int level, char const *fmt, ...);
98 89
99enum { 90enum {
100 RS_LOG_PRIMASK = 7, /**< Mask to extract priority 91 RS_LOG_PRIMASK = 7, /**< Mask to extract priority
101 part. \internal */ 92 part. \internal */
102 93
103 RS_LOG_NONAME = 8 /**< \b Don't show function name in 94 RS_LOG_NONAME = 8 /**< \b Don't show function name in
104 message. */ 95 message. */
105}; 96};
106 97
107 98
108
109/** 99/**
110 * \macro rs_trace_enabled() 100 * \macro rs_trace_enabled()
111 * 101 *
112 * Call this before putting too much effort into generating trace 102 * Call this before putting too much effort into generating trace
113 * messages. 103 * messages.
114 */ 104 */
diff --git a/scripts/kconfig/lkc_proto.h b/scripts/kconfig/lkc_proto.h
index 97c7917..e438bd8 100644
--- a/scripts/kconfig/lkc_proto.h
+++ b/scripts/kconfig/lkc_proto.h
@@ -2,22 +2,22 @@
2/* confdata.c */ 2/* confdata.c */
3P(conf_parse,void,(const char *name)); 3P(conf_parse,void,(const char *name));
4P(conf_read,int,(const char *name)); 4P(conf_read,int,(const char *name));
5P(conf_write,int,(const char *name)); 5P(conf_write,int,(const char *name));
6 6
7/* menu.c */ 7/* menu.c */
8P(rootmenu,struct menu,); 8extern struct menu rootmenu;
9 9
10P(menu_is_visible,bool,(struct menu *menu)); 10P(menu_is_visible,bool,(struct menu *menu));
11P(menu_get_prompt,const char *,(struct menu *menu)); 11P(menu_get_prompt,const char *,(struct menu *menu));
12P(menu_get_root_menu,struct menu *,(struct menu *menu)); 12P(menu_get_root_menu,struct menu *,(struct menu *menu));
13P(menu_get_parent_menu,struct menu *,(struct menu *menu)); 13P(menu_get_parent_menu,struct menu *,(struct menu *menu));
14 14
15/* symbol.c */ 15/* symbol.c */
16P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]); 16P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]);
17P(sym_change_count,int,); 17extern int sym_change_count;
18 18
19P(sym_lookup,struct symbol *,(const char *name, int isconst)); 19P(sym_lookup,struct symbol *,(const char *name, int isconst));
20P(sym_find,struct symbol *,(const char *name)); 20P(sym_find,struct symbol *,(const char *name));
21P(sym_type_name,const char *,(enum symbol_type type)); 21P(sym_type_name,const char *,(enum symbol_type type));
22P(sym_calc_value,void,(struct symbol *sym)); 22P(sym_calc_value,void,(struct symbol *sym));
23P(sym_get_type,enum symbol_type,(struct symbol *sym)); 23P(sym_get_type,enum symbol_type,(struct symbol *sym));