Teach configure to execute $$system() when parsing qmake.conf

This allows for example the iOS mkspecs to use xcode-select to get the
path to Xcode's /Developer directory, which is then in turn used to
set up QMAKE_CXX (which is needed by configure).

Coprocess is GNU awk specific, so we're just using getline.
http://www.gnu.org/software/gawk/manual/html_node/Getline_002fPipe.html#Getline_002fPipe

Change-Id: I7e88112bea68f039361d6e96ee581eedf129ab02
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This commit is contained in:
Tor Arne Vestbø 2012-10-26 15:04:02 +02:00 committed by The Qt Project
parent 603e188273
commit cd9c98e881

18
configure vendored
View File

@ -183,13 +183,25 @@ BEGIN {
}
ovalue = ovalue values[var]
}
ovalue = ovalue value
value = ovalue value
ovalue = ""
while (match(value, /\$\$system\((.*?)\)/)) {
ovalue = ovalue substr(value, 1, RSTART - 1)
cmd = substr(value, RSTART + 9, RLENGTH - 10)
value = substr(value, RSTART + RLENGTH)
while ((cmd | getline line) > 0) {
ovalue = ovalue line
}
close(cmd)
}
value = ovalue value
combinedValue = values[variable]
if (append == 1 && length(combinedValue) > 0) {
combinedValue = combinedValue " " ovalue
combinedValue = combinedValue " " value
} else {
combinedValue = ovalue
combinedValue = value
}
values[variable] = combinedValue
}