Skip to content

Commit 68aa992

Browse files
committed
Cleanup HACKING.md
1 parent ed32c1a commit 68aa992

File tree

1 file changed

+3
-11
lines changed

1 file changed

+3
-11
lines changed

HACKING.md

+3-11
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,9 @@ The project uses these libraries:
113113
* [{fmt}](https://github.com/fmtlib/fmt) - formatting library
114114
* [GoogleTest](https://github.com/google/googletest) - testing library
115115

116-
All dependencies listed above are downloaded automatically. Besides them, project needs some standard frameworks, build tools installed system-wide (README lists them), and Xcode or Xcode command-line tools with C++17 support.
116+
All dependencies listed above are downloaded and built automatically and linked into executable as static libraries.
117+
118+
Besides that, the project uses some standard macOS frameworks, build tools installed system-wide (README lists them), and Xcode or Xcode command-line tools with C++17 support.
117119

118120
### Build phases
119121

@@ -138,16 +140,6 @@ brew install ccache
138140

139141
If you frequently do a full clean and rebuild, it can significantly speed up your workflow.
140142

141-
### Linker symbols
142-
143-
All dependencies are build into static libraries and linked into the driver. All driver symbols, except plugin entry point, are hidden.
144-
145-
There are two important reasons for this:
146-
147-
* We can not use shared libraries for common stuff like gRPC or spdlog, because if other CoreAudio plugins will also use them, they may need different versions, and there will be a conflict.
148-
149-
* After statically linking these libraries, we can not allow exporting their symbols from our plugin, because, again, if other plugins will use the same libraries, symbols from our plugin may overlap with the same symbols from other plugins, and there will be a mess.
150-
151143
## Makefile targets
152144

153145
### Development commands

0 commit comments

Comments
 (0)