Currently, [TEA] version 3 is defined by the [SampleExtension%|%sample extension%|%]. For documentation, look in the `tea` subdirectory. The [http://www.tcl.tk/doc/tea/tea_tcl2k.pdf%|%old documentation%|%] should be ignored wherever it conflicts with the sample extension. To generate the documentation, run `tea/toman.tcl` which generates a single file `teadoc.man` which can be processed by the [Tcllib] utility [doctools], usually with the [dtp] application or (theoretically more easily) with [dtplite]. Both man-pages and HTML output can be obtained. Actually at the moment (2016-01-27), [dtplite] gives an error, so [dtp] is better: ======none dtp doc html teadoc.man > teadoc.html dtp doc nroff teadoc.man > teadoc.n ====== The latter can be read with `man -l teadoc.n` . --------------- Does anyone have any thoughts and suggestions on how one goes from writing some C code to creating the configure.in, Makefile.in, etc. files, for people unfamilar with working with those files? Do we just take the ones from sample extension and use them as is, or are there commands that we need to run to customize them for a specific application? ---- '''[LVwikignome] - 2012-02-27 13:03:33''' Re: creating TEA structure from C code That's a great question. I am pretty certain that you cannot use the files exactly as is, since they are set up to generate the Makefile and to build the code for the sample. If someone out there has regularly made use of the TEA structure to create the configure and makefile for their own code, could you start a page on steps that you find helpful? Thank you! [EMJ] 2016-01-27 : The documentation (see above) does tell you what to change, but I've just created a loadable extension by replacing the sample files in the `generic` directory with my own and then changing `configure.ac` as follows: ======none --- configure.ac +++ configure.ac @@ -22,1 +22,1 @@ -AC_INIT([sample], [0.5]) +AC_INIT([tclrhubarb], [0.1]) @@ -74,1 +74,1 @@ -TEA_ADD_SOURCES([sample.c tclsample.c]) +TEA_ADD_SOURCES([rhubarb_wrap.c]) @@ -77,1 +77,2 @@ -TEA_ADD_LIBS([]) +#TEA_ADD_LIBS([]) +TEA_ADD_LIBS([-lrhubarb]) ====== then ======none $ autoconf $ ./configure $ make $ tclsh % lappend auto_path . % package require tclrhubarb % rhubarb_some_command ... ====== all on Linux, of course, there's a `win` directory for Windows where changes would be needed. No need to know anything about '''autoconf''' at this point, just run it. The last change in `configure.ac` is only because my extension is a wrapper ([SWIG]-generated) for the famous ''rhubarb'' library (just kidding, it's real name would be a red herring here). ---- !!!!!! %| [Category Package] | [Category Porting] |% !!!!!!