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 > <mailto: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 >> <mailto:i...@vucica.net>> wrote: >> >> Reading through the toolchain file >> <https://android.googlesource.com/platform/ndk/+/master/build/cmake/android.toolchain.cmake>, >> 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 >> <mailto: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 >>> <mailto: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 >>> <mailto: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 >>> <mailto: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 >>>> <mailto: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 >>>> <mailto: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 >>>>> <mailto: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 >>>>>> <mailto: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 <mailto: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 >>>>>> <http://typeinfo_test.cc/>: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/ddde09d325c4a435e025a98cecb523c42a3faad5?url=http%3A%2F%2Fwww.gnustep.org&userId=2790543&signature=7d37ec23bb82ff44> >>>>>> - http://heronsperch.blogspot.com >>>>>> <https://mailtrack.io/trace/link/df5b3556d0922a9f737f08b0905d6385e611c5f0?url=http%3A%2F%2Fheronsperch.blogspot.com&userId=2790543&signature=6bb167a403644460> >>>>>> http://ind.ie/phoenix/ >>>>>> <https://mailtrack.io/trace/link/92bcebdbb9fc372e2cf08a7e499372cc1cd5d151?url=http%3A%2F%2Find.ie%2Fphoenix%2F&userId=2790543&signature=8fd8e7cffa9021e7> >>>>>> >>>>>> -- >>>>>> Gregory Casamento >>>>>> GNUstep Lead Developer / OLC, Principal Consultant >>>>>> http://www.gnustep.org >>>>>> <https://mailtrack.io/trace/link/1247d0089e9dd2e1ac83c838552d393752c8b833?url=http%3A%2F%2Fwww.gnustep.org&userId=2790543&signature=5a652f77cc91a2ea> >>>>>> - http://heronsperch.blogspot.com >>>>>> <https://mailtrack.io/trace/link/ff75bfb4c582f91790e81a5fdd96eeb51aab0274?url=http%3A%2F%2Fheronsperch.blogspot.com&userId=2790543&signature=59cf8dcbd3b3253d> >>>>>> http://ind.ie/phoenix/ >>>>>> <https://mailtrack.io/trace/link/5bd6878a79f878c78ef8f1630a2dfde8e09e51af?url=http%3A%2F%2Find.ie%2Fphoenix%2F&userId=2790543&signature=043c717e06ac9c32>_______________________________________________ >>>>>> Discuss-gnustep mailing list >>>>>> discuss-gnus...@gnu.org <mailto:discuss-gnus...@gnu.org> >>>>>> https://lists.gnu.org/mailman/listinfo/discuss-gnustep >>>>>> <https://lists.gnu.org/mailman/listinfo/discuss-gnustep> >>>> >>>> _______________________________________________ >>>> Gnustep-dev mailing list >>>> Gnustep-dev@gnu.org <mailto:Gnustep-dev@gnu.org> >>>> https://lists.gnu.org/mailman/listinfo/gnustep-dev >>>> <https://lists.gnu.org/mailman/listinfo/gnustep-dev> >>>> -- >>>> Sent from Gmail Mobile >>> >> >
_______________________________________________ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev