summaryrefslogtreecommitdiff
path: root/noncore/unsupported/libopie/sharp_compat.cpp
Side-by-side diff
Diffstat (limited to 'noncore/unsupported/libopie/sharp_compat.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/libopie/sharp_compat.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/noncore/unsupported/libopie/sharp_compat.cpp b/noncore/unsupported/libopie/sharp_compat.cpp
new file mode 100644
index 0000000..1d16a09
--- a/dev/null
+++ b/noncore/unsupported/libopie/sharp_compat.cpp
@@ -0,0 +1,18 @@
+/*
+ * This file contains hacks or workarounds, that make it possible to use a normal
+ * libopie arm build (iPAQ or OZ) directly on the Sharp retail ROM.
+ * This way, we only need one 'official' libopie binary for all platforms.
+ */
+
+
+// 1) Opie's libqpe.so has an additional function in Sound, which is utilized
+// in ODevice:
+
+// ok this is really evil ;), but Sound::isFinished is only needed in the
+// iPAQ part of ODevice, which is never called on Z's
+// we add a "weak" symbol here. This will be used, if ld.so does not find
+// a normal ("hard") symbol of the same name - hence only on the retail Z
+
+struct Sound { bool Sound::isFinished ( ) const __attribute__(( weak )); };
+bool Sound::isFinished ( ) const { return true; }
+