include.am 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. noinst_LIBRARIES += \
  2. src/core/libtor-app.a
  3. if UNITTESTS_ENABLED
  4. noinst_LIBRARIES += \
  5. src/core/libtor-app-testing.a
  6. endif
  7. LIBTOR_APP_A_SOURCES = \
  8. src/app/config/config.c \
  9. src/app/config/confparse.c \
  10. src/app/config/statefile.c \
  11. src/app/main/main.c \
  12. src/core/crypto/hs_ntor.c \
  13. src/core/crypto/onion_crypto.c \
  14. src/core/crypto/onion_fast.c \
  15. src/core/crypto/onion_ntor.c \
  16. src/core/crypto/onion_tap.c \
  17. src/core/crypto/relay_crypto.c \
  18. src/core/mainloop/connection.c \
  19. src/core/mainloop/cpuworker.c \
  20. src/core/mainloop/mainloop.c \
  21. src/core/mainloop/netstatus.c \
  22. src/core/mainloop/periodic.c \
  23. src/core/or/address_set.c \
  24. src/core/or/channel.c \
  25. src/core/or/channelpadding.c \
  26. src/core/or/channeltls.c \
  27. src/core/or/circuitbuild.c \
  28. src/core/or/circuitlist.c \
  29. src/core/or/circuitmux.c \
  30. src/core/or/circuitmux_ewma.c \
  31. src/core/or/circuitstats.c \
  32. src/core/or/circuituse.c \
  33. src/core/or/command.c \
  34. src/core/or/connection_edge.c \
  35. src/core/or/connection_or.c \
  36. src/core/or/dos.c \
  37. src/core/or/onion.c \
  38. src/core/or/policies.c \
  39. src/core/or/protover.c \
  40. src/core/or/protover_rust.c \
  41. src/core/or/reasons.c \
  42. src/core/or/relay.c \
  43. src/core/or/scheduler.c \
  44. src/core/or/scheduler_kist.c \
  45. src/core/or/scheduler_vanilla.c \
  46. src/core/or/status.c \
  47. src/core/or/versions.c \
  48. src/core/proto/proto_cell.c \
  49. src/core/proto/proto_control0.c \
  50. src/core/proto/proto_ext_or.c \
  51. src/core/proto/proto_http.c \
  52. src/core/proto/proto_socks.c \
  53. src/feature/api/tor_api.c \
  54. src/feature/client/addressmap.c \
  55. src/feature/client/bridges.c \
  56. src/feature/client/circpathbias.c \
  57. src/feature/client/dnsserv.c \
  58. src/feature/client/entrynodes.c \
  59. src/feature/client/transports.c \
  60. src/feature/control/control.c \
  61. src/feature/control/fmt_serverstatus.c \
  62. src/feature/control/getinfo_geoip.c \
  63. src/feature/dirauth/keypin.c \
  64. src/feature/dircache/conscache.c \
  65. src/feature/dircache/consdiffmgr.c \
  66. src/feature/dircache/dircache.c \
  67. src/feature/dircache/dirserv.c \
  68. src/feature/dirclient/dirclient.c \
  69. src/feature/dirclient/dlstatus.c \
  70. src/feature/dircommon/consdiff.c \
  71. src/feature/dircommon/directory.c \
  72. src/feature/dircommon/fp_pair.c \
  73. src/feature/dircommon/voting_schedule.c \
  74. src/feature/dirparse/authcert_parse.c \
  75. src/feature/dirparse/microdesc_parse.c \
  76. src/feature/dirparse/ns_parse.c \
  77. src/feature/dirparse/parsecommon.c \
  78. src/feature/dirparse/policy_parse.c \
  79. src/feature/dirparse/routerparse.c \
  80. src/feature/dirparse/sigcommon.c \
  81. src/feature/dirparse/signing.c \
  82. src/feature/dirparse/unparseable.c \
  83. src/feature/hibernate/hibernate.c \
  84. src/feature/hs/hs_cache.c \
  85. src/feature/hs/hs_cell.c \
  86. src/feature/hs/hs_circuit.c \
  87. src/feature/hs/hs_circuitmap.c \
  88. src/feature/hs/hs_client.c \
  89. src/feature/hs/hs_common.c \
  90. src/feature/hs/hs_config.c \
  91. src/feature/hs/hs_control.c \
  92. src/feature/hs/hs_descriptor.c \
  93. src/feature/hs/hs_ident.c \
  94. src/feature/hs/hs_intropoint.c \
  95. src/feature/hs/hs_service.c \
  96. src/feature/hs/hs_stats.c \
  97. src/feature/hs_common/replaycache.c \
  98. src/feature/hs_common/shared_random_client.c \
  99. src/feature/keymgt/loadkey.c \
  100. src/feature/dirauth/keypin.c \
  101. src/feature/nodelist/authcert.c \
  102. src/feature/nodelist/describe.c \
  103. src/feature/nodelist/dirlist.c \
  104. src/feature/nodelist/microdesc.c \
  105. src/feature/nodelist/networkstatus.c \
  106. src/feature/nodelist/nickname.c \
  107. src/feature/nodelist/nodelist.c \
  108. src/feature/nodelist/node_select.c \
  109. src/feature/nodelist/routerinfo.c \
  110. src/feature/nodelist/routerlist.c \
  111. src/feature/nodelist/routerset.c \
  112. src/feature/nodelist/fmt_routerstatus.c \
  113. src/feature/nodelist/torcert.c \
  114. src/feature/relay/dns.c \
  115. src/feature/relay/ext_orport.c \
  116. src/feature/relay/onion_queue.c \
  117. src/feature/relay/router.c \
  118. src/feature/relay/routerkeys.c \
  119. src/feature/relay/routermode.c \
  120. src/feature/relay/selftest.c \
  121. src/feature/rend/rendcache.c \
  122. src/feature/rend/rendclient.c \
  123. src/feature/rend/rendcommon.c \
  124. src/feature/rend/rendmid.c \
  125. src/feature/rend/rendparse.c \
  126. src/feature/rend/rendservice.c \
  127. src/feature/stats/geoip_stats.c \
  128. src/feature/stats/rephist.c \
  129. src/feature/stats/predict_ports.c
  130. # These should eventually move into module_dirauth_sources, but for now
  131. # the separation is only in the code location.
  132. LIBTOR_APP_A_SOURCES += \
  133. src/feature/dirauth/bwauth.c \
  134. src/feature/dirauth/dsigs_parse.c \
  135. src/feature/dirauth/guardfraction.c \
  136. src/feature/dirauth/reachability.c \
  137. src/feature/dirauth/recommend_pkg.c \
  138. src/feature/dirauth/process_descs.c \
  139. src/feature/dirauth/voteflags.c
  140. if BUILD_NT_SERVICES
  141. LIBTOR_APP_A_SOURCES += src/app/main/ntmain.c
  142. endif
  143. #
  144. # Modules are conditionnally compiled in tor starting here. We add the C files
  145. # only if the modules has been enabled at configure time. We always add the
  146. # source files of every module to libtor-testing.a so we can build the unit
  147. # tests for everything. See the UNITTESTS_ENABLED branch below.
  148. #
  149. LIBTOR_APP_TESTING_A_SOURCES = $(LIBTOR_APP_A_SOURCES)
  150. # The Directory Authority module.
  151. MODULE_DIRAUTH_SOURCES = \
  152. src/feature/dirauth/authmode.c \
  153. src/feature/dirauth/dircollate.c \
  154. src/feature/dirauth/dirvote.c \
  155. src/feature/dirauth/shared_random.c \
  156. src/feature/dirauth/shared_random_state.c
  157. if BUILD_MODULE_DIRAUTH
  158. LIBTOR_APP_A_SOURCES += $(MODULE_DIRAUTH_SOURCES)
  159. endif
  160. src_core_libtor_app_a_SOURCES = $(LIBTOR_APP_A_SOURCES)
  161. if UNITTESTS_ENABLED
  162. # Add the sources of the modules that are needed for tests to work here.
  163. LIBTOR_APP_TESTING_A_SOURCES += $(MODULE_DIRAUTH_SOURCES)
  164. src_core_libtor_app_testing_a_SOURCES = $(LIBTOR_APP_TESTING_A_SOURCES)
  165. else
  166. src_core_libtor_app_testing_a_SOURCES =
  167. endif
  168. AM_CPPFLAGS += -DSHARE_DATADIR="\"$(datadir)\"" \
  169. -DLOCALSTATEDIR="\"$(localstatedir)\"" \
  170. -DBINDIR="\"$(bindir)\""
  171. src_core_libtor_app_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
  172. src_core_libtor_app_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
  173. noinst_HEADERS += \
  174. src/app/config/config.h \
  175. src/app/config/confparse.h \
  176. src/app/config/or_options_st.h \
  177. src/app/config/or_state_st.h \
  178. src/app/config/statefile.h \
  179. src/app/main/main.h \
  180. src/app/main/ntmain.h \
  181. src/core/crypto/hs_ntor.h \
  182. src/core/crypto/onion_crypto.h \
  183. src/core/crypto/onion_fast.h \
  184. src/core/crypto/onion_ntor.h \
  185. src/core/crypto/onion_tap.h \
  186. src/core/crypto/relay_crypto.h \
  187. src/core/mainloop/connection.h \
  188. src/core/mainloop/cpuworker.h \
  189. src/core/mainloop/mainloop.h \
  190. src/core/mainloop/netstatus.h \
  191. src/core/mainloop/periodic.h \
  192. src/core/or/addr_policy_st.h \
  193. src/core/or/address_set.h \
  194. src/core/or/cell_queue_st.h \
  195. src/core/or/cell_st.h \
  196. src/core/or/channel.h \
  197. src/core/or/channelpadding.h \
  198. src/core/or/channeltls.h \
  199. src/core/or/circuit_st.h \
  200. src/core/or/circuitbuild.h \
  201. src/core/or/circuitlist.h \
  202. src/core/or/circuitmux.h \
  203. src/core/or/circuitmux_ewma.h \
  204. src/core/or/circuitstats.h \
  205. src/core/or/circuituse.h \
  206. src/core/or/command.h \
  207. src/core/or/connection_edge.h \
  208. src/core/or/connection_or.h \
  209. src/core/or/connection_st.h \
  210. src/core/or/cpath_build_state_st.h \
  211. src/core/or/crypt_path_reference_st.h \
  212. src/core/or/crypt_path_st.h \
  213. src/core/or/destroy_cell_queue_st.h \
  214. src/core/or/dos.h \
  215. src/core/or/edge_connection_st.h \
  216. src/core/or/half_edge_st.h \
  217. src/core/or/entry_connection_st.h \
  218. src/core/or/entry_port_cfg_st.h \
  219. src/core/or/extend_info_st.h \
  220. src/core/or/listener_connection_st.h \
  221. src/core/or/onion.h \
  222. src/core/or/or.h \
  223. src/core/or/or_circuit_st.h \
  224. src/core/or/or_connection_st.h \
  225. src/core/or/or_handshake_certs_st.h \
  226. src/core/or/or_handshake_state_st.h \
  227. src/core/or/origin_circuit_st.h \
  228. src/core/or/policies.h \
  229. src/core/or/port_cfg_st.h \
  230. src/core/or/protover.h \
  231. src/core/or/reasons.h \
  232. src/core/or/relay.h \
  233. src/core/or/relay_crypto_st.h \
  234. src/core/or/scheduler.h \
  235. src/core/or/server_port_cfg_st.h \
  236. src/core/or/socks_request_st.h \
  237. src/core/or/status.h \
  238. src/core/or/tor_version_st.h \
  239. src/core/or/var_cell_st.h \
  240. src/core/or/versions.h \
  241. src/core/proto/proto_cell.h \
  242. src/core/proto/proto_control0.h \
  243. src/core/proto/proto_ext_or.h \
  244. src/core/proto/proto_http.h \
  245. src/core/proto/proto_socks.h \
  246. src/feature/api/tor_api_internal.h \
  247. src/feature/client/addressmap.h \
  248. src/feature/client/bridges.h \
  249. src/feature/client/circpathbias.h \
  250. src/feature/client/dnsserv.h \
  251. src/feature/client/entrynodes.h \
  252. src/feature/client/transports.h \
  253. src/feature/control/control.h \
  254. src/feature/control/control_connection_st.h \
  255. src/feature/control/fmt_serverstatus.h \
  256. src/feature/control/getinfo_geoip.h \
  257. src/feature/dirauth/authmode.h \
  258. src/feature/dirauth/bwauth.h \
  259. src/feature/dirauth/dircollate.h \
  260. src/feature/dirauth/dirvote.h \
  261. src/feature/dirauth/dsigs_parse.h \
  262. src/feature/dirauth/guardfraction.h \
  263. src/feature/dirauth/keypin.h \
  264. src/feature/dirauth/ns_detached_signatures_st.h \
  265. src/feature/dirauth/reachability.h \
  266. src/feature/dirauth/recommend_pkg.h \
  267. src/feature/dirauth/process_descs.h \
  268. src/feature/dirauth/shared_random.h \
  269. src/feature/dirauth/shared_random_state.h \
  270. src/feature/dirauth/vote_microdesc_hash_st.h \
  271. src/feature/dirauth/voteflags.h \
  272. src/feature/dircache/cached_dir_st.h \
  273. src/feature/dircache/conscache.h \
  274. src/feature/dircache/consdiffmgr.h \
  275. src/feature/dircache/dircache.h \
  276. src/feature/dircache/dirserv.h \
  277. src/feature/dirclient/dir_server_st.h \
  278. src/feature/dirclient/dirclient.h \
  279. src/feature/dirclient/dlstatus.h \
  280. src/feature/dirclient/download_status_st.h \
  281. src/feature/dircommon/consdiff.h \
  282. src/feature/dircommon/dir_connection_st.h \
  283. src/feature/dircommon/directory.h \
  284. src/feature/dircommon/fp_pair.h \
  285. src/feature/dircommon/vote_timing_st.h \
  286. src/feature/dircommon/voting_schedule.h \
  287. src/feature/dirparse/authcert_members.i \
  288. src/feature/dirparse/authcert_parse.h \
  289. src/feature/dirparse/microdesc_parse.h \
  290. src/feature/dirparse/ns_parse.h \
  291. src/feature/dirparse/parsecommon.h \
  292. src/feature/dirparse/policy_parse.h \
  293. src/feature/dirparse/routerparse.h \
  294. src/feature/dirparse/sigcommon.h \
  295. src/feature/dirparse/signing.h \
  296. src/feature/dirparse/unparseable.h \
  297. src/feature/hibernate/hibernate.h \
  298. src/feature/hs/hs_cache.h \
  299. src/feature/hs/hs_cell.h \
  300. src/feature/hs/hs_circuit.h \
  301. src/feature/hs/hs_circuitmap.h \
  302. src/feature/hs/hs_client.h \
  303. src/feature/hs/hs_common.h \
  304. src/feature/hs/hs_config.h \
  305. src/feature/hs/hs_control.h \
  306. src/feature/hs/hs_descriptor.h \
  307. src/feature/hs/hs_ident.h \
  308. src/feature/hs/hs_intropoint.h \
  309. src/feature/hs/hs_service.h \
  310. src/feature/hs/hs_stats.h \
  311. src/feature/hs/hsdir_index_st.h \
  312. src/feature/hs_common/replaycache.h \
  313. src/feature/hs_common/shared_random_client.h \
  314. src/feature/keymgt/loadkey.h \
  315. src/feature/nodelist/authcert.h \
  316. src/feature/nodelist/authority_cert_st.h \
  317. src/feature/nodelist/describe.h \
  318. src/feature/nodelist/desc_store_st.h \
  319. src/feature/nodelist/dirlist.h \
  320. src/feature/nodelist/document_signature_st.h \
  321. src/feature/nodelist/extrainfo_st.h \
  322. src/feature/nodelist/microdesc.h \
  323. src/feature/nodelist/microdesc_st.h \
  324. src/feature/nodelist/networkstatus.h \
  325. src/feature/nodelist/networkstatus_sr_info_st.h \
  326. src/feature/nodelist/networkstatus_st.h \
  327. src/feature/nodelist/networkstatus_voter_info_st.h \
  328. src/feature/nodelist/nickname.h \
  329. src/feature/nodelist/node_st.h \
  330. src/feature/nodelist/nodelist.h \
  331. src/feature/nodelist/node_select.h \
  332. src/feature/nodelist/routerinfo.h \
  333. src/feature/nodelist/routerinfo_st.h \
  334. src/feature/nodelist/routerlist.h \
  335. src/feature/nodelist/routerlist_st.h \
  336. src/feature/nodelist/routerset.h \
  337. src/feature/nodelist/fmt_routerstatus.h \
  338. src/feature/nodelist/routerstatus_st.h \
  339. src/feature/nodelist/signed_descriptor_st.h \
  340. src/feature/nodelist/torcert.h \
  341. src/feature/nodelist/vote_routerstatus_st.h \
  342. src/feature/relay/dns.h \
  343. src/feature/relay/dns_structs.h \
  344. src/feature/relay/ext_orport.h \
  345. src/feature/relay/onion_queue.h \
  346. src/feature/relay/router.h \
  347. src/feature/relay/routerkeys.h \
  348. src/feature/relay/routermode.h \
  349. src/feature/relay/selftest.h \
  350. src/feature/rend/rend_authorized_client_st.h \
  351. src/feature/rend/rend_encoded_v2_service_descriptor_st.h \
  352. src/feature/rend/rend_intro_point_st.h \
  353. src/feature/rend/rend_service_descriptor_st.h \
  354. src/feature/rend/rendcache.h \
  355. src/feature/rend/rendclient.h \
  356. src/feature/rend/rendcommon.h \
  357. src/feature/rend/rendmid.h \
  358. src/feature/rend/rendparse.h \
  359. src/feature/rend/rendservice.h \
  360. src/feature/stats/geoip_stats.h \
  361. src/feature/stats/rephist.h \
  362. src/feature/stats/predict_ports.h
  363. noinst_HEADERS += \
  364. src/app/config/auth_dirs.inc \
  365. src/app/config/fallback_dirs.inc
  366. # This may someday want to be an installed file?
  367. noinst_HEADERS += src/feature/api/tor_api.h
  368. micro-revision.i: FORCE
  369. $(AM_V_at)rm -f micro-revision.tmp; \
  370. if test -r "$(top_srcdir)/.git" && \
  371. test -x "`which git 2>&1;true`"; then \
  372. HASH="`cd "$(top_srcdir)" && git rev-parse --short=16 HEAD`"; \
  373. echo \"$$HASH\" > micro-revision.tmp; \
  374. fi; \
  375. if test ! -f micro-revision.tmp; then \
  376. if test ! -f micro-revision.i; then \
  377. echo '""' > micro-revision.i; \
  378. fi; \
  379. elif test ! -f micro-revision.i || \
  380. test x"`cat micro-revision.tmp`" != x"`cat micro-revision.i`"; then \
  381. mv micro-revision.tmp micro-revision.i; \
  382. fi; \
  383. rm -f micro-revision.tmp; \
  384. true
  385. CLEANFILES+= micro-revision.i micro-revision.tmp
  386. FORCE: