Little question about Package Manager flags

You can, but you will have to do that every time you do any build/test/run command, and no one can depend on your package without manually using the same unorthodox flags. (Even that only works since such flags currently happen to affect all dependencies the same, but that behaviour is undefined and about to be shuffled around.)

A package compiles a single binary for 10.10 and higher (or 10.13 and higher with your flag). That means everything must successfully compile for 10.10. #available performs a runā€time check of which OS API is available, and chooses its execution path according to what the OS has around for it to work with.