Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
Must have been busted by AE merge.
|
|
Must have been busted by AE merge.
|
|
This fixes slow GUI after vis/screensaver.
We don't use the depth buffer, but addons do. Prior to this change, we were
relying on them to clean up after themselves. They weren't, and it led to a
~25% gui slowdown after they'd started.
TODO: We should be pushing lots more settings to our state block. A poorly
written vis/ss could potentially mess with much of our state.
|
|
Can't release a surface if there window is already destroyed
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
European and Asian languages look OK to me, need some of our more worldly
friends to verify.
|
|
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.
|
|
approach like freebsd uses)
|
|
|
|
|
|
wants is not autoconf compliant - we have to handle it ourselfs
|
|
the default built arch from libsdl_image in native deps and use this for building libsquish-native.so and TexturePacker)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uname -s as done with libsquish
|
|
and TexturePacker ;)
|
|
buildside arch on darwin to -m32
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
CXBMCApp::GetBatteryLevel() to poll the battery level
|
|
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.
|
|
stage. For this situation use the syscall directly (as stated on stackoverflow)
|
|
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.
|
|
|
|
|
|
|
|
is sufficient
|
|
This was done for testing and should probably be reverted.
|
|
|