Version 7 of configure

Updated 2010-07-28 12:57:13 by dkf

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=DIRSpecifies 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-threadsIf this switch is set, Tcl will compile itself with multithreading support.
--enable-sharedIf 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-sharedIf this switch is specified, Tk will compile itself as a static library.
--enable-symbolsbuild with debugging symbols By default standard debugging symbols are used. You can specify the value "mem" to include TCL_MEM_DEBUG memory debugging.
--disable-symbolsbuild without debugging symbols
--enable-64bitenable 64bit support (where applicable)
--disable-64bitdisable 64bit support (where applicable)
--enable-64bit-visenable 64bit Sparc VIS support
--disable-64bit-visdisable 64bit Sparc VIS support
--enable-man-symlinksUse symlinks for linking the manpages that should be reachable under several names.
--enable-man-compression=PROGCompress the manpages using PROG.

Mac OS X only:

--enable-frameworkpackage Tk as a framework.
--disable-corefoundationdisable use of CoreFoundation API.
--enable-aquause Aqua windowingsystem rather than X11, requires --enable-corefoundation with tcl & tk.
Note: by default gcc will be used if it can be located on the PATH. if you want to use cc instead of gcc, set the CC environment variable to "cc" before running configure. It is not safe to change the Makefile to use gcc after configure is run.
Note: be sure to use only absolute path names (those starting with "/") in the --prefix and --exec-prefix options.

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.