pass compile and link