Hi,

from your reply I feel some defensive attitude, so I assure you my message wasn't intended to push you into something. It was more like sharing my experience from trying to build on Windows and ideas that might help with that.

Dne 08.03.2018 v 16:50 Dave Mielke napsal(a):
Simply changing brltty to build with cmake would be a bad idea because that's a
Windows-specific tool. We need to build brltty on others platforms, not the
laast of which is Linux., and I don't really want to have more than one way to
do it.
Well, I understand CMake as a multiplatform tool, definitely not a Windows-specific tool. On CMake about page (https://cmake.org/overview/) they say:
/
"CMake is an extensible, open-source system that manages the build process in an operating system and in a compiler-independent manner. Unlike many cross-platform systems, CMake is designed to be used in conjunction with the native build environment. Simple configuration files placed in each source directory (called CMakeLists.txt files) are used to generate standard build files (e.g., makefiles on Unix and projects/workspaces in Windows MSVC) which are used in the usual way. (...)"
/
I saw various multiplatform projects using CMake and also on their website they mention projects like MySQL or KDE are using it too. Since it's so popular and makes building multiplatform projects much easier, I ////wanted to know whether you thought about it. I understand that when something works it's better to keep it that way and don't change things without proper reason.

The only way I'd consider accommodating cmake is if we could convince autoconf
to get it right.
As I understand it, CMake is an alternative to autoconf, so I think it doesn't make sense to use both of them at the same time anyway.

One reason you had difficulty building brltty is because you included brltty.c,
which means that you tried to make an executable. That, of course, makes no
sense on Android. If cfg-android has successfully run then all you need to do
for the core part is to make the two needed shared objects: libbrltty_core.so,
and libbrltty_jni.so.
I see, can you please tell me where can I find list of source files from which is libbrltty_core.so compiled?

We build with ant because it works. I don't personally see any need to convert
to using gradle because we build brltty with older tools since it runs all the
way back to ICS (4.0).
Google maintains backward compatibility with older Android versions, so you don't need to use older build tools to support older Android versions. You can use latest version of SDK / build tools and still keep BRLTTY app working on Android 4.0 (by setting minSdkVersion value). On the other hand, using old SDK / build tools might cause problems on newer Android versions, as we've seen with the "native text relocations" error recently.

Google previously used Eclipse as main IDE and Ant as build system. Few years ago they created Android Studio and since then they use Gradle as build system. With Gradle it is easier and also more powerful to build Android projects.  And as I mentioned in last e-mail, they even removed the Ant build scripts from SDK last year, so they expect everyone switching to Gradle eventually. For building native code via NDK they use CMake - Gradle will run that CMake script to compile and get binaries which then Gradle builds into resulting APK. That's why I mentioned that (from this point of view) it would be best if whole BRLTTY would use CMake too (but I'm not saying it should).

The android command is part of the Android SDK.The directory it's in needs to
be in your command search path.
Yes, that error message came from the /android/ command itself, because support for that parameter was removed in recent build tools (same as they removed the Ant scripts). In older SDK version that command works.

My question is: Rather than introduce a bunch of needless and
unwanted turbulence into our way of building, why not just install a Linux VM
on Windows and do it our way?
Because since I already spent some time trying to make it work, I thought that finishing it and finding working solution for building on Windows would also help others who may want to do the same thing in the future.

I'd much rather invest my time and effort into solving real problems,
and also would rather devote a chunk of it to my personal life (family, etc).
I understand that and I appreciate your time you invest in BRLTTY and in this conversation.

Robert
_______________________________________________
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: [email protected]
For general information, go to: http://brltty.com/mailman/listinfo/brltty

Reply via email to