feat(freebsd): full FreeBSD 15.0 compatibility
- board: detect cuaU* serial ports in fallback scanner, filter .init/.lock nodes - board: fall through to OS scan when arduino-cli returns empty (serial-discovery uses unsupported Linux syscalls on FreeBSD) - board: recognize cuaU* port names as USB in is_usb() - upload.sh: fix silent exit under set -euo pipefail when vid_pid grep finds nothing (|| true on LOCAL_PORT and LOCAL_VID_PID greps) - upload.sh: add cuaU to auto-detect port pattern - doctor: detect dialer and operator group membership, offer --fix for both - doctor: detect avr-size installed but not on PATH, offer --fix to add to shell rc file via detect_shell_rc() - doctor: context-aware hardware section (suppress misleading messages when groups not yet applied) - doctor: FreeBSD-specific troubleshooting hints throughout - devices: suppress arduino-cli board detection section on FreeBSD (broken due to serial-discovery syscall issues) - devices: always show USB hub tip on FreeBSD - devices: FreeBSD-specific troubleshooting checklist with sequential numbering on all platforms
This commit is contained in:
@@ -17,6 +17,17 @@ set -euo pipefail
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
BUILD_DIR="$SCRIPT_DIR/build"
|
||||
|
||||
# Portable CPU count -- BSD make requires a number after -j, GNU make does not
|
||||
cpu_count() {
|
||||
if command -v nproc &>/dev/null; then
|
||||
nproc
|
||||
elif command -v sysctl &>/dev/null; then
|
||||
sysctl -n hw.ncpu
|
||||
else
|
||||
echo 4
|
||||
fi
|
||||
}
|
||||
|
||||
# Color output
|
||||
if [[ -t 1 ]]; then
|
||||
RED=$'\033[0;31m'; GRN=$'\033[0;32m'; CYN=$'\033[0;36m'
|
||||
@@ -40,7 +51,7 @@ for arg in "$@"; do
|
||||
esac
|
||||
done
|
||||
|
||||
command -v cmake &>/dev/null || die "cmake not found. Install: sudo apt install cmake"
|
||||
command -v cmake &>/dev/null || die "cmake not found. Install: pkg install cmake (FreeBSD), apt install cmake (Debian/Ubuntu), dnf install cmake (Fedora)"
|
||||
command -v g++ &>/dev/null || command -v clang++ &>/dev/null || die "No C++ compiler found"
|
||||
command -v git &>/dev/null || die "git not found (needed to fetch Google Test)"
|
||||
|
||||
@@ -55,7 +66,7 @@ if [[ ! -f "$BUILD_DIR/CMakeCache.txt" ]]; then
|
||||
fi
|
||||
|
||||
info "Building tests..."
|
||||
cmake --build "$BUILD_DIR" --parallel
|
||||
cmake --build "$BUILD_DIR" --parallel "$(cpu_count)"
|
||||
|
||||
echo ""
|
||||
info "${BLD}Running tests...${RST}"
|
||||
|
||||
Reference in New Issue
Block a user