Problem mit quoting
-
Ich schreibe an einem configure.ac. Einem Programm (idl4) muss man den compileraufruf übergeben. Mein Versuch sieht so aus (CFLAGS, CC und IDL4 sind auf jeden fall gültig)
IDL4FLAGS="$IDL4FLAGS -i V4_GNU -p generic -T -C \"$CC $CFLAGS\"" echo -n "checking for idl4 -l -i V4_GNU... " $IDL4 $IDL4FLAGS -l -c test.idl if test -e test_client.h;then echo yes rm test_client.h else echo 'Your version of idl4 is outdated, see README.idl4!' exit 1 fi
Aber irgendwie funktioniert das nicht. Scheinbar bekommt idl4 den compileraufruf nicht gequotet und regt sich daher über falsche Optionen auf.
/edit: das ist kein autoconfig- sondern ein shellspezifisches Problem...
/nochamledit: ich seh grade, dass ist nicht ganz klar...
Eigentlich wünsche ich mir die expansion der Zeile so:idl4 -i V4_GNU -p generic -T -C "gcc -O3 -std=gnu99" -c test.idl
Scheinbar kommt aber
idl4 -i V4_GNU -p generic -T -C gcc -O3 -std=gnu99 -c test.idl
raus.
-
Gibt es hier denn keine bourne shell geeks?
-
#!/bin/bash IDL4FLAGS="AAAA" CC="BBBB" CFLAGS="CCCC" DL4FLAGS="$IDL4FLAGS -i V4_GNU -p generic -T -C \"$CC $CFLAGS\"" echo $DL4FLAGS
und der output ist:
AAAA -i V4_GNU -p generic -T -C "BBBB CCCC"
scheint also alles richtig gequoted. Der Fehler mus also wo anders stecken!
gruss