[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [hackers] MSYS2/Mingw primer


Harlan Stenn wrote:

This is great, thanks!

On 3/16/2023 8:40 AM, Martin Burnicki wrote:
Just for the case that you want to give MSYS2/Mingw a try: I've put some information together how to get started:

I've also just recently started to use it, and I'm very happy for what I've seen so far. You can easily use things like git and ssh from within the bash shells provided by the build environment.

A tiny example project that looks like a standard project for Linux and other Unix-like systems can be found here:

If it would be possible to build NTP for Windows using this toolchain, we could probably avoid a lot of the hassle we have due to supporting different VS versions with their various project files.

I'm assuming that it would even be possible to integrate Windows support into NTP's autoconf/automake stuff and let it detect the Windows target system, but as mentioned earlier, I'm not familiar with that auto stuff, so I'm not sure whether this makes sense, or whether to just create a set of makefiles once for each of the NTP programs.

I specifically did the auto* stuff to allow this.

The build script calls sntp/scripts/cvo.sh, and that script might need a tweak to make it report something useful.

Hm, I'm going to have a look at this.

On the other hand, unlike Unix-like systems, Windows is a well-known target, so it may be possible to just set up a couple of static makefiles which don't have to be created by autoconf/automake.

Whatever y'all want, and the point of running configure is to create and expand some config.h files and some Makefiles.  I suspect it will be easier to use that framework than create something new.

Hm, right now we already have a static config.h file for the Windows port, and I really think that it should not be too hard to put some makefiles together. This would only have to be done once, because usually there are no changes in the build environment required, maybe except adding some source file, change an include path, or so.

Maybe I'll have a look at this when I find some time.