Various utilities, that make FreeBSD developer life easier
This page has been created with the intention of exchanging opinions on which tools help you to improve your work on FreeBSD source tree. It shares some good development habits as well.
Building binaries:
make(1)
/usr/share/mk
- Provides FreeBSD-specific and general BSDmakefile libraries, which assist in building executables, libraries, managing installation, manual pages, etc.
Source code editing:
nvi(1)
editors/vim
/usr/src/tools/tools/editing/freebsd.vim
- Provides FreeBSD-specific settings for ViM
<put some macros here>
editors/emacs
/usr/src/tools/tools/editing/freebsd.el
- Provides FreeBSD-specific settings for Emacs
<put some macros here>
editors/jed
- Provides very nice syntax highlighting.
Source code reading:
devel/ctags
- Extended ctags See if these are very different from typical tags..
devel/cscope
- Lets you to quickly move between source code files. It builds a database of tags (similar to ctags), which is used later to jump between function prototypes/definitions.
It can be easily integrated with vim(1) editor as well as Emacs (xcscope.el can be chosen as an option at cscope installation time).
- Lets you to quickly move between source code files. It builds a database of tags (similar to ctags), which is used later to jump between function prototypes/definitions.
devel/cscout
CScout Analyzes source code and lets you to start local WWW server. Once it's done, you can move through your source-code base in a Web browser; it provides call graph generation and other enhancements.
devel/global
- GNU GLOBAL is a source code tagging system (similar to ctags). It is independent from any editor, although many have plugins available. It also can differentiate between symbol definitions and references.
Source code reading online:
- Cross-referenced source code of various open source operating systems indexed in clickable manner.
BXR.SU — Super User's BSD Cross Reference
The same, but done differently (with OpenGrok software)
Code documenting:
/usr/src/tools/kerneldoc/subsys/
Doxygen scripts. You can see HTML result here: http://www.leidinger.net/FreeBSD/dox/, but please don't mirror this site. Index sources by yourself.
Additional tools:
textproc/diffstat
- lets you to see a statistics of a patch in terms of inserted/deleted/changed lines. It's similar to what you see on git-related mailing lists.
If you're currently reading this page and you use a tool that isn't mentioned here but improves your code-writing tasks, skills, either update the page or let us know.