Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
The Tor Project
Core
Tor
Commits
4793d913
Commit
4793d913
authored
Jul 10, 2018
by
Nick Mathewson
⛰
Browse files
Describe "check-includes" in the CodingStandards.md file
parent
fa2d53aa
Changes
1
Hide whitespace changes
Inline
Side-by-side
doc/HACKING/CodingStandards.md
View file @
4793d913
...
...
@@ -214,6 +214,24 @@ We don't call `memcmp()` directly. Use `fast_memeq()`, `fast_memneq()`,
Also see a longer list of functions to avoid in:
https://people.torproject.org/~nickm/tor-auto/internal/this-not-that.html
What code can use what other code?
----------------------------------
We're trying to simplify Tor's structure over time. In the long run, we want
Tor to be structured as a set of modules with
*no circular dependencies*
.
This property is currently provided by the modules in src/lib, but not
throughout the rest of Tor. In general, higher-level libraries may use
lower-level libraries, but never the reverse.
To prevent new circular dependencies from landing, we have a tool that
you can invoke with
`make check-includes`
, and which is run
automatically as part of
`make check`
. This tool will verify that, for
every source directory with a
`.may_include`
file, no local headers are
included except those specifically permitted by the
`.may_include`
file.
When editing one of these files, please make sure that you are not
introducing any cycles into Tor's dependency graph.
Floating point math is hard
---------------------------
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment