Set user custom integers to locations

I was wondering if there is a way to set custom indexes to the uniform and attribute locations. I dont want the compiler to give them a value and query them using glGetUniformLocation and glGetAttribLocation. I want to give them my values.

Is there a way?

For attributes: call BindAttribLocation(program,index,name) before linking.
For uniforms: I think you are out of luck here.

Cr@p. I hoped to be a way to do it through OGL. Fortunately I load all my shaders from scripts and so I can do it that way.