diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index 2fb8dc54e..5e15005a7 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -526,6 +526,8 @@ jobs: - { os: ubuntu-latest , target: x86_64-unknown-redox , features: feat_os_unix_redox , use-cross: redoxer , skip-tests: true } - { os: ubuntu-latest , target: wasm32-unknown-unknown , default-features: false, features: uucore/format, skip-tests: true, skip-package: true, skip-publish: true } - { os: macos-latest , target: aarch64-apple-darwin , features: feat_os_macos, workspace-tests: true } # M1 CPU + # PR #7964: Mac should still build even if the feature is not enabled + - { os: macos-latest , target: aarch64-apple-darwin , workspace-tests: true } # M1 CPU - { os: macos-13 , target: x86_64-apple-darwin , features: feat_os_macos, workspace-tests: true } - { os: windows-latest , target: i686-pc-windows-msvc , features: feat_os_windows } - { os: windows-latest , target: x86_64-pc-windows-gnu , features: feat_os_windows } diff --git a/GNUmakefile b/GNUmakefile index dbcdcd0ce..9cfae72f9 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -58,6 +58,13 @@ TOYBOX_ROOT := $(BASEDIR)/tmp TOYBOX_VER := 0.8.12 TOYBOX_SRC := $(TOYBOX_ROOT)/toybox-$(TOYBOX_VER) +#------------------------------------------------------------------------ +# Detect the host system. +# On Windows the environment already sets OS = Windows_NT. +# Otherwise let it default to the kernel name returned by uname -s +# (Linux, Darwin, FreeBSD, …). +#------------------------------------------------------------------------ +OS ?= $(shell uname -s) ifdef SELINUX_ENABLED override SELINUX_ENABLED := 0 @@ -181,6 +188,13 @@ SELINUX_PROGS := \ chcon \ runcon +$(info Detected OS = $(OS)) + +# Don't build the SELinux programs on macOS (Darwin) +ifeq ($(OS),Darwin) + SELINUX_PROGS := +endif + ifneq ($(OS),Windows_NT) PROGS := $(PROGS) $(UNIX_PROGS) # Build the selinux command even if not on the system