Closed marckleinebudde closed 1 month ago
Our github workflow only runs autotools, I'll convert it to camke.
IMHO removing autotools and its infrastructure is a good choice. No need to have autotools and cmake in parallel as these are doing the same.
But I'm not sure if it is a good idea to drop the 'plain' Makefile as it enables (embedded) systems to build and run can-utils without any additional build system.
Instead I would check the possibility to build the Android binaries with cmake too. There are ongoing discussions which suggest to use cmake in new projects for Android: https://stackoverflow.com/questions/39589427/difference-between-cmake-and-ndk-build-in-android-studio-project
And then we finally would have a cmake and a plain Makefile support.
But I'm not sure if it is a good idea to drop the 'plain' Makefile as it enables (embedded) systems to build and run can-utils without any additional build system.
I think it's a very good idea to drop plain Makefile support.
You want to build can-utils on your embedded system? IMHO if you have a compiler, having cmake doesn't make a big difference.
Regarding Android. I'm not invested, don't use it and cannot test it. If someone upgrades the CMakeLists.txt
, so that we can remove the Android.mk
, I'm more than happy!
We already have all the instructions required for an Android build. Just tried to build against android-ndk-r26d and it works. Hence, we can also remove Android.mk
.
As to the plain Makefiles on an embedded system. This is mostly possible on more or less standard distors like Debian/Ubuntu. Builroot, OpenWrt, etc. don't provide a compiler as a target package. So, in most cases you'll have to cross-compile your code.
The last patch should be called "build-system: remove Anroid.mk".
Wanted to commit --amend
into the 2nd patch. fixed. Thanks.
As to the plain Makefiles on an embedded system. This is mostly possible on more or less standard distors like Debian/Ubuntu. Builroot, OpenWrt, etc. don't provide a compiler as a target package. So, in most cases you'll have to cross-compile your code.
Ok. I recently got a Ubuntu 14.04 (with a now unsupported cmake 2.8) on my desk and wanted to build the latest can-utils. The entire repo is enabled to build the can-utils even on very old Linux installations today. And I really like that feature.
As you now removed 50% of the build systems (especially the ugly ones) this is already a nice cleanup. The plain old Makefile does not seem to be hard to maintain together with CMakeLists.txt and it is a good 'learning' example. Therefore I really would like to keep the plain old Makefile together with the cmake build system.
FWIW I've kept the plain old Makefile
. I personally consider it obsolete. I've not added it to the new CI integration. From my point of view this PR is ready to merge.
@yegorich
We already have all the instructions required for an Android build. Just tried to build against android-ndk-r26d and it works. Hence, we can also remove
Android.mk
.
Can you create a android CI integration?
I'll look into it. GitHub images seem to also ship NDK
I'll look into it. GitHub images seem to also ship NDK
That was quick! Thanks a lot!
Remove plain old Makefile and autotools support. This clauses less friction when adding new tools.
Closes: https://github.com/linux-can/can-utils/issues/526