tor/src/or/tor_main.c
Nick Mathewson 72b5e4a2db Move tor_git_revision into a new module.
At first, we put the tor_git_revision constant in tor_main.c, so
that we wouldn't have to recompile config.o every time the git
revision changed.  But putting it there had unintended side effect
of forcing every program that wanted to link libor.a (including
test, test-slow, the fuzzers, the benchmarks, etc) to declare their
own tor_git_revision instance.

That's not very nice, especially since we want to start supporting
others who want to link against Tor (see 23846).

So, create a new git_revision.c file that only contains this
constant, and remove the duplicated boilerplate from everywhere
else.

Part of implementing ticket 23845.
2017-10-18 13:49:35 -04:00

28 lines
685 B
C

/* Copyright 2001-2004 Roger Dingledine.
* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
* Copyright (c) 2007-2017, The Tor Project, Inc. */
/* See LICENSE for licensing information */
/**
* \file tor_main.c
* \brief Stub module containing a main() function.
*
* We keep the main function in a separate module so that the unit
* tests, which have their own main()s, can link against main.c.
**/
int tor_main(int argc, char *argv[]);
/** We keep main() in a separate file so that our unit tests can use
* functions from main.c)
*/
int
main(int argc, char *argv[])
{
int r = tor_main(argc, argv);
if (r < 0 || r > 255)
return 1;
else
return r;
}