Skip to content
Commits on Aug 3, 2012
  1. [droid] Create setting for addon path for android

    Cory Fields committed Jul 17, 2012
  2. [droid] look for libs in our new location

    Cory Fields committed Jul 17, 2012
  3. [droid] Rename vis and install to system

    All android libs must live in the same place, we can't have them scattered
    around. Installing them in system/ will ensure that they are packaged next to
    our other libs.
    
    Additionally, they must follow the same naming convention as all other libs.
    Cory Fields committed Jul 17, 2012
  4. [droid] fix non-ascii character-handling

    European and Asian languages look OK to me, need some of our more worldly
    friends to verify.
    Cory Fields committed Jul 16, 2012
  5. [droid] add default solib search paths

    This is redundant, as the same paths will be searched inside of the loader.
    We do this so that XBMC doesn't complain about missing libs before it gives
    up and blindly tries to load the solib with path excluded.
    Cory Fields committed Jul 15, 2012
  6. @Memphiz

    [droid] - fix make install on darwin (limited find again - we use the…

    … same approach like freebsd uses)
    Memphiz committed with Cory Fields Jul 15, 2012
  7. @Memphiz

    [droid] - add a proper GetUnameVersion implementation

    Memphiz committed with Cory Fields Jul 13, 2012
  8. @Memphiz

    [osx] - fix compilation of DllLoader wrapper on osx

    Memphiz committed with Cory Fields Jul 13, 2012
  9. [droid] ffmpeg: workaround android+x86+gcc4.6 bug

    theuni committed with Cory Fields Jun 11, 2012
  10. @Memphiz

    [droid] - fix compilation of ffmpeg on darwin. The target_os option f…

    …fmpeg wants is not autoconf compliant - we have to handle it ourselfs
    Memphiz committed with Cory Fields Jun 23, 2012
  11. @Memphiz

    [droid] - last puzzle for making crosscompilation on darwin possible …

    …(gather the default built arch from libsdl_image in native deps and use this for building libsquish-native.so and TexturePacker)
    Memphiz committed with Cory Fields Jun 26, 2012
  12. [droid] add convenience apk target

    Cory Fields committed Jul 11, 2012
  13. [droid] install libxbmc.so properly

    Cory Fields committed Jul 11, 2012
  14. [droid] Android needs skins too

    Cory Fields committed Jul 12, 2012
  15. [droid] update gitignore

    Cory Fields committed Jul 12, 2012
  16. [droid] add nasty EGL changes. This needs to be redone.

    Cory Fields committed Jul 12, 2012
  17. [droid] add Android window events

    Cory Fields committed Jul 12, 2012
  18. @davilla

    [droid] fixed linux thread priorities, do not mix xbmc priority level…

    …s with system priority levels
    davilla committed with Cory Fields Jul 8, 2012
  19. [droid] setup android paths

    Cory Fields committed Jul 12, 2012
  20. @Memphiz

    [droid] - fix darwin detection for TexturePacker - don't rely on ARCH…

    … but on uname -s as done with libsquish
    Memphiz committed with Cory Fields Jun 23, 2012
  21. @Memphiz

    [droid] - nearly forgot to make use of the DARWIN_NATIVE_ARCH in libs…

    …quish and TexturePacker ;)
    Memphiz committed with Cory Fields Jun 26, 2012
  22. @Memphiz

    [droid] - fix the darwin detection for libsquash / build side and for…

    …ce buildside arch on darwin to -m32
    Memphiz committed with Cory Fields Jun 23, 2012
  23. [droid] disable lirc/lcd, unnecessary for android

    Cory Fields committed Jul 7, 2012
  24. [droid] show xbmc log in logcat

    Cory Fields committed Jul 12, 2012
  25. @Montellese

    [droid] support being Home'd

    This has an ugly fix using CApplication::ReloadSkin() to make sure all textures/fonts are reloaded
    
    Note: This work was originally done by Montellese, but reworked by TheUni to
    work with the shared-lib merge. It worked fine as Montellese wrote it, but now
    who knows.
    
    It also relies on the shared-lib merge.
    Montellese committed with Cory Fields May 10, 2012
  26. [droid] trick python into using our APK as its home

    Since python allows for PYTHONHOME to be a zip file, point it to our apk and
    let it take care of extraction.
    
    This way we get the best of both worlds: we don't have to install a duplicate
    copy in cache, and we don't have to extract to temp at runtime.
    Cory Fields committed Jun 18, 2012
  27. [droid] log neon status

    Cory Fields committed Jul 7, 2012
  28. [droid] add runtime neon detection check

    Cory Fields committed Jul 7, 2012
  29. @Montellese

    [droid] implement basic CAndroidStorageProvider

    Montellese committed with Cory Fields Jun 24, 2012
  30. @Montellese

    [droid] implement CAndroidPowerSyscall which uses CXBMCApp::GetBatter…

    …yLevel() to poll the battery level
    Montellese committed with Cory Fields Jun 24, 2012
  31. [droid] fix crash in network properties

    We have no good access to a nameserver list, so we have to resort to popen.
    
    Somehow this ends up being called from multiple threads, or back-to-back on the
    same thread, and popen/fread get cranky about sharing. So we guard it with a
    lock.
    Cory Fields committed Jun 25, 2012
  32. @Memphiz

    [droid] - when building cross for x86 there is no modify_ldt found on…

    … linker stage. For this situation use the syscall directly (as stated on stackoverflow)
    Memphiz committed with Cory Fields Jun 24, 2012
  33. [droid] new hack for wrappers

    This might be the ugliest hack yet. I can only hope that someone comes up with
    a more clever way to handle the following problem without too much overhaul:
    
    When a lib is dlopened in android, bionic will try to resolve all symbols in
    that lib. It will use the DT_NEEDED entries in the lib to load those libs and
    look for symbols, and thanks to our recursive loader, subsequent DT_NEEDED
    entries in those deps will be checked as well. If any missing symbols are
    found anywhere in that chain, the dlopen will abort.
    
    This presents a problem with our wrapped libs. As an example, we compile
    cximage along with our wrapper.o so that the __wrap functions are picked up.
    However, that means that our dll_* functions are also included in the lib as
    unresolved dependencies. Thus, cximage will fail to load when dlopened. The
    (even uglier) solution to that is to link cximage and all of our wrapped libs
    against libxbmc.so, so that the dll_* functions can be resolved at runtime.
    
    However, that approach creates a buildsystem nightmare where libxbmc.so must
    exist before compiling our other libs.
    
    This "fix" instead uses a dummy libxbmc.so that our libs can link against
    before the real libxbmc.so is built. This way, libxbmc.so is added to
    DT_NEEDED in the elf header, and the symbols can be loaded correctly. The
    contents of the dummy lib are irrelevant, all that matters is that the
    DT_NEEDED entry is added. I could not find a reliable way to add this entry to
    and elf in a way that android would recognize it.
    
    Things I tried before resigning to this:
    
    1. Using weak symbols to create phony entries for dll_* in libxbmcapp.so.
       Bionic is nice enough to store the weak symbols and ignore those that
       should override them. Ugh.
    
    2. DT_AUXILIARY. Bionic apparently ignores them completely.
    
    3. dlsym for each dll_*. Far too much copy/paste there, and rough to automate.
    
    4. Splitting the dll_* out of wrapper.so with some ifdef hackery. I looked at
       some options here, but all of my ideas would just mean other undefined
       symbols somewhere else.
    
    5. Using objdump/objcopy to move symbols from wrapper.o to libxbmcapp.so. I
       concluded that this wouldn't help as it would lead to more dependency
       problems, but someone more well-versed in the subject might conclude
       otherwise.
    
    6. Manual -lxbmc for all wrapped libs. This is how it worked before adding this
       new hack. It's ugly. In my opinion a phony lib is better, but I don't expect
       everyone to agree.
    theuni committed with Cory Fields May 29, 2012
Something went wrong with that request. Please try again.