On Unix and related systems, a file that is run before make and make install. Often, but not always, this file is a sh shell script generated by autoconf.
If you obtain code from a CVS repository (or a file built from the CVS repository), you may find that while the instructions talk about running a command called configure, there isn't such a file. If, however, there is a configure.in file, that means that the configure.in and autoconf, together, may generate the configure. I say may because there often are several programs that one ends up needing to have to be able to build configure. For instance, one frequently needs the m4 command (a macro preprocessor). [fill in the names of the rest of the suite of programs needed as a part of configure]
configure has a number of flags from which one can choose.
--with-tcl=DIR | Specifies the directory containing the Tcl binaries and Tcl's platform-dependent configuration information. By default the Tcl directory is assumed to be in the location given by (a) above. |
--enable-threads | If this switch is set, Tcl will compile itself with multithreading support. |
--enable-shared | If this switch is specified, Tk will compile itself as a shared library if it can figure out how to do that on this platform. This is the default on platforms where we know how to build shared libraries. |
--disable-shared | If this switch is specified, Tk will compile itself as a static library. |
--enable-symbols | build with debugging symbols By default standard debugging symbols are used. You can specify the value "mem" to include TCL_MEM_DEBUG memory debugging. |
--disable-symbols | build without debugging symbols |
--enable-64bit | enable 64bit support (where applicable) |
--disable-64bit | disable 64bit support (where applicable) |
--enable-64bit-vis | enable 64bit Sparc VIS support |
--disable-64bit-vis | disable 64bit Sparc VIS support |
--enable-man-symlinks | Use symlinks for linking the manpages that should be reachable under several names. |
--enable-man-compression=PROG | Compress the manpages using PROG. |
Mac OS X only:
--enable-framework | package Tk as a framework. |
--disable-corefoundation | disable use of CoreFoundation API. |
--enable-aqua | use Aqua windowingsystem rather than X11, requires --enable-corefoundation with tcl & tk. |
LV Can someone provide an example of how the --enable-symbols flag should be used to specify the "mem" value? Also, apparently configure for Tcl also supports the values "compile" or "all".
When building older Tcl versions or Tcl extensions based on TEA, ./configure might fail with an error resembling:
./configure: line 7624: syntax error near unexpected token `)'
See bash for explanation and the simple solution.