-rw-r--r-- | libopie/libopie.pro | 1 | ||||
-rw-r--r-- | libopie/sharp_compat.cpp | 18 |
2 files changed, 19 insertions, 0 deletions
diff --git a/libopie/libopie.pro b/libopie/libopie.pro index a80a407..ef82dfd 100644 --- a/libopie/libopie.pro +++ b/libopie/libopie.pro @@ -17,48 +17,49 @@ HEADERS = ofontmenu.h \ pim/opimaccesstemplate.h \ pim/opimaccessbackend.h \ pim/otodoaccess.h \ pim/otodoaccessbackend.h \ pim/ocontact.h \ pim/ocontactaccess.h \ pim/ocontactaccessbackend.h \ pim/ocontactaccessbackend_xml.h \ pim/ocontactaccessbackend_vcard.h \ pim/obackendfactory.h \ pim/opimcache.h \ pim/otodoaccessvcal.h \ pim/orecur.h \ pim/opimstate.h \ pim/opimxrefpartner.h \ pim/opimxref.h \ pim/opimxrefmanager.h \ pim/opimmaintainer.h \ orecurrancewidget.h \ oticker.h # pim/otodoaccesssql.h \ SOURCES = ofontmenu.cc \ ocolorbutton.cpp \ + sharp_compat.cpp \ xmltree.cc \ ofiledialog.cc ofileselector.cc \ ocheckitem.cpp tododb.cpp todoevent.cpp \ todovcalresource.cpp colordialog.cpp \ colorpopupmenu.cpp oclickablelabel.cpp \ oprocctrl.cpp oprocess.cpp \ odevice.cpp otimepicker.cpp \ otabwidget.cpp otabbar.cpp \ ofontselector.cpp \ pim/otodo.cpp \ pim/opimrecord.cpp \ pim/otodoaccess.cpp \ pim/otodoaccessbackend.cpp \ pim/otodoaccessxml.cpp \ pim/ocontact.cpp \ pim/ocontactaccess.cpp \ pim/ocontactaccessbackend_vcard.cpp \ pim/otodoaccessvcal.cpp \ pim/orecur.cpp \ pim/opimstate.cpp \ pim/opimxrefpartner.cpp \ pim/opimxref.cpp \ pim/opimxrefmanager.cpp \ pim/opimmaintainer.cpp \ diff --git a/libopie/sharp_compat.cpp b/libopie/sharp_compat.cpp new file mode 100644 index 0000000..1d16a09 --- a/dev/null +++ b/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; } + |