Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
821bde3
GitIgnore configure-test.docbuild* dirs
jimklimov Nov 23, 2020
24d27b1
m4/nut_report_feature.m4: report the compiler tools and flags ultimat…
jimklimov Nov 23, 2020
f66e723
include/timehead.h: satisfy pedantic macro parser (defined vs. used v…
jimklimov Nov 22, 2020
f330d08
common/common.c: cleaner macro processing for BUILD_64
jimklimov Nov 20, 2020
42e57d6
drivers/gamatronic.c: fix trailing whitespace
jimklimov Nov 20, 2020
f80ce78
drivers/gamatronic.c: fix indentation and scope whitespace
jimklimov Nov 20, 2020
c836dcb
drivers/gamatronic.c: rectify whitespaces (indentations and blank lines)
jimklimov Nov 22, 2020
b3a9541
Issue #823 follow-up: add ARM 32-bit and 64-bit builds in Travis CI
jimklimov Nov 23, 2020
8a5f775
.travis.yml: drop arm-32bit builds, seems a no-go on Travis quickly
jimklimov Nov 23, 2020
2a377f4
.travis.yml: drop gcc-multilib in ARM builds, seems missing in Debian
jimklimov Nov 23, 2020
cabaa26
.travis.yml: introduce NUT_MATRIX_TAG="gnu17-gcc-9-nowarn-ARM-64bit" …
jimklimov Nov 23, 2020
46d000c
.travis.yml: separate ARM64 test case matrices into ..._viable and ..…
jimklimov Nov 23, 2020
396a952
.travis.yml: mark gnuXX-gcc-*-arm64 test cases as evergreen
jimklimov Nov 23, 2020
e3d3ee5
.travis.yml: point all GCC -std=*++99 to *-98
jimklimov Nov 24, 2020
8ae056b
.travis.yml: annotate clearer the different allowed_failure OS build …
jimklimov Nov 24, 2020
9dd202b
.travis.yml: run gnu17-clang-8-nowarn-ARM-64bit case in fightwarn bra…
jimklimov Nov 24, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Makefile.in
/conf_nut_report_feature
/conf??????/
/dir.??????/
/configure-test*/
/cscope.*
/depcomp
/INSTALL
Expand Down
98 changes: 86 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ _matrix_required_linux_pass3_large:

_matrix_linux_gnustd_nowarn:
include: &_matrix_linux_gnustd_nowarn
- env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99"
- env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98"
os: linux
sudo: false
services:
Expand Down Expand Up @@ -341,6 +341,57 @@ _matrix_linux_gnustd_nowarn:
packages:
- *deps_driverlibs

# Try ARM builds to check for issues with non-x86 CPUs
_matrix_linux_gnustd_nowarn_arm_64bit_viable:
include: &_matrix_linux_gnustd_nowarn_arm_64bit_viable
- env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98"
os: linux
arch: arm64
sudo: false
services:
- docker
compiler: gcc
addons:
apt:
packages:
- *deps_driverlibs

- env: NUT_MATRIX_TAG="gnu17-gcc-9-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=gcc-9 CXX=g++-9
os: linux
arch: arm64
sudo: false
services:
- docker
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-9
- gcc-9
- *deps_driverlibs

_matrix_linux_gnustd_nowarn_arm_64bit_fatal:
include: &_matrix_linux_gnustd_nowarn_arm_64bit_fatal
- env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=clang-8 CXX=clang++-8
os: linux
arch: arm64
dist: xenial
sudo: false
services:
- docker
compiler: clang
if: branch =~ fightwarn
addons:
apt:
sources:
- llvm-toolchain-xenial-8
packages:
- clang-8
- clang-format-8
- *deps_driverlibs

# At this time, anything with strict C standard fails on Linux, even "nowarn" cases:
_matrix_linux_cstd_nowarn:
include: &_matrix_linux_cstd_nowarn
Expand Down Expand Up @@ -427,7 +478,7 @@ _matrix_linux_gnustd_warn_viable:
packages:
- *deps_driverlibs

- env: NUT_MATRIX_TAG="gnu99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++99"
- env: NUT_MATRIX_TAG="gnu99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++98"
os: linux
sudo: false
services:
Expand Down Expand Up @@ -502,7 +553,7 @@ _matrix_linux_gnustd_warn_fatal:
# The hardest of two worlds: both strict C standards on Linux and fatal warnings:
_matrix_linux_cstd_warn:
include: &_matrix_linux_cstd_warn
- env: NUT_MATRIX_TAG="c99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=c99" CXXFLAGS="-Wall -Wextra -Werror -std=c++99"
- env: NUT_MATRIX_TAG="c99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=c99" CXXFLAGS="-Wall -Wextra -Werror -std=c++98"
os: linux
sudo: false
services:
Expand Down Expand Up @@ -591,7 +642,7 @@ _matrix_linux_cstd_warn:

_matrix_freebsd_gnustd_nowarn:
include: &_matrix_freebsd_gnustd_nowarn
- env: NUT_MATRIX_TAG="gnu99-gcc-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=gcc CXX=g++
- env: NUT_MATRIX_TAG="gnu99-gcc-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98" CC=gcc CXX=g++
os: freebsd
sudo: true
compiler: gcc
Expand Down Expand Up @@ -625,7 +676,7 @@ _matrix_freebsd_gnustd_nowarn:

_matrix_freebsd_gnustd_warn_viable:
include: &_matrix_freebsd_gnustd_warn_viable
- env: NUT_MATRIX_TAG="gnu99-gcc-default-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++99" CC=gcc CXX=g++
- env: NUT_MATRIX_TAG="gnu99-gcc-default-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++98" CC=gcc CXX=g++
os: freebsd
sudo: true
compiler: gcc
Expand Down Expand Up @@ -855,6 +906,7 @@ _matrix_required_linux:
- *_matrix_required_linux_pass3_large
- *_matrix_linux_gnustd_nowarn
- *_matrix_linux_gnustd_warn_viable
- *_matrix_linux_gnustd_nowarn_arm_64bit_viable

_matrix_linux_gnustd_warn:
include: &_matrix_linux_gnustd_warn
Expand All @@ -866,6 +918,16 @@ _matrix_allowfail_linux:
- *_matrix_linux_cstd_nowarn
- *_matrix_linux_gnustd_warn_fatal
- *_matrix_linux_cstd_warn
- *_matrix_linux_gnustd_nowarn_arm_64bit_fatal

_matrix_linux_gnustd_nowarn_arm_64bit:
include: &_matrix_linux_gnustd_nowarn_arm_64bit
- *_matrix_linux_gnustd_nowarn_arm_64bit_viable
- *_matrix_linux_gnustd_nowarn_arm_64bit_fatal

_matrix_linux_arm:
include: &_matrix_linux_arm
- *_matrix_linux_gnustd_nowarn_arm_64bit

_matrix_linux:
include: &_matrix_linux
Expand Down Expand Up @@ -935,6 +997,8 @@ _matrix_gnustd_nowarn:
- *_matrix_linux_gnustd_nowarn
- *_matrix_freebsd_gnustd_nowarn
# -*_matrix_windows_gnustd_nowarn
- *_matrix_linux_gnustd_nowarn_arm_64bit_viable
- *_matrix_linux_gnustd_nowarn_arm_64bit_fatal

_matrix_warn:
include: &_matrix_warn
Expand Down Expand Up @@ -997,7 +1061,9 @@ jobs:
###################################################################################
# Note: "env" lines below must exactly describe a matrix option defined above
allow_failures:
#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99"

### Linux on x86_64
#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98"
#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-7-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98" CC=gcc-7 CXX=g++-7
#OK# - env: NUT_MATRIX_TAG="gnu11-gcc-7-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu11" CXXFLAGS="-std=gnu++11" CC=gcc-7 CXX=g++-7
#OK# - env: NUT_MATRIX_TAG="gnu17-gcc-9-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=gcc-9 CXX=g++-9
Expand All @@ -1010,8 +1076,8 @@ jobs:
- env: NUT_MATRIX_TAG="c17-clang-8-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=c17" CXXFLAGS="-std=c++17" CC=clang-8 CXX=clang++-8
- env: NUT_MATRIX_TAG="c17-clang-8-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=c17" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=c++17" CC=clang-8 CXX=clang++-8
#OK# - env: NUT_MATRIX_TAG="cDefault-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic" CXXFLAGS="-Wall -Wextra -Werror"
#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++99"
- env: NUT_MATRIX_TAG="c99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=c99" CXXFLAGS="-Wall -Wextra -Werror -std=c++99"
#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++98"
- env: NUT_MATRIX_TAG="c99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=c99" CXXFLAGS="-Wall -Wextra -Werror -std=c++98"
#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-7-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++98" CC=gcc-7 CXX=g++-7
- env: NUT_MATRIX_TAG="c99-clang-5.0-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=c99" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=c++99" CC=clang-5.0 CXX=clang++-5.0
- env: NUT_MATRIX_TAG="c11-clang-5.0-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=c11" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=c++11" CC=clang-5.0 CXX=clang++-5.0
Expand All @@ -1020,15 +1086,22 @@ jobs:
#OK# - env: NUT_MATRIX_TAG="gnu89-gcc-default-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu89" CXXFLAGS="-std=gnu++89"
- env: NUT_MATRIX_TAG="c89-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=c89" CXXFLAGS="-Wall -Wextra -Werror -std=c++89"
- env: NUT_MATRIX_TAG="gnu89-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu89" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++89"
### FreeBSD
#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=gcc CXX=g++

### Linux on ARM
#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98"
#OK# - env: NUT_MATRIX_TAG="gnu17-gcc-9-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=gcc-9 CXX=g++-9
- env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=clang-8 CXX=clang++-8

### FreeBSD on x86_64
#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98" CC=gcc CXX=g++
#OK# - env: NUT_MATRIX_TAG="gnu99-clang-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=clang CXX=clang++
#OK# - env: NUT_MATRIX_TAG="gnu17-gcc-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++17" CC=gcc CXX=g++
#OK# - env: NUT_MATRIX_TAG="gnu17-clang-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++17" CC=clang CXX=clang++
#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++99" CC=gcc CXX=g++
#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++98" CC=gcc CXX=g++
#OK# - env: NUT_MATRIX_TAG="gnu17-gcc-default-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu17" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++17" CC=gcc CXX=g++
- env: NUT_MATRIX_TAG="gnu99-clang-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=gnu++99" CC=clang CXX=clang++
- env: NUT_MATRIX_TAG="gnu17-clang-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=gnu17" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=gnu++17" CC=clang CXX=clang++

### macosx
#OK# - env: NUT_MATRIX_TAG="gnu99-clang-xcode10.2-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=clang CXX=clang++
#OK# - env: NUT_MATRIX_TAG="gnu17-clang-xcode10.2-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=clang CXX=clang++
Expand All @@ -1040,7 +1113,8 @@ jobs:
- env: NUT_MATRIX_TAG="c17-clang-xcode10.2-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=c17" CXXFLAGS="-std=c++17" CC=clang CXX=clang++
- env: NUT_MATRIX_TAG="c17-clang-xcode10.2-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=c17" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=c++17" CC=clang CXX=clang++
- env: NUT_MATRIX_TAG="c11-clang-xcode7.3-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=c11" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=c++11" CC=clang CXX=clang++
### windows

### windows on x86_64
- env: NUT_MATRIX_TAG="gnu99-clang-win-nowarn" BUILD_TYPE=default-all-errors CPPFLAGS="-fms-extensions" CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=clang CXX=clang++
- env: NUT_MATRIX_TAG="gnu99-clang-win-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=c99" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=c++99" CC=clang CXX=clang++
- env: NUT_MATRIX_TAG="c99-clang-win-nowarn" BUILD_TYPE=default-all-errors CPPFLAGS="-fms-extensions" CFLAGS="-std=c99" CXXFLAGS="-std=c++99" CC=clang CXX=clang++
Expand Down
10 changes: 7 additions & 3 deletions common/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ const char *UPS_VERSION = NUT_VERSION_MACRO;
#include "nut_stdint.h"
#if UINTPTR_MAX == 0xffffffffffffffffULL
# define BUILD_64 1
#else
# ifdef BUILD_64
# undef BUILD_64
# endif
#endif

int nut_debug_level = 0;
Expand Down Expand Up @@ -720,18 +724,18 @@ static const char * search_paths[] = {
LIBDIR,
"/usr"LIBDIR,
"/usr/local"LIBDIR,
#if BUILD_64
#ifdef BUILD_64
// Fall back to explicit preference of 64-bit paths as named on some OSes
"/usr/lib/64",
"/usr/lib64",
#endif
"/usr/lib",
#if BUILD_64
#ifdef BUILD_64
"/lib/64",
"/lib64",
#endif
"/lib",
#if BUILD_64
#ifdef BUILD_64
"/usr/local/lib/64",
"/usr/local/lib64",
#endif
Expand Down
Loading