How do you know it has spark if it doesn't crank? Cranking and starting are 2 different things. Cranking means the starter turns the motor. Starting means, well, beginning to run.
If the engine turns over (another way to say cranking), use a little starting fluid to see if it'll start. If so, verify timing. #1 plug out, piston to top dead center, rotor pointing at #1 plug tower on cap, timing mark on dampener pulley lined up with zero on timing indicator.