CEDET: Collection of Emacs Development Enviromnent Tools CEDET is a top-level project containing several individual package for Emacs, includeing: EIEIO - CLOS layer for Emacs Lisp Semantic - Parser Infrastructure for Emacs Speedbar - Everything browser EDE - File manager/ Makefile generator SRecode - Templte manager/ code generator COGRE - Connected Graph Editor REQUIREMENTS: The full CEDET suite requires Emacs 22.1 or newer. CEDET works well with either Emacs 21.3 or XEmacs 21.3. Older versions of either will also work with fewer CEDET features being available. If you use a binary install of Emacs, you may need the .el files for Emacs available for some aspects of the build. CEDET is always developed on a recent CVS build of Emacs, and often takes advantage of such new features. INSTALL: You can install all these packagees at once with the CEDET build and install scripts: 1) Copy source files somewhere. 2) Byte compile There are several ways to get CEDET compiled: a) make b) make EMACS=<your favorite emacs> You might also have trouble with makeinfo. If you need to upgrade makeinfo, you can do this: c) make MAKEINFO=/usr/local/bin/makeinfo Note: For speedbar, and older versions of Emacs, you may also need to byte-compile the version of INFO and RMAIL that come with your version of emacs. d) make MAKEINFO=echo To skip making the doc. e) cedet-build.el If you do not have "make", are on Windows, or otherwise cannot use the Makefiles, you can build CEDET from within Emacs. See the commentary in cedet-build.el 2.1) Build Issues If running MAKE fails due to other issues such as bad loaddef files, custom-autoload, incomprehensible run time errors during a byte compilation, try these steps, then go back to step 2. a) make clean-autoloads b) make clean-all 2.2) Make Issues If the version of Make you are using doesn't work with the CEDET Makefiles, (such as the version on AIX) you will need to download and install GNU Make to use with these Makefiles. Alternately, see cedet-build.el 3) Install load hooks into your .emacs file. For more detail on any topic, see the info file common/cedet.info for more details on installaiton. ----------- ;; Load CEDET. ;; See cedet/common/cedet.info for configuration details. (load-file "~/cedet-VERSION/common/cedet.el") ;; Enable EDE (Project Management) features (global-ede-mode 1) ;; Enable EDE for a pre-existing C++ project ;; (ede-cpp-root-project "NAME" :file "~/myproject/Makefile") ;; Enabling Semantic (code-parsing, smart completion) features ;; Select one of the following: ;; * This enables the database and idle reparse engines (semantic-load-enable-minimum-features) ;; * This enables some tools useful for coding, such as summary mode ;; imenu support, and the semantic navigator (semantic-load-enable-code-helpers) ;; * This enables even more coding tools such as intellisense mode ;; decoration mode, and stickyfunc mode (plus regular code helpers) ;; (semantic-load-enable-gaudy-code-helpers) ;; * This enables the use of Exuberent ctags if you have it installed. ;; If you use C++ templates or boost, you should NOT enable it. ;; (semantic-load-enable-all-exuberent-ctags-support) ;; Or, use one of these two types of support. ;; Add support for new languges only via ctags. ;; (semantic-load-enable-primary-exuberent-ctags-support) ;; Add support for using ctags as a backup parser. ;; (semantic-load-enable-secondary-exuberent-ctags-support) ;; Enable SRecode (Template management) minor-mode. ;; (global-srecode-minor-mode 1) ----------- Some items in the contrib directory may need additional study or installation. Read contrib/INSTALL for specifics on those extra packages. 3.1) CODE COMPLETION If you are installing CEDET to get code completion, see the info manual in common/cedet.info for more specifically about code completion. 3.2) INSTALL INFO Installing the info files can be done with: make install-info or, if you need to specify: make PREFIX=/prefix/to/install/to install-info 4) CONFIGURE: You can configure how the individual packages loaded in the above example by adding settings in the comment section. Please read individual info manuals for each package for details on configuring them. See the texinfo manuals for details on more specific configurations. To dive right into configuring CEDET for a particular purpose, many common purposes are enumerated in the CEDET installation info file. C-u C-h i common/cedet.info 5) BUGS/COMMENTS To send bug reports, or participate in discussions on these packages, choose a mailing list: For Semantic use the mailing list cedet-semantic@sourceforge.net via the URL: http://lists.sourceforge.net/lists/listinfo/cedet-semantic For EIEIO use the mailing list cedet-eieio@sourceforge.net via the URL: http://lists.sourceforge.net/lists/listinfo/cedet-eieio For general discussions on development of these tools, and get learn when minor updates are added to CVS, use the mailing list cedet-devel@sourceforge.net via the URL: http://lists.sourceforge.net/lists/listinfo/cedet-devel OTHER REQUIREMENTS: You may also need to download some of the following files for more obscure features. To use the JavaScript parser: javascript-mode.el : http://www.emacswiki.org/cgi-bin/wiki/JavaScriptMode To use Exuberent CTags to parse files: http://ctags.sourceforge.net/ To use GNU Global integration: http://www.gnu.org/software/global To use ID Utils integration: http://www.gnu.org/software/idutils/ To use CScope integration: http://cscope.sourceforge.net/ To use COGRE with Graphviz Dot integration: http://www.graphviz.org/ And a major mode for dot (not required): http://users.skynet.be/ppareit/projects/graphviz-dot-mode/graphviz-dot-mode.html