Обсуждение: 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/ > > >