Wietse Venema:
> James Brown:
> > > On 24 Feb 2023, at 11:57 pm, Wietse Venema <wie...@porcupine.org> wrote:
> > > 
> > > James Brown:
> > >> Sorry if this is a bit of a basic question, but I?m trying to compile 
> > >> from source on macOS 13.21.1 but the makefile has lines commented out.
> > >> 
> > >> I'm trying:
> > >> 
> > >> make -f Makefile.init makefiles \
> > >> CCARGS='-DUSE_TLS -DUSE_SASL_AUTH \
> > >    ...
> > >> -DHAS_MYSQL -I/opt/homebrew/Cellar/mysql/8.0.32/include/' \
> > >    ...
> > > 
> > > Try using " instead of '
> > > 
> > > Someone has "improved"(*) the shell and broke command examples that
> > > I wrote 20+ years ago.
> > > 
> > >   Wietse
> > > 
> > > (*) Or worse, some standard committee "improved" the spec.
> > > 
> > 
> > Thanks for your help Wietse. (The shell is zsh)
> > 
> > % make -f Makefile.init makefiles CCARGS="-DUSE_TLS -DUSE_SASL_AUTH \
> > -DDEF_SERVER_SASL_TYPE=\"dovecot\" \
> 
> Try:
> 
>     make -f Makefile.init makefiles CCARGS="-DUSE_TLS -DUSE_SASL_AUTH \
>       -DDEF_SERVER_SASL_TYPE=\\\"dovecot\\\" \
>       ...
> 
> That's three backslashes where there was one.

I have to retract my comment aobut changes to shells. The behavior
of backslash-newline inside 'string' (single quotes) is to preserve
the backslash and the newline i.e. the backslash is mot special and
that has not changed in the past 10+ years.

Thus, the form

    make -f Makefile.init makefiles CCARGS="ccargs stuff \
        more ccargs stuff" \
        other stuff \
        more other stuff

Is the form to use when CCARGS spans multiple lines, and you need
\\\ to protect " quotes inside CCARGS.

        Wietse

Reply via email to