Hi all, We've just published CrystaX NDK 10.1 (https://www.crystax.net/android/ndk) which is a drop-in replacement for the Google's Android NDK, and we've included prebuilt Boost 1.57.0 libraries there, to make life easier for those developers who want to use Boost on Android. The reason I write here is that in CrystaX NDK we were able to build Boost for Android without any changes in Boost sources, just because CrystaX NDK makes Android much more POSIX-conformant than original Android is, and Boost just works on top of it. If you're interested how we did it, please read description of CrystaX NDK release on https://www.crystax.net/android/ndk. Another important point is that we were able to run Boost regression tests on Android devices - again, without any changes in Boost sources, just providing own 'adbrunner' script as tests launcher. The only thing needed is to plug one or more Android devices to USB ports and/or run one or more Android emulators and then run script for Boost testing provided by CrystaX NDK. As long as those devices/emulators are available by ADB, Boost regressions tests will run on all of them. As far as I know, Boost is not yet officially supported on Android platform, mainly because of lack of regular regression testing procedure. I wonder if someone would be interested in our results and, if yes, would he/she like to participate in further Boost-on-Android improvements? -- Dmitry Moskalchuk
Another important point is that we were able to run Boost regression tests on Android devices - again, without any changes in Boost sources, ...
very, very interesting results for lots of reasons. Could you try setting up the boost regression testing on your platforms so that the results show up on the testing matrix? http://www.boost.org/development/tests/develop/developer/serialization.html This would be very interesting to anyone considering using your platform. Robert Ramey -- View this message in context: http://boost.2283326.n4.nabble.com/Boost-regression-testing-on-Android-tp467... Sent from the Boost - Dev mailing list archive at Nabble.com.
Sure, we have HTML results of regression tests produced by library_status utility; I just need advice how to integrate those results into testing matrix you've mentioned. Maybe, some article about that? -- Dmitry Moskalchuk On 21/01/15 19:50, Robert Ramey wrote:
Another important point is that we were able to run Boost regression tests on Android devices - again, without any changes in Boost sources, ... very, very interesting results for lots of reasons. Could you try setting up the boost regression testing on your platforms so that the results show up on the testing matrix? http://www.boost.org/development/tests/develop/developer/serialization.html This would be very interesting to anyone considering using your platform.
Robert Ramey
-- View this message in context: http://boost.2283326.n4.nabble.com/Boost-regression-testing-on-Android-tp467... Sent from the Boost - Dev mailing list archive at Nabble.com.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
2015-01-21 21:00 GMT+04:00 Dmitry Moskalchuk
Sure, we have HTML results of regression tests produced by library_status utility; I just need advice how to integrate those results into testing matrix you've mentioned. Maybe, some article about that?
I'm very interested in your adbrunner and run.py scripts. Whole regression/armeabi-v7a-hard folder looks interesting to me. Could you please provide the sources? I'll do my best to integrate your work into the Boost regression testing suit and will help you with docs. -- Best regards, Antony Polukhin
Well, test script itself is at https://github.com/crystax/android-platform-ndk/blob/master/tests/run-boost-.... It is part of CrystaX NDK file tree and it do many things to setup environment for Boost testing. As you can see, it also generate several shell script wrappers to be able run tests; one of such wrappers is adbrunner. Content of regression/armeabi-v7a-hard folder is fully generated on the fly by run-boost-tests script. However, I'd recommend to not use this script right now since I'm going to refactor it a bit - at least, extract adbrunner and do several other changes. Please wait several days and I'll provide full sources and instructions on how to run Boost regression testing on Android. BTW, if you'll look on http://boost.crystax.net/master/developer/summary.html, you'll see clang toolchains indicated as 'clang-linux-3.4' and 'clang-linux-3.5'. It goes from the fact that Boost build scripts suppose there are just two types of clang - clang-darwin and clang-linux, and switch between them based on host OS condition, which is wrong. It should be based on target OS. Look here: https://github.com/boostorg/build/blob/develop/src/tools/clang.jam. I suppose there should be smth like this: if $(target-os) = darwin toolset.using clang-darwin ..... else if $(target-os) = linux toolset.using clang-linux ... else if $(target-os) = android toolset.using clang-android .... Or smth like that. I don't know bjam syntax good, so it's just to indicate my idea. I'd be appreciate if you could fix this while I'm finishing with scripts refactoring. Finally, when I finish with my task, we could modify Boost jam scripts to add support of NDK compilers directly instead of relying on wrappers for g++/clang++. -- Dmitry Moskalchuk On 04/02/15 14:17, Antony Polukhin wrote:
2015-01-21 21:00 GMT+04:00 Dmitry Moskalchuk
: Sure, we have HTML results of regression tests produced by library_status utility; I just need advice how to integrate those results into testing matrix you've mentioned. Maybe, some article about that?
I'm very interested in your adbrunner and run.py scripts. Whole regression/armeabi-v7a-hard folder looks interesting to me.
Could you please provide the sources? I'll do my best to integrate your work into the Boost regression testing suit and will help you with docs.
2015-02-04 16:59 GMT+04:00 Dmitry Moskalchuk
Well, test script itself is at
https://github.com/crystax/android-platform-ndk/blob/master/tests/run-boost-... . It is part of CrystaX NDK file tree and it do many things to setup environment for Boost testing. As you can see, it also generate several shell script wrappers to be able run tests; one of such wrappers is adbrunner. Content of regression/armeabi-v7a-hard folder is fully generated on the fly by run-boost-tests script.
However, I'd recommend to not use this script right now since I'm going to refactor it a bit - at least, extract adbrunner and do several other changes. Please wait several days and I'll provide full sources and instructions on how to run Boost regression testing on Android.
Thanks for doing this! BTW, I'm not quite sure about BSD licensed code usage in Boost. It would be much simpler to integrate Boost licensed scripts into the Boost. Otherwise, probably there'll be a long and boring conversation with lawyers from Software Freedom Conservancy.
BTW, if you'll look on http://boost.crystax.net/master/developer/summary.html, you'll see clang toolchains indicated as 'clang-linux-3.4' and 'clang-linux-3.5'. It goes from the fact that Boost build scripts suppose there are just two types of clang - clang-darwin and clang-linux, and switch between them based on host OS condition, which is wrong. It should be based on target OS. Look here: https://github.com/boostorg/build/blob/develop/src/tools/clang.jam. I suppose there should be smth like this:
if $(target-os) = darwin toolset.using clang-darwin ..... else if $(target-os) = linux toolset.using clang-linux ... else if $(target-os) = android toolset.using clang-android ....
Or smth like that. I don't know bjam syntax good, so it's just to indicate my idea. I'd be appreciate if you could fix this while I'm finishing with scripts refactoring.
Finally, when I finish with my task, we could modify Boost jam scripts to add support of NDK compilers directly instead of relying on wrappers for g++/clang++.
OK, I'll forward your proposal directly to the boost-build developers. There's a mailing list specially for boost build related questions and proposals: http://lists.boost.org/mailman/listinfo.cgi/boost-build -- Best regards, Antony Polukhin
On 04/02/15 20:25, Antony Polukhin wrote:
Thanks for doing this!
BTW, I'm not quite sure about BSD licensed code usage in Boost. It would be much simpler to integrate Boost licensed scripts into the Boost. Otherwise, probably there'll be a long and boring conversation with lawyers from Software Freedom Conservancy.
It's not a problem at all. That script is licensed under BSD license since it's part of CrystaX NDK, where we use BSD 2-clause license for everything we produce. However, if you want integrate it into a Boost, it anyway will need kind of rewriting of some parts, and in this case I could re-license it since I'm the only author of that script.
OK, I'll forward your proposal directly to the boost-build developers. There's a mailing list specially for boost build related questions and proposals: http://lists.boost.org/mailman/listinfo.cgi/boost-build
Thanks for letting me know, I'll subscribe to it. -- Dmitry Moskalchuk
participants (3)
-
Antony Polukhin
-
Dmitry Moskalchuk
-
Robert Ramey