It seems the answer is to leave out the cross compilation arguments.
export CFLAGS="-arch x86_64"
./configure --enable-shared
Configure gets confused about cross compilation on macOS, because when it tries to execute a cross compiled program, the program does not fail (thanks to Rosetta, I presume).