Partially reverts commit #052cbb27 ("Fix ambiguity between system
includes and Hamlib includes") since the files in include/hamlib
are part of the public API, they must use the installed includes
when building third party applications.
According to iwyu, to avoid unecessary rebuilds and to reduce the
chances of breakages of the build if includes are rearranged, the
code that uses serial_open() and ser_close() should include
serial.h while the code that uses read_block() write_block() and
similar should include iofunc.h, code that uses all of them should
include both files.
Found with iwyu.
The conditionals that used those values were removed from
bindings/Makefile.am with commit b0408037 which replaced code
that installed the Perl bindings in different locations
depending on the OS with code that installed in all locations.
Since Python 3.12, strings such as:
f"test_{object_name.replace(".", "_")}_class.py"
are allowed but older versions require single quotes around the dot and
underscore within the double quoted string.
Should quell CI error on Ubuntu Noble.
Fix missing/misplaced '#include "config.h"' statements. Fixes missing
function prototypes, unknown type definitions, etc. Allows configuration
of GCC with CFLAGS="-std=c23" instead of using default -std=gnu23.
Don't know about CLANG, MSVC, MinGW, etc, but using
gwb@stitch:~> gcc --version
gcc (SUSE Linux) 15.1.1 20250714
Copyright (C) 2025 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Hamlib can compile in strict C23 mode, or previous standard levels.
FreeBSD will eventually have the less verbose bNumDeviceCaps instead of
bNumDeviceCapabilities The other changes are (hopefully) to be
upstreamed renaming bU2devExitLat to wU2devExitLat
FreeBSD in the head of the tree has
/usr/include/libusb20_desc.h:#define bNumDeviceCapabilities bNumDeviceCaps
So we have backward compatibility for this.