>> And neither do the applications you've looked at.
I completely agree :-)

>>You don't just "run" a C program on a machine, you have to compile it first (or 'make' in larger programs). This act of creating a runnable program is where the choice of actual implementation takes place.
I know this and by run i mean the platform on which the application with its library will be compiled and then run

>>That's the way it is. Grab any portable library (say http://www.zlib.net/) and you'll see all sorts of portability hackery.

Thanks ..I will definitely look into it.. :-)