build: Require C11 to build and clean up autoconfig/automake files
authorChris Dickens <christopher.a.dickens@gmail.com>
Mon, 30 Mar 2020 19:28:11 +0000 (12:28 -0700)
committerChris Dickens <christopher.a.dickens@gmail.com>
Mon, 30 Mar 2020 19:28:11 +0000 (12:28 -0700)
commit9a1bc8cafb904c20a869c74ad6d657686a1c4bb1
tree1c6a0b258c047f83a45aa383337f63b4e85b6682
parent0c6c072733a5a2177ffc24d2614ee1151a39f02f
build: Require C11 to build and clean up autoconfig/automake files

C11 compiler support has been available for many years now. It is not
unreasonable to require this now, and doing so allows some cleanup to
the configure script. It is no longer necessary to check for compiler
support of the '-fvibility' flag because any compiler that supports C11
will support this flag as well.

Fix up the way that compiler and linker flags are passed down to the
various makefiles. The compiler flags should be shared by all, but the
linker flags and libraries should be separated between the library and
the examples/tests. The visibility flag is only relevant for the
library and the thread flags are only relevant for sources using thread
constructs, so provide them as needed.

Rearrange configure.ac to group similar functionality and consolidate
where possible.

Based on these changes, update the Travis configuration file to include
newer versions of test platforms to ensure proper C11 compiler support.

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
13 files changed:
.travis.yml
Xcode/common.xcconfig
Xcode/config.h
android/config.h
configure.ac
examples/Makefile.am
examples/testlibusb.c
libusb/Makefile.am
libusb/libusbi.h
libusb/os/threads_posix.c
libusb/version_nano.h
msvc/config.h
tests/Makefile.am