Any possibility that you might be willing to share the cmake files and
config options you used?   One direction I would like to take the project
in is to Be able to compile on android and potentially have a uikit
implementation on top of android.

On Fri, Feb 15, 2019 at 15:24 Jordan Schidlowsky <jor...@noodlecake.com>
wrote:

> Sorry, ya I'm just seeing that script now, we didn't use that.  Just
> looked at configuration options for tools-make and gnustep-base...  Then
> fixed everything that didn't configure properly for cross-compilation and
> re-wrote a CMakelists.txt for base and have been using that since...
> Having the whole build (from runtime to base) in cmake makes it much easie
> to write, run, and debug everything inside android studio (even though the
> IDE editor doesn't support obj-c syntax).
>
>
> On Feb 15, 2019, at 2:02 PM, Gregory Casamento <greg.casame...@gmail.com>
> wrote:
>
> The one we were discussing in this thread.  How are you configuring your
> app on android?
>
> On Fri, Feb 15, 2019 at 14:55 Jordan Schidlowsky <jor...@noodlecake.com>
> wrote:
>
>> Sorry, i'm not sure which script you're referring to!
>>
>> On Feb 15, 2019, at 1:44 PM, Gregory Casamento <greg.casame...@gmail.com>
>> wrote:
>>
>> Are you talking about how the script configures things?
>>
>> On Fri, Feb 15, 2019 at 12:08 Jordan Schidlowsky <jor...@noodlecake.com>
>> wrote:
>>
>>> We will be shipping a large game in a couple weeks on android that is
>>> built on gnustep.   We've been testing very extensively over the past 3-4
>>> months and things look quite stable (at least on armv7-a).  The game
>>> heavily uses ARC, blocks, libdispatch....  Lemme just say the configuration
>>> of gnustep-base, build, and project setup, were........ not ideal.
>>>
>>> On Feb 15, 2019, at 11:04 AM, Gregory Casamento <
>>> greg.casame...@gmail.com> wrote:
>>>
>>> The challenge at this point is to get a working app.
>>>
>>> On Wed, Feb 13, 2019 at 14:47 Gregory Casamento <
>>> greg.casame...@gmail.com> wrote:
>>>
>>>> Ivan pointed out that I was using the wrong ninja script.  This solved
>>>> my problem.   I am now working on getting base to build properly.
>>>>
>>>> GC
>>>>
>>>> On Wed, Feb 13, 2019 at 12:21 PM Ivan Vučica <i...@vucica.net> wrote:
>>>>
>>>>> FTR thank you for that, and for spotting -androideabi16!
>>>>>
>>>>> On Wed, Feb 13, 2019 at 5:20 PM Jordan Schidlowsky <
>>>>> jor...@noodlecake.com> wrote:
>>>>>
>>>>>> Agreed, just sharing whats working for us via gradle config.
>>>>>>
>>>>>> On Feb 13, 2019, at 11:17 AM, Ivan Vučica <i...@vucica.net> wrote:
>>>>>>
>>>>>> Aye; but we should not depend on using Gradle as the end state.
>>>>>>
>>>>>> On Wed, Feb 13, 2019 at 5:09 PM Jordan Schidlowsky <
>>>>>> jor...@noodlecake.com> wrote:
>>>>>>
>>>>>>> Ya you're right,  It should be picked up.  For what it's worth,
>>>>>>> here's our gradle config, (which ends up passing the correct flags to 
>>>>>>> cmake
>>>>>>> for building gnustep):
>>>>>>>
>>>>>>> defaultConfig {
>>>>>>>     applicationId "com.noodlecake.ssg4"
>>>>>>>     minSdkVersion 21
>>>>>>>     targetSdkVersion 28
>>>>>>>     versionCode 28
>>>>>>>     versionName "1.0.0"
>>>>>>>     testInstrumentationRunner 
>>>>>>> "android.support.test.runner.AndroidJUnitRunner"
>>>>>>>     externalNativeBuild {
>>>>>>>         cmake {
>>>>>>>             cppFlags "-std=c++14 -frtti -fexceptions 
>>>>>>> -fconstant-string-class=NSConstantString"
>>>>>>>             cFlags "-DANDROID -fconstant-string-class=NSConstantString"
>>>>>>>             arguments "-DCMAKE_VERBOSE_MAKEFILE=ON",
>>>>>>>                     "-DANDROID_STL=c++_static",
>>>>>>>                     "-DANDROID_DISABLE_FORMAT_STRING_CHECKS=TRUE"
>>>>>>>         }
>>>>>>>     }
>>>>>>>     ndk {
>>>>>>>         // Specifies the ABI configurations of your native
>>>>>>>         // libraries Gradle should build and package with your APK.
>>>>>>>         //abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a',
>>>>>>>         //        'arm64-v8a'
>>>>>>>         abiFilters 'armeabi-v7a'
>>>>>>>     }
>>>>>>> }
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Feb 13, 2019, at 11:03 AM, Ivan Vučica <i...@vucica.net> wrote:
>>>>>>>
>>>>>>> Reading through the toolchain file
>>>>>>> <https://mailtrack.io/trace/link/faab2ea5ccbf2b25df57825eb4e8d933befc94aa?url=https%3A%2F%2Fandroid.googlesource.com%2Fplatform%2Fndk%2F%2B%2Fmaster%2Fbuild%2Fcmake%2Fandroid.toolchain.cmake&userId=2790543&signature=ae1079c361f3f494>,
>>>>>>> ANDROID_PLATFORM will be calculated from ANDROID_NATIVE_API_LEVEL. So 
>>>>>>> that
>>>>>>> should not be the issue.
>>>>>>>
>>>>>>> I'd start by pepper-spraying message() calls in toolchain .cmake
>>>>>>> file, and in other .cmake files as necessary, too.
>>>>>>>
>>>>>>> On Wed, Feb 13, 2019 at 5:01 PM Jordan Schidlowsky <
>>>>>>> jor...@noodlecake.com> wrote:
>>>>>>>
>>>>>>>> Ah, i didn't see that shell script...  I think
>>>>>>>> -DANDROID_PLATFORM=android-21 (or 23) is what you want there.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Feb 13, 2019, at 10:53 AM, Ivan Vučica <i...@vucica.net> wrote:
>>>>>>>>
>>>>>>>> Actually -- it doesn't explain why this is happening, as the shell
>>>>>>>> script (which I failed to notice Gregory attached) matches what I sent 
>>>>>>>> him.
>>>>>>>> It's using -DANDROID_NATIVE_API_LEVEL=23 which should make it use
>>>>>>>> ...-androideabi23.
>>>>>>>>
>>>>>>>> Strange.
>>>>>>>>
>>>>>>>> On Wed, Feb 13, 2019 at 4:47 PM Ivan Vučica <i...@vucica.net>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Ah, that doesn't match what I sent out and makes me feel better ;-)
>>>>>>>>>
>>>>>>>>> On Wed, Feb 13, 2019 at 4:41 PM Jordan Schidlowsky <
>>>>>>>>> jor...@noodlecake.com> wrote:
>>>>>>>>>
>>>>>>>>>> I think this line in his output indicates he's building for API
>>>>>>>>>> 16:
>>>>>>>>>>
>>>>>>>>>>  --target=armv7-none-linux-androideabi16
>>>>>>>>>>
>>>>>>>>>> On Feb 13, 2019, at 10:07 AM, Ivan Vučica <i...@vucica.net>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> Since Greg mentioned me:
>>>>>>>>>>
>>>>>>>>>> Instructions/commands I came up with and that I sent over to
>>>>>>>>>> Gregory should attempt using API level 23. Totally arbitrarily 
>>>>>>>>>> picked. Use
>>>>>>>>>> of pre-21 API is not happening so not an issue.
>>>>>>>>>>
>>>>>>>>>> Needless to say, building works for me. I don’t have a
>>>>>>>>>> self-contained script to share, but it’s super simplistic and what 
>>>>>>>>>> Greg
>>>>>>>>>> described (incl using GUI to install NDK) is what I did.
>>>>>>>>>>
>>>>>>>>>> I’m only sure it builds, not that it works, as I am yet to try
>>>>>>>>>> running the code; I don’t have a build script ready for producing an 
>>>>>>>>>> APK
>>>>>>>>>> (the old approach from 2013 and 2014 is a mess and needs to be 
>>>>>>>>>> reworked).
>>>>>>>>>>
>>>>>>>>>> On Wed 13 Feb 2019 at 15:34 Jordan Schidlowsky <
>>>>>>>>>> jor...@noodlecake.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> I've got some patches but they are pretty ugly and I want to
>>>>>>>>>>> clean them up properly before submitting...
>>>>>>>>>>>
>>>>>>>>>>> On Feb 13, 2019, at 8:41 AM, Jordan Schidlowsky <
>>>>>>>>>>> jor...@noodlecake.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>> An NDK app can chose to bundle in a (c++_shared) library in your
>>>>>>>>>>> app, or you can link with a static (c++_static) standard library.   
>>>>>>>>>>> This is
>>>>>>>>>>> actually dependant on what setting you chose for this in your 
>>>>>>>>>>> gradle build
>>>>>>>>>>> file, as gradle will pass that along to cmake which will link it in.
>>>>>>>>>>>
>>>>>>>>>>> That cxx runtime test doesn't quite work correctly using an
>>>>>>>>>>> android toolchain.  But if you want to configure your ndk app using
>>>>>>>>>>> c++_static you can remove that test section from CMakeLists.txt and 
>>>>>>>>>>> add in
>>>>>>>>>>> manually below:
>>>>>>>>>>>
>>>>>>>>>>> set(CXXRT_IS_STDLIB true)
>>>>>>>>>>> target_link_libraries(objc c++_static stdc++)
>>>>>>>>>>>
>>>>>>>>>>> I will also note, that I am still thinking about a way to run
>>>>>>>>>>> that test suite while cross compiling...
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Feb 13, 2019, at 6:41 AM, Gregory Casamento <
>>>>>>>>>>> greg.casame...@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>> A little more context...  my build environment is a MacPro 2010
>>>>>>>>>>> running the latest version of Mojave.  I have downloaded and 
>>>>>>>>>>> installed the
>>>>>>>>>>> latest of Android studio and installed the latest SDK and NDK using 
>>>>>>>>>>> the
>>>>>>>>>>> menu under tools and the SDK manager.  The version of the NDK I'm 
>>>>>>>>>>> using is 19.0.5232133.
>>>>>>>>>>>  I am utterly stumped as to why this is not working.  Also, it 
>>>>>>>>>>> seems as
>>>>>>>>>>> though Ivan's installation of this is working which seems to 
>>>>>>>>>>> indicate that
>>>>>>>>>>> this is a configuration issue.
>>>>>>>>>>>
>>>>>>>>>>> Any input would be appreciated.
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Feb 13, 2019 at 7:09 AM Gregory Casamento <
>>>>>>>>>>> greg.casame...@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> ### Build libobjc2
>>>>>>>>>>>> -- The ASM compiler identification is Clang
>>>>>>>>>>>> -- Found assembler:
>>>>>>>>>>>> /Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang
>>>>>>>>>>>> -- Check for working C compiler:
>>>>>>>>>>>> /Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang
>>>>>>>>>>>> -- Check for working C compiler:
>>>>>>>>>>>> /Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang
>>>>>>>>>>>> -- works
>>>>>>>>>>>> -- Detecting C compiler ABI info
>>>>>>>>>>>> -- Detecting C compiler ABI info - done
>>>>>>>>>>>> -- Detecting C compile features
>>>>>>>>>>>> -- Detecting C compile features - done
>>>>>>>>>>>> -- Check for working CXX compiler:
>>>>>>>>>>>> /Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++
>>>>>>>>>>>> -- Check for working CXX compiler:
>>>>>>>>>>>> /Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++
>>>>>>>>>>>> -- works
>>>>>>>>>>>> -- Detecting CXX compiler ABI info
>>>>>>>>>>>> -- Detecting CXX compiler ABI info - done
>>>>>>>>>>>> -- Detecting CXX compile features
>>>>>>>>>>>> -- Detecting CXX compile features - done
>>>>>>>>>>>> -- Testing C++ interop
>>>>>>>>>>>> -- Testing C++ standard library
>>>>>>>>>>>> -- No useable C++ runtime found
>>>>>>>>>>>> -- Looking for pthread.h
>>>>>>>>>>>> -- Looking for pthread.h - found
>>>>>>>>>>>> -- Looking for pthread_create
>>>>>>>>>>>> -- Looking for pthread_create - found
>>>>>>>>>>>> -- Found Threads: TRUE
>>>>>>>>>>>> -- GNUstep install type set to NONE
>>>>>>>>>>>> -- Performing Test CXA_ALLOCATE_EXCEPTION_NOEXCEPT_COMPILES
>>>>>>>>>>>> -- Performing Test CXA_ALLOCATE_EXCEPTION_NOEXCEPT_COMPILES -
>>>>>>>>>>>> Success
>>>>>>>>>>>> -- Configuring done
>>>>>>>>>>>> -- Generating done
>>>>>>>>>>>> -- Build files have been written to:
>>>>>>>>>>>> /Users/heron/Development/Algoriddim/gnustep-toolchain/gnustep-android/gnustep/libobjc2/build
>>>>>>>>>>>>
>>>>>>>>>>>> /Users/heron/Development/Algoriddim/gnustep-toolchain/gnustep-android/gnustep/libobjc2/build/CMake
>>>>>>>>>>>> [1/1] Linking CXX executable test_cxx_runtime
>>>>>>>>>>>> FAILED: test_cxx_runtime
>>>>>>>>>>>> : &&
>>>>>>>>>>>> /Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++
>>>>>>>>>>>> --target=armv7-none-linux-androideabi16
>>>>>>>>>>>> --gcc-toolchain=/Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64
>>>>>>>>>>>>   --sysroot
>>>>>>>>>>>> /Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/sysroot
>>>>>>>>>>>> -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables
>>>>>>>>>>>> -fstack-protector-strong -no-canonical-prefixes -mfpu=vfpv3-d16
>>>>>>>>>>>> -fno-addrsig -mthumb -Wa,--noexecstack -Wformat 
>>>>>>>>>>>> -Werror=format-security
>>>>>>>>>>>> -stdlib=libc++  -Wl,--exclude-libs,libgcc.a
>>>>>>>>>>>> -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id
>>>>>>>>>>>> -Wl,--warn-shared-textrel  -Wl,--exclude-libs,libunwind.a
>>>>>>>>>>>> -Wl,--no-undefined -Qunused-arguments -Wl,-z,noexecstack 
>>>>>>>>>>>> -Wl,-z,relro
>>>>>>>>>>>> -Wl,-z,now -Wl,--gc-sections
>>>>>>>>>>>> CMakeFiles/test_cxx_runtime.dir/typeinfo_test.cc.o  -o
>>>>>>>>>>>> test_cxx_runtime  -latomic -lm && :
>>>>>>>>>>>> CMakeFiles/test_cxx_runtime.dir/typeinfo_test.cc.o:
>>>>>>>>>>>> typeinfo_test.cc
>>>>>>>>>>>> <https://mailtrack.io/trace/link/60886d21dd395f248f150bf2063af90bce602b5b?url=http%3A%2F%2Ftypeinfo_test.cc%2F&userId=2790543&signature=a72ed8c78f119f8b>:vtable
>>>>>>>>>>>> for type_info2: error: undefined reference to
>>>>>>>>>>>> 'std::type_info::__do_upcast(__cxxabiv1::__class_type_info const*, 
>>>>>>>>>>>> void**)
>>>>>>>>>>>> const'
>>>>>>>>>>>> clang++: error: linker command failed with exit code 1 (use -v
>>>>>>>>>>>> to see invocation)
>>>>>>>>>>>> ninja: build stopped: subcommand failed.
>>>>>>>>>>>> ### LIBOBJC2 BUILD FAILED!!!
>>>>>>>>>>>>
>>>>>>>>>>>> I am running into the above error when trying to build for
>>>>>>>>>>>> Android.  I have the latest ndk and sdk installed with Android 
>>>>>>>>>>>> studio.
>>>>>>>>>>>> Does anyone have any idea offhand why C++ isn't finding it's 
>>>>>>>>>>>> runtime?   I
>>>>>>>>>>>> will attach the build script I am using to generate the ninja 
>>>>>>>>>>>> script....
>>>>>>>>>>>>
>>>>>>>>>>>> GC
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Gregory Casamento
>>>>>>>>>>>> GNUstep Lead Developer / OLC, Principal Consultant
>>>>>>>>>>>> http://www.gnustep.org
>>>>>>>>>>>> <https://mailtrack.io/trace/link/5539c79bf8ea11ab855df69cf27c47504df4029a?url=http%3A%2F%2Fwww.gnustep.org&userId=2790543&signature=a3bacb38978af1d3>
>>>>>>>>>>>>  - http://heronsperch.blogspot.com
>>>>>>>>>>>> <https://mailtrack.io/trace/link/0e7d2849e32e6a5545dee4db716d416d8a769d54?url=http%3A%2F%2Fheronsperch.blogspot.com&userId=2790543&signature=794ec8837a56aa7c>
>>>>>>>>>>>> http://ind.ie/phoenix/
>>>>>>>>>>>> <https://mailtrack.io/trace/link/2957e53708e301d78eebf58dc506d80bbe462935?url=http%3A%2F%2Find.ie%2Fphoenix%2F&userId=2790543&signature=4c11c7cb082d4c41>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Gregory Casamento
>>>>>>>>>>> GNUstep Lead Developer / OLC, Principal Consultant
>>>>>>>>>>> http://www.gnustep.org
>>>>>>>>>>> <https://mailtrack.io/trace/link/395c4e14c1327f2eb68a925849b3ef4405ef1c3c?url=http%3A%2F%2Fwww.gnustep.org&userId=2790543&signature=97bd0bcba9a39e96>
>>>>>>>>>>>  - http://heronsperch.blogspot.com
>>>>>>>>>>> <https://mailtrack.io/trace/link/df75d951421ec7ec49a7f3777a60a26416e028ad?url=http%3A%2F%2Fheronsperch.blogspot.com&userId=2790543&signature=9831445b2546de15>
>>>>>>>>>>> http://ind.ie/phoenix/
>>>>>>>>>>> <https://mailtrack.io/trace/link/aae8e7cc987e35195aa951657c98b8697f0f1d6e?url=http%3A%2F%2Find.ie%2Fphoenix%2F&userId=2790543&signature=124dae0a65061977>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Discuss-gnustep mailing list
>>>>>>>>>>> Discuss-gnustep@gnu.org
>>>>>>>>>>> https://lists.gnu.org/mailman/listinfo/discuss-gnustep
>>>>>>>>>>> <https://mailtrack.io/trace/link/f80f650ce2e69eb21b34eff589f9ace84a85b5ba?url=https%3A%2F%2Flists.gnu.org%2Fmailman%2Flistinfo%2Fdiscuss-gnustep&userId=2790543&signature=fd9e027ef774428f>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Gnustep-dev mailing list
>>>>>>>>>>> gnustep-...@gnu.org
>>>>>>>>>>> https://lists.gnu.org/mailman/listinfo/gnustep-dev
>>>>>>>>>>> <https://mailtrack.io/trace/link/12db2ea57bbeafe9fb5617a92f224d44ca31af35?url=https%3A%2F%2Flists.gnu.org%2Fmailman%2Flistinfo%2Fgnustep-dev&userId=2790543&signature=69fbc0c26214836b>
>>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Sent from Gmail Mobile
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>
>>>> --
>>>> Gregory Casamento
>>>> GNUstep Lead Developer / OLC, Principal Consultant
>>>> http://www.gnustep.org
>>>> <https://mailtrack.io/trace/link/f96c84969d3eb1649c6152bfd4e969a2d0bc04ca?url=http%3A%2F%2Fwww.gnustep.org&userId=2790543&signature=cf673d8f7c9de2ee>
>>>>  - http://heronsperch.blogspot.com
>>>> <https://mailtrack.io/trace/link/6dcc6d47fb32cb89a517b10436520e8740ac82ac?url=http%3A%2F%2Fheronsperch.blogspot.com&userId=2790543&signature=6596886ce09bf75f>
>>>> http://ind.ie/phoenix/
>>>> <https://mailtrack.io/trace/link/29eac4e9399908a6ec029d8842d4a0c867a6b255?url=http%3A%2F%2Find.ie%2Fphoenix%2F&userId=2790543&signature=b50eb38ce5efa054>
>>>>
>>> --
>>> Gregory Casamento
>>> GNUstep Lead Developer / OLC, Principal Consultant
>>> http://www.gnustep.org - http://heronsperch.blogspot.com
>>> http://ind.ie/phoenix/
>>>
>>>
>>> --
>> Gregory Casamento
>> GNUstep Lead Developer / OLC, Principal Consultant
>> http://www.gnustep.org - http://heronsperch.blogspot.com
>> http://ind.ie/phoenix/
>>
>>
>> --
> Gregory Casamento
> GNUstep Lead Developer / OLC, Principal Consultant
> http://www.gnustep.org - http://heronsperch.blogspot.com
> http://ind.ie/phoenix/
>
>
> --
Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
http://ind.ie/phoenix/
_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to