Wietse Venema:
> James Brown:
> > > On 24 Feb 2023, at 11:57 pm, Wietse Venema <[email protected]> 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