Autoconf Capsule Summary: ---------------------------------------- Compile and install: ./configure [options] make make install Note: Remember to use 'gmake' on FreeBSD. Autoconf options (use "./configure --help" for a complete list): --prefix=DIR Indicates the install directory. Determines the install directory of the executable. Determines the install directory of the libraries (${prefix}/lib) unless use of "--libdir=DIR" overrides it. Defaults to /usr/local/. --libdir=DIR By default, ${prefix}/lib/. Otherwise, run-time files used by magic are installed here, and ${CAD_ROOT} is set to DIR. In some distributions, this is set to /usr/share/. --with-interpreter=ARG Enable one of the two interpreters. ARG may be one of "tcl" or "scheme". --with-tcl Equivalent to "--with-interpreter=tcl". Normally enabled, if available. --with-opengl Enable OpenGL as a graphics option. Normally enabled, if available. --without-x Disable X11 as a graphics option. Normally enabled. --disable-nonmanhattan Disable non-Manhattan extensions. Normally enabled. --disable-readline Disable the GNU "readline" package. Normally enabled. --disable-threads Disable threaded X11 and OpenGL graphics. Normally enabled. --disable-compression Disable reading and writing of compressed (gzipped) GDS files and reading of compressed .mag files. Normally enabled, if the zlib development package is installed. --disable-magic-builddate Omit the build date/time from the binary. The date is normally baked in (reported by "magic --version" and written into some output files); omitting it makes the build reproducible -- two builds of the same commit then produce byte-identical objects and binaries, with no dependence on when they were built. (It also keeps ccache fully effective during development, since the date is the one compile input that changes every second.) Normally enabled. --disable-ccache Do not use ccache even if it is installed. When ccache is found on PATH it is auto-detected and used to speed up recompiles (the build date is isolated to one object so it does not spoil the cache); this turns that off. --enable-ccache-prefix-map Relativize the source paths embedded in compiled objects so a ccache cache can be shared across different checkouts / build directories. Off by default (it makes debugger source paths relative, so gdb needs "set substitute-path . "). Only meaningful with ccache, and cross-tree cache hits also need CCACHE_BASEDIR= set in the environment. Notes to Magic maintainers: -------------------------- This directory contains all the sources for the Magic system and related programs. The system runs on a number of machines. You should read the Magic Maintainer's manual as well as the introduction to Magic before compiling the system. These documents are in the "doc" subdirectory in PostScript, as well as the original LaTeX source. The "proper" way to profile the amount of CPU time spent in each procedure is to edit "defs.mak" and add flag "-pg" to CFLAGS. Then recompile, install, and run. Note that this doesn't work with the Tcl version; you have to compile the standalone version. After running, magic creates a file "gmon.out". To view the contents, run "gprof /usr/local/bin/magic > gprof.out" (the output can be very long). Memory tracing in Tcl requires that Tcl and Tk be compiled with the TCL_MEM_DEBUG option. Magic also must be compiled with TCL_MEM_DEBUG, which can be done by adding the definition -DTCL_MEM_DEBUG to DFLAGS in defs.mak, after running "configure". Magic is normally compiled without the optimization flag. This is handled by explicitly setting CFLAGS as an environment variable in the top-level "configure" script prior to calling scripts/configure. The top-level configure script needs to be modified to enable compile-time optimization.