{ "defaults": { "type": ["CC", "defaults"] , "arguments_config": ["ARCH", "TARGET_ARCH", "TOOLCHAIN_CONFIG"] , "base": [["@", "base", "CC", "defaults"]] , "ADD_CFLAGS": ["-std=gnu17"] , "ADD_CXXFLAGS": { "type": "let*" , "bindings": [ [ "COMPILER_FAMILY" , { "type": "lookup" , "map": { "type": "var" , "name": "TOOLCHAIN_CONFIG" , "default": {"type": "empty_map"} } , "key": "FAMILY" , "default": "unknown" } ] ] , "body": { "type": "++" , "$1": [ ["-std=c++17", "-DHAVE_PTHREAD=1", "-DHAVE_ZLIB=1"] , { "type": "case" , "expr": {"type": "var", "name": "COMPILER_FAMILY"} , "case": { "msvc": [ "/wd4065" , "/wd4146" , "/wd4244" , "/wd4251" , "/wd4267" , "/wd4305" , "/wd4307" , "/wd4309" , "/wd4334" , "/wd4355" , "/wd4506" , "/wd4800" , "/wd4996" ] } , "default": { "type": "++" , "$1": [ [ "-Wall" , "-Woverloaded-virtual" , "-Wno-sign-compare" , "-Wno-sign-conversion" , "-Wno-unused-function" , "-Wno-deprecated-declarations" , "-Wno-nonnull" ] , { "type": "case" , "expr": {"type": "var", "name": "COMPILER_FAMILY"} , "case": { "gnu": ["-Wno-attributes"] , "clang": ["-Wno-atomic-alignment"] } , "default": ["-Wno-deprecated-enum-enum-conversion"] } ] } } ] } } } }