* reorganize all the code to prepare for a new library
[hkl3d.git] / Documentation / hkl3d.texi
blob5cff60d3fe8ad5f4bc317423bc17ac7ad1711560
1 \input texinfo   @c -*-texinfo-*-
2 @comment %**start of header
3 @setfilename hkl3d.info
4 @include version.texi
5 @settitle Hkl3d Anti-Collision Diffraction Library @value{VERSION}
6 @syncodeindex pg cp
7 @comment %**end of header
8 @copying
9 This manual is for hkl3d Library (version @value{VERSION}, @value{UPDATED}).
11 Copyright @copyright{} 2010 Synchrotron SOLEIL
12                        L'Orme des Merisiers Saint-Aubin
13                        BP 48 91192 GIF-sur-YVETTE CEDEX
15 @quotation
16 The hkl3d library is free software: you can redistribute it and/or modify
17 it under the terms of the GNU General Public License as published by
18 the Free Software Foundation, either version 3 of the License, or
19 (at your option) any later version.
21 The hkl3d library is distributed in the hope that it will be useful,
22 but WITHOUT ANY WARRANTY; without even the implied warranty of
23 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24 GNU General Public License for more details.
26 You should have received a copy of the GNU General Public License
27 along with the hkl library.  If not, see <http://www.gnu.org/licenses/>.
28 @end quotation
29 @end copying
31 @dircategory Software libraries
32 @direntry
33 * hkl3d: (hkl3d).           Library for anti-collision diffractometer computation.
34 @end direntry
36 @titlepage
37 @title hkl3d Library
38 @subtitle for version @value{VERSION}, @value{UPDATED}
39 @author F-E. Picca (@email{picca@@synchrotorn-soleil.fr})
40 @page
41 @vskip 0pt plus 1filll
42 @insertcopying
43 @end titlepage
45 @contents
47 @ifnottex
48 @node Top, Introduction, (dir), (dir)
49 @top hkl Diffraction Library
51 This manual is for Hkl Diffraction Library (version @value{VERSION}, @value{UPDATED}).
52 @end ifnottex
54 @menu
55 * Introduction::                
56 * Developpement::               
57 @end menu
59 @node Introduction, Developpement, Top, Top
60 @chapter Introduction
62 The purpose of the library is to factories anti-collision for diffractometers
63 of different geometries. It is used at the SOLEIL.
65 @node Developpement,  , Introduction, Top
66 @chapter Developpement
68 @section Getting hkl
70 To get hkl, you can download the last stable version from sourceforge or if you
71 want the latest development version use @uref{http://git.or.cz/, git} or
72 @uref{http://code.google.com/p/msysgit/downloads/list, msysgit} on windows system and
74 @example
75 $ git clone git://repo.or.cz/hkl3d.git
76 @end example
78 @example
79 $ git clone http://repo.or.cz/r/hkl3d.git (slower)
80 @end example
81 then checkout the next branch like this.
82 @example
83 $ cd hkl
84 $ git checkout -b next origin/next
85 @end example
87 @section Building hkl
89 To build hkl you need @uref{http://www.python.org, Python 2.3+} and the
90 @uref{http://www.gnu.org/software/gsl/, GNU Scientific Library 1.12+}
91 @example
92 $ ./waf configure
93 $ ./waf
94 $ ./waf install (as root)
95 @end example
97 This command compile the library and the test suit if everythings goes fine you
98 must have a @file{libhkl3d.so.@value{VERSION}} or @file{libhkl3d.lib} depending on your
99 platform in the @file{build/default/src} directory. If your platform is not supported yet please
100 contact the @email{picca@@synchrotron-soleil.fr}.
102 @section Hacking hkl
104 you can send your patch to the @email{picca@@synchrotron-soleil.fr} using
107 The developpement process is like this. suppose you wan to add a new feature to
108 hkl create first a new branch from the next one
109 @example
110 $ git checkout -b my-next next
111 @end example
112 then work...
113 @example
114 $ git commit -a
115 @end example
116 more work...
117 @example
118 $ git commit -a
119 @end example
120 now that your great feature is ready for publication, you can send by mail your
121 patches process like this:
122 @example
123 $ git format-patch origin/next
124 @end example
125 and send files @file{0001_xxx}  and @file{0002_xxx} created to the author.
127 @bye