==== 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). * ''%%devel/cscout%%'' [[DiomidisSpinellis/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 enhencements. **Source code reading online:** * [[http://fxr.watson.org]] Cross-referenced source code of various open source operating systems indexed in clickable manner. * [[http://BXR.SU/|BXR.SU — Super User's BSD Cross Reference]] The same, but [[http://www.freebsd.org/news/status/report-2013-01-2013-03.html#BXR.SU-%E2%80%94-Super-User%27s-BSD-Cross-Reference|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 me// //know (WojciechKoszek)//