Ah, OSL 1.4 was never meant to be built against OIIO 1.1, so it uses the new macro name.  OIIO 1.2 defines both names, for backward compatibility, but we did not back-port that definition to OIIO 1.1.

Well, first of all, let's separate these two issues.  Let's merge the dictionary fix separately (and I'll bring it into master as well).

Separately, we can do your suggestion for the assertion, but I am only going to merge it into OSL 1.4, not master, because anybody building from this master (which will be OSL 1.5) really should be expected to have OIIO 1.2 (or, ideally, 1.3 by the time OSL 1.5 is released).