LIBVIRT_ARG_WITH_ALT is more generic than LIBVIRT_ARG_WITH, which is tailored at switching features on and off. Rename the macros according to their intended purpose, and add some documentation to help developers pick between the two.
They're not just used, or supposed to be just used, for library-related arguments, so they deserve to have their own separate file.