Thread: patch for configure for enabling of pl/tcl unknown support

This patch adds a new configure option --with-pltcl-unknown which
enables pltcl unknown support.


Also it adds substituting of tclsh with tclsh that was by configure in
pltcl_*mod scripts. For example, On freebsd, tclsh can be called tclsh8.2 or
tclsh8.3 depending on installed version of Tcl.

After patching files
  src/pl/tcl/modules/pltcl_listmod
  src/pl/tcl/modules/pltcl_loadmod
  src/pl/tcl/modules/pltcl_delmod
must be renamed(copied,repocopied) to
  src/pl/tcl/modules/pltcl_listmod.in
  src/pl/tcl/modules/pltcl_loadmod.in
  src/pl/tcl/modules/pltcl_delmod.in


Index: configure.in
===================================================================
RCS file: /home/src/pgsql/repo/pgsql/configure.in,v
retrieving revision 1.106
diff -u -r1.106 configure.in
--- configure.in    2001/03/05 10:18:47    1.106
+++ configure.in    2001/03/07 21:32:45
@@ -359,6 +359,16 @@
 AC_MSG_RESULT([$with_tcl])
 AC_SUBST([with_tcl])

+# If Tcl is enabled (above) then check for pltcl_unknown_support
+AC_MSG_CHECKING([whether to build with pl/tcl unknown support])
+if test "$with_tcl" = yes; then
+  PGAC_ARG_BOOL(with, pltcl_unknown, no, [  --with-pltcl-unknown    build pl/tcl unknown support if Tcl is enabled])
+else
+  with_pltcl_unknown=no
+fi
+AC_MSG_RESULT([$with_pltcl_unknown])
+AC_SUBST([with_pltcl_unknown])
+
 # If Tcl is enabled (above) then Tk is also, unless the user disables it using --without-tk
 AC_MSG_CHECKING([whether to build with Tk])
 if test "$with_tcl" = yes; then
@@ -1172,6 +1182,9 @@
   src/GNUmakefile
   src/Makefile.global
   src/backend/port/Makefile
