I'm looking at the source code for Tor as part of an RA project. I'm trying to figure out why it was automatically compiled to use threads on one system (SuSE) and forks a new process on a different system (Solaris). There are only a few places in the source code where fork()
is called, and it's dependent on various symbols (things like ENABLE_THREADING or USE_PTHREADS) being defined. I've searched the files, and have been unable to find definitions for most of the required symbols.
I'm not looking for a solution to this problem specifically, but more a general guideline. How and where are symbols relating to system dependent compiliation defined?