aboutsummaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING40
1 files changed, 21 insertions, 19 deletions
diff --git a/HACKING b/HACKING
index 511a88060..535d4498f 100644
--- a/HACKING
+++ b/HACKING
@@ -13,6 +13,7 @@ include files:
13 * gnunet_directories.h --- generated 13 * gnunet_directories.h --- generated
14 * gettext.h --- external library 14 * gettext.h --- external library
15 15
16
16configuration: 17configuration:
17- paths (that are substituted in all filenames) are in PATHS (have as few as possible) 18- paths (that are substituted in all filenames) are in PATHS (have as few as possible)
18- globals for the daemon are in [gnunetd] (for now, have as few as possible!) 19- globals for the daemon are in [gnunetd] (for now, have as few as possible!)
@@ -22,11 +23,11 @@ configuration:
22 together with the options for the testing module itself 23 together with the options for the testing module itself
23 24
24 25
25
26exported symbols: 26exported symbols:
27- must start with "GNUNET_modulename_" and be defined in "modulename.c" 27- must start with "GNUNET_modulename_" and be defined in "modulename.c"
28- exceptions: those defined in gnunet_common.h 28- exceptions: those defined in gnunet_common.h
29 29
30
30private (library-internal) symbols (including structs & macros): 31private (library-internal) symbols (including structs & macros):
31- must NOT start with any prefix 32- must NOT start with any prefix
32- must not be exported in a way that linkers could use them or 33- must not be exported in a way that linkers could use them or
@@ -43,7 +44,7 @@ testcases:
43performance tests: 44performance tests:
44- must be called "perf_module-under-test_case-description.c" 45- must be called "perf_module-under-test_case-description.c"
45- "case-description" maybe omitted if there is only one performance test 46- "case-description" maybe omitted if there is only one performance test
46 47- Must only be run if HAVE_BENCHMARKS is satisfied
47 48
48 49
49src/ directories: 50src/ directories:
@@ -54,22 +55,6 @@ src/ directories:
54- libgnunet_plugin_DIR_NAME: loadable plugins (i.e., libgnunet_plugin_transport_tcp) 55- libgnunet_plugin_DIR_NAME: loadable plugins (i.e., libgnunet_plugin_transport_tcp)
55 56
56 57
57
58Minimum file-sharing system (in order of dependency):
59gnunet-service-arm
60gnunet-service-transport
61gnunet-service-core
62gnunet-daemon-hostlist
63gnunet-daemon-topology
64gnunet-service-statistics
65gnunet-service-datastore
66gnunet-service-datacache
67gnunet-service-dht
68gnunet-service-fs (or just lib?)
69
70
71
72
73Coding style: 58Coding style:
74- GNU guidelines apply 59- GNU guidelines apply
75- declare only one variable per line, so 60- declare only one variable per line, so
@@ -82,7 +67,6 @@ Coding style:
82 int i,j; 67 int i,j;
83 68
84 69
85
86Build-system: 70Build-system:
87 71
88If you have code that is likely not to compile or build rules you might want to not 72If you have code that is likely not to compile or build rules you might want to not
@@ -92,6 +76,24 @@ it is OK to (temporarily) add non-compiling (or known-to-not-port) code.
92If you want to compile all testcases but NOT run them, run configure with the 76If you want to compile all testcases but NOT run them, run configure with the
93--enable-test-suppression option. 77--enable-test-suppression option.
94 78
79If you want to run all testcases, including those that take a while, run configure with the
80--enable-expensive-testcases option.
81
82If you want to compile and run benchmarks, run configure with the
83--enable-benchmarks option.
84
95If you want to obtain code coverage results, run configure with the 85If you want to obtain code coverage results, run configure with the
96--enable-coverage option and run the coverage.sh script in contrib/. 86--enable-coverage option and run the coverage.sh script in contrib/.
97 87
88
89Minimum file-sharing system (in order of dependency):
90gnunet-service-arm
91gnunet-service-transport
92gnunet-service-core
93gnunet-daemon-hostlist
94gnunet-daemon-topology
95gnunet-service-statistics
96gnunet-service-datastore
97gnunet-service-datacache
98gnunet-service-dht
99gnunet-service-fs