Skip to content

Add native Windows / MinGW compilability #96

@maxgerhardt

Description

@maxgerhardt

Using a MSys2/MinGW64 environment with these packages installed

pacman -S git make mingw-w64-x86_64-toolchain mingw-w64-x86_64-autotools msys/autoconf-wrapper automake cmake mingw-w64-x86_64-binutils

and these build steps, compilation fails at these two types of errors:

In file included from devdescr.cc:29:
jtag.h:29:10: fatal error: termios.h: No such file or directory
   29 | #include <termios.h>
      |          ^~~~~~~~~~~
compilation terminated.
g++ -DHAVE_CONFIG_H -I.  -Wall -Wextra -DENABLE_TARGET_PROGRAMMING=0   -g -O2  -MT jtag3rw.o -MD -MP -MF .deps/jtag3rw.Tpo -c -o jtag3rw.o jtag3rw.cc
jtag2usb.cc:35:10: fatal error: sys/socket.h: No such file or directory
   35 | #include <sys/socket.h>
      |          ^~~~~~~~~~~~~~

It would be nice to not have to go through MSYS2/MSYS emulation, which does allow this program to build (see #95), but it's not as "native" as it could be.

There are forks who have adapted this to compile with MCSV (https://github.com/walx666/avarice/tree/main/src/msvc), but the termios.h implementation is all stubbed. And looking at this it appears to me it would be better to not try and search for an exact substitute for termios.h / sys/socket.h but compile-time switch in the real Windows implementation. I'm sure avrdudes/avrdude already does something like this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions