Eric Wing wrote:

> On 1/10/14, Stephen Kelly
> <steve...@gmail.com> wrote:
>> Vince Harron wrote:
>>
>>> Android.mk files allow you to target multiple processor
>>> architectures/variants in one make invocation without any reconfiguring
>>> or
>>> multiple build folders.  All of those binaries are embedded into one
>>> "fat"
>>> apk file that will run on any supported Android device.
>>
>> Sounds interesting.
>>
>>>> Modules/Platform/Android.cmake
>>>
>>> I've just started playing with it like this as my Android.cmake
>>>
>>> include(Platform/Linux)
>>>
>>> But it's critical to have Android as a separate CMAKE_SYSTEM_NAME
>>> because there are many differences that you might want to switch on.
>>
>> Indeed. Disabling SONAME is another apparently:
>>
>>  http://public.kitware.com/Bug/view.php?id=14602
>>
>>>> Why does that link also say that Android.mk files are only for creating
>>> shared and static libraries? Am I missing something here?
>>>
>>> All Android applications start life as Java processes.  A java process
>>> can
>>> load a native shared library and invoke code within it.  To emit a C/C++
>>> executable on Android is the same as to emit a shared library, but
>>> linked to something called the native_app_glue module.
>>
>> Interesting. What is the entry point?
>>
>>
>> I don't decide whether such a generator gets in or not, but I don't see
>> why
>>
>> it would not be accepted.
>>
>> Thanks,
>>
>> Steve.
>>
> 
> I agree that we should have a “native” Android NDK build generator.
> There are some things that are harder to do outside the native build
> process (some which have already been identified in this thread)
> 
> - Multiple architecture support (armeabi, armeabi-v7a, x86, mips).

Though not directly related, it would be good to have 

 http://public.kitware.com/Bug/view.php?id=14539

in mind when implementing this generator for future consideration and so 
that the features don't conflict with each other.

> - I’m not sure if this is the SONAME example mentioned, but Android
> can’t handle the .so version numbering scheme where version numbers
> are put in the file name and symlinks are used to point a version-less
> file to a specific version. The NDK design is to use Java’s
> System.loadLibrary to load NDK modules, and it turns out that
> loadLibrary can’t handle symlinks.

Yes, this is the issue I meant, but I didn't know the detail or reasons 
behind it, thanks.


Thanks,

Steve.


-- 

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to