library to generate ati+ nvidia specific shader stuff

Is there some sort of library available so that I can write an app which uses pixel shaders, and then the lib generates the card specific cruft for each vendor so that both are supported?

nVidia’s Cg can do this job. As soon as GLslang will be here, then it will do that.

Cg doesn’t have an ATI_fragment_shader profile and isn’t looking like getting one any time soon.

There’s currently no portable way to write fragment shaders for the R200/NV2x tech level.

I was thinking at just ARB_v_p + ARB_f_p.

Of course your statement is correct for ARB_fp/ARB_vp
I just wanted to mention it, not everyone (… you’d like to give your programs to) has ARB_fp capable hardware