CMakeLists.txt 24 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214
  1. #
  2. # Copyright 2019 The Abseil Authors.
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License");
  5. # you may not use this file except in compliance with the License.
  6. # You may obtain a copy of the License at
  7. #
  8. # https://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. # Unless required by applicable law or agreed to in writing, software
  11. # distributed under the License is distributed on an "AS IS" BASIS,
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. #
  16. absl_cc_library(
  17. NAME
  18. random_random
  19. HDRS
  20. "random.h"
  21. COPTS
  22. ${ABSL_DEFAULT_COPTS}
  23. LINKOPTS
  24. ${ABSL_DEFAULT_LINKOPTS}
  25. DEPS
  26. absl::random_distributions
  27. absl::random_internal_nonsecure_base
  28. absl::random_internal_pcg_engine
  29. absl::random_internal_pool_urbg
  30. absl::random_internal_randen_engine
  31. absl::random_seed_sequences
  32. )
  33. absl_cc_library(
  34. NAME
  35. random_bit_gen_ref
  36. HDRS
  37. "bit_gen_ref.h"
  38. COPTS
  39. ${ABSL_DEFAULT_COPTS}
  40. LINKOPTS
  41. ${ABSL_DEFAULT_LINKOPTS}
  42. DEPS
  43. absl::core_headers
  44. absl::random_internal_distribution_caller
  45. absl::random_internal_fast_uniform_bits
  46. absl::type_traits
  47. )
  48. absl_cc_test(
  49. NAME
  50. random_bit_gen_ref_test
  51. SRCS
  52. "bit_gen_ref_test.cc"
  53. COPTS
  54. ${ABSL_TEST_COPTS}
  55. LINKOPTS
  56. ${ABSL_DEFAULT_LINKOPTS}
  57. DEPS
  58. absl::random_bit_gen_ref
  59. absl::random_random
  60. absl::random_internal_sequence_urbg
  61. absl::fast_type_id
  62. GTest::gmock
  63. GTest::gtest_main
  64. )
  65. # Internal-only target, do not depend on directly.
  66. absl_cc_library(
  67. NAME
  68. random_internal_mock_helpers
  69. HDRS
  70. "internal/mock_helpers.h"
  71. COPTS
  72. ${ABSL_DEFAULT_COPTS}
  73. LINKOPTS
  74. ${ABSL_DEFAULT_LINKOPTS}
  75. DEPS
  76. absl::fast_type_id
  77. absl::optional
  78. )
  79. # Internal-only target, do not depend on directly.
  80. absl_cc_library(
  81. NAME
  82. random_internal_mock_overload_set
  83. HDRS
  84. "internal/mock_overload_set.h"
  85. COPTS
  86. ${ABSL_DEFAULT_COPTS}
  87. LINKOPTS
  88. ${ABSL_DEFAULT_LINKOPTS}
  89. DEPS
  90. absl::random_mocking_bit_gen
  91. absl::random_internal_mock_helpers
  92. TESTONLY
  93. )
  94. absl_cc_library(
  95. NAME
  96. random_mocking_bit_gen
  97. HDRS
  98. "mock_distributions.h"
  99. "mocking_bit_gen.h"
  100. COPTS
  101. ${ABSL_DEFAULT_COPTS}
  102. LINKOPTS
  103. ${ABSL_DEFAULT_LINKOPTS}
  104. DEPS
  105. absl::flat_hash_map
  106. absl::raw_logging_internal
  107. absl::random_distributions
  108. absl::random_internal_distribution_caller
  109. absl::random_internal_mock_overload_set
  110. absl::random_random
  111. absl::strings
  112. absl::span
  113. absl::type_traits
  114. absl::utility
  115. absl::variant
  116. GTest::gmock
  117. GTest::gtest
  118. TESTONLY
  119. )
  120. absl_cc_test(
  121. NAME
  122. random_mock_distributions_test
  123. SRCS
  124. "mock_distributions_test.cc"
  125. COPTS
  126. ${ABSL_TEST_COPTS}
  127. LINKOPTS
  128. ${ABSL_DEFAULT_LINKOPTS}
  129. DEPS
  130. absl::random_mocking_bit_gen
  131. absl::random_random
  132. GTest::gmock
  133. GTest::gtest_main
  134. )
  135. absl_cc_test(
  136. NAME
  137. random_mocking_bit_gen_test
  138. SRCS
  139. "mocking_bit_gen_test.cc"
  140. COPTS
  141. ${ABSL_TEST_COPTS}
  142. LINKOPTS
  143. ${ABSL_DEFAULT_LINKOPTS}
  144. DEPS
  145. absl::random_bit_gen_ref
  146. absl::random_mocking_bit_gen
  147. absl::random_random
  148. GTest::gmock
  149. GTest::gtest_main
  150. )
  151. absl_cc_library(
  152. NAME
  153. random_distributions
  154. SRCS
  155. "discrete_distribution.cc"
  156. "gaussian_distribution.cc"
  157. HDRS
  158. "bernoulli_distribution.h"
  159. "beta_distribution.h"
  160. "discrete_distribution.h"
  161. "distributions.h"
  162. "exponential_distribution.h"
  163. "gaussian_distribution.h"
  164. "log_uniform_int_distribution.h"
  165. "poisson_distribution.h"
  166. "uniform_int_distribution.h"
  167. "uniform_real_distribution.h"
  168. "zipf_distribution.h"
  169. COPTS
  170. ${ABSL_DEFAULT_COPTS}
  171. LINKOPTS
  172. ${ABSL_DEFAULT_LINKOPTS}
  173. DEPS
  174. absl::base_internal
  175. absl::config
  176. absl::core_headers
  177. absl::random_internal_generate_real
  178. absl::random_internal_distribution_caller
  179. absl::random_internal_fast_uniform_bits
  180. absl::random_internal_fastmath
  181. absl::random_internal_iostream_state_saver
  182. absl::random_internal_traits
  183. absl::random_internal_uniform_helper
  184. absl::random_internal_wide_multiply
  185. absl::strings
  186. absl::type_traits
  187. )
  188. absl_cc_library(
  189. NAME
  190. random_seed_gen_exception
  191. SRCS
  192. "seed_gen_exception.cc"
  193. HDRS
  194. "seed_gen_exception.h"
  195. COPTS
  196. ${ABSL_DEFAULT_COPTS}
  197. LINKOPTS
  198. ${ABSL_DEFAULT_LINKOPTS}
  199. DEPS
  200. absl::config
  201. )
  202. absl_cc_library(
  203. NAME
  204. random_seed_sequences
  205. SRCS
  206. "seed_sequences.cc"
  207. HDRS
  208. "seed_sequences.h"
  209. COPTS
  210. ${ABSL_DEFAULT_COPTS}
  211. LINKOPTS
  212. ${ABSL_DEFAULT_LINKOPTS}
  213. DEPS
  214. absl::inlined_vector
  215. absl::random_internal_nonsecure_base
  216. absl::random_internal_pool_urbg
  217. absl::random_internal_salted_seed_seq
  218. absl::random_internal_seed_material
  219. absl::random_seed_gen_exception
  220. absl::span
  221. )
  222. absl_cc_test(
  223. NAME
  224. random_bernoulli_distribution_test
  225. SRCS
  226. "bernoulli_distribution_test.cc"
  227. COPTS
  228. ${ABSL_TEST_COPTS}
  229. LINKOPTS
  230. ${ABSL_DEFAULT_LINKOPTS}
  231. DEPS
  232. absl::random_distributions
  233. absl::random_random
  234. absl::random_internal_sequence_urbg
  235. absl::random_internal_pcg_engine
  236. GTest::gmock
  237. GTest::gtest_main
  238. )
  239. absl_cc_test(
  240. NAME
  241. random_beta_distribution_test
  242. SRCS
  243. "beta_distribution_test.cc"
  244. COPTS
  245. ${ABSL_TEST_COPTS}
  246. LINKOPTS
  247. ${ABSL_DEFAULT_LINKOPTS}
  248. DEPS
  249. absl::numeric_representation
  250. absl::random_distributions
  251. absl::random_random
  252. absl::random_internal_distribution_test_util
  253. absl::random_internal_sequence_urbg
  254. absl::random_internal_pcg_engine
  255. absl::raw_logging_internal
  256. absl::strings
  257. absl::str_format
  258. GTest::gmock
  259. GTest::gtest_main
  260. )
  261. absl_cc_test(
  262. NAME
  263. random_distributions_test
  264. SRCS
  265. "distributions_test.cc"
  266. COPTS
  267. ${ABSL_TEST_COPTS}
  268. LINKOPTS
  269. ${ABSL_DEFAULT_LINKOPTS}
  270. DEPS
  271. absl::random_distributions
  272. absl::random_random
  273. absl::random_internal_distribution_test_util
  274. GTest::gmock
  275. GTest::gtest_main
  276. )
  277. absl_cc_test(
  278. NAME
  279. random_generators_test
  280. SRCS
  281. "generators_test.cc"
  282. COPTS
  283. ${ABSL_TEST_COPTS}
  284. LINKOPTS
  285. ${ABSL_DEFAULT_LINKOPTS}
  286. absl::random_distributions
  287. absl::random_random
  288. absl::raw_logging_internal
  289. GTest::gmock
  290. GTest::gtest_main
  291. )
  292. absl_cc_test(
  293. NAME
  294. random_log_uniform_int_distribution_test
  295. SRCS
  296. "log_uniform_int_distribution_test.cc"
  297. COPTS
  298. ${ABSL_TEST_COPTS}
  299. LINKOPTS
  300. ${ABSL_DEFAULT_LINKOPTS}
  301. absl::random_distributions
  302. absl::random_internal_distribution_test_util
  303. absl::random_internal_pcg_engine
  304. absl::random_internal_sequence_urbg
  305. absl::random_random
  306. absl::raw_logging_internal
  307. absl::strings
  308. absl::str_format
  309. GTest::gmock
  310. GTest::gtest_main
  311. )
  312. absl_cc_test(
  313. NAME
  314. random_discrete_distribution_test
  315. SRCS
  316. "discrete_distribution_test.cc"
  317. COPTS
  318. ${ABSL_TEST_COPTS}
  319. LINKOPTS
  320. ${ABSL_DEFAULT_LINKOPTS}
  321. DEPS
  322. absl::random_distributions
  323. absl::random_internal_distribution_test_util
  324. absl::random_internal_pcg_engine
  325. absl::random_internal_sequence_urbg
  326. absl::random_random
  327. absl::raw_logging_internal
  328. absl::strings
  329. GTest::gmock
  330. GTest::gtest_main
  331. )
  332. absl_cc_test(
  333. NAME
  334. random_poisson_distribution_test
  335. SRCS
  336. "poisson_distribution_test.cc"
  337. COPTS
  338. ${ABSL_TEST_COPTS}
  339. LINKOPTS
  340. ${ABSL_DEFAULT_LINKOPTS}
  341. DEPS
  342. absl::random_distributions
  343. absl::random_random
  344. absl::core_headers
  345. absl::flat_hash_map
  346. absl::random_internal_distribution_test_util
  347. absl::random_internal_pcg_engine
  348. absl::random_internal_sequence_urbg
  349. absl::raw_logging_internal
  350. absl::strings
  351. absl::str_format
  352. GTest::gmock
  353. GTest::gtest_main
  354. )
  355. absl_cc_test(
  356. NAME
  357. random_exponential_distribution_test
  358. SRCS
  359. "exponential_distribution_test.cc"
  360. COPTS
  361. ${ABSL_TEST_COPTS}
  362. LINKOPTS
  363. ${ABSL_DEFAULT_LINKOPTS}
  364. DEPS
  365. absl::core_headers
  366. absl::numeric_representation
  367. absl::random_distributions
  368. absl::random_internal_distribution_test_util
  369. absl::random_internal_pcg_engine
  370. absl::random_internal_sequence_urbg
  371. absl::random_random
  372. absl::raw_logging_internal
  373. absl::strings
  374. absl::str_format
  375. GTest::gmock
  376. GTest::gtest_main
  377. )
  378. absl_cc_test(
  379. NAME
  380. random_gaussian_distribution_test
  381. SRCS
  382. "gaussian_distribution_test.cc"
  383. COPTS
  384. ${ABSL_TEST_COPTS}
  385. LINKOPTS
  386. ${ABSL_DEFAULT_LINKOPTS}
  387. DEPS
  388. absl::core_headers
  389. absl::numeric_representation
  390. absl::random_distributions
  391. absl::random_internal_distribution_test_util
  392. absl::random_internal_sequence_urbg
  393. absl::random_random
  394. absl::raw_logging_internal
  395. absl::strings
  396. absl::str_format
  397. GTest::gmock
  398. GTest::gtest_main
  399. )
  400. absl_cc_test(
  401. NAME
  402. random_uniform_int_distribution_test
  403. SRCS
  404. "uniform_int_distribution_test.cc"
  405. COPTS
  406. ${ABSL_TEST_COPTS}
  407. LINKOPTS
  408. ${ABSL_DEFAULT_LINKOPTS}
  409. DEPS
  410. absl::random_distributions
  411. absl::random_internal_distribution_test_util
  412. absl::random_internal_pcg_engine
  413. absl::random_internal_sequence_urbg
  414. absl::random_random
  415. absl::raw_logging_internal
  416. absl::strings
  417. GTest::gmock
  418. GTest::gtest_main
  419. )
  420. absl_cc_test(
  421. NAME
  422. random_uniform_real_distribution_test
  423. SRCS
  424. "uniform_real_distribution_test.cc"
  425. COPTS
  426. ${ABSL_TEST_COPTS}
  427. LINKOPTS
  428. ${ABSL_DEFAULT_LINKOPTS}
  429. DEPS
  430. absl::numeric_representation
  431. absl::random_distributions
  432. absl::random_internal_distribution_test_util
  433. absl::random_internal_pcg_engine
  434. absl::random_internal_sequence_urbg
  435. absl::random_random
  436. absl::strings
  437. GTest::gmock
  438. GTest::gtest_main
  439. )
  440. absl_cc_test(
  441. NAME
  442. random_zipf_distribution_test
  443. SRCS
  444. "zipf_distribution_test.cc"
  445. COPTS
  446. ${ABSL_TEST_COPTS}
  447. LINKOPTS
  448. ${ABSL_DEFAULT_LINKOPTS}
  449. DEPS
  450. absl::random_distributions
  451. absl::random_internal_distribution_test_util
  452. absl::random_internal_pcg_engine
  453. absl::random_internal_sequence_urbg
  454. absl::random_random
  455. absl::raw_logging_internal
  456. absl::strings
  457. GTest::gmock
  458. GTest::gtest_main
  459. )
  460. absl_cc_test(
  461. NAME
  462. random_examples_test
  463. SRCS
  464. "examples_test.cc"
  465. COPTS
  466. ${ABSL_TEST_COPTS}
  467. LINKOPTS
  468. ${ABSL_DEFAULT_LINKOPTS}
  469. DEPS
  470. absl::random_random
  471. GTest::gtest_main
  472. )
  473. absl_cc_test(
  474. NAME
  475. random_seed_sequences_test
  476. SRCS
  477. "seed_sequences_test.cc"
  478. COPTS
  479. ${ABSL_TEST_COPTS}
  480. LINKOPTS
  481. ${ABSL_DEFAULT_LINKOPTS}
  482. DEPS
  483. absl::random_seed_sequences
  484. absl::random_internal_nonsecure_base
  485. absl::random_random
  486. GTest::gmock
  487. GTest::gtest_main
  488. )
  489. # Internal-only target, do not depend on directly.
  490. absl_cc_library(
  491. NAME
  492. random_internal_traits
  493. HDRS
  494. "internal/traits.h"
  495. COPTS
  496. ${ABSL_DEFAULT_COPTS}
  497. LINKOPTS
  498. ${ABSL_DEFAULT_LINKOPTS}
  499. DEPS
  500. absl::config
  501. )
  502. # Internal-only target, do not depend on directly.
  503. absl_cc_library(
  504. NAME
  505. random_internal_distribution_caller
  506. HDRS
  507. "internal/distribution_caller.h"
  508. COPTS
  509. ${ABSL_DEFAULT_COPTS}
  510. LINKOPTS
  511. ${ABSL_DEFAULT_LINKOPTS}
  512. DEPS
  513. absl::config
  514. absl::utility
  515. absl::fast_type_id
  516. )
  517. # Internal-only target, do not depend on directly.
  518. absl_cc_library(
  519. NAME
  520. random_internal_fast_uniform_bits
  521. HDRS
  522. "internal/fast_uniform_bits.h"
  523. COPTS
  524. ${ABSL_DEFAULT_COPTS}
  525. LINKOPTS
  526. ${ABSL_DEFAULT_LINKOPTS}
  527. DEPS
  528. absl::config
  529. )
  530. # Internal-only target, do not depend on directly.
  531. absl_cc_library(
  532. NAME
  533. random_internal_seed_material
  534. SRCS
  535. "internal/seed_material.cc"
  536. HDRS
  537. "internal/seed_material.h"
  538. COPTS
  539. ${ABSL_DEFAULT_COPTS}
  540. LINKOPTS
  541. ${ABSL_DEFAULT_LINKOPTS}
  542. $<$<BOOL:${MINGW}>:"bcrypt">
  543. DEPS
  544. absl::core_headers
  545. absl::optional
  546. absl::random_internal_fast_uniform_bits
  547. absl::raw_logging_internal
  548. absl::span
  549. absl::strings
  550. )
  551. # Internal-only target, do not depend on directly.
  552. absl_cc_library(
  553. NAME
  554. random_internal_pool_urbg
  555. SRCS
  556. "internal/pool_urbg.cc"
  557. HDRS
  558. "internal/pool_urbg.h"
  559. COPTS
  560. ${ABSL_DEFAULT_COPTS}
  561. LINKOPTS
  562. ${ABSL_DEFAULT_LINKOPTS}
  563. DEPS
  564. absl::base
  565. absl::config
  566. absl::core_headers
  567. absl::endian
  568. absl::random_internal_randen
  569. absl::random_internal_seed_material
  570. absl::random_internal_traits
  571. absl::random_seed_gen_exception
  572. absl::raw_logging_internal
  573. absl::span
  574. )
  575. # Internal-only target, do not depend on directly.
  576. absl_cc_library(
  577. NAME
  578. random_internal_explicit_seed_seq
  579. HDRS
  580. "internal/random_internal_explicit_seed_seq.h"
  581. COPTS
  582. ${ABSL_DEFAULT_COPTS}
  583. LINKOPTS
  584. ${ABSL_DEFAULT_LINKOPTS}
  585. DEPS
  586. absl::config
  587. absl::endian
  588. TESTONLY
  589. )
  590. # Internal-only target, do not depend on directly.
  591. absl_cc_library(
  592. NAME
  593. random_internal_sequence_urbg
  594. HDRS
  595. "internal/sequence_urbg.h"
  596. COPTS
  597. ${ABSL_DEFAULT_COPTS}
  598. LINKOPTS
  599. ${ABSL_DEFAULT_LINKOPTS}
  600. DEPS
  601. absl::config
  602. TESTONLY
  603. )
  604. # Internal-only target, do not depend on directly.
  605. absl_cc_library(
  606. NAME
  607. random_internal_salted_seed_seq
  608. HDRS
  609. "internal/salted_seed_seq.h"
  610. COPTS
  611. ${ABSL_DEFAULT_COPTS}
  612. LINKOPTS
  613. ${ABSL_DEFAULT_LINKOPTS}
  614. DEPS
  615. absl::inlined_vector
  616. absl::optional
  617. absl::span
  618. absl::random_internal_seed_material
  619. absl::type_traits
  620. )
  621. # Internal-only target, do not depend on directly.
  622. absl_cc_library(
  623. NAME
  624. random_internal_iostream_state_saver
  625. HDRS
  626. "internal/iostream_state_saver.h"
  627. COPTS
  628. ${ABSL_DEFAULT_COPTS}
  629. LINKOPTS
  630. ${ABSL_DEFAULT_LINKOPTS}
  631. DEPS
  632. absl::int128
  633. absl::type_traits
  634. )
  635. # Internal-only target, do not depend on directly.
  636. absl_cc_library(
  637. NAME
  638. random_internal_generate_real
  639. HDRS
  640. "internal/generate_real.h"
  641. COPTS
  642. ${ABSL_DEFAULT_COPTS}
  643. LINKOPTS
  644. ${ABSL_DEFAULT_LINKOPTS}
  645. DEPS
  646. absl::bits
  647. absl::random_internal_fastmath
  648. absl::random_internal_traits
  649. absl::type_traits
  650. )
  651. # Internal-only target, do not depend on directly.
  652. absl_cc_library(
  653. NAME
  654. random_internal_wide_multiply
  655. HDRS
  656. "internal/wide_multiply.h"
  657. COPTS
  658. ${ABSL_DEFAULT_COPTS}
  659. LINKOPTS
  660. ${ABSL_DEFAULT_LINKOPTS}
  661. DEPS
  662. absl::bits
  663. absl::config
  664. absl::int128
  665. )
  666. # Internal-only target, do not depend on directly.
  667. absl_cc_library(
  668. NAME
  669. random_internal_fastmath
  670. HDRS
  671. "internal/fastmath.h"
  672. COPTS
  673. ${ABSL_DEFAULT_COPTS}
  674. LINKOPTS
  675. ${ABSL_DEFAULT_LINKOPTS}
  676. DEPS
  677. absl::bits
  678. )
  679. # Internal-only target, do not depend on directly.
  680. absl_cc_library(
  681. NAME
  682. random_internal_nonsecure_base
  683. HDRS
  684. "internal/nonsecure_base.h"
  685. COPTS
  686. ${ABSL_DEFAULT_COPTS}
  687. LINKOPTS
  688. ${ABSL_DEFAULT_LINKOPTS}
  689. DEPS
  690. absl::core_headers
  691. absl::optional
  692. absl::random_internal_pool_urbg
  693. absl::random_internal_salted_seed_seq
  694. absl::random_internal_seed_material
  695. absl::span
  696. absl::type_traits
  697. )
  698. # Internal-only target, do not depend on directly.
  699. absl_cc_library(
  700. NAME
  701. random_internal_pcg_engine
  702. HDRS
  703. "internal/pcg_engine.h"
  704. COPTS
  705. ${ABSL_DEFAULT_COPTS}
  706. LINKOPTS
  707. ${ABSL_DEFAULT_LINKOPTS}
  708. DEPS
  709. absl::config
  710. absl::int128
  711. absl::random_internal_fastmath
  712. absl::random_internal_iostream_state_saver
  713. absl::type_traits
  714. )
  715. # Internal-only target, do not depend on directly.
  716. absl_cc_library(
  717. NAME
  718. random_internal_randen_engine
  719. HDRS
  720. "internal/randen_engine.h"
  721. COPTS
  722. ${ABSL_DEFAULT_COPTS}
  723. LINKOPTS
  724. ${ABSL_DEFAULT_LINKOPTS}
  725. DEPS
  726. absl::endian
  727. absl::random_internal_iostream_state_saver
  728. absl::random_internal_randen
  729. absl::raw_logging_internal
  730. absl::type_traits
  731. )
  732. # Internal-only target, do not depend on directly.
  733. absl_cc_library(
  734. NAME
  735. random_internal_platform
  736. HDRS
  737. "internal/randen_traits.h"
  738. "internal/platform.h"
  739. SRCS
  740. "internal/randen_round_keys.cc"
  741. COPTS
  742. ${ABSL_DEFAULT_COPTS}
  743. LINKOPTS
  744. ${ABSL_DEFAULT_LINKOPTS}
  745. DEPS
  746. absl::config
  747. )
  748. # Internal-only target, do not depend on directly.
  749. absl_cc_library(
  750. NAME
  751. random_internal_randen
  752. SRCS
  753. "internal/randen.cc"
  754. HDRS
  755. "internal/randen.h"
  756. COPTS
  757. ${ABSL_DEFAULT_COPTS}
  758. LINKOPTS
  759. ${ABSL_DEFAULT_LINKOPTS}
  760. DEPS
  761. absl::random_internal_platform
  762. absl::random_internal_randen_hwaes
  763. absl::random_internal_randen_slow
  764. )
  765. # Internal-only target, do not depend on directly.
  766. absl_cc_library(
  767. NAME
  768. random_internal_randen_slow
  769. SRCS
  770. "internal/randen_slow.cc"
  771. HDRS
  772. "internal/randen_slow.h"
  773. COPTS
  774. ${ABSL_DEFAULT_COPTS}
  775. LINKOPTS
  776. ${ABSL_DEFAULT_LINKOPTS}
  777. DEPS
  778. absl::random_internal_platform
  779. absl::config
  780. )
  781. # Internal-only target, do not depend on directly.
  782. absl_cc_library(
  783. NAME
  784. random_internal_randen_hwaes
  785. SRCS
  786. "internal/randen_detect.cc"
  787. HDRS
  788. "internal/randen_detect.h"
  789. "internal/randen_hwaes.h"
  790. COPTS
  791. ${ABSL_DEFAULT_COPTS}
  792. ${ABSL_RANDOM_RANDEN_COPTS}
  793. LINKOPTS
  794. ${ABSL_DEFAULT_LINKOPTS}
  795. DEPS
  796. absl::random_internal_platform
  797. absl::random_internal_randen_hwaes_impl
  798. absl::config
  799. )
  800. # Internal-only target, do not depend on directly.
  801. absl_cc_library(
  802. NAME
  803. random_internal_randen_hwaes_impl
  804. SRCS
  805. "internal/randen_hwaes.cc"
  806. "internal/randen_hwaes.h"
  807. COPTS
  808. ${ABSL_DEFAULT_COPTS}
  809. ${ABSL_RANDOM_RANDEN_COPTS}
  810. LINKOPTS
  811. ${ABSL_DEFAULT_LINKOPTS}
  812. DEPS
  813. absl::random_internal_platform
  814. absl::config
  815. )
  816. # Internal-only target, do not depend on directly.
  817. absl_cc_library(
  818. NAME
  819. random_internal_distribution_test_util
  820. SRCS
  821. "internal/chi_square.cc"
  822. "internal/distribution_test_util.cc"
  823. HDRS
  824. "internal/chi_square.h"
  825. "internal/distribution_test_util.h"
  826. COPTS
  827. ${ABSL_DEFAULT_COPTS}
  828. LINKOPTS
  829. ${ABSL_DEFAULT_LINKOPTS}
  830. DEPS
  831. absl::config
  832. absl::core_headers
  833. absl::raw_logging_internal
  834. absl::strings
  835. absl::str_format
  836. absl::span
  837. )
  838. # Internal-only target, do not depend on directly.
  839. absl_cc_test(
  840. NAME
  841. random_internal_traits_test
  842. SRCS
  843. "internal/traits_test.cc"
  844. COPTS
  845. ${ABSL_TEST_COPTS}
  846. LINKOPTS
  847. ${ABSL_DEFAULT_LINKOPTS}
  848. DEPS
  849. absl::random_internal_traits
  850. GTest::gtest_main
  851. )
  852. # Internal-only target, do not depend on directly.
  853. absl_cc_test(
  854. NAME
  855. random_internal_generate_real_test
  856. SRCS
  857. "internal/generate_real_test.cc"
  858. COPTS
  859. ${ABSL_TEST_COPTS}
  860. LINKOPTS
  861. ${ABSL_DEFAULT_LINKOPTS}
  862. DEPS
  863. absl::bits
  864. absl::flags
  865. absl::random_internal_generate_real
  866. GTest::gtest_main
  867. )
  868. # Internal-only target, do not depend on directly.
  869. absl_cc_test(
  870. NAME
  871. random_internal_distribution_test_util_test
  872. SRCS
  873. "internal/distribution_test_util_test.cc"
  874. COPTS
  875. ${ABSL_TEST_COPTS}
  876. LINKOPTS
  877. ${ABSL_DEFAULT_LINKOPTS}
  878. DEPS
  879. absl::random_internal_distribution_test_util
  880. GTest::gtest_main
  881. )
  882. # Internal-only target, do not depend on directly.
  883. absl_cc_test(
  884. NAME
  885. random_internal_fastmath_test
  886. SRCS
  887. "internal/fastmath_test.cc"
  888. COPTS
  889. ${ABSL_TEST_COPTS}
  890. LINKOPTS
  891. ${ABSL_DEFAULT_LINKOPTS}
  892. DEPS
  893. absl::random_internal_fastmath
  894. GTest::gtest_main
  895. )
  896. # Internal-only target, do not depend on directly.
  897. absl_cc_test(
  898. NAME
  899. random_internal_explicit_seed_seq_test
  900. SRCS
  901. "internal/explicit_seed_seq_test.cc"
  902. COPTS
  903. ${ABSL_TEST_COPTS}
  904. LINKOPTS
  905. ${ABSL_DEFAULT_LINKOPTS}
  906. DEPS
  907. absl::random_internal_explicit_seed_seq
  908. absl::random_seed_sequences
  909. GTest::gmock
  910. GTest::gtest_main
  911. )
  912. # Internal-only target, do not depend on directly.
  913. absl_cc_test(
  914. NAME
  915. random_internal_salted_seed_seq_test
  916. SRCS
  917. "internal/salted_seed_seq_test.cc"
  918. COPTS
  919. ${ABSL_TEST_COPTS}
  920. LINKOPTS
  921. ${ABSL_DEFAULT_LINKOPTS}
  922. DEPS
  923. absl::random_internal_salted_seed_seq
  924. GTest::gmock
  925. GTest::gtest_main
  926. )
  927. # Internal-only target, do not depend on directly.
  928. absl_cc_test(
  929. NAME
  930. random_internal_chi_square_test
  931. SRCS
  932. "internal/chi_square_test.cc"
  933. COPTS
  934. ${ABSL_TEST_COPTS}
  935. LINKOPTS
  936. ${ABSL_DEFAULT_LINKOPTS}
  937. DEPS
  938. absl::core_headers
  939. absl::random_internal_distribution_test_util
  940. GTest::gtest_main
  941. )
  942. # Internal-only target, do not depend on directly.
  943. absl_cc_test(
  944. NAME
  945. random_internal_fast_uniform_bits_test
  946. SRCS
  947. "internal/fast_uniform_bits_test.cc"
  948. COPTS
  949. ${ABSL_TEST_COPTS}
  950. LINKOPTS
  951. ${ABSL_DEFAULT_LINKOPTS}
  952. DEPS
  953. absl::random_internal_fast_uniform_bits
  954. GTest::gtest_main
  955. )
  956. # Internal-only target, do not depend on directly.
  957. absl_cc_test(
  958. NAME
  959. random_internal_nonsecure_base_test
  960. SRCS
  961. "internal/nonsecure_base_test.cc"
  962. COPTS
  963. ${ABSL_TEST_COPTS}
  964. LINKOPTS
  965. ${ABSL_DEFAULT_LINKOPTS}
  966. DEPS
  967. absl::random_internal_nonsecure_base
  968. absl::random_random
  969. absl::random_distributions
  970. absl::random_seed_sequences
  971. absl::strings
  972. GTest::gtest_main
  973. )
  974. # Internal-only target, do not depend on directly.
  975. absl_cc_test(
  976. NAME
  977. random_internal_seed_material_test
  978. SRCS
  979. "internal/seed_material_test.cc"
  980. COPTS
  981. ${ABSL_TEST_COPTS}
  982. LINKOPTS
  983. ${ABSL_DEFAULT_LINKOPTS}
  984. DEPS
  985. absl::random_internal_seed_material
  986. GTest::gmock
  987. GTest::gtest_main
  988. )
  989. # Internal-only target, do not depend on directly.
  990. absl_cc_test(
  991. NAME
  992. random_internal_pool_urbg_test
  993. SRCS
  994. "internal/pool_urbg_test.cc"
  995. COPTS
  996. ${ABSL_TEST_COPTS}
  997. LINKOPTS
  998. ${ABSL_DEFAULT_LINKOPTS}
  999. DEPS
  1000. absl::random_internal_pool_urbg
  1001. absl::span
  1002. absl::type_traits
  1003. GTest::gtest_main
  1004. )
  1005. # Internal-only target, do not depend on directly.
  1006. absl_cc_test(
  1007. NAME
  1008. random_internal_pcg_engine_test
  1009. SRCS
  1010. "internal/pcg_engine_test.cc"
  1011. COPTS
  1012. ${ABSL_TEST_COPTS}
  1013. LINKOPTS
  1014. ${ABSL_DEFAULT_LINKOPTS}
  1015. DEPS
  1016. absl::random_internal_explicit_seed_seq
  1017. absl::random_internal_pcg_engine
  1018. absl::time
  1019. GTest::gmock
  1020. GTest::gtest_main
  1021. )
  1022. # Internal-only target, do not depend on directly.
  1023. absl_cc_test(
  1024. NAME
  1025. random_internal_randen_engine_test
  1026. SRCS
  1027. "internal/randen_engine_test.cc"
  1028. COPTS
  1029. ${ABSL_TEST_COPTS}
  1030. LINKOPTS
  1031. ${ABSL_DEFAULT_LINKOPTS}
  1032. DEPS
  1033. absl::random_internal_explicit_seed_seq
  1034. absl::random_internal_randen_engine
  1035. absl::raw_logging_internal
  1036. absl::strings
  1037. absl::time
  1038. GTest::gmock
  1039. GTest::gtest_main
  1040. )
  1041. # Internal-only target, do not depend on directly.
  1042. absl_cc_test(
  1043. NAME
  1044. random_internal_randen_test
  1045. SRCS
  1046. "internal/randen_test.cc"
  1047. COPTS
  1048. ${ABSL_TEST_COPTS}
  1049. LINKOPTS
  1050. ${ABSL_DEFAULT_LINKOPTS}
  1051. DEPS
  1052. absl::random_internal_randen
  1053. absl::type_traits
  1054. GTest::gtest_main
  1055. )
  1056. # Internal-only target, do not depend on directly.
  1057. absl_cc_test(
  1058. NAME
  1059. random_internal_randen_slow_test
  1060. SRCS
  1061. "internal/randen_slow_test.cc"
  1062. COPTS
  1063. ${ABSL_TEST_COPTS}
  1064. LINKOPTS
  1065. ${ABSL_DEFAULT_LINKOPTS}
  1066. DEPS
  1067. absl::endian
  1068. absl::random_internal_randen_slow
  1069. GTest::gtest_main
  1070. )
  1071. # Internal-only target, do not depend on directly.
  1072. absl_cc_test(
  1073. NAME
  1074. random_internal_randen_hwaes_test
  1075. SRCS
  1076. "internal/randen_hwaes_test.cc"
  1077. COPTS
  1078. ${ABSL_TEST_COPTS}
  1079. LINKOPTS
  1080. ${ABSL_DEFAULT_LINKOPTS}
  1081. DEPS
  1082. absl::random_internal_platform
  1083. absl::random_internal_randen_hwaes
  1084. absl::random_internal_randen_hwaes_impl
  1085. absl::raw_logging_internal
  1086. absl::str_format
  1087. GTest::gmock
  1088. GTest::gtest
  1089. )
  1090. # Internal-only target, do not depend on directly.
  1091. absl_cc_library(
  1092. NAME
  1093. random_internal_uniform_helper
  1094. HDRS
  1095. "internal/uniform_helper.h"
  1096. COPTS
  1097. ${ABSL_DEFAULT_COPTS}
  1098. LINKOPTS
  1099. ${ABSL_DEFAULT_LINKOPTS}
  1100. DEPS
  1101. absl::config
  1102. absl::random_internal_traits
  1103. absl::type_traits
  1104. )
  1105. # Internal-only target, do not depend on directly.
  1106. absl_cc_test(
  1107. NAME
  1108. random_internal_uniform_helper_test
  1109. SRCS
  1110. "internal/uniform_helper_test.cc"
  1111. COPTS
  1112. ${ABSL_TEST_COPTS}
  1113. LINKOPTS
  1114. ${ABSL_DEFAULT_LINKOPTS}
  1115. DEPS
  1116. absl::random_internal_uniform_helper
  1117. GTest::gtest_main
  1118. )
  1119. # Internal-only target, do not depend on directly.
  1120. absl_cc_test(
  1121. NAME
  1122. random_internal_iostream_state_saver_test
  1123. SRCS
  1124. "internal/iostream_state_saver_test.cc"
  1125. COPTS
  1126. ${ABSL_TEST_COPTS}
  1127. LINKOPTS
  1128. ${ABSL_DEFAULT_LINKOPTS}
  1129. DEPS
  1130. absl::random_internal_iostream_state_saver
  1131. GTest::gtest_main
  1132. )
  1133. # Internal-only target, do not depend on directly.
  1134. absl_cc_test(
  1135. NAME
  1136. random_internal_wide_multiply_test
  1137. SRCS
  1138. internal/wide_multiply_test.cc
  1139. COPTS
  1140. ${ABSL_TEST_COPTS}
  1141. LINKOPTS
  1142. ${ABSL_DEFAULT_LINKOPTS}
  1143. DEPS
  1144. absl::random_internal_wide_multiply
  1145. absl::bits
  1146. absl::int128
  1147. GTest::gtest_main
  1148. )