Обсуждение: include path for tcl.h
Hello all, I'm working on a port of 6.5.1 for OpenBSD and it's mostly working. I want to add the Tcl/Tk support but I can't figure out how to change the include path for tcl.h from the default /usr/local/include to /usr/local/include/tcl8.0 (as built by the tcl port). Setting SRCH_INC in template/openbsd works but it's ugly because you'd get a configure error even when you didn't want or have Tcl/Tk. I'd prefer if it was conditional on something like USE_TCL, but the mechanics of autoconf escape me. The old 6.3.2 port in OpenBSD defined TCL_INCDIR (and the FAQ_Linux mentions it also) but it doesn't seem to work any more and I can't find any reference to it in src/interfaces/libpgtcl and src/pl/tcl. What's the cleanest way of conditionally defining an extra include path? Thanks --Louis <louis@bertrandtech.on.ca> Louis Bertrand http://www.bertrandtech.on.ca Bertrand Technical Services, Bowmanville, ON, Canada OpenBSD: Secure by default. http://www.openbsd.org/
> Hello all, > > I'm working on a port of 6.5.1 for OpenBSD and it's mostly working. I want > to add the Tcl/Tk support but I can't figure out how to change the include > path for tcl.h from the default /usr/local/include to > /usr/local/include/tcl8.0 (as built by the tcl port). > > Setting SRCH_INC in template/openbsd works but it's ugly because you'd get > a configure error even when you didn't want or have Tcl/Tk. I'd prefer if > it was conditional on something like USE_TCL, but the mechanics of > autoconf escape me. > > The old 6.3.2 port in OpenBSD defined TCL_INCDIR (and the FAQ_Linux > mentions it also) but it doesn't seem to work any more and I can't find > any reference to it in src/interfaces/libpgtcl and src/pl/tcl. > > What's the cleanest way of conditionally defining an extra include path? > configure has a --includedir option. Is that what you want? -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Well, the FreeBSD port does it this way (in the ports Makefile):
.if defined(USE_TCL)
TCL_INCDIR= ${LOCALBASE}/include/tcl8.0
TK_INCDIR= ${LOCALBASE}/include/tk8.0
MAKE_ENV= USE_TCL=true TCL_INCDIR=${TCL_INCDIR}
WITH_TCL= --with-tcl --with-tclconfig="${LOCALBASE}/lib/tcl8.0 \
${LOCALBASE}/lib/tk8.0"
.endif
...
CONFIGURE_ARGS= --prefix=${PREFIX}/pgsql \
--enable-locale \
--with-template=`uname -s | ${TR} '[A-Z]' '[a-z]'` \
--with-includes="${PREFIX}/include ${TCL_INCDIR} \
${TK_INCDIR}" ${WITH_TCL} \
--with-libraries=${PREFIX}/lib
which ends up to
$ ./configure ... --with-includes="/usr/local/include \
/usr/local/include/tcl8.0 \
/usr/local/include/tk8.0" \
--with-tcl --with-tclconfig="/usr/local/lib/tcl8.0 \
/usr/local/lib/tk8.0"
$ USE_TCL=true TCL_INCDIR=/usr/local/include/tc8.0 gmake
Hope this helps. Check the complete FreeBSD port at
www.freebsd.org/ports/databases.html
/Palle
Louis Bertrand wrote:
>
> Hello all,
>
> I'm working on a port of 6.5.1 for OpenBSD and it's mostly working. I want
> to add the Tcl/Tk support but I can't figure out how to change the include
> path for tcl.h from the default /usr/local/include to
> /usr/local/include/tcl8.0 (as built by the tcl port).
>
> Setting SRCH_INC in template/openbsd works but it's ugly because you'd get
> a configure error even when you didn't want or have Tcl/Tk. I'd prefer if
> it was conditional on something like USE_TCL, but the mechanics of
> autoconf escape me.
>
> The old 6.3.2 port in OpenBSD defined TCL_INCDIR (and the FAQ_Linux
> mentions it also) but it doesn't seem to work any more and I can't find
> any reference to it in src/interfaces/libpgtcl and src/pl/tcl.
>
> What's the cleanest way of conditionally defining an extra include path?
>
> Thanks
> --Louis <louis@bertrandtech.on.ca>
>
> Louis Bertrand http://www.bertrandtech.on.ca
> Bertrand Technical Services, Bowmanville, ON, Canada
>
> OpenBSD: Secure by default. http://www.openbsd.org/
With a resounding slap to the forehead, he remembers that the FreeBSD source is available on the WWW... Yes, this certainly looks like what I need. Thanks for your patience. --Louis <louis@bertrandtech.on.ca> Louis Bertrand http://www.bertrandtech.on.ca Bertrand Technical Services, Bowmanville, ON, Canada OpenBSD: Secure by default. http://www.openbsd.org/ On Sun, 25 Jul 1999, Palle Girgensohn wrote: > Well, the FreeBSD port does it this way (in the ports Makefile): > > .if defined(USE_TCL) > TCL_INCDIR= ${LOCALBASE}/include/tcl8.0 > TK_INCDIR= ${LOCALBASE}/include/tk8.0 > MAKE_ENV= USE_TCL=true TCL_INCDIR=${TCL_INCDIR} > WITH_TCL= --with-tcl --with-tclconfig="${LOCALBASE}/lib/tcl8.0 \ > ${LOCALBASE}/lib/tk8.0" > .endif > > ... > > > CONFIGURE_ARGS= --prefix=${PREFIX}/pgsql \ > --enable-locale \ > --with-template=`uname -s | ${TR} '[A-Z]' '[a-z]'` \ > --with-includes="${PREFIX}/include ${TCL_INCDIR} \ > ${TK_INCDIR}" ${WITH_TCL} \ > --with-libraries=${PREFIX}/lib > > > which ends up to > > $ ./configure ... --with-includes="/usr/local/include \ > /usr/local/include/tcl8.0 \ > /usr/local/include/tk8.0" \ > --with-tcl --with-tclconfig="/usr/local/lib/tcl8.0 \ > /usr/local/lib/tk8.0" > > $ USE_TCL=true TCL_INCDIR=/usr/local/include/tc8.0 gmake > > > Hope this helps. Check the complete FreeBSD port at > www.freebsd.org/ports/databases.html > > /Palle > > Louis Bertrand wrote: > > > > Hello all, > > > > I'm working on a port of 6.5.1 for OpenBSD and it's mostly working. I want > > to add the Tcl/Tk support but I can't figure out how to change the include > > path for tcl.h from the default /usr/local/include to > > /usr/local/include/tcl8.0 (as built by the tcl port). > > > > Setting SRCH_INC in template/openbsd works but it's ugly because you'd get > > a configure error even when you didn't want or have Tcl/Tk. I'd prefer if > > it was conditional on something like USE_TCL, but the mechanics of > > autoconf escape me. > > > > The old 6.3.2 port in OpenBSD defined TCL_INCDIR (and the FAQ_Linux > > mentions it also) but it doesn't seem to work any more and I can't find > > any reference to it in src/interfaces/libpgtcl and src/pl/tcl. > > > > What's the cleanest way of conditionally defining an extra include path? > > > > Thanks > > --Louis <louis@bertrandtech.on.ca> > > > > Louis Bertrand http://www.bertrandtech.on.ca > > Bertrand Technical Services, Bowmanville, ON, Canada > > > > OpenBSD: Secure by default. http://www.openbsd.org/ > > >