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