On Thu, Aug 30, 2012 at 08:38:06AM +0300, Michael S. Tsirkin wrote:
On Wed, Aug 29, 2012 at 09:38:00PM -0400, Kevin O'Connor wrote:
################ DSDT build rules
-iasl-option=$(shell if "$(1)" "$(2)" -h > /dev/null 2>&1 \ +iasl-option=$(shell if test -z "`$(1) $(2) 2>&1 > /dev/null`" \ ; then echo "$(2)"; else echo "$(3)"; fi ;)
$(OUT)%.hex: src/%.dsl ./tools/acpi_extract_preprocess.py ./tools/acpi_extract.py
Will try. But logic seems fragile here: I am guessing old iasl versions exit with error if you run them without input, so this code relies on such to fail silently? But what if future iasl starts producing "Warning: no input" or such on stderr? Seems a sensible thing to do and will break this script.
How about we give it a small dummy input file instead and check exit status?
I agree with your statements on fragility, but I'm loathe to complicate the Makefile that much. I tested a bunch of iasl versions and all seem to work with the check above. For now I'm going to go with this version. Should iasl change in such a way that it breaks this check, we can replace it with a test script in the tools/ directory.
-Kevin