X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=HACKING;h=19c232910669c0c5d6f1eebcfae97a0a3abfebc8;hp=c6a302278970d20e9370d8b7d6de4356ebc7c2a6;hb=7801621dc946fe894c960e683db3cf921ef23af6;hpb=2f1a50d81671810256dce0852e6b1e0810ac44af diff --git a/HACKING b/HACKING index c6a3022..19c2329 100644 --- a/HACKING +++ b/HACKING @@ -24,6 +24,44 @@ Please make sure that the code compiles without warnings. Please test any changes. +Useful targets: + make syntax-check Checks the syntax of the C code. + make check Runs the test suite. + +Enable warnings, and fix any you find: + ./configure --enable-gcc-warnings + +Code indentation +---------------------------------------------------------------------- +Our C source code generally adheres to some basic code-formatting +conventions. The existing code base is not totally consistent on this +front, but we do prefer that contributed code be formatted similarly. +In short, use spaces-not-TABs for indentation, use 2 spaces for each +indentation level, and other than that, follow the K&R style. + +If you use Emacs, add the following to one of one of your start-up files +(e.g., ~/.emacs), to help ensure that you get indentation right: + + ;;; In libguestfs, indent with spaces everywhere (not TABs). + ;;; Exceptions: Makefile and ChangeLog modes. + (add-hook 'find-file-hook + '(lambda () (if (and buffer-file-name + (string-match "/libguestfs\\>" (buffer-file-name)) + (not (string-equal mode-name "Change Log")) + (not (string-equal mode-name "Makefile"))) + (setq indent-tabs-mode nil)))) + + ;;; When editing C sources in libguestfs, use this style. + (defun libguestfs-c-mode () + "C mode with adjusted defaults for use with libguestfs." + (interactive) + (c-set-style "K&R") + (setq c-indent-level 2) + (setq c-basic-offset 2)) + (add-hook 'c-mode-hook + '(lambda () (if (string-match "/libguestfs\\>" (buffer-file-name)) + (libguestfs-c-mode)))) + Directories ---------------------------------------------------------------------- @@ -45,6 +83,9 @@ daemon/ df/ The virt-df tool. +edit/ + The virt-edit tool. + examples/ The examples. @@ -84,6 +125,9 @@ python/ regressions/ Regression tests. +rescue/ + The virt-rescue tool. + ruby/ Ruby bindings. @@ -94,9 +138,6 @@ src/ test-tool/ Interactive qemu/kernel test tool. -v2v/ - Xen to KVM (V2V) conversion tool. - Debugging ----------------------------------------------------------------------