Not sure how spaces change the picture, in the texinfo case the quotes have to be part of the defined symbol, because it is used as string literal in the code.

When trying with just this:

CPPFLAGS += -DDEFAULT_INFOPATH=\"$(INFOPATH)\"

then from the build log I see (configure step):

.../configure ... CPPFLAGS="-DDEFAULT_INFOPATH=\"/usr/...:.\""

and then (build step):

.../cc ... -DDEFAULT_INFOPATH="/usr/...:."

But the quotes there are eaten (by shell I presume?) leading to the symbol defined without the quotes and failed build.

".../texinfo-4.7/info/filesys.c", line 362: syntax error before or at: /

362         xmalloc (infopath_size = (1 + strlen (DEFAULT_INFOPATH)));

So the texinfo needs CPPFLAGS += -DDEFAULT_INFOPATH=\\\"$(INFOPATH)\\\"
to protect the quotes.

Petr

On 18.6.2012 19:58, Jiri Sasek wrote:
On 06/18/12 07:41 PM, Mike Sullivan wrote:
On 06/18/12 05:00, Jiri Sasek wrote:
. to quote the -D (cpp-option -> #define) string?

I tried to add:

CPPFLAGS +=     -DSAMBA_VERSION_VENDOR_SUFFIX=\"Vendor patches added\"

where in components/samba/samba/Makefile the CPPFLAGS are used as:

CONFIGURE_OPTIONS.32 += CPPFLAGS="$(CPPFLAGS)
-I$(BUILD_DIR)/libsam-LGPL/include"
CONFIGURE_OPTIONS.64 += CPPFLAGS="$(CPPFLAGS)"

...so CPPFLAGS are shell-quoted itself to be interpreted as one
parameter for configure.


But I have also tried:

CPPFLAGS +=     -DSAMBA_VERSION_VENDOR_SUFFIX=\\"...\\"
CPPFLAGS +=     -DSAMBA_VERSION_VENDOR_SUFFIX=\\\"...\\\"
CPPFLAGS +=     -DSAMBA_VERSION_VENDOR_SUFFIX=\\\\"...\\\\"
...following the Antozi's recursive scheme: "When backslash does not
work, put two backslashes. When even two backslashes does not works,
put three \'s....[:recursive:]"

But I would rather to understand who everyone is "eating" the
backslashes in Userlan's steam-engine?

Can anyone to help me urgently? It would be nice to fit into the
build 19 with these fixes I am trying to point in the Samba version
string here.

texinfo seems to do:

CPPFLAGS += -DDEFAULT_INFOPATH=\\\"$(INFOPATH)\\\"

but as you seem to have tried that above, perhaps it's not really
working.
though as it builds I do see this:

-DDEFAULT_INFOPATH=\"/usr/share/info:/usr/sfw/share/info:/usr/gnu/share/info:/usr/local/share/info:.\"


so maybe it is. so I don't know why that wouldn't work for samba.

Main problem here are " " (spaces)  ...so the INFOPATH can work. When
spaces are transitioned between the make and shell variables the string
is cut into the standalone words regardless of its quotation.

I have replaced the spaces by underscores...

Thanks,

Jiri
_______________________________________________
userland-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/userland-discuss

_______________________________________________
userland-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/userland-discuss

Reply via email to