Thanks to all of those who suggested looking at GHDL. Essentially
instant "analyze" runs. That alone is going to save me hours => days =>
even weeks of time compared to Vivado or even ISE.
I tried one file I had already generated and it worked as is, except for
the need to yank out the library/use statements for Vivado default
libraries and replace them with use WORK.ALL (and added a template file
that gets automatically included, so one can put in whatever one wants
to use). Also simulated fine.
GTKWave is a little flaky (sometimes it hangs when closing - I am using
a pre-built Windows version, so it might be a little long in the tooth),
but it certainly gets the job done.
Thanks!
JRJ