+  src/pl/tcl/modules/pltcl_listmod
+  src/pl/tcl/modules/pltcl_loadmod
+  src/pl/tcl/modules/pltcl_delmod
 ],
 [
 # Update timestamp for config.h (see Makefile.global)
Index: src/Makefile.global.in
===================================================================
RCS file: /home/src/pgsql/repo/pgsql/src/Makefile.global.in,v
retrieving revision 1.122
diff -u -r1.122 Makefile.global.in
--- src/Makefile.global.in    2001/03/05 09:39:51    1.122
+++ src/Makefile.global.in    2001/03/07 20:55:39
@@ -111,6 +111,7 @@
 with_perl    = @with_perl@
 with_python    = @with_python@
 with_tcl    = @with_tcl@
+with_pltcl_unknown    = @with_pltcl_unknown@
 with_tk        = @with_tk@
 enable_odbc    = @enable_odbc@
 MULTIBYTE    = @MULTIBYTE@
Index: src/pl/tcl/Makefile
===================================================================
RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/Makefile,v
retrieving revision 1.26
diff -u -r1.26 Makefile
--- src/pl/tcl/Makefile    2000/12/15 18:50:35    1.26
+++ src/pl/tcl/Makefile    2001/03/07 21:21:26
@@ -70,8 +70,9 @@
 # first of all calls to the call handler. See the doc in the modules
 # directory about details.

-#override CPPFLAGS+= -DPLTCL_UNKNOWN_SUPPORT
-
+ifeq ($(with_pltcl_unknown), yes)
+override CPPFLAGS+= -DPLTCL_UNKNOWN_SUPPORT
+endif

 #
 # DLOBJS is the dynamically-loaded object file.
@@ -98,6 +99,16 @@

 install: all installdirs
     $(INSTALL_SHLIB) $(DLOBJS) $(DESTDIR)$(libdir)/$(DLOBJS)
+ifeq ($(with_pltcl_unknown), yes)
+    $(INSTALL_SCRIPT) modules/pltcl_loadmod \
+        $(DESTDIR)$(bindir)/pltcl_loadmod
+    $(INSTALL_SCRIPT) modules/pltcl_delmod \
+        $(DESTDIR)$(bindir)/pltcl_delmod
+    $(INSTALL_SCRIPT) modules/pltcl_listmod \
+        $(DESTDIR)$(bindir)/pltcl_listmod
+    $(INSTALL_DATA) modules/unknown.pltcl \
+        $(DESTDIR)$(datadir)/unknown.pltcl
+endif

 installdirs:
     $(mkinstalldirs) $(DESTDIR)$(libdir)
@@ -117,4 +128,4 @@
     $(SHELL) $< '$(TCL_CONFIG_SH)' '$@'

 clean distclean maintainer-clean:
-    rm -f $(INFILES) pltcl.o Makefile.tcldefs
+    rm -f $(INFILES) pltcl.o Makefile.tcldefs modules/pltcl_listmod modules/pltcl_loadmod modules/pltcl_delmod
Index: src/pl/tcl/modules/pltcl_delmod
===================================================================
RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/modules/pltcl_delmod,v
retrieving revision 1.1
diff -u -r1.1 pltcl_delmod
--- src/pl/tcl/modules/pltcl_delmod    1998/02/11 14:14:15    1.1
+++ src/pl/tcl/modules/pltcl_delmod    2001/03/07 21:42:04
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Start tclsh \
-exec tclsh "$0" $@
+exec @TCLSH@ "$0" $@

 #
 # Code still has to be documented
Index: src/pl/tcl/modules/pltcl_listmod
===================================================================
RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/modules/pltcl_listmod,v
retrieving revision 1.1
diff -u -r1.1 pltcl_listmod
--- src/pl/tcl/modules/pltcl_listmod    1998/02/11 14:14:16    1.1
+++ src/pl/tcl/modules/pltcl_listmod    2001/03/07 21:42:14
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Start tclsh \
-exec tclsh "$0" $@
+exec @TCLSH@ "$0" $@

 #
 # Code still has to be documented
Index: src/pl/tcl/modules/pltcl_loadmod
===================================================================
RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/modules/pltcl_loadmod,v
retrieving revision 1.2
diff -u -r1.2 pltcl_loadmod
--- src/pl/tcl/modules/pltcl_loadmod    2001/03/07 16:09:09    1.2
+++ src/pl/tcl/modules/pltcl_loadmod    2001/03/07 21:42:24
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Start tclsh \
-exec tclsh "$0" $@
+exec @TCLSH@ "$0" $@

 #
 # Code still has to be documented


Re: patch for configure for enabling of pl/tcl unknown support

From
Bruce Momjian
Date:
I think I will have to hold this for 7.2.  Sorry.


> This patch adds a new configure option --with-pltcl-unknown which
> enables pltcl unknown support.
>
>
> Also it adds substituting of tclsh with tclsh that was by configure in
> pltcl_*mod scripts. For example, On freebsd, tclsh can be called tclsh8.2 or
> tclsh8.3 depending on installed version of Tcl.
>
> After patching files
>   src/pl/tcl/modules/pltcl_listmod
>   src/pl/tcl/modules/pltcl_loadmod
>   src/pl/tcl/modules/pltcl_delmod
> must be renamed(copied,repocopied) to
>   src/pl/tcl/modules/pltcl_listmod.in
>   src/pl/tcl/modules/pltcl_loadmod.in
>   src/pl/tcl/modules/pltcl_delmod.in
>
>
> Index: configure.in
> ===================================================================
> RCS file: /home/src/pgsql/repo/pgsql/configure.in,v
> retrieving revision 1.106
> diff -u -r1.106 configure.in
> --- configure.in    2001/03/05 10:18:47    1.106
> +++ configure.in    2001/03/07 21:32:45
> @@ -359,6 +359,16 @@
>  AC_MSG_RESULT([$with_tcl])
>  AC_SUBST([with_tcl])
>
> +# If Tcl is enabled (above) then check for pltcl_unknown_support
> +AC_MSG_CHECKING([whether to build with pl/tcl unknown support])
> +if test "$with_tcl" = yes; then
> +  PGAC_ARG_BOOL(with, pltcl_unknown, no, [  --with-pltcl-unknown    build pl/tcl unknown support if Tcl is enabled])
> +else
> +  with_pltcl_unknown=no
> +fi
> +AC_MSG_RESULT([$with_pltcl_unknown])
> +AC_SUBST([with_pltcl_unknown])
> +
>  # If Tcl is enabled (above) then Tk is also, unless the user disables it using --without-tk
>  AC_MSG_CHECKING([whether to build with Tk])
>  if test "$with_tcl" = yes; then
> @@ -1172,6 +1182,9 @@
>    src/GNUmakefile
>    src/Makefile.global
>    src/backend/port/Makefile
> +  src/pl/tcl/modules/pltcl_listmod
> +  src/pl/tcl/modules/pltcl_loadmod
> +  src/pl/tcl/modules/pltcl_delmod
>  ],
>  [
>  # Update timestamp for config.h (see Makefile.global)
> Index: src/Makefile.global.in
> ===================================================================
> RCS file: /home/src/pgsql/repo/pgsql/src/Makefile.global.in,v
> retrieving revision 1.122
> diff -u -r1.122 Makefile.global.in
> --- src/Makefile.global.in    2001/03/05 09:39:51    1.122
> +++ src/Makefile.global.in    2001/03/07 20:55:39
> @@ -111,6 +111,7 @@
>  with_perl    = @with_perl@
>  with_python    = @with_python@
>  with_tcl    = @with_tcl@
> +with_pltcl_unknown    = @with_pltcl_unknown@
>  with_tk        = @with_tk@
>  enable_odbc    = @enable_odbc@
>  MULTIBYTE    = @MULTIBYTE@
> Index: src/pl/tcl/Makefile
> ===================================================================
> RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/Makefile,v
> retrieving revision 1.26
> diff -u -r1.26 Makefile
> --- src/pl/tcl/Makefile    2000/12/15 18:50:35    1.26
> +++ src/pl/tcl/Makefile    2001/03/07 21:21:26
> @@ -70,8 +70,9 @@
>  # first of all calls to the call handler. See the doc in the modules
>  # directory about details.
>
> -#override CPPFLAGS+= -DPLTCL_UNKNOWN_SUPPORT
> -
> +ifeq ($(with_pltcl_unknown), yes)
> +override CPPFLAGS+= -DPLTCL_UNKNOWN_SUPPORT
> +endif
>
>  #
>  # DLOBJS is the dynamically-loaded object file.
> @@ -98,6 +99,16 @@
>
>  install: all installdirs
>      $(INSTALL_SHLIB) $(DLOBJS) $(DESTDIR)$(libdir)/$(DLOBJS)
> +ifeq ($(with_pltcl_unknown), yes)
> +    $(INSTALL_SCRIPT) modules/pltcl_loadmod \
> +        $(DESTDIR)$(bindir)/pltcl_loadmod
> +    $(INSTALL_SCRIPT) modules/pltcl_delmod \
> +        $(DESTDIR)$(bindir)/pltcl_delmod
> +    $(INSTALL_SCRIPT) modules/pltcl_listmod \
> +        $(DESTDIR)$(bindir)/pltcl_listmod
> +    $(INSTALL_DATA) modules/unknown.pltcl \
> +        $(DESTDIR)$(datadir)/unknown.pltcl
> +endif
>
>  installdirs:
>      $(mkinstalldirs) $(DESTDIR)$(libdir)
> @@ -117,4 +128,4 @@
>      $(SHELL) $< '$(TCL_CONFIG_SH)' '$@'
>
>  clean distclean maintainer-clean:
> -    rm -f $(INFILES) pltcl.o Makefile.tcldefs
> +    rm -f $(INFILES) pltcl.o Makefile.tcldefs modules/pltcl_listmod modules/pltcl_loadmod modules/pltcl_delmod
> Index: src/pl/tcl/modules/pltcl_delmod
> ===================================================================
> RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/modules/pltcl_delmod,v
> retrieving revision 1.1
> diff -u -r1.1 pltcl_delmod
> --- src/pl/tcl/modules/pltcl_delmod    1998/02/11 14:14:15    1.1
> +++ src/pl/tcl/modules/pltcl_delmod    2001/03/07 21:42:04
> @@ -1,6 +1,6 @@
>  #!/bin/sh
>  # Start tclsh \
> -exec tclsh "$0" $@
> +exec @TCLSH@ "$0" $@
>
>  #
>  # Code still has to be documented
> Index: src/pl/tcl/modules/pltcl_listmod
> ===================================================================
> RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/modules/pltcl_listmod,v
> retrieving revision 1.1
> diff -u -r1.1 pltcl_listmod
> --- src/pl/tcl/modules/pltcl_listmod    1998/02/11 14:14:16    1.1
> +++ src/pl/tcl/modules/pltcl_listmod    2001/03/07 21:42:14
> @@ -1,6 +1,6 @@
>  #!/bin/sh
>  # Start tclsh \
> -exec tclsh "$0" $@
> +exec @TCLSH@ "$0" $@
>
>  #
>  # Code still has to be documented
> Index: src/pl/tcl/modules/pltcl_loadmod
> ===================================================================
> RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/modules/pltcl_loadmod,v
> retrieving revision 1.2
> diff -u -r1.2 pltcl_loadmod
> --- src/pl/tcl/modules/pltcl_loadmod    2001/03/07 16:09:09    1.2
> +++ src/pl/tcl/modules/pltcl_loadmod    2001/03/07 21:42:24
> @@ -1,6 +1,6 @@
>  #!/bin/sh
>  # Start tclsh \
> -exec tclsh "$0" $@
> +exec @TCLSH@ "$0" $@
>
>  #
>  # Code still has to be documented
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://www.postgresql.org/search.mpl
>


--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@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

Re: patch for configure for enabling of pl/tcl unknown support

From
Bruce Momjian
Date:
Patch applied.  I added a mention to installation.sgml too.  Autoconf
run.

      <varlistentry>
       <term>--with-pltcl-unknown</term>
       <listitem>
        <para>
         Enables enables PL/Tcl unknown support.
        </para>
       </listitem>
      </varlistentry>



> This patch adds a new configure option --with-pltcl-unknown which
> enables pltcl unknown support.
>
>
> Also it adds substituting of tclsh with tclsh that was by configure in
> pltcl_*mod scripts. For example, On freebsd, tclsh can be called tclsh8.2 or
> tclsh8.3 depending on installed version of Tcl.
>
> After patching files
>   src/pl/tcl/modules/pltcl_listmod
>   src/pl/tcl/modules/pltcl_loadmod
>   src/pl/tcl/modules/pltcl_delmod
> must be renamed(copied,repocopied) to
>   src/pl/tcl/modules/pltcl_listmod.in
>   src/pl/tcl/modules/pltcl_loadmod.in
>   src/pl/tcl/modules/pltcl_delmod.in
>
>
> Index: configure.in
> ===================================================================
> RCS file: /home/src/pgsql/repo/pgsql/configure.in,v
> retrieving revision 1.106
> diff -u -r1.106 configure.in
> --- configure.in    2001/03/05 10:18:47    1.106
> +++ configure.in    2001/03/07 21:32:45
> @@ -359,6 +359,16 @@
>  AC_MSG_RESULT([$with_tcl])
>  AC_SUBST([with_tcl])
>
> +# If Tcl is enabled (above) then check for pltcl_unknown_support
> +AC_MSG_CHECKING([whether to build with pl/tcl unknown support])
> +if test "$with_tcl" = yes; then
> +  PGAC_ARG_BOOL(with, pltcl_unknown, no, [  --with-pltcl-unknown    build pl/tcl unknown support if Tcl is enabled])
> +else
> +  with_pltcl_unknown=no
> +fi
> +AC_MSG_RESULT([$with_pltcl_unknown])
> +AC_SUBST([with_pltcl_unknown])
> +
>  # If Tcl is enabled (above) then Tk is also, unless the user disables it using --without-tk
>  AC_MSG_CHECKING([whether to build with Tk])
>  if test "$with_tcl" = yes; then
> @@ -1172,6 +1182,9 @@
>    src/GNUmakefile
>    src/Makefile.global
>    src/backend/port/Makefile
> +  src/pl/tcl/modules/pltcl_listmod
> +  src/pl/tcl/modules/pltcl_loadmod
> +  src/pl/tcl/modules/pltcl_delmod
>  ],
>  [
>  # Update timestamp for config.h (see Makefile.global)
> Index: src/Makefile.global.in
> ===================================================================
> RCS file: /home/src/pgsql/repo/pgsql/src/Makefile.global.in,v
> retrieving revision 1.122
> diff -u -r1.122 Makefile.global.in
> --- src/Makefile.global.in    2001/03/05 09:39:51    1.122
> +++ src/Makefile.global.in    2001/03/07 20:55:39
> @@ -111,6 +111,7 @@
>  with_perl    = @with_perl@
>  with_python    = @with_python@
>  with_tcl    = @with_tcl@
> +with_pltcl_unknown    = @with_pltcl_unknown@
>  with_tk        = @with_tk@
>  enable_odbc    = @enable_odbc@
>  MULTIBYTE    = @MULTIBYTE@
> Index: src/pl/tcl/Makefile
> ===================================================================
> RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/Makefile,v
> retrieving revision 1.26
> diff -u -r1.26 Makefile
> --- src/pl/tcl/Makefile    2000/12/15 18:50:35    1.26
> +++ src/pl/tcl/Makefile    2001/03/07 21:21:26
> @@ -70,8 +70,9 @@
>  # first of all calls to the call handler. See the doc in the modules
>  # directory about details.
>
> -#override CPPFLAGS+= -DPLTCL_UNKNOWN_SUPPORT
> -
> +ifeq ($(with_pltcl_unknown), yes)
> +override CPPFLAGS+= -DPLTCL_UNKNOWN_SUPPORT
> +endif
>
>  #
>  # DLOBJS is the dynamically-loaded object file.
> @@ -98,6 +99,16 @@
>
>  install: all installdirs
>      $(INSTALL_SHLIB) $(DLOBJS) $(DESTDIR)$(libdir)/$(DLOBJS)
> +ifeq ($(with_pltcl_unknown), yes)
> +    $(INSTALL_SCRIPT) modules/pltcl_loadmod \
> +        $(DESTDIR)$(bindir)/pltcl_loadmod
> +    $(INSTALL_SCRIPT) modules/pltcl_delmod \
> +        $(DESTDIR)$(bindir)/pltcl_delmod
> +    $(INSTALL_SCRIPT) modules/pltcl_listmod \
> +        $(DESTDIR)$(bindir)/pltcl_listmod
> +    $(INSTALL_DATA) modules/unknown.pltcl \
> +        $(DESTDIR)$(datadir)/unknown.pltcl
> +endif
>
>  installdirs:
>      $(mkinstalldirs) $(DESTDIR)$(libdir)
> @@ -117,4 +128,4 @@
>      $(SHELL) $< '$(TCL_CONFIG_SH)' '$@'
>
>  clean distclean maintainer-clean:
> -    rm -f $(INFILES) pltcl.o Makefile.tcldefs
> +    rm -f $(INFILES) pltcl.o Makefile.tcldefs modules/pltcl_listmod modules/pltcl_loadmod modules/pltcl_delmod
> Index: src/pl/tcl/modules/pltcl_delmod
> ===================================================================
> RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/modules/pltcl_delmod,v
> retrieving revision 1.1
> diff -u -r1.1 pltcl_delmod
> --- src/pl/tcl/modules/pltcl_delmod    1998/02/11 14:14:15    1.1
> +++ src/pl/tcl/modules/pltcl_delmod    2001/03/07 21:42:04
> @@ -1,6 +1,6 @@
>  #!/bin/sh
>  # Start tclsh \
> -exec tclsh "$0" $@
> +exec @TCLSH@ "$0" $@
>
>  #
>  # Code still has to be documented
> Index: src/pl/tcl/modules/pltcl_listmod
> ===================================================================
> RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/modules/pltcl_listmod,v
> retrieving revision 1.1
> diff -u -r1.1 pltcl_listmod
> --- src/pl/tcl/modules/pltcl_listmod    1998/02/11 14:14:16    1.1
> +++ src/pl/tcl/modules/pltcl_listmod    2001/03/07 21:42:14
> @@ -1,6 +1,6 @@
>  #!/bin/sh
>  # Start tclsh \
> -exec tclsh "$0" $@
> +exec @TCLSH@ "$0" $@
>
>  #
>  # Code still has to be documented
> Index: src/pl/tcl/modules/pltcl_loadmod
> ===================================================================
> RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/modules/pltcl_loadmod,v
> retrieving revision 1.2
> diff -u -r1.2 pltcl_loadmod
> --- src/pl/tcl/modules/pltcl_loadmod    2001/03/07 16:09:09    1.2
> +++ src/pl/tcl/modules/pltcl_loadmod    2001/03/07 21:42:24
> @@ -1,6 +1,6 @@
>  #!/bin/sh
>  # Start tclsh \
> -exec tclsh "$0" $@
> +exec @TCLSH@ "$0" $@
>
>  #
>  # Code still has to be documented
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://www.postgresql.org/search.mpl
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@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

Re: patch for configure for enabling of pl/tcl unknown support

From
Peter Eisentraut
Date:
Bruce Momjian writes:

>
> Patch applied.  I added a mention to installation.sgml too.  Autoconf
> run.
>
>       <varlistentry>
>        <term>--with-pltcl-unknown</term>
>        <listitem>
>         <para>
>          Enables enables PL/Tcl unknown support.
>         </para>
>        </listitem>
>       </varlistentry>

Should be --enable-pltcl-unknown.

>
>
>
> > This patch adds a new configure option --with-pltcl-unknown which
> > enables pltcl unknown support.
> >
> >
> > Also it adds substituting of tclsh with tclsh that was by configure in
> > pltcl_*mod scripts. For example, On freebsd, tclsh can be called tclsh8.2 or
> > tclsh8.3 depending on installed version of Tcl.
> >
> > After patching files
> >   src/pl/tcl/modules/pltcl_listmod
> >   src/pl/tcl/modules/pltcl_loadmod
> >   src/pl/tcl/modules/pltcl_delmod
> > must be renamed(copied,repocopied) to
> >   src/pl/tcl/modules/pltcl_listmod.in
> >   src/pl/tcl/modules/pltcl_loadmod.in
> >   src/pl/tcl/modules/pltcl_delmod.in
> >
> >
> > Index: configure.in
> > ===================================================================
> > RCS file: /home/src/pgsql/repo/pgsql/configure.in,v
> > retrieving revision 1.106
> > diff -u -r1.106 configure.in
> > --- configure.in    2001/03/05 10:18:47    1.106
> > +++ configure.in    2001/03/07 21:32:45
> > @@ -359,6 +359,16 @@
> >  AC_MSG_RESULT([$with_tcl])
> >  AC_SUBST([with_tcl])
> >
> > +# If Tcl is enabled (above) then check for pltcl_unknown_support
> > +AC_MSG_CHECKING([whether to build with pl/tcl unknown support])
> > +if test "$with_tcl" = yes; then
> > +  PGAC_ARG_BOOL(with, pltcl_unknown, no, [  --with-pltcl-unknown    build pl/tcl unknown support if Tcl is
enabled])
> > +else
> > +  with_pltcl_unknown=no
> > +fi
> > +AC_MSG_RESULT([$with_pltcl_unknown])
> > +AC_SUBST([with_pltcl_unknown])
> > +
> >  # If Tcl is enabled (above) then Tk is also, unless the user disables it using --without-tk
> >  AC_MSG_CHECKING([whether to build with Tk])
> >  if test "$with_tcl" = yes; then
> > @@ -1172,6 +1182,9 @@
> >    src/GNUmakefile
> >    src/Makefile.global
> >    src/backend/port/Makefile
> > +  src/pl/tcl/modules/pltcl_listmod
> > +  src/pl/tcl/modules/pltcl_loadmod
> > +  src/pl/tcl/modules/pltcl_delmod
> >  ],
> >  [
> >  # Update timestamp for config.h (see Makefile.global)
> > Index: src/Makefile.global.in
> > ===================================================================
> > RCS file: /home/src/pgsql/repo/pgsql/src/Makefile.global.in,v
> > retrieving revision 1.122
> > diff -u -r1.122 Makefile.global.in
> > --- src/Makefile.global.in    2001/03/05 09:39:51    1.122
> > +++ src/Makefile.global.in    2001/03/07 20:55:39
> > @@ -111,6 +111,7 @@
> >  with_perl    = @with_perl@
> >  with_python    = @with_python@
> >  with_tcl    = @with_tcl@
> > +with_pltcl_unknown    = @with_pltcl_unknown@
> >  with_tk        = @with_tk@
> >  enable_odbc    = @enable_odbc@
> >  MULTIBYTE    = @MULTIBYTE@
> > Index: src/pl/tcl/Makefile
> > ===================================================================
> > RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/Makefile,v
> > retrieving revision 1.26
> > diff -u -r1.26 Makefile
> > --- src/pl/tcl/Makefile    2000/12/15 18:50:35    1.26
> > +++ src/pl/tcl/Makefile    2001/03/07 21:21:26
> > @@ -70,8 +70,9 @@
> >  # first of all calls to the call handler. See the doc in the modules
> >  # directory about details.
> >
> > -#override CPPFLAGS+= -DPLTCL_UNKNOWN_SUPPORT
> > -
> > +ifeq ($(with_pltcl_unknown), yes)
> > +override CPPFLAGS+= -DPLTCL_UNKNOWN_SUPPORT
> > +endif
> >
> >  #
> >  # DLOBJS is the dynamically-loaded object file.
> > @@ -98,6 +99,16 @@
> >
> >  install: all installdirs
> >      $(INSTALL_SHLIB) $(DLOBJS) $(DESTDIR)$(libdir)/$(DLOBJS)
> > +ifeq ($(with_pltcl_unknown), yes)
> > +    $(INSTALL_SCRIPT) modules/pltcl_loadmod \
> > +        $(DESTDIR)$(bindir)/pltcl_loadmod
> > +    $(INSTALL_SCRIPT) modules/pltcl_delmod \
> > +        $(DESTDIR)$(bindir)/pltcl_delmod
> > +    $(INSTALL_SCRIPT) modules/pltcl_listmod \
> > +        $(DESTDIR)$(bindir)/pltcl_listmod
> > +    $(INSTALL_DATA) modules/unknown.pltcl \
> > +        $(DESTDIR)$(datadir)/unknown.pltcl
> > +endif
> >
> >  installdirs:
> >      $(mkinstalldirs) $(DESTDIR)$(libdir)
> > @@ -117,4 +128,4 @@
> >      $(SHELL) $< '$(TCL_CONFIG_SH)' '$@'
> >
> >  clean distclean maintainer-clean:
> > -    rm -f $(INFILES) pltcl.o Makefile.tcldefs
> > +    rm -f $(INFILES) pltcl.o Makefile.tcldefs modules/pltcl_listmod modules/pltcl_loadmod modules/pltcl_delmod
> > Index: src/pl/tcl/modules/pltcl_delmod
> > ===================================================================
> > RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/modules/pltcl_delmod,v
> > retrieving revision 1.1
> > diff -u -r1.1 pltcl_delmod
> > --- src/pl/tcl/modules/pltcl_delmod    1998/02/11 14:14:15    1.1
> > +++ src/pl/tcl/modules/pltcl_delmod    2001/03/07 21:42:04
> > @@ -1,6 +1,6 @@
> >  #!/bin/sh
> >  # Start tclsh \
> > -exec tclsh "$0" $@
> > +exec @TCLSH@ "$0" $@
> >
> >  #
> >  # Code still has to be documented
> > Index: src/pl/tcl/modules/pltcl_listmod
> > ===================================================================
> > RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/modules/pltcl_listmod,v
> > retrieving revision 1.1
> > diff -u -r1.1 pltcl_listmod
> > --- src/pl/tcl/modules/pltcl_listmod    1998/02/11 14:14:16    1.1
> > +++ src/pl/tcl/modules/pltcl_listmod    2001/03/07 21:42:14
> > @@ -1,6 +1,6 @@
> >  #!/bin/sh
> >  # Start tclsh \
> > -exec tclsh "$0" $@
> > +exec @TCLSH@ "$0" $@
> >
> >  #
> >  # Code still has to be documented
> > Index: src/pl/tcl/modules/pltcl_loadmod
> > ===================================================================
> > RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/modules/pltcl_loadmod,v
> > retrieving revision 1.2
> > diff -u -r1.2 pltcl_loadmod
> > --- src/pl/tcl/modules/pltcl_loadmod    2001/03/07 16:09:09    1.2
> > +++ src/pl/tcl/modules/pltcl_loadmod    2001/03/07 21:42:24
> > @@ -1,6 +1,6 @@
> >  #!/bin/sh
> >  # Start tclsh \
> > -exec tclsh "$0" $@
> > +exec @TCLSH@ "$0" $@
> >
> >  #
> >  # Code still has to be documented
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 6: Have you searched our list archives?
> >
> > http://www.postgresql.org/search.mpl
> >
>
>

--
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter


Re: patch for configure for enabling of pl/tcl unknown support

From
Peter Eisentraut
Date:
Bruce Momjian writes:

> > This patch adds a new configure option --with-pltcl-unknown which
> > enables pltcl unknown support.

> > After patching files
> >   src/pl/tcl/modules/pltcl_listmod
> >   src/pl/tcl/modules/pltcl_loadmod
> >   src/pl/tcl/modules/pltcl_delmod
> > must be renamed(copied,repocopied) to
> >   src/pl/tcl/modules/pltcl_listmod.in
> >   src/pl/tcl/modules/pltcl_loadmod.in
> >   src/pl/tcl/modules/pltcl_delmod.in

These files should be build in a makefile.  Creating them with
config.status is not going to fly.

--
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter


Re: patch for configure for enabling of pl/tcl unknown support

From
Bruce Momjian
Date:
> Bruce Momjian writes:
>
> >
> > Patch applied.  I added a mention to installation.sgml too.  Autoconf
> > run.
> >
> >       <varlistentry>
> >        <term>--with-pltcl-unknown</term>
> >        <listitem>
> >         <para>
> >          Enables enables PL/Tcl unknown support.
> >         </para>
> >        </listitem>
> >       </varlistentry>
>
> Should be --enable-pltcl-unknown.

Done, change made, docs updated, autoconf run.


>
> >
> >
> >
> > > This patch adds a new configure option --with-pltcl-unknown which
> > > enables pltcl unknown support.
> > >
> > >
> > > Also it adds substituting of tclsh with tclsh that was by configure in
> > > pltcl_*mod scripts. For example, On freebsd, tclsh can be called tclsh8.2 or
> > > tclsh8.3 depending on installed version of Tcl.
> > >
> > > After patching files
> > >   src/pl/tcl/modules/pltcl_listmod
> > >   src/pl/tcl/modules/pltcl_loadmod
> > >   src/pl/tcl/modules/pltcl_delmod
> > > must be renamed(copied,repocopied) to
> > >   src/pl/tcl/modules/pltcl_listmod.in
> > >   src/pl/tcl/modules/pltcl_loadmod.in
> > >   src/pl/tcl/modules/pltcl_delmod.in
> > >
> > >
> > > Index: configure.in
> > > ===================================================================
> > > RCS file: /home/src/pgsql/repo/pgsql/configure.in,v
> > > retrieving revision 1.106
> > > diff -u -r1.106 configure.in
> > > --- configure.in    2001/03/05 10:18:47    1.106
> > > +++ configure.in    2001/03/07 21:32:45
> > > @@ -359,6 +359,16 @@
> > >  AC_MSG_RESULT([$with_tcl])
> > >  AC_SUBST([with_tcl])
> > >
> > > +# If Tcl is enabled (above) then check for pltcl_unknown_support
> > > +AC_MSG_CHECKING([whether to build with pl/tcl unknown support])
> > > +if test "$with_tcl" = yes; then
> > > +  PGAC_ARG_BOOL(with, pltcl_unknown, no, [  --with-pltcl-unknown    build pl/tcl unknown support if Tcl is
enabled])
> > > +else
> > > +  with_pltcl_unknown=no
> > > +fi
> > > +AC_MSG_RESULT([$with_pltcl_unknown])
> > > +AC_SUBST([with_pltcl_unknown])
> > > +
> > >  # If Tcl is enabled (above) then Tk is also, unless the user disables it using --without-tk
> > >  AC_MSG_CHECKING([whether to build with Tk])
> > >  if test "$with_tcl" = yes; then
> > > @@ -1172,6 +1182,9 @@
> > >    src/GNUmakefile
> > >    src/Makefile.global
> > >    src/backend/port/Makefile
> > > +  src/pl/tcl/modules/pltcl_listmod
> > > +  src/pl/tcl/modules/pltcl_loadmod
> > > +  src/pl/tcl/modules/pltcl_delmod
> > >  ],
> > >  [
> > >  # Update timestamp for config.h (see Makefile.global)
> > > Index: src/Makefile.global.in
> > > ===================================================================
> > > RCS file: /home/src/pgsql/repo/pgsql/src/Makefile.global.in,v
> > > retrieving revision 1.122
> > > diff -u -r1.122 Makefile.global.in
> > > --- src/Makefile.global.in    2001/03/05 09:39:51    1.122
> > > +++ src/Makefile.global.in    2001/03/07 20:55:39
> > > @@ -111,6 +111,7 @@
> > >  with_perl    = @with_perl@
> > >  with_python    = @with_python@
> > >  with_tcl    = @with_tcl@
> > > +with_pltcl_unknown    = @with_pltcl_unknown@
> > >  with_tk        = @with_tk@
> > >  enable_odbc    = @enable_odbc@
> > >  MULTIBYTE    = @MULTIBYTE@
> > > Index: src/pl/tcl/Makefile
> > > ===================================================================
> > > RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/Makefile,v
> > > retrieving revision 1.26
> > > diff -u -r1.26 Makefile
> > > --- src/pl/tcl/Makefile    2000/12/15 18:50:35    1.26
> > > +++ src/pl/tcl/Makefile    2001/03/07 21:21:26
> > > @@ -70,8 +70,9 @@
> > >  # first of all calls to the call handler. See the doc in the modules
> > >  # directory about details.
> > >
> > > -#override CPPFLAGS+= -DPLTCL_UNKNOWN_SUPPORT
> > > -
> > > +ifeq ($(with_pltcl_unknown), yes)
> > > +override CPPFLAGS+= -DPLTCL_UNKNOWN_SUPPORT
> > > +endif
> > >
> > >  #
> > >  # DLOBJS is the dynamically-loaded object file.
> > > @@ -98,6 +99,16 @@
> > >
> > >  install: all installdirs
> > >      $(INSTALL_SHLIB) $(DLOBJS) $(DESTDIR)$(libdir)/$(DLOBJS)
> > > +ifeq ($(with_pltcl_unknown), yes)
> > > +    $(INSTALL_SCRIPT) modules/pltcl_loadmod \
> > > +        $(DESTDIR)$(bindir)/pltcl_loadmod
> > > +    $(INSTALL_SCRIPT) modules/pltcl_delmod \
> > > +        $(DESTDIR)$(bindir)/pltcl_delmod
> > > +    $(INSTALL_SCRIPT) modules/pltcl_listmod \
> > > +        $(DESTDIR)$(bindir)/pltcl_listmod
> > > +    $(INSTALL_DATA) modules/unknown.pltcl \
> > > +        $(DESTDIR)$(datadir)/unknown.pltcl
> > > +endif
> > >
> > >  installdirs:
> > >      $(mkinstalldirs) $(DESTDIR)$(libdir)
> > > @@ -117,4 +128,4 @@
> > >      $(SHELL) $< '$(TCL_CONFIG_SH)' '$@'
> > >
> > >  clean distclean maintainer-clean:
> > > -    rm -f $(INFILES) pltcl.o Makefile.tcldefs
> > > +    rm -f $(INFILES) pltcl.o Makefile.tcldefs modules/pltcl_listmod modules/pltcl_loadmod modules/pltcl_delmod
> > > Index: src/pl/tcl/modules/pltcl_delmod
> > > ===================================================================
> > > RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/modules/pltcl_delmod,v
> > > retrieving revision 1.1
> > > diff -u -r1.1 pltcl_delmod
> > > --- src/pl/tcl/modules/pltcl_delmod    1998/02/11 14:14:15    1.1
> > > +++ src/pl/tcl/modules/pltcl_delmod    2001/03/07 21:42:04
> > > @@ -1,6 +1,6 @@
> > >  #!/bin/sh
> > >  # Start tclsh \
> > > -exec tclsh "$0" $@
> > > +exec @TCLSH@ "$0" $@
> > >
> > >  #
> > >  # Code still has to be documented
> > > Index: src/pl/tcl/modules/pltcl_listmod
> > > ===================================================================
> > > RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/modules/pltcl_listmod,v
> > > retrieving revision 1.1
> > > diff -u -r1.1 pltcl_listmod
> > > --- src/pl/tcl/modules/pltcl_listmod    1998/02/11 14:14:16    1.1
> > > +++ src/pl/tcl/modules/pltcl_listmod    2001/03/07 21:42:14
> > > @@ -1,6 +1,6 @@
> > >  #!/bin/sh
> > >  # Start tclsh \
> > > -exec tclsh "$0" $@
> > > +exec @TCLSH@ "$0" $@
> > >
> > >  #
> > >  # Code still has to be documented
> > > Index: src/pl/tcl/modules/pltcl_loadmod
> > > ===================================================================
> > > RCS file: /home/src/pgsql/repo/pgsql/src/pl/tcl/modules/pltcl_loadmod,v
> > > retrieving revision 1.2
> > > diff -u -r1.2 pltcl_loadmod
> > > --- src/pl/tcl/modules/pltcl_loadmod    2001/03/07 16:09:09    1.2
> > > +++ src/pl/tcl/modules/pltcl_loadmod    2001/03/07 21:42:24
> > > @@ -1,6 +1,6 @@
> > >  #!/bin/sh
> > >  # Start tclsh \
> > > -exec tclsh "$0" $@
> > > +exec @TCLSH@ "$0" $@
> > >
> > >  #
> > >  # Code still has to be documented
> > >
> > >
> > > ---------------------------(end of broadcast)---------------------------
> > > TIP 6: Have you searched our list archives?
> > >
> > > http://www.postgresql.org/search.mpl
> > >
> >
> >
>
> --
> Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter
>
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@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

Re: patch for configure for enabling of pl/tcl unknown support

From
Bruce Momjian
Date:
> Bruce Momjian writes:
>
> > > This patch adds a new configure option --with-pltcl-unknown which
> > > enables pltcl unknown support.
>
> > > After patching files
> > >   src/pl/tcl/modules/pltcl_listmod
> > >   src/pl/tcl/modules/pltcl_loadmod
> > >   src/pl/tcl/modules/pltcl_delmod
> > > must be renamed(copied,repocopied) to
> > >   src/pl/tcl/modules/pltcl_listmod.in
> > >   src/pl/tcl/modules/pltcl_loadmod.in
> > >   src/pl/tcl/modules/pltcl_delmod.in
>
> These files should be build in a makefile.  Creating them with
> config.status is not going to fly.

I am on it.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@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

Re: patch for configure for enabling of pl/tcl unknown support

From
Bruce Momjian
Date:
> Bruce Momjian writes:
>
> > > This patch adds a new configure option --with-pltcl-unknown which
> > > enables pltcl unknown support.
>
> > > After patching files
> > >   src/pl/tcl/modules/pltcl_listmod
> > >   src/pl/tcl/modules/pltcl_loadmod
> > >   src/pl/tcl/modules/pltcl_delmod
> > > must be renamed(copied,repocopied) to
> > >   src/pl/tcl/modules/pltcl_listmod.in
> > >   src/pl/tcl/modules/pltcl_loadmod.in
> > >   src/pl/tcl/modules/pltcl_delmod.in
>
> These files should be build in a makefile.  Creating them with
> config.status is not going to fly.

OK, Peter, I have removed the generation of rht pltcl's from configure,
added TCLSH to Makefile.global.in, and added something to the
pl/tcl/Makefile to generate them from *.in files using sed.

I am attaching the new Makefile.  I was a little confused on the
Makefile dependencies when the actual files are not generated unless
then ask for --enable-pltcl-unknown:

    all: $(INFILES) tcl_unknown

    tcl_unknown: $(top_builddir)/src/Makefile.global \
            modules/pltcl_loadmod.in \
            modules/pltcl_delmod.in \
            modules/pltcl_listmod.in
    ifeq ($(enable_pltcl_unknown), yes)
            sed -e 's,@TCLSH@,$(TCLSH),g' modules/pltcl_loadmod.in > modules/pltcl_$
            sed -e 's,@TCLSH@,$(TCLSH),g' modules/pltcl_delmod.in > modules/pltcl_d$
            sed -e 's,@TCLSH@,$(TCLSH),g' modules/pltcl_listmod.in > modules/pltcl_$
            chmod a+x modules/pltcl_loadmod modules/pltcl_delmod modules/pltcl_list$
    endif

I am not sure about the dependencies.  If I knew I was making them all
the time, I could easily create proper dependencies for the files, but I
only generate them if enabled.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@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
#-------------------------------------------------------------------------
#
# Makefile for the pltcl shared object
#
# $Header: /home/projects/pgsql/cvsroot/pgsql/src/pl/tcl/Makefile,v 1.30 2001/05/09 20:30:09 momjian Exp $
#
#-------------------------------------------------------------------------

subdir = src/pl/tcl
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global

-include Makefile.tcldefs

# Find out whether Tcl was built as a shared library --- if not, we
# can't link a shared library that depends on it, and have to forget
# about building pltcl. In Tcl 8, tclConfig.sh sets TCL_SHARED_BUILD
# for us, but in older Tcl releases it doesn't. In that case we guess
# based on the name of the Tcl library.

ifndef TCL_SHARED_BUILD
ifneq (,$(findstring $(DLSUFFIX),$(TCL_LIB_FILE)))
TCL_SHARED_BUILD=1
else
TCL_SHARED_BUILD=0
endif
endif


# Change following to how shared library that contains references to
# libtcl must get built on your system. Since these definitions come
# from the tclConfig.sh script, they should work if the shared build
# of tcl was successful on this system. However, tclConfig.sh lies to
# us a little bit (at least in versions 7.6 through 8.0.4) --- it
# doesn't mention -lc in TCL_LIBS, but you still need it on systems
# that want to hear about dependent libraries...

ifneq ($(TCL_SHLIB_LD_LIBS),)
# link command for a shared lib must mention shared libs it uses
SHLIB_EXTRA_LIBS=$(TCL_LIBS) -lc
else
ifeq ($(PORTNAME), hpux)
# link command for a shared lib must mention shared libs it uses,
# even though Tcl doesn't think so...
SHLIB_EXTRA_LIBS=$(TCL_LIBS) -lc
else
# link command for a shared lib must NOT mention shared libs it uses
SHLIB_EXTRA_LIBS=
endif
endif

%$(TCL_SHLIB_SUFFIX): %.o
    $(TCL_SHLIB_LD) -o $@ $< $(TCL_LIB_SPEC) $(SHLIB_EXTRA_LIBS)


CC = $(TCL_CC)

# Since we are using Tcl's choice of C compiler, which might not be
# the same one selected for Postgres, do NOT use CFLAGS from
# Makefile.global. Instead use TCL's CFLAGS plus necessary -I
# directives.

# Can choose either TCL_CFLAGS_OPTIMIZE or TCL_CFLAGS_DEBUG here, as
# needed
override CPPFLAGS += $(TCL_DEFS)
override CFLAGS = $(TCL_CFLAGS_OPTIMIZE) $(TCL_SHLIB_CFLAGS)


# Uncomment the following to enable the unknown command lookup on the
# first of all calls to the call handler. See the doc in the modules
# directory about details.

ifeq ($(enable_pltcl_unknown), yes)
override CPPFLAGS+= -DPLTCL_UNKNOWN_SUPPORT
endif

#
# DLOBJS is the dynamically-loaded object file.
#
DLOBJS= pltcl$(DLSUFFIX)

INFILES= $(DLOBJS)

#
# plus exports files
#
ifdef EXPSUFF
INFILES+= $(DLOBJS:.o=$(EXPSUFF))
endif


# Provide dummy targets for the case where we can't build the shared library.

ifeq ($(TCL_SHARED_BUILD), 1)

all: $(INFILES) tcl_unknown

tcl_unknown: $(top_builddir)/src/Makefile.global \
    modules/pltcl_loadmod.in \
    modules/pltcl_delmod.in \
    modules/pltcl_listmod.in
ifeq ($(enable_pltcl_unknown), yes)
    sed -e 's,@TCLSH@,$(TCLSH),g' modules/pltcl_loadmod.in > modules/pltcl_loadmod
    sed -e 's,@TCLSH@,$(TCLSH),g' modules/pltcl_delmod.in > modules/pltcl_delmod
    sed -e 's,@TCLSH@,$(TCLSH),g' modules/pltcl_listmod.in > modules/pltcl_listmod
    chmod a+x modules/pltcl_loadmod modules/pltcl_delmod modules/pltcl_listmod
endif

pltcl$(DLSUFFIX): pltcl.o

install: all installdirs
    $(INSTALL_SHLIB) $(DLOBJS) $(DESTDIR)$(libdir)/$(DLOBJS)
ifeq ($(enable_pltcl_unknown), yes)
    $(INSTALL_SCRIPT) modules/pltcl_loadmod \
        $(DESTDIR)$(bindir)/pltcl_loadmod
    $(INSTALL_SCRIPT) modules/pltcl_delmod \
        $(DESTDIR)$(bindir)/pltcl_delmod
    $(INSTALL_SCRIPT) modules/pltcl_listmod \
        $(DESTDIR)$(bindir)/pltcl_listmod
    $(INSTALL_DATA) modules/unknown.pltcl \
        $(DESTDIR)$(datadir)/unknown.pltcl
endif

installdirs:
    $(mkinstalldirs) $(DESTDIR)$(libdir)

uninstall:
    rm -f $(DESTDIR)$(libdir)/$(DLOBJS)

else

all install:
    @echo "*****"; \
     echo "* Cannot build pltcl because Tcl is not a shared library; skipping it."; \
     echo "*****"
endif

Makefile.tcldefs: mkMakefile.tcldefs.sh
    $(SHELL) $< '$(TCL_CONFIG_SH)' '$@'

clean distclean maintainer-clean:
    rm -f $(INFILES) pltcl.o Makefile.tcldefs modules/pltcl_listmod modules/pltcl_loadmod modules/pltcl_delmod

Re: patch for configure for enabling of pl/tcl unknown support

From
Bruce Momjian
Date:
> >     tcl_unknown: $(top_builddir)/src/Makefile.global \
> >             modules/pltcl_loadmod.in \
> >             modules/pltcl_delmod.in \
> >             modules/pltcl_listmod.in
> >     ifeq ($(enable_pltcl_unknown), yes)
> >             sed -e 's,@TCLSH@,$(TCLSH),g' modules/pltcl_loadmod.in > modules/pltcl_$
> >             sed -e 's,@TCLSH@,$(TCLSH),g' modules/pltcl_delmod.in > modules/pltcl_d$
> >             sed -e 's,@TCLSH@,$(TCLSH),g' modules/pltcl_listmod.in > modules/pltcl_$
> >             chmod a+x modules/pltcl_loadmod modules/pltcl_delmod modules/pltcl_list$
> >     endif
>
> Probably something like this:
>
> all: pltcl_loadmod pltcl_delmod pltcl_listmod
>
> pltcl_%mod: pltcl_%mod.in
>     sed 's/@TCLSH@/$(TCLSH)/g' $< >$@
>
> Do they need to be executable?  I don't know exactly how this "unknown"
> thing works anyway, I'll probably take a look later.  As long as it
> doesn't break anything now.  ;-)

I did much better than that because I didn't want to generate those
files unless they asked for unknown.  I did:

    ifeq ($(enable_pltcl_unknown), yes)
    override CPPFLAGS+= -DPLTCL_UNKNOWN_SUPPORT
    TCL_UNKNOWN_MODS=       modules/pltcl_loadmod \
                            modules/pltcl_delmod \
                            modules/pltcl_listmod
    endif

and later:

    all: $(INFILES) $(TCL_UNKNOWN_MODS)

    modules/pltcl_loadmod: modules/pltcl_loadmod.in \
            $(top_builddir)/src/Makefile.global
            sed -e 's,@TCLSH@,$(TCLSH),g' \
              $< >$@
            chmod a+x $@
    ...

Yes, they are tcl scripts so they have to be executable.  That is what
the author had.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@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

Re: patch for configure for enabling of pl/tcl unknown support

From
Peter Eisentraut
Date:
Bruce Momjian writes:

> I am attaching the new Makefile.  I was a little confused on the
> Makefile dependencies when the actual files are not generated unless
> then ask for --enable-pltcl-unknown:
>
>     all: $(INFILES) tcl_unknown
>
>     tcl_unknown: $(top_builddir)/src/Makefile.global \
>             modules/pltcl_loadmod.in \
>             modules/pltcl_delmod.in \
>             modules/pltcl_listmod.in
>     ifeq ($(enable_pltcl_unknown), yes)
>             sed -e 's,@TCLSH@,$(TCLSH),g' modules/pltcl_loadmod.in > modules/pltcl_$
>             sed -e 's,@TCLSH@,$(TCLSH),g' modules/pltcl_delmod.in > modules/pltcl_d$
>             sed -e 's,@TCLSH@,$(TCLSH),g' modules/pltcl_listmod.in > modules/pltcl_$
>             chmod a+x modules/pltcl_loadmod modules/pltcl_delmod modules/pltcl_list$
>     endif

Probably something like this:

all: pltcl_loadmod pltcl_delmod pltcl_listmod

pltcl_%mod: pltcl_%mod.in
    sed 's/@TCLSH@/$(TCLSH)/g' $< >$@

Do they need to be executable?  I don't know exactly how this "unknown"
thing works anyway, I'll probably take a look later.  As long as it
doesn't break anything now.  ;-)

--
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter