local feature = function() local excludeFiles = function(name, noFiles) if (not noFiles) then excludes("**/*" .. name .. ".masm") excludes("**/*" .. name .. ".*") end excludes("**/" .. name .. "/**") end filter(auFilterOf({notPlatforms = {"win32"}, notArchs = {"x86_64"}})) excludeFiles "win64" filter(auFilterOf({notPlatforms = {"win32"}})) excludeFiles "windows" excludeFiles "win32" filter(auFilterOf({notPlatforms = {"xbox"}})) excludeFiles "xbox" --if (not _G["uwp"]) then excludeFiles "uwp" filter(auFilterOf({notPlatforms = {"win32", "xbox"}})) excludeFiles "nt" filter(auFilterOf({notPlatforms = {"android"}})) excludeFiles "android" local isNotApple = {"mac", "ios"} local isNotBsd = auConcatArrays({"bsd", "ps4", "ps5"}, isNotApple) filter(auFilterOf({notPlatforms = isNotBsd})) excludeFiles "bsd" filter(auFilterOf({notPlatforms = isNotApple})) excludeFiles "apple" excludeFiles "xnu" filter(auFilterOf({notPlatforms = {"mac"}})) excludeFiles "osx" excludeFiles "macos" local isNotLinux = {"linux", "android"} filter(auFilterOf({notPlatforms = auConcatArrays(isNotBsd, isNotLinux)})) excludeFiles "unix" filter(auFilterOf({notPlatforms = {"linux", "android"}})) excludeFiles "linux" filter(auFilterOf({notArchs = "x86_64"})) excludeFiles "x64" excludeFiles "x86_64" excludeFiles "amd64" filter(auFilterOf({notArchs = "x86_32"})) excludes "**/x86/**" excludes "**/x86/**.c" excludes "**/x86/**.h" excludes "**/x86/**.*pp" excludes "**/x86/**.masm" excludes "**/x86/**.inl" excludes "**/x86/**.cpp" excludes "**/*.x86.*pp" excludeFiles "x86_32" excludeFiles "intel" filter(auFilterOf({notArchs = "arm"})) excludeFiles ("arm", true) excludeFiles "aarch64" excludeFiles "aarch" filter{} excludeFiles "mips" excludeFiles "mips64" excludeFiles "amiga" excludeFiles "powerpc" excludeFiles "riscv" end return feature