summaryrefslogtreecommitdiffstats
path: root/fortran/src/README_DEVELOPEMENT
blob: 43982e18c556ada7f4d78a74139718d1509ae9ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Procedure to add a new function
---------------------------------

(1) Edit the fortran/src/H5*ff.f90 file
(2) Edit the fortran/src/H5*f.c file
(3) Edit the fortran/src/H5f90proto.h file
(4) Add the new function to fortran/src/hdf5_fortrandll.def.in

Procedure for passing C variables to Fortran
---------------------------------------------

(1) Find the C struct name you are interested in: 
	(a) src/H5public.h if it is a generic type, i.e. H5_*
            or
        (b) src/H5*public.h if is a specific type, i.e. H5*_ 
                            
(2) Put that structure into an array that will be passed to fortran in:
        (a) fortran/src/H5_f.c (add to nh5init_flags_c subroutine)
        (b) edit fortran/src/H5f90proto.h and edit nh5init_flags_c interface call
                         
(3) Edit the function call in fortran/src/H5_ff.f90
        (a) edit the call:  FUNCTION h5init_flags_c 
        (b) edit h5init_flags_c call in h5open_f to match the number of arguments passing
                             
(4) add the size of the array and array to fortran/src/H5f90global.f90 
         - must match the size found it H5_f.c

NOTE: To just add a default C value argument, do steps (2a) and (4) 


Procedure for adding a new file to the repository
--------------------------------------------------

Add the name of the file to the: 
    (1) Makefile.am located in the same directory as the newfile
    (2) CMakeLists.txt located in the same directory as the newfile
    (3) MANIFEST located in the top level directory