[BUG] nginx ./configure --with-cc-opt option hates values with double quotes

agentzh agentzh at gmail.com
Thu Jul 21 08:35:01 UTC 2011


I just want to point out using double quotes within ./configure
--with-cc-opt values, for example,

    ./configure --with-cc-opt=$'-Dfoo=\'"bar"\''

will yield compilation errors like this (with nginx 1.0.4, for example):

     gcc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter
-Wunused-function -Wunused-variable -Wunused-value -Werror -g
-Dfoo='"bar"' -I src/core -I src/event -I src/event/modules -I
src/os/unix -I objs \
		-o objs/src/core/nginx.o \
    src/core/nginx.c: In function ‘main’:
    src/core/nginx.c:255: error: expected ‘)’ before ‘bar’

The logic for implementing "nginx -V" does not take into account
special characters like double quotes, it seems.

This is quite inconvenient when 3rd-party modules want to expose
string literal C macros to the end user to configure behaviors without
manually editing the "config" file of that module.

Hopefully it can be fixed in the official version of nginx :)


More information about the nginx-devel mailing list