compile os dependant code