Compare commits
655 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
0799db0cd6 | ||
|
26562cbd11 | ||
|
5a249f91a3 | ||
|
5ddfb2058d | ||
|
e04d79ac41 | ||
|
4f98db4019 | ||
|
3ed80ea71c | ||
|
8b4d56823b | ||
|
8fcaff33d6 | ||
|
b411d13c2b | ||
|
80616931d6 | ||
|
d53a61632d | ||
|
2fb696c195 | ||
|
0728c0b06d | ||
|
09b326eed9 | ||
|
c1827839fe | ||
|
6bb559f644 | ||
|
d7cd2eae4d | ||
|
1b5e9011cd | ||
|
a3c4ff6d6c | ||
|
a3d7032106 | ||
|
5bf33cc297 | ||
|
30744c3765 | ||
|
705e4cfdc4 | ||
|
01bc99c246 | ||
|
10c31a9f76 | ||
|
f2645ab309 | ||
|
97a504c703 | ||
|
1b9dc4f25a | ||
|
44e2c6f9a5 | ||
|
d7a85845cd | ||
|
dbff6b43c6 | ||
|
b0a514e5f7 | ||
|
955bff0f64 | ||
|
19867adf44 | ||
|
4fe1b1de9c | ||
|
e5a8fc508e | ||
|
6b33e87f62 | ||
|
68b7e8fa3a | ||
|
f02cc2ff2b | ||
|
93dd6b19f3 | ||
|
cd5c6d633b | ||
|
b8f88877a5 | ||
|
e0cac84ae0 | ||
|
a3e9cabc27 | ||
|
901c1b5dd3 | ||
|
22a4aadf8c | ||
|
9185dee208 | ||
|
afa54ae2d9 | ||
|
4628607727 | ||
|
ef4cad263d | ||
|
9bd76b29db | ||
|
80b9892380 | ||
|
86dbd121b1 | ||
|
0c6a7587a3 | ||
|
e2b8c9d7b3 | ||
|
e59b07ec91 | ||
|
57cf6309af | ||
|
7a3dea61ac | ||
|
d79e4ea0bc | ||
|
36212092dc | ||
|
46951173bc | ||
|
4331016c4f | ||
|
c9969a3c5c | ||
|
c7b53f1b07 | ||
|
93b2c0220a | ||
|
68b76745f3 | ||
|
f197a01c38 | ||
|
71947e0a6a | ||
|
25f6e9a70a | ||
|
196370c4c8 | ||
|
62e31ff149 | ||
|
348b05cdf0 | ||
|
817252099c | ||
|
dbdd815499 | ||
|
330016cd91 | ||
|
64f2352144 | ||
|
f5d6f7cb47 | ||
|
2a9f0901e0 | ||
|
aabe1069e6 | ||
|
3f5d4655fe | ||
|
77836cd903 | ||
|
f2fa7b4196 | ||
|
73559a7cbf | ||
|
53587fff0e | ||
|
ffd2a1ec23 | ||
|
3a41b1b8ee | ||
|
bcf5c37f78 | ||
|
0b37f7c2e8 | ||
|
94dd88aaf1 | ||
|
d137461cd1 | ||
|
d9e1f5af69 | ||
|
49234dcf3a | ||
|
8d7fd6c4a4 | ||
|
18d896a510 | ||
|
4492971a96 | ||
|
112c0e600a | ||
|
c2d046fd2b | ||
|
ab065524f1 | ||
|
3f6fc657d6 | ||
|
c82f47546d | ||
|
31c280ba4b | ||
|
64bedda6a5 | ||
|
3a2c0b8c3a | ||
|
b0ba62459e | ||
|
b40ae636d9 | ||
|
bcc05e5853 | ||
|
a1e9b6ff94 | ||
|
aa909dfbb9 | ||
|
58005ad219 | ||
|
b155c45264 | ||
|
0aa219a1f9 | ||
|
34ed719492 | ||
|
8b7b71874e | ||
|
38c814533a | ||
|
0fb5d59eda | ||
|
7895021336 | ||
|
a5f9811b1b | ||
|
bf86973181 | ||
|
270f7069ee | ||
|
6ef0026d97 | ||
|
4f83064b94 | ||
|
6ff9f9400c | ||
|
fffc6c36d4 | ||
|
2bb57e121b | ||
|
b42a78a19a | ||
|
2ed852d972 | ||
|
5b5c093a93 | ||
|
9bbaa84a01 | ||
|
34f06c41e6 | ||
|
eeb400170c | ||
|
845fc12897 | ||
|
1922e5f8d3 | ||
|
25f7a24a0f | ||
|
99c9a89102 | ||
|
2435d476d5 | ||
|
2992da2171 | ||
|
f4d2f8394c | ||
|
3b701be4a8 | ||
|
4cc6ee9984 | ||
|
21ab7c7bac | ||
|
041ba47de6 | ||
|
6fec25dc9f | ||
|
a43d3aa578 | ||
|
45a04822d7 | ||
|
0fd812ee01 | ||
|
32f922748f | ||
|
02c4ecf814 | ||
|
11a6dfb62d | ||
|
b3d1e45ab4 | ||
|
2013267db6 | ||
|
ea2783191b | ||
|
356f22be0f | ||
|
b9e1325486 | ||
|
fd6ae10a9c | ||
|
104eb5d879 | ||
|
a45d0d65b7 | ||
|
04ce393f6c | ||
|
fcd305e384 | ||
|
da9cbabf92 | ||
|
1d0b2e2923 | ||
|
48df49af22 | ||
|
a3d166347b | ||
|
bd0ba500b9 | ||
|
3fadc2a2a6 | ||
|
b1f88e8e66 | ||
|
48a1ce8157 | ||
|
5a1380a83a | ||
|
7f3fd299bf | ||
|
f112f48fa7 | ||
|
c910c3db76 | ||
|
7689b76383 | ||
|
81337e75d7 | ||
|
35bbf5511f | ||
|
18c222a7a3 | ||
|
a0a56901a7 | ||
|
efe142b6f8 | ||
|
d75fd9b259 | ||
|
30501b2022 | ||
|
7a4c151469 | ||
|
6888b50fdd | ||
|
8f031528db | ||
|
7ff4641804 | ||
|
ef351b9a0a | ||
|
c79ca1937a | ||
|
f501597cf4 | ||
|
186cc00b18 | ||
|
5eda4f40f5 | ||
|
787f8c79b5 | ||
|
76a66f1ce3 | ||
|
067d61715e | ||
|
1c35a9fcc9 | ||
|
0fc87e3952 | ||
|
12061d7141 | ||
|
a37704ea86 | ||
|
85e743d5b5 | ||
|
7ed69d8fdf | ||
|
f9c974fdae | ||
|
cb717e614e | ||
|
78fca9333a | ||
|
dffe506d38 | ||
|
425b4e06d9 | ||
|
6ec35a3e46 | ||
|
462ad53bc6 | ||
|
29eee92eee | ||
|
c126030bb9 | ||
|
724bd7ac59 | ||
|
802d620935 | ||
|
3a8f50e898 | ||
|
1864ffd1e7 | ||
|
639a2d519a | ||
|
12aacb959f | ||
|
4855435f42 | ||
|
65ff2db79c | ||
|
2e643cd0bb | ||
|
a215674633 | ||
|
72f8fa7978 | ||
|
f6ab1e562c | ||
|
6dc9f23d44 | ||
|
c45051c7dd | ||
|
517db80f16 | ||
|
4ec2a72cd0 | ||
|
193675f0cc | ||
|
ee36ff916d | ||
|
952689a229 | ||
|
e04d9e1c46 | ||
|
355bb83610 | ||
|
09fcd90653 | ||
|
1c047ad316 | ||
|
2f70860e69 | ||
|
7d76e7df83 | ||
|
a3cd69906d | ||
|
db819e936d | ||
|
b1c578af5d | ||
|
d9cf5bcfe5 | ||
|
0583bb6677 | ||
|
032a1ed4bc | ||
|
76d8efc2b5 | ||
|
b2c53cd04a | ||
|
fb3d437320 | ||
|
f20b0353c3 | ||
|
2f181c0cd6 | ||
|
9c4afbe569 | ||
|
bff958e045 | ||
|
2a7c51e510 | ||
|
95e119547d | ||
|
98401dbe4a | ||
|
28967f2625 | ||
|
b683178663 | ||
|
4a83f58a09 | ||
|
76cb288a40 | ||
|
e99fc1b80d | ||
|
cc2785783c | ||
|
c23d860193 | ||
|
90b90089b6 | ||
|
ea8d3189e9 | ||
|
fd684aa548 | ||
|
44d51d382b | ||
|
7904ce1a82 | ||
|
540cfb6b7a | ||
|
fc5c404f63 | ||
|
63e5a9c2dc | ||
|
74236cde45 | ||
|
18834929d5 | ||
|
a0bc107a54 | ||
|
50509c362e | ||
|
4d887ddc29 | ||
|
54ca6e8e67 | ||
|
6619c06630 | ||
|
c5bbd2279f | ||
|
80596d86bf | ||
|
d8208d8519 | ||
|
c0ecfd00c6 | ||
|
1719513c8d | ||
|
7c70ef3b4a | ||
|
7fb1dd1ce6 | ||
|
0404d7aa63 | ||
|
4d3add9df4 | ||
|
500844d53c | ||
|
e0eece0fa3 | ||
|
8d19575fde | ||
|
ebe889e57d | ||
|
bb6182f567 | ||
|
a16ad7833f | ||
|
e15794ea99 | ||
|
ca90fd1686 | ||
|
b177aa936f | ||
|
0cbf308022 | ||
|
1e16025dfd | ||
|
db527ae3f2 | ||
|
b20f3ee398 | ||
|
f8c2d40227 | ||
|
af0361fcc8 | ||
|
9bf11ee8f8 | ||
|
7de26952af | ||
|
d4093f8424 | ||
|
5e51b3254f | ||
|
c5b6e66417 | ||
|
0dd86d978a | ||
|
afab6ab3fd | ||
|
b89a9ba540 | ||
|
df08929b6c | ||
|
eb3cabeeed | ||
|
f9512cea83 | ||
|
48b22a39ac | ||
|
19a2bab266 | ||
|
10c8471031 | ||
|
ce87379b74 | ||
|
232e37df82 | ||
|
3bff6ac6df | ||
|
689f5b4fc6 | ||
|
ee285c6980 | ||
|
b1137dfbad | ||
|
3b7993f867 | ||
|
8030b8ae7a | ||
|
d98202980e | ||
|
8bed02c0f8 | ||
|
2d675f411b | ||
|
73c6afb30e | ||
|
02e86504d5 | ||
|
46636b22d3 | ||
|
aeeb3cd0c9 | ||
|
5942d0bd54 | ||
|
e507a6ce7e | ||
|
ba6b2a2603 | ||
|
c25bdd89a5 | ||
|
7f36f8861d | ||
|
a72a570c1c | ||
|
47d582e0cb | ||
|
d81e4337e3 | ||
|
81c72e3b63 | ||
|
129d2e06d1 | ||
|
5b4c0a8114 | ||
|
aa537b35be | ||
|
c2de15a535 | ||
|
78d496e05f | ||
|
ae241fbea7 | ||
|
0f9980dc9c | ||
|
0a5e76186b | ||
|
7c50b79c17 | ||
|
861e5e3832 | ||
|
5889560690 | ||
|
8543304772 | ||
|
a01b2ec360 | ||
|
3436d9784d | ||
|
d68a6b9b50 | ||
|
ea1d917345 | ||
|
fb43cdd09a | ||
|
879194d050 | ||
|
dd3750cea3 | ||
|
268629fefc | ||
|
a10ee27528 | ||
|
d2a6d1b95e | ||
|
0b3cd04b49 | ||
|
2dd20ad87f | ||
|
8f775107dd | ||
|
4303328c17 | ||
|
d9a557896b | ||
|
fe9c18b3af | ||
|
65387a4a01 | ||
|
7d2cc3413b | ||
|
1efe3d5307 | ||
|
b6aee111c0 | ||
|
6bd4cb987f | ||
|
ce49c45931 | ||
|
a0fa198847 | ||
|
bb68d1188a | ||
|
46d53bdc8a | ||
|
ed237af823 | ||
|
e59746f33b | ||
|
0c3b13c78c | ||
|
97446e9799 | ||
|
afd771333f | ||
|
0a22d30259 | ||
|
3bab08669e | ||
|
f67ca89560 | ||
|
76db189e86 | ||
|
6c6db9189a | ||
|
2632e71f26 | ||
|
9b2c2dc689 | ||
|
ed5d5a23d5 | ||
|
6d1ca092cf | ||
|
78844be942 | ||
|
e14b3ccc2d | ||
|
9497cb13d2 | ||
|
b2db25b5f9 | ||
|
48b73a01e5 | ||
|
96d0c125c7 | ||
|
04f3fa423d | ||
|
fd683091e6 | ||
|
6b00861e79 | ||
|
fc6da0cd2b | ||
|
0f38dd0d59 | ||
|
bdcb524e27 | ||
|
5f7cdf773b | ||
|
189fabfb63 | ||
|
071f1c4a66 | ||
|
473b378936 | ||
|
9844b12c7c | ||
|
ab0f1d9476 | ||
|
24ee0bec69 | ||
|
d6fbbe5d42 | ||
|
ca8017e870 | ||
|
5ffb4e1adc | ||
|
54145db383 | ||
|
f19f203694 | ||
|
640f2a40ca | ||
|
911f4a1daf | ||
|
08e0a65b4b | ||
|
6a87b1fe19 | ||
|
f4f2dfc1dc | ||
|
144e0f1f0c | ||
|
b1dc7b5359 | ||
|
0190466b01 | ||
|
9701cc226a | ||
|
6922abdb87 | ||
|
7ab214b4dd | ||
|
1d3fe4d43e | ||
|
88b7680550 | ||
|
9b12438db8 | ||
|
901e4a3683 | ||
|
a949d4241a | ||
|
74c9cd5fdc | ||
|
8baf54e46a | ||
|
94f623e35a | ||
|
c70b72f47c | ||
|
3bd32b5c18 | ||
|
626cef498c | ||
|
c3bfd0030b | ||
|
b7644cd5b7 | ||
|
2be77074a7 | ||
|
e43f3a99a3 | ||
|
7d36c22e9b | ||
|
f33fadb778 | ||
|
be261a0d0e | ||
|
2d3ce621f8 | ||
|
7c60788f89 | ||
|
7ab6b4b5b3 | ||
|
c25d2ef988 | ||
|
82ab1a5ed7 | ||
|
4f1d353ea9 | ||
|
b4c8fb5c52 | ||
|
9f068cbf39 | ||
|
886f599965 | ||
|
aa01340631 | ||
|
b0c1a8adbf | ||
|
fb9480671b | ||
|
07253b19e2 | ||
|
d4211ef5cd | ||
|
cf6bd34808 | ||
|
ade68c64b7 | ||
|
4a8c743d4a | ||
|
eb85841698 | ||
|
7853ad2d6c | ||
|
5ae9cfa58f | ||
|
0519f10473 | ||
|
2f2b1dd40b | ||
|
47f26fe0fd | ||
|
7807fcf819 | ||
|
2bc5ae4e29 | ||
|
e37b62b075 | ||
|
71dd4939f7 | ||
|
6ad79d5161 | ||
|
32c6bcee5c | ||
|
d2f207ca30 | ||
|
dcd577ab72 | ||
|
52adb8ea36 | ||
|
bb21cbedfb | ||
|
c690969f78 | ||
|
5431a6ea85 | ||
|
49c853c6f8 | ||
|
ea44ce24a0 | ||
|
479b35353e | ||
|
3b641914d3 | ||
|
75c53ae7e1 | ||
|
12b951082e | ||
|
590c747d85 | ||
|
0c5b0f60df | ||
|
882954e521 | ||
|
5253e0e4d1 | ||
|
52d7506d20 | ||
|
93717f776b | ||
|
2596f678be | ||
|
fbe890972c | ||
|
3f9c89b803 | ||
|
530e0b3928 | ||
|
aafa553303 | ||
|
24a9cd2aaa | ||
|
75b34363a7 | ||
|
31dd15bac1 | ||
|
8f2fdce2ec | ||
|
c3b900271e | ||
|
de1d4c47cc | ||
|
b3d294baf4 | ||
|
9ac591afd4 | ||
|
f17825d148 | ||
|
d529060be9 | ||
|
73a844cd12 | ||
|
a6e53d1594 | ||
|
21c9ab0666 | ||
|
f8326c1433 | ||
|
6744fd7073 | ||
|
6ef283c06e | ||
|
9438b931b0 | ||
|
9d877f2dc7 | ||
|
358a0ddfde | ||
|
26beba1012 | ||
|
74269eb182 | ||
|
647f9cb162 | ||
|
d570b6e8e8 | ||
|
1a154082e9 | ||
|
b7673fa24d | ||
|
2727260690 | ||
|
ea87d8492c | ||
|
de78e3c42f | ||
|
c0458ac12e | ||
|
d9da33bcee | ||
|
88097bd35e | ||
|
c0c855301c | ||
|
25288f1ace | ||
|
b8b991a9a9 | ||
|
21836ffac5 | ||
|
dd9c351766 | ||
|
c18d857895 | ||
|
f143c500c6 | ||
|
90d8bffbdc | ||
|
2e5cb4eb1b | ||
|
71cc6e4424 | ||
|
c962419048 | ||
|
2065adcab3 | ||
|
020f2aeef0 | ||
|
c9ca4e7786 | ||
|
0f351756b3 | ||
|
ab9e9cd0c7 | ||
|
b69f36300e | ||
|
b88ad87683 | ||
|
d1b719f1af | ||
|
638bb45a43 | ||
|
3fcf3c5fe4 | ||
|
2c82ed4a5a | ||
|
7627e1b940 | ||
|
d4f2d84e13 | ||
|
fc41fceb81 | ||
|
0a655519e2 | ||
|
eac3113c0f | ||
|
3863a6e2f8 | ||
|
a2610d6836 | ||
|
45438ac2b9 | ||
|
e14d7e5431 | ||
|
fa69f8441b | ||
|
a66c3a8599 | ||
|
b1141c89fb | ||
|
a7cd8f4577 | ||
|
179fd0c3f9 | ||
|
0366749506 | ||
|
fe68f18a06 | ||
|
2fe00d0a61 | ||
|
38217c1393 | ||
|
7fbd5cdea3 | ||
|
a13b5fad79 | ||
|
0377ed9f43 | ||
|
4bc1b1c3ca | ||
|
783dfc3c8d | ||
|
9e9c758c9d | ||
|
e4e33591be | ||
|
e960a33171 | ||
|
c54cb89c22 | ||
|
718f717774 | ||
|
a21d553349 | ||
|
f42abb719d | ||
|
6906fcc9b4 | ||
|
b5a7fa161c | ||
|
08bf7bb505 | ||
|
89fd99c251 | ||
|
bc961d75ac | ||
|
a7d69cd8f2 | ||
|
b2ba34707f | ||
|
9e297cee08 | ||
|
376822d83f | ||
|
41cddf01d4 | ||
|
993bd2296f | ||
|
10fa5a7759 | ||
|
9dc496923a | ||
|
e5e81cf1ad | ||
|
d6d8afc0b6 | ||
|
ab89029804 | ||
|
a0c71b5c87 | ||
|
ca951d2eb5 | ||
|
8c9335a234 | ||
|
404918a82c | ||
|
cb724a2684 | ||
|
9f115f8b85 | ||
|
1de6720488 | ||
|
b2987aeb87 | ||
|
d0618117c3 | ||
|
c80a9cabf1 | ||
|
609c94016f | ||
|
c6582381a7 | ||
|
d263d4ab8a | ||
|
6c7bb3c7cc | ||
|
e63930a88a | ||
|
70517f8791 | ||
|
4deebe6832 | ||
|
ee169d1d56 | ||
|
b3314c4352 | ||
|
09d47a0e85 | ||
|
a9f5a8550f | ||
|
5d36c4fd28 | ||
|
ce9bc02975 | ||
|
ca03a24f24 | ||
|
f862059f10 | ||
|
00b511b2ef | ||
|
72faf7b61d | ||
|
e5b8274b97 | ||
|
6109d4be4e | ||
|
ebe4b2d8ca | ||
|
b8ad2dfdc3 | ||
|
d920c12b6c | ||
|
780732678e | ||
|
985bfdc5ff | ||
|
d92bd22791 | ||
|
8678beae24 | ||
|
09c06686ad | ||
|
dd57b86222 | ||
|
2d69d671af | ||
|
286094848e | ||
|
e44b5422c4 | ||
|
d95b0f8c51 | ||
|
3859ac3409 | ||
|
2689f2476e | ||
|
17bf26a09c | ||
|
cf499a1873 | ||
|
62f0405b73 | ||
|
6d7c266376 | ||
|
38388b3bfd | ||
|
1a33a71673 | ||
|
4cf2b7e8c2 | ||
|
4dd9fb616a | ||
|
df8c9dc96f | ||
|
07b3a045a3 | ||
|
d0f4c79581 | ||
|
d3e0096774 | ||
|
c3824ae9f6 | ||
|
f142facc47 | ||
|
a2771cdc90 | ||
|
2e8c972634 | ||
|
5e7a4df2e7 | ||
|
55ed591b65 | ||
|
423fa711b8 | ||
|
b17c015e6b | ||
|
748c2d459b | ||
|
c1a363ad5f | ||
|
c25dc4ce23 | ||
|
fa6c04dd56 | ||
|
ad7cd9cebe |
42
.gitignore
vendored
42
.gitignore
vendored
@ -1,10 +1,42 @@
|
||||
*.a
|
||||
*.core
|
||||
*.o
|
||||
*.orig
|
||||
*.rej
|
||||
*.la
|
||||
*.lo
|
||||
|
||||
# gcc dependency files
|
||||
*.d
|
||||
|
||||
# Shared objects (inc. Windows DLLs)
|
||||
*.dll
|
||||
*.so
|
||||
*.sw[nop]
|
||||
*.so.*
|
||||
*.dylib
|
||||
|
||||
# Executables
|
||||
*.exe
|
||||
*.out
|
||||
*.app
|
||||
*.i*86
|
||||
*.x86_64
|
||||
*.hex
|
||||
|
||||
# Debug files
|
||||
*.dSYM/
|
||||
|
||||
# Vc++ build files
|
||||
*tlog
|
||||
Debug/
|
||||
ipch/
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.suo
|
||||
*.user
|
||||
*.idb
|
||||
*.pdb
|
||||
*.exp
|
||||
*.ilk
|
||||
.vs/
|
||||
|
||||
# ignore emacs backup saves
|
||||
*~
|
||||
_.tinderbox.*
|
||||
_.universe-toolchain
|
||||
|
@ -8,7 +8,12 @@ how to build different parts of the project, etc. The
|
||||
[developer's handbook](https://docs.freebsd.org/en/books/developers-handbook/)
|
||||
is another useful resource.
|
||||
|
||||
## GitHub Pull Requests
|
||||
* libpcap version (e.g. from `tcpdump --version`)
|
||||
* operating system name and version and any other details that may be relevant
|
||||
(`uname -a`, compiler name and version, CPU type etc.)
|
||||
* `configure` or `cmake` flags if any were used
|
||||
* statement of the problem
|
||||
* steps to reproduce
|
||||
|
||||
Presently, GitHub 'freebsd-src' repository is one of the publish-only services
|
||||
for the FreeBSD 'src' repository the project uses to promote collaboration and
|
||||
|
941
Makefile
941
Makefile
@ -1,67 +1,280 @@
|
||||
# Make and install tzdb code and data.
|
||||
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
# Package name for the code distribution.
|
||||
PACKAGE= tzcode
|
||||
|
||||
# Version number for the distribution, overridden in the 'tarballs' rule below.
|
||||
VERSION= unknown
|
||||
|
||||
# Email address for bug reports.
|
||||
BUGEMAIL= tz@iana.org
|
||||
|
||||
# DATAFORM selects the data format.
|
||||
# Available formats represent essentially the same data, albeit
|
||||
# possibly with minor discrepancies that users are not likely to notice.
|
||||
# To get new features and the best data right away, use:
|
||||
# DATAFORM= vanguard
|
||||
# To wait a while before using new features, to give downstream users
|
||||
# time to upgrade zic (the default), use:
|
||||
# DATAFORM= main
|
||||
# To wait even longer for new features, use:
|
||||
# DATAFORM= rearguard
|
||||
# Rearguard users might also want "ZFLAGS = -b fat"; see below.
|
||||
DATAFORM= main
|
||||
|
||||
# Change the line below for your timezone (after finding the one you want in
|
||||
# one of the $(TDATA) source files, or adding it to a source file).
|
||||
# Alternatively, if you discover you've got the wrong timezone, you can just
|
||||
# 'zic -l -' to remove it, or 'zic -l rightzone' to change it.
|
||||
# Use the command
|
||||
# make zonenames
|
||||
# to get a list of the values you can use for LOCALTIME.
|
||||
|
||||
LOCALTIME= Factory
|
||||
|
||||
# The POSIXRULES macro controls interpretation of POSIX-like TZ
|
||||
# settings like TZ='EET-2EEST' that lack DST transition rules.
|
||||
# If POSIXRULES is '-', no template is installed; this is the default.
|
||||
# Any other value for POSIXRULES is obsolete and should not be relied on, as:
|
||||
# * It does not work correctly in popular implementations such as GNU/Linux.
|
||||
# * It does not work even in tzcode, except for historical timestamps
|
||||
# that precede the last explicit transition in the POSIXRULES file.
|
||||
# Hence it typically does not work for current and future timestamps.
|
||||
# If, despite the above, you want a template for handling these settings,
|
||||
# you can change the line below (after finding the timezone you want in the
|
||||
# one of the $(TDATA) source files, or adding it to a source file).
|
||||
# Alternatively, if you discover you've got the wrong timezone, you can just
|
||||
# 'zic -p -' to remove it, or 'zic -p rightzone' to change it.
|
||||
# Use the command
|
||||
# make zonenames
|
||||
# to get a list of the values you can use for POSIXRULES.
|
||||
|
||||
POSIXRULES= -
|
||||
|
||||
# Also see TZDEFRULESTRING below, which takes effect only
|
||||
# if POSIXRULES is '-' or if the template file cannot be accessed.
|
||||
|
||||
|
||||
# Installation locations.
|
||||
#
|
||||
# $FreeBSD$
|
||||
# The defaults are suitable for Debian, except that if REDO is
|
||||
# posix_right or right_posix then files that Debian puts under
|
||||
# /usr/share/zoneinfo/posix and /usr/share/zoneinfo/right are instead
|
||||
# put under /usr/share/zoneinfo-posix and /usr/share/zoneinfo-leaps,
|
||||
# respectively. Problems with the Debian approach are discussed in
|
||||
# the commentary for the right_posix rule (below).
|
||||
|
||||
# Destination directory, which can be used for staging.
|
||||
# 'make DESTDIR=/stage install' installs under /stage (e.g., to
|
||||
# /stage/etc/localtime instead of to /etc/localtime). Files under
|
||||
# /stage are not intended to work as-is, but can be copied by hand to
|
||||
# the root directory later. If DESTDIR is empty, 'make install' does
|
||||
# not stage, but installs directly into production locations.
|
||||
DESTDIR =
|
||||
|
||||
# Everything is installed into subdirectories of TOPDIR, and used there.
|
||||
# TOPDIR should be empty (meaning the root directory),
|
||||
# or a directory name that does not end in "/".
|
||||
# TOPDIR should be empty or an absolute name unless you're just testing.
|
||||
TOPDIR =
|
||||
|
||||
# The default local timezone is taken from the file TZDEFAULT.
|
||||
TZDEFAULT = $(TOPDIR)/etc/localtime
|
||||
|
||||
# The subdirectory containing installed program and data files, and
|
||||
# likewise for installed files that can be shared among architectures.
|
||||
# These should be relative file names.
|
||||
USRDIR = usr
|
||||
USRSHAREDIR = $(USRDIR)/share
|
||||
|
||||
# "Compiled" timezone information is placed in the "TZDIR" directory
|
||||
# (and subdirectories).
|
||||
# TZDIR_BASENAME should not contain "/" and should not be ".", ".." or empty.
|
||||
TZDIR_BASENAME= zoneinfo
|
||||
TZDIR = $(TOPDIR)/$(USRSHAREDIR)/$(TZDIR_BASENAME)
|
||||
|
||||
# The "tzselect" and (if you do "make INSTALL") "date" commands go in:
|
||||
BINDIR = $(TOPDIR)/$(USRDIR)/bin
|
||||
|
||||
# The "zdump" command goes in:
|
||||
ZDUMPDIR = $(BINDIR)
|
||||
|
||||
# The "zic" command goes in:
|
||||
ZICDIR = $(TOPDIR)/$(USRDIR)/sbin
|
||||
|
||||
# Manual pages go in subdirectories of. . .
|
||||
MANDIR = $(TOPDIR)/$(USRSHAREDIR)/man
|
||||
|
||||
# Library functions are put in an archive in LIBDIR.
|
||||
LIBDIR = $(TOPDIR)/$(USRDIR)/lib
|
||||
|
||||
|
||||
# Types to try, as an alternative to time_t.
|
||||
TIME_T_ALTERNATIVES = $(TIME_T_ALTERNATIVES_HEAD) $(TIME_T_ALTERNATIVES_TAIL)
|
||||
TIME_T_ALTERNATIVES_HEAD = int_least64_t
|
||||
TIME_T_ALTERNATIVES_TAIL = int_least32_t uint_least32_t uint_least64_t
|
||||
|
||||
# What kind of TZif data files to generate. (TZif is the binary time
|
||||
# zone data format that zic generates; see Internet RFC 8536.)
|
||||
# If you want only POSIX time, with time values interpreted as
|
||||
# seconds since the epoch (not counting leap seconds), use
|
||||
# REDO= posix_only
|
||||
# below. If you want only "right" time, with values interpreted
|
||||
# as seconds since the epoch (counting leap seconds), use
|
||||
# REDO= right_only
|
||||
# below. If you want both sets of data available, with leap seconds not
|
||||
# counted normally, use
|
||||
# REDO= posix_right
|
||||
# below. If you want both sets of data available, with leap seconds counted
|
||||
# normally, use
|
||||
# REDO= right_posix
|
||||
# below. POSIX mandates that leap seconds not be counted; for compatibility
|
||||
# with it, use "posix_only" or "posix_right". Use POSIX time on systems with
|
||||
# leap smearing; this can work better than unsmeared "right" time with
|
||||
# applications that are not leap second aware, and is closer to unsmeared
|
||||
# "right" time than unsmeared POSIX time is (e.g., 0.5 vs 1.0 s max error).
|
||||
|
||||
REDO= posix_right
|
||||
|
||||
# Whether to put an "Expires" line in the leapseconds file.
|
||||
# Use EXPIRES_LINE=1 to put the line in, 0 to omit it.
|
||||
# The EXPIRES_LINE value matters only if REDO's value contains "right".
|
||||
# If you change EXPIRES_LINE, remove the leapseconds file before running "make".
|
||||
# zic's support for the Expires line was introduced in tzdb 2020a,
|
||||
# and was modified in tzdb 2021b to generate version 4 TZif files.
|
||||
# EXPIRES_LINE defaults to 0 for now so that the leapseconds file
|
||||
# can be given to pre-2020a zic implementations and so that TZif files
|
||||
# built by newer zic implementations can be read by pre-2021b libraries.
|
||||
EXPIRES_LINE= 0
|
||||
|
||||
# To install data in text form that has all the information of the TZif data,
|
||||
# (optionally incorporating leap second information), use
|
||||
# TZDATA_TEXT= tzdata.zi leapseconds
|
||||
# To install text data without leap second information (e.g., because
|
||||
# REDO='posix_only'), use
|
||||
# TZDATA_TEXT= tzdata.zi
|
||||
# To avoid installing text data, use
|
||||
# TZDATA_TEXT=
|
||||
|
||||
TZDATA_TEXT= leapseconds tzdata.zi
|
||||
|
||||
# For backward-compatibility links for old zone names, use
|
||||
# BACKWARD= backward
|
||||
# To omit these links, use
|
||||
# BACKWARD=
|
||||
|
||||
BACKWARD= backward
|
||||
|
||||
# If you want out-of-scope and often-wrong data from the file 'backzone',
|
||||
# but only for entries listed in the backward-compatibility file zone.tab, use
|
||||
# PACKRATDATA= backzone
|
||||
# PACKRATLIST= zone.tab
|
||||
# If you want all the 'backzone' data, use
|
||||
# PACKRATDATA= backzone
|
||||
# PACKRATLIST=
|
||||
# To omit this data, use
|
||||
# PACKRATDATA=
|
||||
# PACKRATLIST=
|
||||
|
||||
PACKRATDATA=
|
||||
PACKRATLIST=
|
||||
|
||||
# The name of a locale using the UTF-8 encoding, used during self-tests.
|
||||
# The tests are skipped if the name does not appear to work on this system.
|
||||
|
||||
UTF8_LOCALE= en_US.utf8
|
||||
|
||||
# Non-default libraries needed to link.
|
||||
# On some hosts, this should have -lintl unless CFLAGS has -DHAVE_GETTEXT=0.
|
||||
LDLIBS=
|
||||
|
||||
# Add the following to the end of the "CFLAGS=" line as needed to override
|
||||
# defaults specified in the source code. "-DFOO" is equivalent to "-DFOO=1".
|
||||
# -DDEPRECATE_TWO_DIGIT_YEARS for optional runtime warnings about strftime
|
||||
# formats that generate only the last two digits of year numbers
|
||||
# -DEPOCH_LOCAL if the 'time' function returns local time not UT
|
||||
# -DEPOCH_OFFSET=N if the 'time' function returns a value N greater
|
||||
# than what POSIX specifies, assuming local time is UT.
|
||||
# For example, N is 252460800 on AmigaOS.
|
||||
# -DHAVE_DECL_ASCTIME_R=0 if <time.h> does not declare asctime_r
|
||||
# -DHAVE_DECL_ENVIRON if <unistd.h> declares 'environ'
|
||||
# -DHAVE_DECL_TIMEGM=0 if <time.h> does not declare timegm
|
||||
# -DHAVE_DIRECT_H if mkdir needs <direct.h> (MS-Windows)
|
||||
# -DHAVE__GENERIC=0 if _Generic does not work*
|
||||
# -DHAVE_GETRANDOM if getrandom works (e.g., GNU/Linux),
|
||||
# -DHAVE_GETRANDOM=0 to avoid using getrandom
|
||||
# -DHAVE_GETTEXT if gettext works (e.g., GNU/Linux, FreeBSD, Solaris),
|
||||
# where LDLIBS also needs to contain -lintl on some hosts;
|
||||
# -DHAVE_GETTEXT=0 to avoid using gettext
|
||||
# -DHAVE_INCOMPATIBLE_CTIME_R if your system's time.h declares
|
||||
# ctime_r and asctime_r incompatibly with the POSIX standard
|
||||
# (Solaris when _POSIX_PTHREAD_SEMANTICS is not defined).
|
||||
# -DHAVE_INTTYPES_H=0 if <inttypes.h> does not work*+
|
||||
# -DHAVE_LINK=0 if your system lacks a link function
|
||||
# -DHAVE_LOCALTIME_R=0 if your system lacks a localtime_r function
|
||||
# -DHAVE_LOCALTIME_RZ=0 if you do not want zdump to use localtime_rz
|
||||
# localtime_rz can make zdump significantly faster, but is nonstandard.
|
||||
# -DHAVE_MALLOC_ERRNO=0 if malloc etc. do not set errno on failure.
|
||||
# -DHAVE_POSIX_DECLS=0 if your system's include files do not declare
|
||||
# functions like 'link' or variables like 'tzname' required by POSIX
|
||||
# -DHAVE_SETENV=0 if your system lacks the setenv function
|
||||
# -DHAVE_SNPRINTF=0 if your system lacks the snprintf function+
|
||||
# -DHAVE_STDCKDINT_H=0 if neither <stdckdint.h> nor substitutes like
|
||||
# __builtin_add_overflow work*
|
||||
# -DHAVE_STDINT_H=0 if <stdint.h> does not work*+
|
||||
# -DHAVE_STRFTIME_L if <time.h> declares locale_t and strftime_l
|
||||
# -DHAVE_STRDUP=0 if your system lacks the strdup function
|
||||
# -DHAVE_STRTOLL=0 if your system lacks the strtoll function+
|
||||
# -DHAVE_SYMLINK=0 if your system lacks the symlink function
|
||||
# -DHAVE_SYS_STAT_H=0 if <sys/stat.h> does not work*
|
||||
# -DHAVE_TZSET=0 if your system lacks a tzset function
|
||||
# -DHAVE_UNISTD_H=0 if <unistd.h> does not work*
|
||||
# -DHAVE_UTMPX_H=0 if <utmpx.h> does not work*
|
||||
# -Dlocale_t=XXX if your system uses XXX instead of locale_t
|
||||
# -DPORT_TO_C89 if tzcode should also run on C89 platforms+
|
||||
# -DRESERVE_STD_EXT_IDS if your platform reserves standard identifiers
|
||||
# with external linkage, e.g., applications cannot define 'localtime'.
|
||||
# -Dssize_t=long on hosts like MS-Windows that lack ssize_t
|
||||
# -DSUPPORT_C89 if the tzcode library should support C89 callers+
|
||||
# -DSUPPRESS_TZDIR to not prepend TZDIR to file names; this has
|
||||
# security implications and is not recommended for general use
|
||||
# -DTHREAD_SAFE to make localtime.c thread-safe, as POSIX requires;
|
||||
# not needed by the main-program tz code, which is single-threaded.
|
||||
# Append other compiler flags as needed, e.g., -pthread on GNU/Linux.
|
||||
# -Dtime_tz=\"T\" to use T as the time_t type, rather than the system time_t
|
||||
# This is intended for internal use only; it mangles external names.
|
||||
# -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz"
|
||||
# -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory;
|
||||
# the default is system-supplied, typically "/usr/lib/locale"
|
||||
# -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified
|
||||
# DST transitions for POSIX-style TZ strings lacking them,
|
||||
# in the usual case where POSIXRULES is '-'. If not specified,
|
||||
# TZDEFRULESTRING defaults to US rules for future DST transitions.
|
||||
# This mishandles some past timestamps, as US DST rules have changed.
|
||||
# It also mishandles settings like TZ='EET-2EEST' for eastern Europe,
|
||||
# as Europe and US DST rules differ.
|
||||
# -DTZNAME_MAXIMUM=N to limit time zone abbreviations to N bytes (default 255)
|
||||
# -DUNINIT_TRAP if reading uninitialized storage can cause problems
|
||||
# other than simply getting garbage data
|
||||
# -DUSE_LTZ=0 to build zdump with the system time zone library
|
||||
# Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below.
|
||||
# -DZIC_BLOAT_DEFAULT=\"fat\" to default zic's -b option to "fat", and
|
||||
# similarly for "slim". Fat TZif files work around incompatibilities
|
||||
# and bugs in some TZif readers, notably older ones that
|
||||
# ignore or otherwise mishandle 64-bit data in TZif files;
|
||||
# however, fat TZif files may trigger bugs in newer TZif readers.
|
||||
# Slim TZif files are more efficient, and are the default.
|
||||
# -DZIC_MAX_ABBR_LEN_WO_WARN=3
|
||||
# (or some other number) to set the maximum time zone abbreviation length
|
||||
# that zic will accept without a warning (the default is 6)
|
||||
# $(GCC_DEBUG_FLAGS) if you are using recent GCC and want lots of checking
|
||||
#
|
||||
# The common user-driven targets are (for a complete list, see build(7)):
|
||||
#
|
||||
# universe - *Really* build *everything* (buildworld and
|
||||
# all kernels on all architectures). Define
|
||||
# MAKE_JUST_KERNELS or WITHOUT_WORLDS to only build kernels,
|
||||
# MAKE_JUST_WORLDS or WITHOUT_KERNELS to only build userland.
|
||||
# tinderbox - Same as universe, but presents a list of failed build
|
||||
# targets and exits with an error if there were any.
|
||||
# worlds - Same as universe, except just makes the worlds.
|
||||
# kernels - Same as universe, except just makes the kernels.
|
||||
# buildworld - Rebuild *everything*, including glue to help do
|
||||
# upgrades.
|
||||
# installworld - Install everything built by "buildworld".
|
||||
# world - buildworld + installworld, no kernel.
|
||||
# buildkernel - Rebuild the kernel and the kernel-modules.
|
||||
# installkernel - Install the kernel and the kernel-modules.
|
||||
# installkernel.debug
|
||||
# reinstallkernel - Reinstall the kernel and the kernel-modules.
|
||||
# reinstallkernel.debug
|
||||
# kernel - buildkernel + installkernel.
|
||||
# kernel-toolchain - Builds the subset of world necessary to build a kernel
|
||||
# kernel-toolchains - Build kernel-toolchain for all universe targets.
|
||||
# doxygen - Build API documentation of the kernel, needs doxygen.
|
||||
# checkworld - Run test suite on installed world.
|
||||
# check-old - List obsolete directories/files/libraries.
|
||||
# check-old-dirs - List obsolete directories.
|
||||
# check-old-files - List obsolete files.
|
||||
# check-old-libs - List obsolete libraries.
|
||||
# delete-old - Delete obsolete directories/files.
|
||||
# delete-old-dirs - Delete obsolete directories.
|
||||
# delete-old-files - Delete obsolete files.
|
||||
# delete-old-libs - Delete obsolete libraries.
|
||||
# list-old-dirs - Raw list of possibly obsolete directories.
|
||||
# list-old-files - Raw list of possibly obsolete files.
|
||||
# list-old-libs - Raw list of possibly obsolete libraries.
|
||||
# targets - Print a list of supported TARGET/TARGET_ARCH pairs
|
||||
# for world and kernel targets.
|
||||
# toolchains - Build a toolchain for all world and kernel targets.
|
||||
# makeman - Regenerate src.conf(5)
|
||||
# sysent - (Re)build syscall entries from syscalls.master.
|
||||
# xdev - xdev-build + xdev-install for the architecture
|
||||
# specified with TARGET and TARGET_ARCH.
|
||||
# xdev-build - Build cross-development tools.
|
||||
# xdev-install - Install cross-development tools.
|
||||
# xdev-links - Create traditional links in /usr/bin for cc, etc
|
||||
# native-xtools - Create host binaries that produce target objects
|
||||
# for use in qemu user-mode jails. TARGET and
|
||||
# TARGET_ARCH should be defined.
|
||||
# native-xtools-install
|
||||
# - Install the files to the given DESTDIR/NXTP where
|
||||
# NXTP defaults to /nxb-bin.
|
||||
#
|
||||
# This makefile is simple by design. The FreeBSD make automatically reads
|
||||
# the /usr/share/mk/sys.mk unless the -m argument is specified on the
|
||||
# command line. By keeping this makefile simple, it doesn't matter too
|
||||
# much how different the installed mk files are from those in the source
|
||||
# tree. This makefile executes a child make process, forcing it to use
|
||||
# the mk files from the source tree which are supposed to DTRT.
|
||||
#
|
||||
# Most of the user-driven targets (as listed above) are implemented in
|
||||
# Makefile.inc1. The exceptions are universe, tinderbox and targets.
|
||||
# * Options marked "*" can be omitted if your compiler is C23 compatible.
|
||||
# * Options marked "+" are obsolescent and are planned to be removed
|
||||
# once the code assumes C99 or later.
|
||||
#
|
||||
# If you want to build your system from source, be sure that /usr/obj has
|
||||
# at least 6 GB of disk space available. A complete 'universe' build of
|
||||
@ -78,18 +291,16 @@
|
||||
# For individuals wanting to upgrade their sources (even if only a
|
||||
# delta of a few days):
|
||||
#
|
||||
# 1. `cd /usr/src' (or to the directory containing your source tree).
|
||||
# 2. `make buildworld'
|
||||
# 3. `make buildkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
|
||||
# 4. `make installkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
|
||||
# [steps 3. & 4. can be combined by using the "kernel" target]
|
||||
# 5. `reboot' (in single user mode: boot -s from the loader prompt).
|
||||
# 6. `etcupdate -p'
|
||||
# 7. `make installworld'
|
||||
# 8. `etcupdate -B'
|
||||
# 9. `make delete-old'
|
||||
# 10. `reboot'
|
||||
# 11. `make delete-old-libs' (in case no 3rd party program uses them anymore)
|
||||
# If you don't want functions that were inspired by NetBSD, add
|
||||
# -DNETBSD_INSPIRED=0
|
||||
# to the end of the "CFLAGS=" line. Otherwise, the functions
|
||||
# "localtime_rz", "mktime_z", "tzalloc", and "tzfree" are added to the
|
||||
# time library, and if STD_INSPIRED is also defined to nonzero the functions
|
||||
# "posix2time_z" and "time2posix_z" are added as well.
|
||||
# The functions ending in "_z" (or "_rz") are like their unsuffixed
|
||||
# (or suffixed-by-"_r") counterparts, except with an extra first
|
||||
# argument of opaque type timezone_t that specifies the timezone.
|
||||
# "tzalloc" allocates a timezone_t value, and "tzfree" frees it.
|
||||
#
|
||||
# For individuals wanting to build from source with GCC from ports, first
|
||||
# install the appropriate GCC cross toolchain package:
|
||||
@ -99,24 +310,570 @@
|
||||
# CROSS_TOOLCHAIN=${TARGET_ARCH}-gccN while building with the above steps,
|
||||
# e.g., `make buildworld CROSS_TOOLCHAIN=amd64-gcc6`.
|
||||
#
|
||||
# The ${TARGET_ARCH}-gccN packages are provided as flavors of the
|
||||
# devel/freebsd-gccN ports.
|
||||
#
|
||||
# See src/UPDATING `COMMON ITEMS' for more complete information.
|
||||
#
|
||||
# If TARGET=machine (e.g. powerpc, arm64, ...) is specified you can
|
||||
# cross build world for other machine types using the buildworld target,
|
||||
# and once the world is built you can cross build a kernel using the
|
||||
# buildkernel target.
|
||||
#
|
||||
# Define the user-driven targets. These are listed here in alphabetical
|
||||
# order, but that's not important.
|
||||
#
|
||||
# Targets that begin with underscore are internal targets intended for
|
||||
# developer convenience only. They are intentionally not documented and
|
||||
# completely subject to change without notice.
|
||||
#
|
||||
# For more information, see the build(7) manual page.
|
||||
# If you want strict compliance with XPG4 as of 1994-04-09, add
|
||||
# -DXPG4_1994_04_09
|
||||
# to the end of the "CFLAGS=" line. This causes "strftime" to always return
|
||||
# 53 as a week number (rather than 52 or 53) for January days before
|
||||
# January's first Monday when a "%V" format is used and January 1
|
||||
# falls on a Friday, Saturday, or Sunday.
|
||||
|
||||
CFLAGS=
|
||||
|
||||
# Linker flags. Default to $(LFLAGS) for backwards compatibility
|
||||
# to release 2012h and earlier.
|
||||
|
||||
LDFLAGS= $(LFLAGS)
|
||||
|
||||
# For leap seconds, this Makefile uses LEAPSECONDS='-L leapseconds' in
|
||||
# submake command lines. The default is no leap seconds.
|
||||
|
||||
LEAPSECONDS=
|
||||
|
||||
# The zic command and its arguments.
|
||||
|
||||
zic= ./zic
|
||||
ZIC= $(zic) $(ZFLAGS)
|
||||
|
||||
# To shrink the size of installed TZif files,
|
||||
# append "-r @N" to omit data before N-seconds-after-the-Epoch.
|
||||
# To grow the files and work around bugs in older applications,
|
||||
# possibly at the expense of introducing bugs in newer ones,
|
||||
# append "-b fat"; see ZIC_BLOAT_DEFAULT above.
|
||||
# See the zic man page for more about -b and -r.
|
||||
ZFLAGS=
|
||||
|
||||
# How to use zic to install TZif files.
|
||||
|
||||
ZIC_INSTALL= $(ZIC) -d '$(DESTDIR)$(TZDIR)' $(LEAPSECONDS)
|
||||
|
||||
# The name of a Posix-compliant 'awk' on your system.
|
||||
# mawk 1.3.3 and Solaris 10 /usr/bin/awk do not work.
|
||||
# Also, it is better (though not essential) if 'awk' supports UTF-8,
|
||||
# and unfortunately mawk and busybox awk do not support UTF-8.
|
||||
# Try AWK=gawk or AWK=nawk if your awk has the abovementioned problems.
|
||||
AWK= awk
|
||||
|
||||
# The full path name of a Posix-compliant shell, preferably one that supports
|
||||
# the Korn shell's 'select' statement as an extension.
|
||||
# These days, Bash is the most popular.
|
||||
# It should be OK to set this to /bin/sh, on platforms where /bin/sh
|
||||
# lacks 'select' or doesn't completely conform to Posix, but /bin/bash
|
||||
# is typically nicer if it works.
|
||||
KSHELL= /bin/bash
|
||||
|
||||
# Name of curl <https://curl.haxx.se/>, used for HTML validation.
|
||||
CURL= curl
|
||||
|
||||
# Name of GNU Privacy Guard <https://gnupg.org/>, used to sign distributions.
|
||||
GPG= gpg
|
||||
|
||||
# This expensive test requires USE_LTZ.
|
||||
# To suppress it, define this macro to be empty.
|
||||
CHECK_TIME_T_ALTERNATIVES = check_time_t_alternatives
|
||||
|
||||
# SAFE_CHAR is a regular expression that matches a safe character.
|
||||
# Some parts of this distribution are limited to safe characters;
|
||||
# others can use any UTF-8 character.
|
||||
# For now, the safe characters are a safe subset of ASCII.
|
||||
# The caller must set the shell variable 'sharp' to the character '#',
|
||||
# since Makefile macros cannot contain '#'.
|
||||
# TAB_CHAR is a single tab character, in single quotes.
|
||||
TAB_CHAR= ' '
|
||||
SAFE_CHARSET1= $(TAB_CHAR)' !\"'$$sharp'$$%&'\''()*+,./0123456789:;<=>?@'
|
||||
SAFE_CHARSET2= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\^_`'
|
||||
SAFE_CHARSET3= 'abcdefghijklmnopqrstuvwxyz{|}~'
|
||||
SAFE_CHARSET= $(SAFE_CHARSET1)$(SAFE_CHARSET2)$(SAFE_CHARSET3)
|
||||
SAFE_CHAR= '[]'$(SAFE_CHARSET)'-]'
|
||||
|
||||
# These non-alphabetic, non-ASCII printable characters are Latin-1,
|
||||
# and so are likely displayable even in editors like XEmacs 21
|
||||
# that have limited display capabilities.
|
||||
UNUSUAL_OK_LATIN_1 = ¡¢£¤¥¦§¨©«¬®¯°±²³´¶·¸¹»¼½¾¿×÷
|
||||
# Non-ASCII non-letters that OK_CHAR allows, as these characters are
|
||||
# useful in commentary.
|
||||
UNUSUAL_OK_CHARSET= $(UNUSUAL_OK_LATIN_1)
|
||||
|
||||
# Put this in a bracket expression to match spaces.
|
||||
s = [:space:]
|
||||
|
||||
# OK_CHAR matches any character allowed in the distributed files.
|
||||
# This is the same as SAFE_CHAR, except that UNUSUAL_OK_CHARSET and
|
||||
# multibyte letters are also allowed so that commentary can contain a
|
||||
# few safe symbols and people's names and can quote non-English sources.
|
||||
# Other non-letters are limited to ASCII renderings for the
|
||||
# convenience of maintainers using XEmacs 21.5.34, which by default
|
||||
# mishandles Unicode characters U+0100 and greater.
|
||||
OK_CHAR= '[][:alpha:]$(UNUSUAL_OK_CHARSET)'$(SAFE_CHARSET)'-]'
|
||||
|
||||
# SAFE_LINE matches a line of safe characters.
|
||||
# SAFE_SHARP_LINE is similar, except any OK character can follow '#';
|
||||
# this is so that comments can contain non-ASCII characters.
|
||||
# OK_LINE matches a line of OK characters.
|
||||
SAFE_LINE= '^'$(SAFE_CHAR)'*$$'
|
||||
SAFE_SHARP_LINE='^'$(SAFE_CHAR)'*('$$sharp$(OK_CHAR)'*)?$$'
|
||||
OK_LINE= '^'$(OK_CHAR)'*$$'
|
||||
|
||||
# Flags to give 'tar' when making a distribution.
|
||||
# Try to use flags appropriate for GNU tar.
|
||||
GNUTARFLAGS= --format=pax --pax-option='delete=atime,delete=ctime' \
|
||||
--numeric-owner --owner=0 --group=0 \
|
||||
--mode=go+u,go-w --sort=name
|
||||
TARFLAGS= `if tar $(GNUTARFLAGS) --version >/dev/null 2>&1; \
|
||||
then echo $(GNUTARFLAGS); \
|
||||
else :; \
|
||||
fi`
|
||||
|
||||
# Flags to give 'gzip' when making a distribution.
|
||||
GZIPFLAGS= -9n
|
||||
|
||||
# When comparing .tzs files, use GNU diff's -F'^TZ=' option if supported.
|
||||
# This makes it easier to see which Zone has been affected.
|
||||
DIFF_TZS= diff -u$$(! diff -u -F'^TZ=' - - <>/dev/null >&0 2>&1 \
|
||||
|| echo ' -F^TZ=')
|
||||
|
||||
###############################################################################
|
||||
|
||||
#MAKE= make
|
||||
|
||||
cc= cc
|
||||
CC= $(cc) -DTZDIR='"$(TZDIR)"'
|
||||
|
||||
AR= ar
|
||||
|
||||
# ':' on typical hosts; 'ranlib' on the ancient hosts that still need ranlib.
|
||||
RANLIB= :
|
||||
|
||||
TZCOBJS= zic.o
|
||||
TZDOBJS= zdump.o localtime.o asctime.o strftime.o
|
||||
DATEOBJS= date.o localtime.o strftime.o asctime.o
|
||||
LIBSRCS= localtime.c asctime.c difftime.c strftime.c
|
||||
LIBOBJS= localtime.o asctime.o difftime.o strftime.o
|
||||
HEADERS= tzfile.h private.h
|
||||
NONLIBSRCS= zic.c zdump.c
|
||||
NEWUCBSRCS= date.c
|
||||
SOURCES= $(HEADERS) $(LIBSRCS) $(NONLIBSRCS) $(NEWUCBSRCS) \
|
||||
tzselect.ksh workman.sh
|
||||
MANS= newctime.3 newstrftime.3 newtzset.3 time2posix.3 \
|
||||
tzfile.5 tzselect.8 zic.8 zdump.8
|
||||
MANTXTS= newctime.3.txt newstrftime.3.txt newtzset.3.txt \
|
||||
time2posix.3.txt \
|
||||
tzfile.5.txt tzselect.8.txt zic.8.txt zdump.8.txt \
|
||||
date.1.txt
|
||||
COMMON= calendars CONTRIBUTING LICENSE Makefile \
|
||||
NEWS README SECURITY theory.html version
|
||||
WEB_PAGES= tz-art.html tz-how-to.html tz-link.html
|
||||
CHECK_WEB_PAGES=check_theory.html check_tz-art.html \
|
||||
check_tz-how-to.html check_tz-link.html
|
||||
DOCS= $(MANS) date.1 $(MANTXTS) $(WEB_PAGES)
|
||||
PRIMARY_YDATA= africa antarctica asia australasia \
|
||||
europe northamerica southamerica
|
||||
YDATA= $(PRIMARY_YDATA) etcetera
|
||||
NDATA= factory
|
||||
TDATA_TO_CHECK= $(YDATA) $(NDATA) backward
|
||||
TDATA= $(YDATA) $(NDATA) $(BACKWARD)
|
||||
ZONETABLES= zone1970.tab zone.tab
|
||||
TABDATA= iso3166.tab $(TZDATA_TEXT) $(ZONETABLES)
|
||||
LEAP_DEPS= leapseconds.awk leap-seconds.list
|
||||
TZDATA_ZI_DEPS= ziguard.awk zishrink.awk version $(TDATA) \
|
||||
$(PACKRATDATA) $(PACKRATLIST)
|
||||
DSTDATA_ZI_DEPS= ziguard.awk $(TDATA) $(PACKRATDATA) $(PACKRATLIST)
|
||||
DATA= $(TDATA_TO_CHECK) backzone iso3166.tab leap-seconds.list \
|
||||
leapseconds $(ZONETABLES)
|
||||
AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk \
|
||||
ziguard.awk zishrink.awk
|
||||
MISC= $(AWK_SCRIPTS)
|
||||
TZS_YEAR= 2050
|
||||
TZS_CUTOFF_FLAG= -c $(TZS_YEAR)
|
||||
TZS= to$(TZS_YEAR).tzs
|
||||
TZS_NEW= to$(TZS_YEAR)new.tzs
|
||||
TZS_DEPS= $(YDATA) asctime.c localtime.c \
|
||||
private.h tzfile.h zdump.c zic.c
|
||||
TZDATA_DIST = $(COMMON) $(DATA) $(MISC)
|
||||
# EIGHT_YARDS is just a yard short of the whole ENCHILADA.
|
||||
EIGHT_YARDS = $(TZDATA_DIST) $(DOCS) $(SOURCES) tzdata.zi
|
||||
ENCHILADA = $(EIGHT_YARDS) $(TZS)
|
||||
|
||||
# Consult these files when deciding whether to rebuild the 'version' file.
|
||||
# This list is not the same as the output of 'git ls-files', since
|
||||
# .gitignore is not distributed.
|
||||
VERSION_DEPS= \
|
||||
calendars CONTRIBUTING LICENSE Makefile NEWS README SECURITY \
|
||||
africa antarctica asctime.c asia australasia \
|
||||
backward backzone \
|
||||
checklinks.awk checktab.awk \
|
||||
date.1 date.c difftime.c \
|
||||
etcetera europe factory iso3166.tab \
|
||||
leap-seconds.list leapseconds.awk localtime.c \
|
||||
newctime.3 newstrftime.3 newtzset.3 northamerica \
|
||||
private.h southamerica strftime.c theory.html \
|
||||
time2posix.3 tz-art.html tz-how-to.html tz-link.html \
|
||||
tzfile.5 tzfile.h tzselect.8 tzselect.ksh \
|
||||
workman.sh zdump.8 zdump.c zic.8 zic.c \
|
||||
ziguard.awk zishrink.awk \
|
||||
zone.tab zone1970.tab
|
||||
|
||||
# And for the benefit of csh users on systems that assume the user
|
||||
# shell should be used to handle commands in Makefiles. . .
|
||||
|
||||
SHELL= /bin/sh
|
||||
|
||||
all: tzselect zic zdump libtz.a $(TABDATA) \
|
||||
vanguard.zi main.zi rearguard.zi
|
||||
|
||||
ALL: all date $(ENCHILADA)
|
||||
|
||||
install: all $(DATA) $(REDO) $(MANS)
|
||||
mkdir -p '$(DESTDIR)$(BINDIR)' \
|
||||
'$(DESTDIR)$(ZDUMPDIR)' '$(DESTDIR)$(ZICDIR)' \
|
||||
'$(DESTDIR)$(LIBDIR)' \
|
||||
'$(DESTDIR)$(MANDIR)/man3' '$(DESTDIR)$(MANDIR)/man5' \
|
||||
'$(DESTDIR)$(MANDIR)/man8'
|
||||
$(ZIC_INSTALL) -l $(LOCALTIME) \
|
||||
`case '$(POSIXRULES)' in ?*) echo '-p';; esac \
|
||||
` $(POSIXRULES) \
|
||||
-t '$(DESTDIR)$(TZDEFAULT)'
|
||||
cp -f $(TABDATA) '$(DESTDIR)$(TZDIR)/.'
|
||||
cp tzselect '$(DESTDIR)$(BINDIR)/.'
|
||||
cp zdump '$(DESTDIR)$(ZDUMPDIR)/.'
|
||||
cp zic '$(DESTDIR)$(ZICDIR)/.'
|
||||
cp libtz.a '$(DESTDIR)$(LIBDIR)/.'
|
||||
$(RANLIB) '$(DESTDIR)$(LIBDIR)/libtz.a'
|
||||
cp -f newctime.3 newtzset.3 '$(DESTDIR)$(MANDIR)/man3/.'
|
||||
cp -f tzfile.5 '$(DESTDIR)$(MANDIR)/man5/.'
|
||||
cp -f tzselect.8 zdump.8 zic.8 '$(DESTDIR)$(MANDIR)/man8/.'
|
||||
|
||||
INSTALL: ALL install date.1
|
||||
mkdir -p '$(DESTDIR)$(BINDIR)' '$(DESTDIR)$(MANDIR)/man1'
|
||||
cp date '$(DESTDIR)$(BINDIR)/.'
|
||||
cp -f date.1 '$(DESTDIR)$(MANDIR)/man1/.'
|
||||
|
||||
# Calculate version number from git, if available.
|
||||
# Otherwise, use $(VERSION) unless it is "unknown" and there is already
|
||||
# a 'version' file, in which case reuse the existing 'version' contents
|
||||
# and append "-dirty" if the contents do not already end in "-dirty".
|
||||
version: $(VERSION_DEPS)
|
||||
{ (type git) >/dev/null 2>&1 && \
|
||||
V=`git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \
|
||||
--abbrev=7 --dirty` || \
|
||||
if test '$(VERSION)' = unknown && V=`cat $@`; then \
|
||||
case $$V in *-dirty);; *) V=$$V-dirty;; esac; \
|
||||
else \
|
||||
V='$(VERSION)'; \
|
||||
fi; } && \
|
||||
printf '%s\n' "$$V" >$@.out
|
||||
mv $@.out $@
|
||||
|
||||
# These files can be tailored by setting BACKWARD, PACKRATDATA, PACKRATLIST.
|
||||
vanguard.zi main.zi rearguard.zi: $(DSTDATA_ZI_DEPS)
|
||||
$(AWK) \
|
||||
-v DATAFORM=`expr $@ : '\(.*\).zi'` \
|
||||
-v PACKRATDATA='$(PACKRATDATA)' \
|
||||
-v PACKRATLIST='$(PACKRATLIST)' \
|
||||
-f ziguard.awk \
|
||||
$(TDATA) $(PACKRATDATA) >$@.out
|
||||
mv $@.out $@
|
||||
# This file has a version comment that attempts to capture any tailoring
|
||||
# via BACKWARD, DATAFORM, PACKRATDATA, PACKRATLIST, and REDO.
|
||||
tzdata.zi: $(DATAFORM).zi version zishrink.awk
|
||||
version=`sed 1q version` && \
|
||||
LC_ALL=C $(AWK) \
|
||||
-v dataform='$(DATAFORM)' \
|
||||
-v deps='$(DSTDATA_ZI_DEPS) zishrink.awk' \
|
||||
-v redo='$(REDO)' \
|
||||
-v version="$$version" \
|
||||
-f zishrink.awk \
|
||||
$(DATAFORM).zi >$@.out
|
||||
mv $@.out $@
|
||||
|
||||
version.h: version
|
||||
VERSION=`cat version` && printf '%s\n' \
|
||||
'static char const PKGVERSION[]="($(PACKAGE)) ";' \
|
||||
"static char const TZVERSION[]=\"$$VERSION\";" \
|
||||
'static char const REPORT_BUGS_TO[]="$(BUGEMAIL)";' \
|
||||
>$@.out
|
||||
mv $@.out $@
|
||||
|
||||
zdump: $(TZDOBJS)
|
||||
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZDOBJS) $(LDLIBS)
|
||||
|
||||
zic: $(TZCOBJS)
|
||||
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZCOBJS) $(LDLIBS)
|
||||
|
||||
leapseconds: $(LEAP_DEPS)
|
||||
$(AWK) -v EXPIRES_LINE=$(EXPIRES_LINE) \
|
||||
-f leapseconds.awk leap-seconds.list >$@.out
|
||||
mv $@.out $@
|
||||
|
||||
# Arguments to pass to submakes of install_data.
|
||||
# They can be overridden by later submake arguments.
|
||||
INSTALLARGS = \
|
||||
BACKWARD='$(BACKWARD)' \
|
||||
DESTDIR='$(DESTDIR)' \
|
||||
LEAPSECONDS='$(LEAPSECONDS)' \
|
||||
PACKRATDATA='$(PACKRATDATA)' \
|
||||
PACKRATLIST='$(PACKRATLIST)' \
|
||||
TZDEFAULT='$(TZDEFAULT)' \
|
||||
TZDIR='$(TZDIR)' \
|
||||
ZIC='$(ZIC)'
|
||||
|
||||
INSTALL_DATA_DEPS = zic leapseconds tzdata.zi
|
||||
|
||||
# 'make install_data' installs one set of TZif files.
|
||||
install_data: $(INSTALL_DATA_DEPS)
|
||||
$(ZIC_INSTALL) tzdata.zi
|
||||
|
||||
posix_only: $(INSTALL_DATA_DEPS)
|
||||
$(MAKE) $(INSTALLARGS) LEAPSECONDS= install_data
|
||||
|
||||
right_only: $(INSTALL_DATA_DEPS)
|
||||
$(MAKE) $(INSTALLARGS) LEAPSECONDS='-L leapseconds' \
|
||||
install_data
|
||||
|
||||
# In earlier versions of this makefile, the other two directories were
|
||||
# subdirectories of $(TZDIR). However, this led to configuration errors.
|
||||
# For example, with posix_right under the earlier scheme,
|
||||
# TZ='right/Australia/Adelaide' got you localtime with leap seconds,
|
||||
# but gmtime without leap seconds, which led to problems with applications
|
||||
# like sendmail that subtract gmtime from localtime.
|
||||
# Therefore, the other two directories are now siblings of $(TZDIR).
|
||||
# You must replace all of $(TZDIR) to switch from not using leap seconds
|
||||
# to using them, or vice versa.
|
||||
right_posix: right_only
|
||||
rm -fr '$(DESTDIR)$(TZDIR)-leaps'
|
||||
ln -s '$(TZDIR_BASENAME)' '$(DESTDIR)$(TZDIR)-leaps' || \
|
||||
$(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-leaps' right_only
|
||||
$(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-posix' posix_only
|
||||
|
||||
posix_right: posix_only
|
||||
rm -fr '$(DESTDIR)$(TZDIR)-posix'
|
||||
ln -s '$(TZDIR_BASENAME)' '$(DESTDIR)$(TZDIR)-posix' || \
|
||||
$(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-posix' posix_only
|
||||
$(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-leaps' right_only
|
||||
|
||||
zones: $(REDO)
|
||||
|
||||
# dummy.zd is not a real file; it is mentioned here only so that the
|
||||
# top-level 'make' does not have a syntax error.
|
||||
ZDS = dummy.zd
|
||||
# Rule used only by submakes invoked by the $(TZS_NEW) rule.
|
||||
# It is separate so that GNU 'make -j' can run instances in parallel.
|
||||
$(ZDS): zdump
|
||||
./zdump -i $(TZS_CUTOFF_FLAG) '$(wd)/'$$(expr $@ : '\(.*\).zd') \
|
||||
>$@
|
||||
|
||||
TZS_NEW_DEPS = tzdata.zi zdump zic
|
||||
$(TZS_NEW): $(TZS_NEW_DEPS)
|
||||
rm -fr tzs$(TZS_YEAR).dir
|
||||
mkdir tzs$(TZS_YEAR).dir
|
||||
$(zic) -d tzs$(TZS_YEAR).dir tzdata.zi
|
||||
$(AWK) '/^L/{print "Link\t" $$2 "\t" $$3}' \
|
||||
tzdata.zi | LC_ALL=C sort >$@.out
|
||||
wd=`pwd` && \
|
||||
x=`$(AWK) '/^Z/{print "tzs$(TZS_YEAR).dir/" $$2 ".zd"}' \
|
||||
tzdata.zi \
|
||||
| LC_ALL=C sort -t . -k 2,2` && \
|
||||
set x $$x && \
|
||||
shift && \
|
||||
ZDS=$$* && \
|
||||
$(MAKE) wd="$$wd" TZS_CUTOFF_FLAG="$(TZS_CUTOFF_FLAG)" \
|
||||
ZDS="$$ZDS" $$ZDS && \
|
||||
sed 's,^TZ=".*\.dir/,TZ=",' $$ZDS >>$@.out
|
||||
rm -fr tzs$(TZS_YEAR).dir
|
||||
mv $@.out $@
|
||||
|
||||
# If $(TZS) exists but 'make check_tzs' fails, a maintainer should inspect the
|
||||
# failed output and fix the inconsistency, perhaps by running 'make force_tzs'.
|
||||
$(TZS):
|
||||
touch $@
|
||||
|
||||
force_tzs: $(TZS_NEW)
|
||||
cp $(TZS_NEW) $(TZS)
|
||||
|
||||
libtz.a: $(LIBOBJS)
|
||||
rm -f $@
|
||||
$(AR) -rc $@ $(LIBOBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
date: $(DATEOBJS)
|
||||
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(DATEOBJS) $(LDLIBS)
|
||||
|
||||
tzselect: tzselect.ksh version
|
||||
VERSION=`cat version` && sed \
|
||||
-e 's|#!/bin/bash|#!$(KSHELL)|g' \
|
||||
-e 's|AWK=[^}]*|AWK='\''$(AWK)'\''|g' \
|
||||
-e 's|\(PKGVERSION\)=.*|\1='\''($(PACKAGE)) '\''|' \
|
||||
-e 's|\(REPORT_BUGS_TO\)=.*|\1=$(BUGEMAIL)|' \
|
||||
-e 's|TZDIR=[^}]*|TZDIR=$(TZDIR)|' \
|
||||
-e 's|\(TZVERSION\)=.*|\1='"$$VERSION"'|' \
|
||||
<$@.ksh >$@.out
|
||||
chmod +x $@.out
|
||||
mv $@.out $@
|
||||
|
||||
check: check_back check_mild
|
||||
check_mild: check_character_set check_white_space check_links \
|
||||
check_name_lengths check_slashed_abbrs check_sorted \
|
||||
check_tables check_web check_ziguard check_zishrink check_tzs
|
||||
|
||||
check_character_set: $(ENCHILADA)
|
||||
test ! '$(UTF8_LOCALE)' || \
|
||||
! printf 'A\304\200B\n' | \
|
||||
LC_ALL='$(UTF8_LOCALE)' grep -q '^A.B$$' >/dev/null 2>&1 || { \
|
||||
LC_ALL='$(UTF8_LOCALE)' && export LC_ALL && \
|
||||
sharp='#' && \
|
||||
! grep -Env $(SAFE_LINE) $(MANS) date.1 $(MANTXTS) \
|
||||
$(MISC) $(SOURCES) $(WEB_PAGES) \
|
||||
CONTRIBUTING LICENSE README SECURITY \
|
||||
version tzdata.zi && \
|
||||
! grep -Env $(SAFE_LINE)'|^UNUSUAL_OK_'$(OK_CHAR)'*$$' \
|
||||
Makefile && \
|
||||
! grep -Env $(SAFE_SHARP_LINE) $(TDATA_TO_CHECK) backzone \
|
||||
leapseconds zone.tab && \
|
||||
! grep -Env $(OK_LINE) $(ENCHILADA); \
|
||||
}
|
||||
touch $@
|
||||
|
||||
check_white_space: $(ENCHILADA)
|
||||
patfmt=' \t|[\f\r\v]' && pat=`printf "$$patfmt\\n"` && \
|
||||
! grep -En "$$pat" \
|
||||
$$(ls $(ENCHILADA) | grep -Fvx leap-seconds.list)
|
||||
! grep -n '[$s]$$' \
|
||||
$$(ls $(ENCHILADA) | grep -Fvx leap-seconds.list)
|
||||
touch $@
|
||||
|
||||
PRECEDES_FILE_NAME = ^(Zone|Link[$s]+[^$s]+)[$s]+
|
||||
FILE_NAME_COMPONENT_TOO_LONG = $(PRECEDES_FILE_NAME)[^$s]*[^/$s]{15}
|
||||
|
||||
check_name_lengths: $(TDATA_TO_CHECK) backzone
|
||||
! grep -En '$(FILE_NAME_COMPONENT_TOO_LONG)' \
|
||||
$(TDATA_TO_CHECK) backzone
|
||||
touch $@
|
||||
|
||||
PRECEDES_STDOFF = ^(Zone[$s]+[^$s]+)?[$s]+
|
||||
STDOFF = [-+]?[0-9:.]+
|
||||
RULELESS_SAVE = (-|$(STDOFF)[sd]?)
|
||||
RULELESS_SLASHED_ABBRS = \
|
||||
$(PRECEDES_STDOFF)$(STDOFF)[$s]+$(RULELESS_SAVE)[$s]+[^$s]*/
|
||||
|
||||
check_slashed_abbrs: $(TDATA_TO_CHECK)
|
||||
! grep -En '$(RULELESS_SLASHED_ABBRS)' $(TDATA_TO_CHECK)
|
||||
touch $@
|
||||
|
||||
CHECK_CC_LIST = { n = split($$1,a,/,/); for (i=2; i<=n; i++) print a[1], a[i]; }
|
||||
|
||||
check_sorted: backward backzone
|
||||
$(AWK) '/^Link/ {printf "%.5d %s\n", g, $$3} !/./ {g++}' \
|
||||
backward | LC_ALL=C sort -cu
|
||||
$(AWK) '/^Zone/ {print $$2}' backzone | LC_ALL=C sort -cu
|
||||
touch $@
|
||||
|
||||
check_back: checklinks.awk $(TDATA_TO_CHECK)
|
||||
$(AWK) \
|
||||
-v DATAFORM=$(DATAFORM) \
|
||||
-v backcheck=backward \
|
||||
-f checklinks.awk $(TDATA_TO_CHECK)
|
||||
touch $@
|
||||
|
||||
check_links: checklinks.awk tzdata.zi
|
||||
$(AWK) \
|
||||
-v DATAFORM=$(DATAFORM) \
|
||||
-f checklinks.awk tzdata.zi
|
||||
touch $@
|
||||
|
||||
check_tables: checktab.awk $(YDATA) backward $(ZONETABLES)
|
||||
for tab in $(ZONETABLES); do \
|
||||
test "$$tab" = zone.tab && links='$(BACKWARD)' || links=''; \
|
||||
$(AWK) -f checktab.awk -v zone_table=$$tab $(YDATA) $$links \
|
||||
|| exit; \
|
||||
done
|
||||
touch $@
|
||||
|
||||
check_tzs: $(TZS) $(TZS_NEW)
|
||||
if test -s $(TZS); then \
|
||||
$(DIFF_TZS) $(TZS) $(TZS_NEW); \
|
||||
else \
|
||||
cp $(TZS_NEW) $(TZS); \
|
||||
fi
|
||||
touch $@
|
||||
|
||||
check_web: $(CHECK_WEB_PAGES)
|
||||
check_theory.html: theory.html
|
||||
check_tz-art.html: tz-art.html
|
||||
check_tz-how-to.html: tz-how-to.html
|
||||
check_tz-link.html: tz-link.html
|
||||
check_theory.html check_tz-art.html check_tz-how-to.html check_tz-link.html:
|
||||
$(CURL) -sS --url https://validator.w3.org/nu/ -F out=gnu \
|
||||
-F file=@$$(expr $@ : 'check_\(.*\)') -o $@.out && \
|
||||
test ! -s $@.out || { cat $@.out; exit 1; }
|
||||
mv $@.out $@
|
||||
|
||||
check_ziguard: rearguard.zi vanguard.zi ziguard.awk
|
||||
$(AWK) -v DATAFORM=rearguard -f ziguard.awk vanguard.zi | \
|
||||
diff -u rearguard.zi -
|
||||
$(AWK) -v DATAFORM=vanguard -f ziguard.awk rearguard.zi | \
|
||||
diff -u vanguard.zi -
|
||||
touch $@
|
||||
|
||||
# Check that zishrink.awk does not alter the data, and that ziguard.awk
|
||||
# preserves main-format data.
|
||||
check_zishrink: check_zishrink_posix check_zishrink_right
|
||||
check_zishrink_posix check_zishrink_right: \
|
||||
zic leapseconds $(PACKRATDATA) $(PACKRATLIST) \
|
||||
$(TDATA) $(DATAFORM).zi tzdata.zi
|
||||
rm -fr $@.dir $@-t.dir $@-shrunk.dir
|
||||
mkdir $@.dir $@-t.dir $@-shrunk.dir
|
||||
case $@ in \
|
||||
*_right) leap='-L leapseconds';; \
|
||||
*) leap=;; \
|
||||
esac && \
|
||||
$(ZIC) $$leap -d $@.dir $(DATAFORM).zi && \
|
||||
$(ZIC) $$leap -d $@-shrunk.dir tzdata.zi && \
|
||||
case $(DATAFORM),$(PACKRATLIST) in \
|
||||
main,) \
|
||||
$(ZIC) $$leap -d $@-t.dir $(TDATA) && \
|
||||
$(AWK) '/^Rule/' $(TDATA) | \
|
||||
$(ZIC) $$leap -d $@-t.dir - $(PACKRATDATA) && \
|
||||
diff -r $@.dir $@-t.dir;; \
|
||||
esac
|
||||
diff -r $@.dir $@-shrunk.dir
|
||||
rm -fr $@.dir $@-t.dir $@-shrunk.dir
|
||||
touch $@
|
||||
|
||||
clean_misc:
|
||||
rm -fr check_*.dir
|
||||
rm -f *.o *.out $(TIME_T_ALTERNATIVES) \
|
||||
check_* core typecheck_* \
|
||||
date tzselect version.h zdump zic libtz.a
|
||||
clean: clean_misc
|
||||
rm -fr *.dir tzdb-*/
|
||||
rm -f *.zi $(TZS_NEW)
|
||||
|
||||
maintainer-clean: clean
|
||||
@echo 'This command is intended for maintainers to use; it'
|
||||
@echo 'deletes files that may need special tools to rebuild.'
|
||||
rm -f leapseconds version $(MANTXTS) $(TZS) *.asc *.tar.*
|
||||
|
||||
names:
|
||||
@echo $(ENCHILADA)
|
||||
|
||||
public: check check_public $(CHECK_TIME_T_ALTERNATIVES) \
|
||||
tarballs signatures
|
||||
|
||||
date.1.txt: date.1
|
||||
newctime.3.txt: newctime.3
|
||||
newstrftime.3.txt: newstrftime.3
|
||||
newtzset.3.txt: newtzset.3
|
||||
time2posix.3.txt: time2posix.3
|
||||
tzfile.5.txt: tzfile.5
|
||||
tzselect.8.txt: tzselect.8
|
||||
zdump.8.txt: zdump.8
|
||||
zic.8.txt: zic.8
|
||||
|
||||
$(MANTXTS): workman.sh
|
||||
LC_ALL=C sh workman.sh `expr $@ : '\(.*\)\.txt$$'` >$@.out
|
||||
mv $@.out $@
|
||||
|
||||
# Set file timestamps deterministically if possible,
|
||||
# so that tarballs containing the timestamps are reproducible.
|
||||
#
|
||||
|
||||
.if defined(UNIVERSE_TARGET) || defined(MAKE_JUST_WORLDS) || defined(WITHOUT_KERNELS)
|
||||
|
98
README.md
98
README.md
@ -1,45 +1,65 @@
|
||||
FreeBSD Source:
|
||||
---------------
|
||||
This is the top level of the FreeBSD source directory.
|
||||
# LIBPCAP 1.x.y by [The Tcpdump Group](https://www.tcpdump.org)
|
||||
|
||||
FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms.
|
||||
A large community has continually developed it for more than thirty years.
|
||||
Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.
|
||||
**To report a security issue please send an e-mail to security@tcpdump.org.**
|
||||
|
||||
For copyright information, please see [the file COPYRIGHT](COPYRIGHT) in this directory.
|
||||
Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information.
|
||||
To report bugs and other problems, contribute patches, request a
|
||||
feature, provide generic feedback etc please see the
|
||||
[guidelines for contributing](CONTRIBUTING.md).
|
||||
|
||||
The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree.
|
||||
See build(7), config(8), [FreeBSD handbook on building userland](https://docs.freebsd.org/en/books/handbook/cutting-edge/#makeworld), and [Handbook for kernels](https://docs.freebsd.org/en/books/handbook/kernelconfig/) for more information, including setting make(1) variables.
|
||||
The [documentation directory](doc/) has README files about specific
|
||||
operating systems and options.
|
||||
|
||||
For information on the CPU architectures and platforms supported by FreeBSD, see the [FreeBSD
|
||||
website's Platforms page](https://www.freebsd.org/platforms/).
|
||||
Anonymous Git is available via:
|
||||
|
||||
Source Roadmap:
|
||||
---------------
|
||||
| Directory | Description |
|
||||
| --------- | ----------- |
|
||||
| bin | System/user commands. |
|
||||
| cddl | Various commands and libraries under the Common Development and Distribution License. |
|
||||
| contrib | Packages contributed by 3rd parties. |
|
||||
| crypto | Cryptography stuff (see [crypto/README](crypto/README)). |
|
||||
| etc | Template files for /etc. |
|
||||
| gnu | Commands and libraries under the GNU General Public License (GPL) or Lesser General Public License (LGPL). Please see [gnu/COPYING](gnu/COPYING) and [gnu/COPYING.LIB](gnu/COPYING.LIB) for more information. |
|
||||
| include | System include files. |
|
||||
| kerberos5 | Kerberos5 (Heimdal) package. |
|
||||
| lib | System libraries. |
|
||||
| libexec | System daemons. |
|
||||
| release | Release building Makefile & associated tools. |
|
||||
| rescue | Build system for statically linked /rescue utilities. |
|
||||
| sbin | System commands. |
|
||||
| secure | Cryptographic libraries and commands. |
|
||||
| share | Shared resources. |
|
||||
| stand | Boot loader sources. |
|
||||
| sys | Kernel sources (see [sys/README.md](sys/README.md)). |
|
||||
| targets | Support for experimental `DIRDEPS_BUILD` |
|
||||
| tests | Regression tests which can be run by Kyua. See [tests/README](tests/README) for additional information. |
|
||||
| tools | Utilities for regression testing and miscellaneous tasks. |
|
||||
| usr.bin | User commands. |
|
||||
| usr.sbin | System administration commands. |
|
||||
https://github.com/the-tcpdump-group/libpcap.git
|
||||
|
||||
For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see [FreeBSD Handbook](https://docs.freebsd.org/en/books/handbook/cutting-edge/#current-stable).
|
||||
From version 0.4, library versioning will use a semantic versioning format
|
||||
(per http://semver.org) of the form _Major.minor.patch_ (M.m.p).
|
||||
|
||||
```text
|
||||
formerly from Lawrence Berkeley National Laboratory
|
||||
Network Research Group <libpcap@ee.lbl.gov>
|
||||
ftp://ftp.ee.lbl.gov/old/libpcap-0.4a7.tar.Z
|
||||
```
|
||||
|
||||
### Support for particular platforms and BPF
|
||||
For some platforms there are `README.{system}` files that discuss issues
|
||||
with the OS's interface for packet capture on those platforms, such as
|
||||
how to enable support for that interface in the OS, if it's not built in
|
||||
by default.
|
||||
|
||||
The libpcap interface supports a filtering mechanism based on the
|
||||
architecture in the BSD packet filter. BPF is described in the 1993
|
||||
Winter Usenix paper ``The BSD Packet Filter: A New Architecture for
|
||||
User-level Packet Capture''
|
||||
([compressed PostScript](https://www.tcpdump.org/papers/bpf-usenix93.ps.Z),
|
||||
[gzipped PostScript](https://www.tcpdump.org/papers/bpf-usenix93.ps.gz),
|
||||
[PDF](https://www.tcpdump.org/papers/bpf-usenix93.pdf)).
|
||||
|
||||
- ITM software trace - packet processing and decode.
|
||||
- ETMv3 data trace - packet decode.
|
||||
- ETMv4 data trace - packet processing and decode.
|
||||
|
||||
BPF is standard in 4.4BSD, BSD/OS, NetBSD, FreeBSD, OpenBSD, DragonFly
|
||||
BSD, macOS, and Solaris 11; an older, modified and undocumented version
|
||||
is standard in AIX. {DEC OSF/1, Digital UNIX, Tru64 UNIX} uses the
|
||||
packetfilter interface but has been extended to accept BPF filters
|
||||
(which libpcap utilizes).
|
||||
|
||||
Linux has a number of BPF based systems, and libpcap does not support
|
||||
any of the eBPF mechanisms as yet, although it supports many of the
|
||||
memory mapped receive mechanisms.
|
||||
See the [Linux-specific README](doc/README.linux) for more information.
|
||||
|
||||
### Note to Linux distributions and *BSD systems that include libpcap:
|
||||
|
||||
CoreSight kernel drivers and perf suport for CoreSight trace is maintained in the latest
|
||||
upstream kernel versions.
|
||||
|
||||
It sets the soname of the library to `libpcap.so.1`; this is what it
|
||||
should be, **NOT** `libpcap.so.1.x` or `libpcap.so.1.x.y` or something such as
|
||||
that.
|
||||
|
||||
We've been maintaining binary compatibility between libpcap releases for
|
||||
quite a while; there's no reason to tie a binary linked with libpcap to
|
||||
a particular release of libpcap.
|
||||
|
217
charconv.c
Normal file
217
charconv.c
Normal file
@ -0,0 +1,217 @@
|
||||
/* -*- Mode: c; tab-width: 8; indent-tabs-mode: 1; c-basic-offset: 8; -*- */
|
||||
/*
|
||||
* Copyright (c) 1993, 1994, 1995, 1996, 1997
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the Computer Systems
|
||||
* Engineering Group at Lawrence Berkeley Laboratory.
|
||||
* 4. Neither the name of the University nor of the Laboratory may be used
|
||||
* to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include <pcap/pcap.h> /* Needed for PCAP_ERRBUF_SIZE */
|
||||
|
||||
#include "charconv.h"
|
||||
|
||||
wchar_t *
|
||||
cp_to_utf_16le(UINT codepage, const char *cp_string, DWORD flags)
|
||||
{
|
||||
int utf16le_len;
|
||||
wchar_t *utf16le_string;
|
||||
|
||||
/*
|
||||
* Map from the specified code page to UTF-16LE.
|
||||
* First, find out how big a buffer we'll need.
|
||||
*/
|
||||
utf16le_len = MultiByteToWideChar(codepage, flags, cp_string, -1,
|
||||
NULL, 0);
|
||||
if (utf16le_len == 0) {
|
||||
/*
|
||||
* Error. Fail with EINVAL.
|
||||
*/
|
||||
errno = EINVAL;
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* Now attempt to allocate a buffer for that.
|
||||
*/
|
||||
utf16le_string = malloc(utf16le_len * sizeof (wchar_t));
|
||||
if (utf16le_string == NULL) {
|
||||
/*
|
||||
* Not enough memory; assume errno has been
|
||||
* set, and fail.
|
||||
*/
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* Now convert.
|
||||
*/
|
||||
utf16le_len = MultiByteToWideChar(codepage, flags, cp_string, -1,
|
||||
utf16le_string, utf16le_len);
|
||||
if (utf16le_len == 0) {
|
||||
/*
|
||||
* Error. Fail with EINVAL.
|
||||
* XXX - should this ever happen, given that
|
||||
* we already ran the string through
|
||||
* MultiByteToWideChar() to find out how big
|
||||
* a buffer we needed?
|
||||
*/
|
||||
free(utf16le_string);
|
||||
errno = EINVAL;
|
||||
return (NULL);
|
||||
}
|
||||
return (utf16le_string);
|
||||
}
|
||||
|
||||
char *
|
||||
utf_16le_to_cp(UINT codepage, const wchar_t *utf16le_string)
|
||||
{
|
||||
int cp_len;
|
||||
char *cp_string;
|
||||
|
||||
/*
|
||||
* Map from UTF-16LE to the specified code page.
|
||||
* First, find out how big a buffer we'll need.
|
||||
* We convert composite characters to precomposed characters,
|
||||
* as that's what Windows expects.
|
||||
*/
|
||||
cp_len = WideCharToMultiByte(codepage, WC_COMPOSITECHECK,
|
||||
utf16le_string, -1, NULL, 0, NULL, NULL);
|
||||
if (cp_len == 0) {
|
||||
/*
|
||||
* Error. Fail with EINVAL.
|
||||
*/
|
||||
errno = EINVAL;
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* Now attempt to allocate a buffer for that.
|
||||
*/
|
||||
cp_string = malloc(cp_len * sizeof (char));
|
||||
if (cp_string == NULL) {
|
||||
/*
|
||||
* Not enough memory; assume errno has been
|
||||
* set, and fail.
|
||||
*/
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* Now convert.
|
||||
*/
|
||||
cp_len = WideCharToMultiByte(codepage, WC_COMPOSITECHECK,
|
||||
utf16le_string, -1, cp_string, cp_len, NULL, NULL);
|
||||
if (cp_len == 0) {
|
||||
/*
|
||||
* Error. Fail with EINVAL.
|
||||
* XXX - should this ever happen, given that
|
||||
* we already ran the string through
|
||||
* WideCharToMultiByte() to find out how big
|
||||
* a buffer we needed?
|
||||
*/
|
||||
free(cp_string);
|
||||
errno = EINVAL;
|
||||
return (NULL);
|
||||
}
|
||||
return (cp_string);
|
||||
}
|
||||
|
||||
/*
|
||||
* Convert an error message string from UTF-8 to the local code page, as
|
||||
* best we can.
|
||||
*
|
||||
* The buffer is assumed to be PCAP_ERRBUF_SIZE bytes long; we truncate
|
||||
* if it doesn't fit.
|
||||
*/
|
||||
void
|
||||
utf_8_to_acp_truncated(char *errbuf)
|
||||
{
|
||||
wchar_t *utf_16_errbuf;
|
||||
int retval;
|
||||
DWORD err;
|
||||
|
||||
/*
|
||||
* Do this by converting to UTF-16LE and then to the local
|
||||
* code page. That means we get to use Microsoft's
|
||||
* conversion routines, rather than having to understand
|
||||
* all the code pages ourselves, *and* that this routine
|
||||
* can convert in place.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Map from UTF-8 to UTF-16LE.
|
||||
* First, find out how big a buffer we'll need.
|
||||
* Convert any invalid characters to REPLACEMENT CHARACTER.
|
||||
*/
|
||||
utf_16_errbuf = cp_to_utf_16le(CP_UTF8, errbuf, 0);
|
||||
if (utf_16_errbuf == NULL) {
|
||||
/*
|
||||
* Error. Give up.
|
||||
*/
|
||||
snprintf(errbuf, PCAP_ERRBUF_SIZE,
|
||||
"Can't convert error string to the local code page");
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Now, convert that to the local code page.
|
||||
* Use the current thread's code page. For unconvertable
|
||||
* characters, let it pick the "best fit" character.
|
||||
*
|
||||
* XXX - we'd like some way to do what utf_16le_to_utf_8_truncated()
|
||||
* does if the buffer isn't big enough, but we don't want to have
|
||||
* to handle all local code pages ourselves; doing so requires
|
||||
* knowledge of all those code pages, including knowledge of how
|
||||
* characters are formed in thoe code pages so that we can avoid
|
||||
* cutting a multi-byte character into pieces.
|
||||
*
|
||||
* Converting to an un-truncated string using Windows APIs, and
|
||||
* then copying to the buffer, still requires knowledge of how
|
||||
* characters are formed in the target code page.
|
||||
*/
|
||||
retval = WideCharToMultiByte(CP_THREAD_ACP, 0, utf_16_errbuf, -1,
|
||||
errbuf, PCAP_ERRBUF_SIZE, NULL, NULL);
|
||||
if (retval == 0) {
|
||||
err = GetLastError();
|
||||
free(utf_16_errbuf);
|
||||
if (err == ERROR_INSUFFICIENT_BUFFER)
|
||||
snprintf(errbuf, PCAP_ERRBUF_SIZE,
|
||||
"The error string, in the local code page, didn't fit in the buffer");
|
||||
else
|
||||
snprintf(errbuf, PCAP_ERRBUF_SIZE,
|
||||
"Can't convert error string to the local code page");
|
||||
return;
|
||||
}
|
||||
free(utf_16_errbuf);
|
||||
}
|
||||
#endif
|
@ -38,7 +38,7 @@ PROJECT_NAME = "BearSSL"
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER =
|
||||
PROJECT_NUMBER = 1.4.0
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
@ -771,7 +771,23 @@ WARN_LOGFILE =
|
||||
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
|
||||
# Note: If this tag is empty the current directory is searched.
|
||||
|
||||
INPUT = inc/bearssl.h inc/bearssl_aead.h inc/bearssl_block.h inc/bearssl_ec.h inc/bearssl_hash.h inc/bearssl_hmac.h inc/bearssl_kdf.h inc/bearssl_pem.h inc/bearssl_prf.h inc/bearssl_rand.h inc/bearssl_rsa.h inc/bearssl_ssl.h inc/bearssl_x509.h
|
||||
INPUT = ../include \
|
||||
../include/interfaces \
|
||||
../include/opencsd/etmv3 \
|
||||
../include/opencsd/etmv4 \
|
||||
../include/opencsd/ptm \
|
||||
../include/opencsd/c_api \
|
||||
../include/opencsd/stm \
|
||||
../include/mem_acc \
|
||||
../../README.md \
|
||||
. \
|
||||
../../HOWTO.md \
|
||||
../include/common \
|
||||
./prog_guide \
|
||||
../include/opencsd \
|
||||
../include \
|
||||
../tests/auto-fdo/autofdo.md \
|
||||
../include/opencsd/ete
|
||||
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||
|
@ -40,6 +40,7 @@
|
||||
#define required_argument 1
|
||||
#define optional_argument 2
|
||||
|
||||
#if 0
|
||||
struct option {
|
||||
/* name of long option */
|
||||
const char *name;
|
||||
@ -58,6 +59,8 @@ int getopt_long(int, char * const *, const char *,
|
||||
const struct option *, int *);
|
||||
int getopt_long_only(int, char * const *, const char *,
|
||||
const struct option *, int *);
|
||||
#endif
|
||||
|
||||
#ifndef _GETOPT_DEFINED_
|
||||
#define _GETOPT_DEFINED_
|
||||
int getopt(int, char * const *, const char *);
|
||||
|
@ -281,7 +281,8 @@ struct bpf_insn {
|
||||
#endif
|
||||
#define BPF_JUMP(code, k, jt, jf) { (u_short)(code), jt, jf, k }
|
||||
|
||||
#endif /* defined(__FreeBSD__) */
|
||||
PCAP_AVAILABLE_0_4
|
||||
PCAP_API u_int bpf_filter(const struct bpf_insn *, const u_char *, u_int, u_int);
|
||||
|
||||
PCAP_AVAILABLE_0_4
|
||||
PCAP_API u_int bpf_filter(const struct bpf_insn *, const u_char *, u_int, u_int);
|
||||
|
@ -18,7 +18,7 @@ To email small changes, please run a POSIX shell command like
|
||||
'diff -u old/europe new/europe >myfix.patch', and attach
|
||||
'myfix.patch' to the email.
|
||||
|
||||
For more-elaborate or possibly-controversial changes,
|
||||
For more-elaborate or possibly controversial changes,
|
||||
such as renaming, adding or removing zones, please read
|
||||
"Theory and pragmatics of the tz code and data"
|
||||
<https://www.iana.org/time-zones/repository/theory.html>.
|
||||
|
@ -1,5 +1,116 @@
|
||||
News for the tz database
|
||||
|
||||
Release 2023c - 2023-03-28 12:42:14 -0700
|
||||
|
||||
Changes to past and future timestamps
|
||||
|
||||
Model Lebanon's DST chaos by reverting data to tzdb 2023a.
|
||||
(Thanks to Rany Hany for the heads-up.)
|
||||
|
||||
|
||||
Release 2023b - 2023-03-23 19:50:38 -0700
|
||||
|
||||
Changes to future timestamps
|
||||
|
||||
This year Lebanon springs forward April 20/21 not March 25/26.
|
||||
(Thanks to Saadallah Itani.) [This was reverted in 2023c.]
|
||||
|
||||
|
||||
Release 2023a - 2023-03-22 12:39:33 -0700
|
||||
|
||||
Briefly:
|
||||
Egypt now uses DST again, from April through October.
|
||||
This year Morocco springs forward April 23, not April 30.
|
||||
Palestine delays the start of DST this year.
|
||||
Much of Greenland still uses DST from 2024 on.
|
||||
America/Yellowknife now links to America/Edmonton.
|
||||
tzselect can now use current time to help infer timezone.
|
||||
The code now defaults to C99 or later.
|
||||
Fix use of C23 attributes.
|
||||
|
||||
Changes to future timestamps
|
||||
|
||||
Starting in 2023, Egypt will observe DST from April's last Friday
|
||||
through October's last Thursday. (Thanks to Ahmad ElDardiry.)
|
||||
Assume the transition times are 00:00 and 24:00, respectively.
|
||||
|
||||
In 2023 Morocco's spring-forward transition after Ramadan
|
||||
will occur April 23, not April 30. (Thanks to Milamber.)
|
||||
Adjust predictions for future years accordingly. This affects
|
||||
predictions for 2023, 2031, 2038, and later years.
|
||||
|
||||
This year Palestine will delay its spring forward from
|
||||
March 25 to April 29 due to Ramadan. (Thanks to Heba Hamad.)
|
||||
Make guesses for future Ramadans too.
|
||||
|
||||
Much of Greenland, represented by America/Nuuk, will continue to
|
||||
observe DST using European Union rules. When combined with
|
||||
Greenland's decision not to change the clocks in fall 2023,
|
||||
America/Nuuk therefore changes from -03/-02 to -02/-01 effective
|
||||
2023-10-29 at 01:00 UTC. (Thanks to Thomas M. Steenholdt.)
|
||||
This change from 2022g doesn't affect timestamps until 2024-03-30,
|
||||
and doesn't affect tm_isdst until 2023-03-25.
|
||||
|
||||
Changes to past timestamps
|
||||
|
||||
America/Yellowknife has changed from a Zone to a backward
|
||||
compatibility Link, as it no longer differs from America/Edmonton
|
||||
since 1970. (Thanks to Almaz Mingaleev.) This affects some
|
||||
pre-1948 timestamps. The old data are now in 'backzone'.
|
||||
|
||||
Changes to past time zone abbreviations
|
||||
|
||||
When observing Moscow time, Europe/Kirov and Europe/Volgograd now
|
||||
use the abbreviations MSK/MSD instead of numeric abbreviations,
|
||||
for consistency with other timezones observing Moscow time.
|
||||
|
||||
Changes to code
|
||||
|
||||
You can now tell tzselect local time, to simplify later choices.
|
||||
Select the 'time' option in its first prompt.
|
||||
|
||||
You can now compile with -DTZNAME_MAXIMUM=N to limit time zone
|
||||
abbreviations to N bytes (default 255). The reference runtime
|
||||
library now rejects POSIX-style TZ strings that contain longer
|
||||
abbreviations, treating them as UTC. Previously the limit was
|
||||
platform dependent and abbreviations were silently truncated to
|
||||
16 bytes even when the limit was greater than 16.
|
||||
|
||||
The code by default is now designed for C99 or later. To build in
|
||||
a C89 environment, compile with -DPORT_TO_C89. To support C89
|
||||
callers of the tzcode library, compile with -DSUPPORT_C89. The
|
||||
two new macros are transitional aids planned to be removed in a
|
||||
future version, when C99 or later will be required.
|
||||
|
||||
The code now builds again on pre-C99 platforms, if you compile
|
||||
with -DPORT_TO_C89. This fixes a bug introduced in 2022f.
|
||||
|
||||
On C23-compatible platforms tzcode no longer uses syntax like
|
||||
'static [[noreturn]] void usage(void);'. Instead, it uses
|
||||
'[[noreturn]] static void usage(void);' as strict C23 requires.
|
||||
(Problem reported by Houge Langley.)
|
||||
|
||||
The code's functions now constrain their arguments with the C
|
||||
'restrict' keyword consistently with their documentation.
|
||||
This may allow future optimizations.
|
||||
|
||||
zdump again builds standalone with ckdadd and without setenv,
|
||||
fixing a bug introduced in 2022g. (Problem reported by panic.)
|
||||
|
||||
leapseconds.awk can now process a leap seconds file that never
|
||||
expires; this might be useful if leap seconds are discontinued.
|
||||
|
||||
Changes to commentary
|
||||
|
||||
tz-link.html has a new section "Coordinating with governments and
|
||||
distributors". (Thanks to Neil Fuller for some of the text.)
|
||||
|
||||
To improve tzselect diagnostics, zone1970.tab's comments column is
|
||||
now limited to countries that have multiple timezones.
|
||||
|
||||
Note that leap seconds are planned to be discontinued by 2035.
|
||||
|
||||
|
||||
Release 2022g - 2022-11-29 08:58:31 -0800
|
||||
|
||||
Briefly:
|
||||
@ -596,7 +707,7 @@ Release 2021b - 2021-09-24 16:23:00 -0700
|
||||
Starting with 2020a, zic -L truncated its output according to the
|
||||
"Expires" directive or "#expires" comment in the leapseconds file.
|
||||
The resulting TZif files omitted daylight saving transitions after
|
||||
the leap second table expired, which led to far less-accurate
|
||||
the leap second table expired, which led to far less accurate
|
||||
predictions of times after the expiry. Although future timestamps
|
||||
cannot be converted accurately in the presence of leap seconds, it
|
||||
is more accurate to convert near-future timestamps with a few
|
||||
@ -616,7 +727,7 @@ Release 2021b - 2021-09-24 16:23:00 -0700
|
||||
zic -L LEAPFILE -r @LO no longer generates an invalid TZif file
|
||||
that omits leap second information for the range LO..B when LO
|
||||
falls between two leap seconds A and B. Instead, it generates a
|
||||
TZif version 4 file that represents the previously-missing
|
||||
TZif version 4 file that represents the previously missing
|
||||
information.
|
||||
|
||||
The TZif reader now allows the leap second table to begin with a
|
||||
@ -670,7 +781,7 @@ Release 2021b - 2021-09-24 16:23:00 -0700
|
||||
Fix a bug with 'zic -r @X' when X is a negative leap second that
|
||||
has a nonnegative correction. Without the fix, the output file
|
||||
was truncated so that X appeared to be a positive leap second.
|
||||
Fix a similar, even-less-likely bug when truncating at a positive
|
||||
Fix a similar, even less likely bug when truncating at a positive
|
||||
leap second that has a nonpositive correction.
|
||||
|
||||
zic -r now reports an error if given rolling leap seconds, as this
|
||||
@ -691,7 +802,7 @@ Release 2021b - 2021-09-24 16:23:00 -0700
|
||||
fixing a bug introduced in 2014g.
|
||||
|
||||
zdump -v now outputs timestamps at boundaries of what localtime
|
||||
and gmtime can represent, instead of the less-useful timestamps
|
||||
and gmtime can represent, instead of the less useful timestamps
|
||||
one day after the minimum and one day before the maximum.
|
||||
(Thanks to Arthur David Olson for prototype code, and to Manuela
|
||||
Friedrich for debugging help.)
|
||||
@ -2311,7 +2422,7 @@ Release 2016g - 2016-09-13 08:56:38 -0700
|
||||
names internally.
|
||||
|
||||
zdump has a new -i option to generate transitions in a
|
||||
more-compact but still human-readable format. This option is
|
||||
smaller but still human-readable format. This option is
|
||||
experimental, and the output format may change in future versions.
|
||||
(Thanks to Jon Skeet for suggesting that an option was needed,
|
||||
and thanks to Tim Parenti and Chris Rovick for further comments.)
|
||||
@ -2333,7 +2444,7 @@ Release 2016g - 2016-09-13 08:56:38 -0700
|
||||
release 2016g, the version number is now something like
|
||||
'2016g-23-g50556e3-dirty' instead of the misleading '2016g'.
|
||||
Tagged releases use the same version number format as before,
|
||||
e.g., '2016g'. To support the more-accurate version number, its
|
||||
e.g., '2016g'. To support the more accurate version number, its
|
||||
specification has moved from a line in the Makefile to a new
|
||||
source file 'version'.
|
||||
|
||||
@ -2964,7 +3075,7 @@ Release 2014i - 2014-10-21 22:04:57 -0700
|
||||
|
||||
Since Belarus is not changing its clocks even though Moscow is,
|
||||
the time zone abbreviation in Europe/Minsk is changing from FET
|
||||
to its more-traditional value MSK on 2014-10-26 at 01:00.
|
||||
to its more traditional value MSK on 2014-10-26 at 01:00.
|
||||
(Thanks to Alexander Bokovoy for the heads-up about Belarus.)
|
||||
|
||||
The new abbreviation IDT stands for the pre-1976 use of UT +08 in
|
||||
@ -3056,7 +3167,7 @@ Release 2014h - 2014-09-25 18:59:03 -0700
|
||||
|
||||
Changes affecting build procedure
|
||||
|
||||
'make check' now checks better for properly-sorted data.
|
||||
'make check' now checks better for properly sorted data.
|
||||
|
||||
Changes affecting documentation and commentary
|
||||
|
||||
@ -3557,7 +3668,7 @@ Release 2014a - 2014-03-07 23:30:29 -0800
|
||||
|
||||
Changes affecting past timestamps
|
||||
|
||||
Fiji ended DST on 2014-01-19 at 02:00, not the previously-scheduled 03:00.
|
||||
Fiji ended DST on 2014-01-19 at 02:00, not the previously scheduled 03:00.
|
||||
(Thanks to Steffen Thorsen.)
|
||||
|
||||
Ukraine switched from Moscow to Eastern European time on 1990-07-01
|
||||
@ -3811,7 +3922,7 @@ Release 2013e - 2013-09-19 23:50:04 -0700
|
||||
Allow POSIX-like TZ strings where the transition time's hour can
|
||||
range from -167 through 167, instead of the POSIX-required 0
|
||||
through 24. E.g., TZ='FJT-12FJST,M10.3.1/146,M1.3.4/75' for the
|
||||
new Fiji rules. This is a more-compact way to represent
|
||||
new Fiji rules. This is a more compact way to represent
|
||||
far-future timestamps for America/Godthab, America/Santiago,
|
||||
Antarctica/Palmer, Asia/Gaza, Asia/Hebron, Asia/Jerusalem,
|
||||
Pacific/Easter, and Pacific/Fiji. Other zones are unaffected by
|
||||
@ -3819,7 +3930,7 @@ Release 2013e - 2013-09-19 23:50:04 -0700
|
||||
|
||||
Allow POSIX-like TZ strings where daylight saving time is in
|
||||
effect all year. E.g., TZ='WART4WARST,J1/0,J365/25' for Western
|
||||
Argentina Summer Time all year. This supports a more-compact way
|
||||
Argentina Summer Time all year. This supports a more compact way
|
||||
to represent the 2013d data for America/Argentina/San_Luis.
|
||||
Because of the change for San Luis noted above this change does not
|
||||
affect the current data. (Thanks to Andrew Main (Zefram) for
|
||||
@ -3908,13 +4019,13 @@ Release 2013e - 2013-09-19 23:50:04 -0700
|
||||
|
||||
zdump now outputs "UT" when referring to Universal Time, not "UTC".
|
||||
"UTC" does not make sense for timestamps that predate the introduction
|
||||
of UTC, whereas "UT", a more-generic term, does. (Thanks to Steve Allen
|
||||
of UTC, whereas "UT", a more generic term, does. (Thanks to Steve Allen
|
||||
for clarifying UT vs UTC.)
|
||||
|
||||
Data changes affecting behavior of tzselect and similar programs
|
||||
|
||||
Country code BQ is now called the more-common name "Caribbean Netherlands"
|
||||
rather than the more-official "Bonaire, St Eustatius & Saba".
|
||||
Country code BQ is now called the more common name "Caribbean Netherlands"
|
||||
rather than the more official "Bonaire, St Eustatius & Saba".
|
||||
|
||||
Remove from zone.tab the names America/Montreal, America/Shiprock,
|
||||
and Antarctica/South_Pole, as they are equivalent to existing
|
||||
@ -4098,7 +4209,7 @@ Release 2013c - 2013-04-19 16:17:40 -0700
|
||||
Macquarie Island is politically part of Australia, not Antarctica.
|
||||
(Thanks to Tobias Conradi.)
|
||||
|
||||
Sort Macquarie more-consistently with other parts of Australia.
|
||||
Sort Macquarie more consistently with other parts of Australia.
|
||||
(Thanks to Tim Parenti.)
|
||||
|
||||
|
||||
@ -5322,7 +5433,7 @@ Release data1998g - 1998-08-11 03:28:35 -0000
|
||||
Release data1998f - 1998-07-20 13:50:00 -0000
|
||||
[tzdata1998f.tar.gz is missing!]
|
||||
|
||||
Update the "leapseconds" file to include the newly-announced
|
||||
Update the "leapseconds" file to include the newly announced
|
||||
insertion at the end of 1998.
|
||||
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
<li><a href="#stability">Interface stability</a></li>
|
||||
<li><a href="#leapsec">Leap seconds</a></li>
|
||||
<li><a href="#calendar">Calendrical issues</a></li>
|
||||
<li><a href="#planets">Time and time zones on other planets</a></li>
|
||||
<li><a href="#planets">Time and time zones off earth</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@ -443,11 +443,11 @@ in decreasing order of importance:
|
||||
CAT/CAST Central Africa,
|
||||
CET/CEST/CEMT Central European,
|
||||
ChST Chamorro,
|
||||
CST/CDT/CWT/CPT/CDDT Central [North America],
|
||||
CST/CDT/CWT/CPT Central [North America],
|
||||
CST/CDT China,
|
||||
GMT/BST/IST/BDST Greenwich,
|
||||
EAT East Africa,
|
||||
EST/EDT/EWT/EPT/EDDT Eastern [North America],
|
||||
EST/EDT/EWT/EPT Eastern [North America],
|
||||
EET/EEST Eastern European,
|
||||
GST/GDT Guam,
|
||||
HST/HDT/HWT/HPT Hawaii,
|
||||
@ -460,13 +460,13 @@ in decreasing order of importance:
|
||||
MET/MEST Middle European (a backward-compatibility alias for
|
||||
Central European),
|
||||
MSK/MSD Moscow,
|
||||
MST/MDT/MWT/MPT/MDDT Mountain,
|
||||
MST/MDT/MWT/MPT Mountain,
|
||||
NST/NDT/NWT/NPT/NDDT Newfoundland,
|
||||
NST/NDT/NWT/NPT Nome,
|
||||
NZMT/NZST New Zealand through 1945,
|
||||
NZST/NZDT New Zealand 1946–present,
|
||||
PKT/PKST Pakistan,
|
||||
PST/PDT/PWT/PPT/PDDT Pacific,
|
||||
PST/PDT/PWT/PPT Pacific,
|
||||
PST/PDT Philippine,
|
||||
SAST South Africa,
|
||||
SST Samoa,
|
||||
@ -494,7 +494,7 @@ in decreasing order of importance:
|
||||
<p>
|
||||
<small>These abbreviations are:
|
||||
AMT Asunción, Athens;
|
||||
BMT Baghdad, Bangkok, Batavia, Bermuda, Bern, Bogotá, Bridgetown,
|
||||
BMT Baghdad, Bangkok, Batavia, Bermuda, Bern, Bogotá,
|
||||
Brussels, Bucharest;
|
||||
CMT Calamarca, Caracas, Chisinau, Colón, Córdoba;
|
||||
DMT Dublin/Dunsink;
|
||||
@ -506,12 +506,13 @@ in decreasing order of importance:
|
||||
IMT Irkutsk, Istanbul;
|
||||
JMT Jerusalem;
|
||||
KMT Kaunas, Kyiv, Kingston;
|
||||
LMT Lima, Lisbon, local, Luanda;
|
||||
LMT Lima, Lisbon, local;
|
||||
MMT Macassar, Madras, Malé, Managua, Minsk, Monrovia, Montevideo,
|
||||
Moratuwa, Moscow;
|
||||
PLMT Phù Liễn;
|
||||
PMT Paramaribo, Paris, Perm, Pontianak, Prague;
|
||||
PMMT Port Moresby;
|
||||
PPMT Port-au-Prince;
|
||||
QMT Quito;
|
||||
RMT Rangoon, Riga, Rome;
|
||||
SDMT Santo Domingo;
|
||||
@ -519,8 +520,7 @@ in decreasing order of importance:
|
||||
SMT Santiago, Simferopol, Singapore, Stanley;
|
||||
TBMT Tbilisi;
|
||||
TMT Tallinn, Tehran;
|
||||
WMT Warsaw;
|
||||
ZMT Zomba.</small>
|
||||
WMT Warsaw.</small>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -791,7 +791,7 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes
|
||||
with days starting at midnight.
|
||||
Although <abbr>UT</abbr> equals <abbr>UTC</abbr> for modern
|
||||
timestamps, <abbr>UTC</abbr> was not defined until 1960, so
|
||||
commentary uses the more-general abbreviation <abbr>UT</abbr> for
|
||||
commentary uses the more general abbreviation <abbr>UT</abbr> for
|
||||
timestamps that might predate 1960.
|
||||
Since <abbr>UT</abbr>, <abbr>UT1</abbr>, etc. disagree slightly,
|
||||
and since pre-1972 <abbr>UTC</abbr> seconds varied in length,
|
||||
@ -818,7 +818,8 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes
|
||||
<li>
|
||||
The relationship between POSIX time (that is, <abbr>UTC</abbr> but
|
||||
ignoring <a href="https://en.wikipedia.org/wiki/Leap_second">leap
|
||||
seconds</a>) and <abbr>UTC</abbr> is not agreed upon after 1972.
|
||||
seconds</a>) and <abbr>UTC</abbr> is not agreed upon.
|
||||
This affects time stamps during the leap second era (1972–2035).
|
||||
Although the POSIX
|
||||
clock officially stops during an inserted leap second, at least one
|
||||
proposed standard has it jumping back a second instead; and in
|
||||
@ -877,7 +878,7 @@ an older <code>zic</code>.
|
||||
is error-prone in practice.
|
||||
Also, POSIX <code>TZ</code> strings cannot deal with daylight
|
||||
saving time rules not based on the Gregorian calendar (as in
|
||||
Iran), or with situations where more than two time zone
|
||||
Morocco), or with situations where more than two time zone
|
||||
abbreviations or <abbr>UT</abbr> offsets are used in an area.
|
||||
</p>
|
||||
|
||||
@ -913,8 +914,8 @@ an older <code>zic</code>.
|
||||
<dt><var>date</var>[<code>/</code><var>time</var>]<code>,</code><var>date</var>[<code>/</code><var>time</var>]</dt><dd>
|
||||
specifies the beginning and end of <abbr>DST</abbr>.
|
||||
If this is absent, the system supplies its own ruleset
|
||||
for <abbr>DST</abbr>, and its rules can differ from year to year;
|
||||
typically <abbr>US</abbr> <abbr>DST</abbr> rules are used.
|
||||
for <abbr>DST</abbr>, typically current <abbr>US</abbr>
|
||||
<abbr>DST</abbr> rules.
|
||||
</dd>
|
||||
<dt><var>time</var></dt><dd>
|
||||
takes the form
|
||||
@ -974,10 +975,11 @@ an older <code>zic</code>.
|
||||
Traditionally the current <abbr>US</abbr> <abbr>DST</abbr> rules
|
||||
were used to interpret such values, but this meant that the
|
||||
<abbr>US</abbr> <abbr>DST</abbr> rules were compiled into each
|
||||
program that did time conversion. This meant that when
|
||||
time conversion package, and when
|
||||
<abbr>US</abbr> time conversion rules changed (as in the United
|
||||
States in 1987), all programs that did time conversion had to be
|
||||
recompiled to ensure proper results.
|
||||
States in 1987 and again in 2007), all packages that
|
||||
interpreted <code>TZ</code> values had to be updated
|
||||
to ensure proper results.
|
||||
</li>
|
||||
<li>
|
||||
The <code>TZ</code> environment variable is process-global, which
|
||||
@ -1173,7 +1175,7 @@ The vestigial <abbr>API</abbr>s are:
|
||||
</li>
|
||||
<li>
|
||||
The functions that are conditionally compiled
|
||||
if <code>STD_INSPIRED</code> is defined should, at this point, be
|
||||
if <code>STD_INSPIRED</code> is nonzero should, at this point, be
|
||||
looked on primarily as food for thought.
|
||||
They are not in any sense "standard compatible" – some are
|
||||
not, in fact, specified in <em>any</em> standard.
|
||||
@ -1240,7 +1242,7 @@ The <code><abbr>tz</abbr></code> code and data supply the following interfaces:
|
||||
Interface changes in a release attempt to preserve compatibility with
|
||||
recent releases.
|
||||
For example, <code><abbr>tz</abbr></code> data files typically do not
|
||||
rely on recently-added <code>zic</code> features, so that users can
|
||||
rely on recently added <code>zic</code> features, so that users can
|
||||
run older <code>zic</code> versions to process newer data files.
|
||||
<a href="tz-link.html#download">Downloading
|
||||
the <code><abbr>tz</abbr></code> database</a> describes how releases
|
||||
@ -1268,6 +1270,18 @@ between now and the future time.
|
||||
|
||||
<section>
|
||||
<h2 id="leapsec">Leap seconds</h2>
|
||||
<p>
|
||||
Leap seconds were introduced in 1972 to accommodate the
|
||||
difference between atomic time and the less regular rotation of the earth.
|
||||
Unfortunately they caused so many problems with civil
|
||||
timekeeping that they
|
||||
are <a href="https://www.bipm.org/en/cgpm-2022/resolution-4">planned
|
||||
to be discontinued by 2035</a>, with some as-yet-undetermined
|
||||
mechanism replacing them, perhaps after the year 2135.
|
||||
Despite their impending obsolescence, a record of leap seconds is still
|
||||
needed to resolve timestamps from 1972 through 2035.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The <code><abbr>tz</abbr></code> code and data can account for leap seconds,
|
||||
thanks to code contributed by Bradley White.
|
||||
@ -1282,12 +1296,12 @@ commonly used by
|
||||
<a href="https://www.ntp.org"><abbr title="Network Time Protocol">NTP</abbr></a>
|
||||
software that adjusts the kernel clock.
|
||||
However, kernel-clock twiddling approximates UTC only roughly,
|
||||
and systems needing more-precise UTC can use this package's leap
|
||||
and systems needing more precise UTC can use this package's leap
|
||||
second support directly.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The directly-supported mechanism assumes that <code>time_t</code>
|
||||
The directly supported mechanism assumes that <code>time_t</code>
|
||||
counts of seconds since the POSIX epoch normally include leap seconds,
|
||||
as opposed to POSIX <code>time_t</code> counts which exclude leap seconds.
|
||||
This modified timescale is converted to <abbr>UTC</abbr>
|
||||
@ -1348,7 +1362,15 @@ They sometimes disagree.
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 id="planets">Time and time zones on other planets</h2>
|
||||
<h2 id="planets">Time and time zones off Earth</h2>
|
||||
<p>
|
||||
The European Space Agency is <a
|
||||
href='https://www.esa.int/Applications/Navigation/Telling_time_on_the_Moon'>considering</a>
|
||||
the establishment of a reference timescale for the Moon, which has
|
||||
days roughly equivalent to 29.5 Earth days, and where relativistic
|
||||
effects cause clocks to tick slightly faster than on Earth.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Some people's work schedules have used
|
||||
<a href="https://en.wikipedia.org/wiki/Timekeeping_on_Mars">Mars time</a>.
|
||||
|
@ -1 +1 @@
|
||||
2022g
|
||||
2023c
|
||||
|
@ -196,7 +196,12 @@ io_sandbox_enter(int src_fd)
|
||||
goto error;
|
||||
|
||||
if (cap_rights_limit(src_fd, cap_rights_init(&rights,
|
||||
CAP_EVENT, CAP_FCNTL, CAP_LOOKUP, CAP_READ, CAP_SEEK)))
|
||||
CAP_EVENT, CAP_FCNTL, CAP_LOOKUP, CAP_READ, CAP_SEEK)) < 0 &&
|
||||
errno != ENOSYS)
|
||||
goto error;
|
||||
|
||||
if (src_fd != STDIN_FILENO && cap_rights_limit(
|
||||
STDIN_FILENO, cap_rights_clear(&rights)))
|
||||
goto error;
|
||||
|
||||
if (src_fd != STDIN_FILENO && cap_rights_limit(
|
||||
@ -205,7 +210,7 @@ io_sandbox_enter(int src_fd)
|
||||
|
||||
if (cap_rights_limit(STDOUT_FILENO, cap_rights_init(&rights,
|
||||
CAP_EVENT, CAP_FCNTL, CAP_FSTAT, CAP_LOOKUP,
|
||||
CAP_WRITE, CAP_SEEK)))
|
||||
CAP_WRITE, CAP_SEEK)) < 0 && errno != ENOSYS)
|
||||
goto error;
|
||||
|
||||
if (cap_rights_limit(STDERR_FILENO, cap_rights_init(&rights,
|
||||
|
213
decoder/build/linux/makefile
Normal file
213
decoder/build/linux/makefile
Normal file
@ -0,0 +1,213 @@
|
||||
########################################################
|
||||
# Copyright 2015 ARM Limited. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification,
|
||||
# are permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software without
|
||||
# specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
#################################################################################
|
||||
# OpenCSD - master makefile for libraries and tests
|
||||
#
|
||||
# command line options
|
||||
# DEBUG=1 create a debug build
|
||||
#
|
||||
|
||||
# Set project root - relative to build makefile
|
||||
ifeq ($(OCSD_ROOT),)
|
||||
OCSD_ROOT := $(shell echo $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) | sed 's,/build/linux.*,,')
|
||||
export OCSD_ROOT
|
||||
endif
|
||||
|
||||
# library names
|
||||
LIB_BASE_NAME=opencsd
|
||||
export LIB_BASE_NAME
|
||||
LIB_CAPI_NAME=$(LIB_BASE_NAME)_c_api
|
||||
export LIB_CAPI_NAME
|
||||
|
||||
# source root directories
|
||||
export OCSD_LIB_ROOT=$(OCSD_ROOT)/lib
|
||||
|
||||
export OCSD_INCLUDE=$(OCSD_ROOT)/include
|
||||
export OCSD_SOURCE=$(OCSD_ROOT)/source
|
||||
|
||||
export OCSD_TESTS=$(OCSD_ROOT)/tests
|
||||
export LIB_UAPI_INC_DIR=opencsd
|
||||
|
||||
# tools
|
||||
export MASTER_CC=$(CROSS_COMPILE)gcc
|
||||
export MASTER_CXX=$(CROSS_COMPILE)g++
|
||||
export MASTER_LINKER=$(CROSS_COMPILE)g++
|
||||
export MASTER_LIB=$(CROSS_COMPILE)ar
|
||||
export INSTALL=install
|
||||
|
||||
|
||||
# installation directory
|
||||
PREFIX ?=/usr
|
||||
LIB_PATH ?= lib
|
||||
INSTALL_LIB_DIR=$(DESTDIR)$(PREFIX)/$(LIB_PATH)
|
||||
INSTALL_BIN_DIR=$(DESTDIR)$(PREFIX)/bin
|
||||
export INSTALL_INCLUDE_DIR=$(DESTDIR)$(PREFIX)/include/
|
||||
INSTALL_MAN_DIR=$(DESTDIR)$(PREFIX)/share/man/man1
|
||||
|
||||
# compile flags
|
||||
CFLAGS += $(CPPFLAGS) -c -Wall -DLINUX -Wno-switch -Wlogical-op -fPIC
|
||||
CXXFLAGS += $(CPPFLAGS) -c -Wall -DLINUX -Wno-switch -Wlogical-op -fPIC -std=c++11
|
||||
LDFLAGS += -Wl,-z,defs
|
||||
ARFLAGS ?= rcs
|
||||
|
||||
# debug variant
|
||||
ifdef DEBUG
|
||||
CFLAGS += -g -O0 -DDEBUG
|
||||
CXXFLAGS += -g -O0 -DDEBUG
|
||||
BUILD_VARIANT=dbg
|
||||
else
|
||||
CFLAGS += -O2 -DNDEBUG
|
||||
CXXFLAGS += -O2 -DNDEBUG
|
||||
BUILD_VARIANT=rel
|
||||
endif
|
||||
|
||||
# export build flags
|
||||
export CFLAGS
|
||||
export CXXFLAGS
|
||||
export LDFLAGS
|
||||
export ARFLAGS
|
||||
|
||||
# target directories - fixed for default packaging build
|
||||
PLAT_DIR ?= builddir
|
||||
export PLAT_DIR
|
||||
export LIB_TARGET_DIR=$(OCSD_LIB_ROOT)/$(PLAT_DIR)
|
||||
export LIB_TEST_TARGET_DIR=$(OCSD_TESTS)/lib/$(PLAT_DIR)
|
||||
export BIN_TEST_TARGET_DIR=$(OCSD_TESTS)/bin/$(PLAT_DIR)
|
||||
|
||||
# Fish version out of header file (converting from hex)
|
||||
getver:=printf "%d" $$(awk '/\#define VARNAME/ { print $$3 }' $(OCSD_ROOT)/include/opencsd/ocsd_if_version.h)
|
||||
export SO_MAJOR_VER := $(shell $(subst VARNAME,OCSD_VER_MAJOR,$(getver)))
|
||||
SO_MINOR_VER := $(shell $(subst VARNAME,OCSD_VER_MINOR,$(getver)))
|
||||
SO_PATCH_VER := $(shell $(subst VARNAME,OCSD_VER_PATCH,$(getver)))
|
||||
export SO_VER := $(SO_MAJOR_VER).$(SO_MINOR_VER).$(SO_PATCH_VER)
|
||||
|
||||
|
||||
###########################################################
|
||||
# build targets
|
||||
|
||||
all: libs tests
|
||||
|
||||
libs: $(LIB_BASE_NAME)_lib $(LIB_CAPI_NAME)_lib
|
||||
|
||||
DEF_SO_PERM ?= 644
|
||||
|
||||
install: libs tests
|
||||
mkdir -p $(INSTALL_LIB_DIR) $(INSTALL_INCLUDE_DIR) $(INSTALL_BIN_DIR)
|
||||
cp -d $(LIB_TARGET_DIR)/lib$(LIB_BASE_NAME).so $(INSTALL_LIB_DIR)/
|
||||
cp -d $(LIB_TARGET_DIR)/lib$(LIB_BASE_NAME).so.$(SO_MAJOR_VER) $(INSTALL_LIB_DIR)/
|
||||
$(INSTALL) --mode=$(DEF_SO_PERM) $(LIB_TARGET_DIR)/lib$(LIB_BASE_NAME).so.$(SO_VER) $(INSTALL_LIB_DIR)/
|
||||
cp -d $(LIB_TARGET_DIR)/lib$(LIB_CAPI_NAME).so $(INSTALL_LIB_DIR)/
|
||||
cp -d $(LIB_TARGET_DIR)/lib$(LIB_CAPI_NAME).so.$(SO_MAJOR_VER) $(INSTALL_LIB_DIR)/
|
||||
$(INSTALL) --mode=$(DEF_SO_PERM) $(LIB_TARGET_DIR)/lib$(LIB_CAPI_NAME).so.$(SO_VER) $(INSTALL_LIB_DIR)/
|
||||
ifndef DISABLE_STATIC
|
||||
$(INSTALL) --mode=644 $(LIB_TARGET_DIR)/lib$(LIB_BASE_NAME).a $(INSTALL_LIB_DIR)/
|
||||
$(INSTALL) --mode=644 $(LIB_TARGET_DIR)/lib$(LIB_CAPI_NAME).a $(INSTALL_LIB_DIR)/
|
||||
endif
|
||||
cd $(OCSD_ROOT)/build/linux/rctdl_c_api_lib && make install_inc
|
||||
$(INSTALL) --mode=755 $(BIN_TEST_TARGET_DIR)/trc_pkt_lister $(INSTALL_BIN_DIR)/
|
||||
|
||||
install_man:
|
||||
mkdir -p $(INSTALL_MAN_DIR)
|
||||
$(INSTALL) --mode=644 $(OCSD_ROOT)/docs/man/trc_pkt_lister.1 $(INSTALL_MAN_DIR)/
|
||||
|
||||
|
||||
################################
|
||||
# build OpenCSD trace decode library
|
||||
#
|
||||
$(LIB_BASE_NAME)_lib: $(LIB_TARGET_DIR)/lib$(LIB_BASE_NAME).a $(LIB_TARGET_DIR)/lib$(LIB_BASE_NAME).so
|
||||
|
||||
$(LIB_TARGET_DIR)/lib$(LIB_BASE_NAME).so: $(LIB_BASE_NAME)_all
|
||||
$(LIB_TARGET_DIR)/lib$(LIB_BASE_NAME).a: $(LIB_BASE_NAME)_all
|
||||
|
||||
# single command builds both .a and .so targets in sub-makefile
|
||||
$(LIB_BASE_NAME)_all:
|
||||
mkdir -p $(LIB_TARGET_DIR)
|
||||
cd $(OCSD_ROOT)/build/linux/ref_trace_decode_lib && $(MAKE)
|
||||
|
||||
################################
|
||||
# build OpenCSD trace decode C API library
|
||||
#
|
||||
$(LIB_CAPI_NAME)_lib: $(LIB_TARGET_DIR)/lib$(LIB_CAPI_NAME).a $(LIB_TARGET_DIR)/lib$(LIB_CAPI_NAME).so
|
||||
|
||||
$(LIB_TARGET_DIR)/lib$(LIB_CAPI_NAME).so: $(LIB_CAPI_NAME)_all
|
||||
$(LIB_TARGET_DIR)/lib$(LIB_CAPI_NAME).a: $(LIB_CAPI_NAME)_all
|
||||
|
||||
# single command builds both .a and .so targets in sub-makefile
|
||||
$(LIB_CAPI_NAME)_all: $(LIB_BASE_NAME)_lib
|
||||
mkdir -p $(LIB_TARGET_DIR)
|
||||
cd $(OCSD_ROOT)/build/linux/rctdl_c_api_lib && $(MAKE)
|
||||
|
||||
#################################
|
||||
# build tests
|
||||
|
||||
.PHONY: tests
|
||||
tests: libs
|
||||
cd $(OCSD_ROOT)/tests/build/linux/echo_test_dcd_lib && $(MAKE)
|
||||
cd $(OCSD_ROOT)/tests/build/linux/snapshot_parser_lib && $(MAKE)
|
||||
cd $(OCSD_ROOT)/tests/build/linux/trc_pkt_lister && $(MAKE)
|
||||
cd $(OCSD_ROOT)/tests/build/linux/c_api_pkt_print_test && $(MAKE)
|
||||
cd $(OCSD_ROOT)/tests/build/linux/mem_buffer_eg && $(MAKE)
|
||||
cd $(OCSD_ROOT)/tests/build/linux/frame_demux_test && $(MAKE)
|
||||
|
||||
#
|
||||
# build docs
|
||||
.PHONY: docs
|
||||
docs:
|
||||
(cd $(OCSD_ROOT)/docs; doxygen doxygen_config.dox)
|
||||
|
||||
|
||||
#############################################################
|
||||
# clean targets
|
||||
#
|
||||
clean: clean_libs clean_tests clean_docs
|
||||
|
||||
.PHONY: clean_libs clean_tests clean_docs clean_install
|
||||
|
||||
clean_libs:
|
||||
cd $(OCSD_ROOT)/build/linux/ref_trace_decode_lib && $(MAKE) clean
|
||||
cd $(OCSD_ROOT)/build/linux/rctdl_c_api_lib && $(MAKE) clean
|
||||
|
||||
clean_tests:
|
||||
cd $(OCSD_ROOT)/tests/build/linux/echo_test_dcd_lib && $(MAKE) clean
|
||||
cd $(OCSD_ROOT)/tests/build/linux/snapshot_parser_lib && $(MAKE) clean
|
||||
cd $(OCSD_ROOT)/tests/build/linux/trc_pkt_lister && $(MAKE) clean
|
||||
cd $(OCSD_ROOT)/tests/build/linux/c_api_pkt_print_test && $(MAKE) clean
|
||||
cd $(OCSD_ROOT)/tests/build/linux/mem_buffer_eg && $(MAKE) clean
|
||||
cd $(OCSD_ROOT)/tests/build/linux/frame_demux_test && $(MAKE) clean
|
||||
-rmdir $(OCSD_TESTS)/lib
|
||||
|
||||
clean_docs:
|
||||
-rm -r $(OCSD_ROOT)/docs/html
|
||||
|
||||
clean_install:
|
||||
-rm $(INSTALL_LIB_DIR)/lib$(LIB_BASE_NAME).*
|
||||
-rm $(INSTALL_LIB_DIR)/lib$(LIB_CAPI_NAME).*
|
||||
-rm -r $(INSTALL_INCLUDE_DIR)/$(LIB_UAPI_INC_DIR)
|
||||
-rm $(INSTALL_BIN_DIR)/trc_pkt_lister
|
||||
-rm $(INSTALL_MAN_DIR)/trc_pkt_lister.1
|
70
decoder/build/linux/makefile.dev
Normal file
70
decoder/build/linux/makefile.dev
Normal file
@ -0,0 +1,70 @@
|
||||
########################################################
|
||||
# Copyright 2018 ARM Limited. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification,
|
||||
# are permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software without
|
||||
# specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
## Set up some addtional parameters for development environment builds. ##
|
||||
|
||||
## define arch/build sub-dirs for non installed dev builds
|
||||
ifndef ARCH
|
||||
ARCH := $(shell dpkg-architecture -q DEB_HOST_GNU_CPU || echo not)
|
||||
endif
|
||||
|
||||
# platform bit size variant
|
||||
ifeq ($(ARCH),x86)
|
||||
MFLAG:="-m32"
|
||||
BIT_VARIANT=32
|
||||
else ifeq ($(ARCH),x86_64)
|
||||
MFLAG:="-m64"
|
||||
BIT_VARIANT=64
|
||||
else ifeq ($(ARCH),arm)
|
||||
BIT_VARIANT=-arm
|
||||
else ifeq ($(ARCH),arm64)
|
||||
BIT_VARIANT=-arm64
|
||||
else ifeq ($(ARCH),aarch64)
|
||||
BIT_VARIANT=-arm64
|
||||
else ifeq ($(ARCH),aarch32)
|
||||
BIT_VARIANT=-arm
|
||||
endif
|
||||
|
||||
CXXFLAGS += $(MFLAG)
|
||||
CFLAGS += $(MFLAG)
|
||||
LDFLAGS += $(MFLAG)
|
||||
|
||||
ifdef GCCDIR
|
||||
GCCVER:= $(shell $(CROSS_COMPILE)gcc -dumpversion | cut -c 1-3)
|
||||
PLAT_DIR=builddir/linux$(BIT_VARIANT)/GCC_$(GCCVER)
|
||||
else
|
||||
PLAT_DIR=linux$(BIT_VARIANT)/$(BUILD_VARIANT)
|
||||
endif
|
||||
|
||||
# for dev env, enable static link build test
|
||||
export TEST_STATIC_LINKING=1
|
||||
|
||||
# include the main makefile
|
||||
include makefile
|
123
decoder/build/linux/rctdl_c_api_lib/makefile
Normal file
123
decoder/build/linux/rctdl_c_api_lib/makefile
Normal file
@ -0,0 +1,123 @@
|
||||
########################################################
|
||||
# Copyright 2015 ARM Limited. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification,
|
||||
# are permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software without
|
||||
# specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
#################################################################################
|
||||
# OpenCSD - makefile for C API wrapper library
|
||||
#
|
||||
|
||||
CXX := $(MASTER_CXX)
|
||||
LINKER := $(MASTER_LINKER)
|
||||
LIB := $(MASTER_LIB)
|
||||
|
||||
LIB_NAME = lib$(LIB_CAPI_NAME)
|
||||
SO_LIB_DEPS= -L$(LIB_TARGET_DIR) -l$(LIB_BASE_NAME)
|
||||
|
||||
BUILD_DIR=./$(PLAT_DIR)
|
||||
|
||||
VPATH= $(OCSD_SOURCE)/c_api
|
||||
|
||||
CXX_INCLUDES= \
|
||||
-I$(OCSD_INCLUDE) \
|
||||
-I$(OCSD_SOURCE)/c_api
|
||||
|
||||
OBJECTS=$(BUILD_DIR)/ocsd_c_api.o \
|
||||
$(BUILD_DIR)/ocsd_c_api_custom_obj.o
|
||||
|
||||
INST_INC_SRC=$(OCSD_INCLUDE)/$(LIB_UAPI_INC_DIR)
|
||||
INST_INC_DST=$(INSTALL_INCLUDE_DIR)/$(LIB_UAPI_INC_DIR)
|
||||
|
||||
all: links
|
||||
|
||||
links: $(LIB_TARGET_DIR)/$(LIB_NAME).so.$(SO_MAJOR_VER) $(LIB_TARGET_DIR)/$(LIB_NAME).so
|
||||
.PHONY: links
|
||||
|
||||
LIBS:= $(LIB_TARGET_DIR)/$(LIB_NAME).a $(LIB_TARGET_DIR)/$(LIB_NAME).so.$(SO_VER)
|
||||
|
||||
$(LIB_TARGET_DIR):
|
||||
mkdir -p $(LIB_TARGET_DIR)
|
||||
|
||||
$(BUILD_DIR):
|
||||
mkdir -p $(BUILD_DIR)
|
||||
|
||||
$(LIB_TARGET_DIR)/$(LIB_NAME).a: $(OBJECTS) | $(BUILD_DIR) $(LIB_TARGET_DIR)
|
||||
$(LIB) $(ARFLAGS) $(LIB_TARGET_DIR)/$(LIB_NAME).a $(OBJECTS)
|
||||
|
||||
$(LIB_TARGET_DIR)/$(LIB_NAME).so.$(SO_VER): $(OBJECTS) | $(BUILD_DIR) $(LIB_TARGET_DIR)
|
||||
$(LINKER) $(LDFLAGS) -shared -o $(LIB_TARGET_DIR)/$(LIB_NAME).so.$(SO_VER) -Wl,-soname,$(LIB_NAME).so.$(SO_MAJOR_VER) $(OBJECTS) $(SO_LIB_DEPS)
|
||||
|
||||
$(LIB_TARGET_DIR)/$(LIB_NAME).so.$(SO_MAJOR_VER): $(LIBS) | $(LIB_TARGET_DIR)
|
||||
( cd $(LIB_TARGET_DIR); ln -sf $(LIB_NAME).so.$(SO_VER) $(LIB_NAME).so.$(SO_MAJOR_VER) )
|
||||
|
||||
$(LIB_TARGET_DIR)/$(LIB_NAME).so: $(LIB_TARGET_DIR)/$(LIB_NAME).so.$(SO_MAJOR_VER) | $(LIB_TARGET_DIR)
|
||||
( cd $(LIB_TARGET_DIR); ln -sf $(LIB_NAME).so.$(SO_MAJOR_VER) $(LIB_NAME).so )
|
||||
|
||||
|
||||
##### build rules
|
||||
|
||||
## object dependencies
|
||||
DEPS := $(OBJECTS:%.o=%.d)
|
||||
|
||||
-include $(DEPS)
|
||||
|
||||
## object compile
|
||||
$(BUILD_DIR)/%.o : %.cpp | $(BUILD_DIR)
|
||||
$(CXX) $(CXXFLAGS) $(CXX_INCLUDES) -MMD $< -o $@
|
||||
|
||||
|
||||
#### clean
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f $(OBJECTS)
|
||||
rm -f $(DEPS)
|
||||
rm -f $(LIB_TARGET_DIR)/$(LIB_NAME).a
|
||||
rm -f $(LIB_TARGET_DIR)/$(LIB_NAME).so*
|
||||
-rmdir $(BUILD_DIR)
|
||||
|
||||
#### install the necessary include files for the c-api library on linux
|
||||
install_inc:
|
||||
$(INSTALL) -d --mode=0755 $(INST_INC_DST)/
|
||||
$(INSTALL) --mode=0644 $(INST_INC_SRC)/trc_gen_elem_types.h $(INST_INC_DST)/
|
||||
$(INSTALL) --mode=0644 $(INST_INC_SRC)/ocsd_if_types.h $(INST_INC_DST)/
|
||||
$(INSTALL) --mode=0644 $(INST_INC_SRC)/ocsd_if_version.h $(INST_INC_DST)/
|
||||
$(INSTALL) --mode=0644 $(INST_INC_SRC)/trc_pkt_types.h $(INST_INC_DST)/
|
||||
$(INSTALL) -d --mode=0755 $(INST_INC_DST)/ptm
|
||||
$(INSTALL) --mode=0644 $(INST_INC_SRC)/ptm/trc_pkt_types_ptm.h $(INST_INC_DST)/ptm/
|
||||
$(INSTALL) -d --mode=0755 $(INST_INC_DST)/stm
|
||||
$(INSTALL) --mode=0644 $(INST_INC_SRC)/stm/trc_pkt_types_stm.h $(INST_INC_DST)/stm/
|
||||
$(INSTALL) -d --mode=0755 $(INST_INC_DST)/etmv3
|
||||
$(INSTALL) --mode=0644 $(INST_INC_SRC)/etmv3/trc_pkt_types_etmv3.h $(INST_INC_DST)/etmv3/
|
||||
$(INSTALL) -d --mode=0755 $(INST_INC_DST)/etmv4
|
||||
$(INSTALL) --mode=0644 $(INST_INC_SRC)/etmv4/trc_pkt_types_etmv4.h $(INST_INC_DST)/etmv4/
|
||||
$(INSTALL) -d --mode=0755 $(INST_INC_DST)/ete
|
||||
$(INSTALL) --mode=0644 $(INST_INC_SRC)/ete/trc_pkt_types_ete.h $(INST_INC_DST)/ete/
|
||||
$(INSTALL) -d --mode=0755 $(INST_INC_DST)/c_api
|
||||
$(INSTALL) --mode=0644 $(INST_INC_SRC)/c_api/ocsd_c_api_types.h $(INST_INC_DST)/c_api/
|
||||
$(INSTALL) --mode=0644 $(INST_INC_SRC)/c_api/opencsd_c_api.h $(INST_INC_DST)/c_api/
|
||||
$(INSTALL) --mode=0644 $(INST_INC_SRC)/c_api/ocsd_c_api_custom.h $(INST_INC_DST)/c_api/
|
||||
|
||||
|
160
decoder/build/linux/ref_trace_decode_lib/makefile
Normal file
160
decoder/build/linux/ref_trace_decode_lib/makefile
Normal file
@ -0,0 +1,160 @@
|
||||
########################################################
|
||||
# Copyright 2015 ARM Limited. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification,
|
||||
# are permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software without
|
||||
# specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
#################################################################################
|
||||
# OpenCSD - makefile for main trace decode library
|
||||
#
|
||||
|
||||
CXX := $(MASTER_CXX)
|
||||
LINKER := $(MASTER_LINKER)
|
||||
LIB := $(MASTER_LIB)
|
||||
|
||||
LIB_NAME= lib$(LIB_BASE_NAME)
|
||||
|
||||
BUILD_DIR=./$(PLAT_DIR)
|
||||
|
||||
VPATH= $(OCSD_SOURCE) \
|
||||
$(OCSD_SOURCE)/etmv3 \
|
||||
$(OCSD_SOURCE)/etmv4 \
|
||||
$(OCSD_SOURCE)/ete \
|
||||
$(OCSD_SOURCE)/ptm \
|
||||
$(OCSD_SOURCE)/i_dec \
|
||||
$(OCSD_SOURCE)/mem_acc \
|
||||
$(OCSD_SOURCE)/stm \
|
||||
$(OCSD_SOURCE)/pkt_printers
|
||||
|
||||
|
||||
CXX_INCLUDES= \
|
||||
-I$(OCSD_INCLUDE) \
|
||||
-I$(OCSD_SOURCE)
|
||||
|
||||
ETMV3OBJ= $(BUILD_DIR)/trc_cmp_cfg_etmv3.o \
|
||||
$(BUILD_DIR)/trc_pkt_decode_etmv3.o \
|
||||
$(BUILD_DIR)/trc_pkt_elem_etmv3.o \
|
||||
$(BUILD_DIR)/trc_pkt_proc_etmv3.o \
|
||||
$(BUILD_DIR)/trc_pkt_proc_etmv3_impl.o
|
||||
|
||||
ETMV4OBJ= $(BUILD_DIR)/trc_cmp_cfg_etmv4.o \
|
||||
$(BUILD_DIR)/trc_etmv4_stack_elem.o \
|
||||
$(BUILD_DIR)/trc_pkt_proc_etmv4i.o \
|
||||
$(BUILD_DIR)/trc_pkt_decode_etmv4i.o \
|
||||
$(BUILD_DIR)/trc_pkt_elem_etmv4i.o \
|
||||
$(BUILD_DIR)/trc_cmp_cfg_ete.o
|
||||
|
||||
PTMOBJ= $(BUILD_DIR)/trc_cmp_cfg_ptm.o \
|
||||
$(BUILD_DIR)/trc_pkt_elem_ptm.o \
|
||||
$(BUILD_DIR)/trc_pkt_proc_ptm.o \
|
||||
$(BUILD_DIR)/trc_pkt_decode_ptm.o
|
||||
|
||||
IDECOBJ= $(BUILD_DIR)/trc_i_decode.o \
|
||||
$(BUILD_DIR)/trc_idec_arminst.o
|
||||
|
||||
MEMACCOBJ= $(BUILD_DIR)/trc_mem_acc_mapper.o \
|
||||
$(BUILD_DIR)/trc_mem_acc_bufptr.o \
|
||||
$(BUILD_DIR)/trc_mem_acc_file.o \
|
||||
$(BUILD_DIR)/trc_mem_acc_base.o \
|
||||
$(BUILD_DIR)/trc_mem_acc_cb.o \
|
||||
$(BUILD_DIR)/trc_mem_acc_cache.o
|
||||
|
||||
STMOBJ= $(BUILD_DIR)/trc_pkt_elem_stm.o \
|
||||
$(BUILD_DIR)/trc_pkt_proc_stm.o \
|
||||
$(BUILD_DIR)/trc_pkt_decode_stm.o
|
||||
|
||||
PKTPRNTOBJ= $(BUILD_DIR)/raw_frame_printer.o \
|
||||
$(BUILD_DIR)/trc_print_fact.o
|
||||
|
||||
|
||||
OBJECTS=$(BUILD_DIR)/ocsd_code_follower.o \
|
||||
$(BUILD_DIR)/ocsd_dcd_tree.o \
|
||||
$(BUILD_DIR)/ocsd_error.o \
|
||||
$(BUILD_DIR)/ocsd_error_logger.o \
|
||||
$(BUILD_DIR)/ocsd_gen_elem_list.o \
|
||||
$(BUILD_DIR)/ocsd_gen_elem_stack.o \
|
||||
$(BUILD_DIR)/ocsd_lib_dcd_register.o \
|
||||
$(BUILD_DIR)/ocsd_msg_logger.o \
|
||||
$(BUILD_DIR)/ocsd_version.o \
|
||||
$(BUILD_DIR)/trc_component.o \
|
||||
$(BUILD_DIR)/trc_core_arch_map.o \
|
||||
$(BUILD_DIR)/trc_frame_deformatter.o \
|
||||
$(BUILD_DIR)/trc_gen_elem.o \
|
||||
$(BUILD_DIR)/trc_printable_elem.o \
|
||||
$(BUILD_DIR)/trc_ret_stack.o \
|
||||
$(ETMV3OBJ) \
|
||||
$(ETMV4OBJ) \
|
||||
$(IDECOBJ) \
|
||||
$(MEMACCOBJ) \
|
||||
$(STMOBJ) \
|
||||
$(PTMOBJ) \
|
||||
$(PKTPRNTOBJ)
|
||||
|
||||
all: links
|
||||
|
||||
links: $(LIB_TARGET_DIR)/$(LIB_NAME).so.$(SO_MAJOR_VER) $(LIB_TARGET_DIR)/$(LIB_NAME).so
|
||||
.PHONY: links
|
||||
|
||||
LIBS:= $(LIB_TARGET_DIR)/$(LIB_NAME).a $(LIB_TARGET_DIR)/$(LIB_NAME).so.$(SO_VER)
|
||||
|
||||
$(LIB_TARGET_DIR):
|
||||
mkdir -p $(LIB_TARGET_DIR)
|
||||
|
||||
$(BUILD_DIR):
|
||||
mkdir -p $(BUILD_DIR)
|
||||
|
||||
$(LIB_TARGET_DIR)/$(LIB_NAME).a: $(OBJECTS) | $(BUILD_DIR) $(LIB_TARGET_DIR)
|
||||
$(LIB) $(ARFLAGS) $(LIB_TARGET_DIR)/$(LIB_NAME).a $(OBJECTS)
|
||||
|
||||
$(LIB_TARGET_DIR)/$(LIB_NAME).so.$(SO_VER): $(OBJECTS) | $(BUILD_DIR) $(LIB_TARGET_DIR)
|
||||
$(LINKER) $(LDFLAGS) -shared -o $(LIB_TARGET_DIR)/$(LIB_NAME).so.$(SO_VER) -Wl,-soname,$(LIB_NAME).so.$(SO_MAJOR_VER) $(OBJECTS)
|
||||
|
||||
$(LIB_TARGET_DIR)/$(LIB_NAME).so.$(SO_MAJOR_VER): $(LIBS) | $(LIB_TARGET_DIR)
|
||||
( cd $(LIB_TARGET_DIR); ln -sf $(LIB_NAME).so.$(SO_VER) $(LIB_NAME).so.$(SO_MAJOR_VER) )
|
||||
|
||||
$(LIB_TARGET_DIR)/$(LIB_NAME).so: $(LIB_TARGET_DIR)/$(LIB_NAME).so.$(SO_MAJOR_VER) | $(LIB_TARGET_DIR)
|
||||
( cd $(LIB_TARGET_DIR); ln -sf $(LIB_NAME).so.$(SO_MAJOR_VER) $(LIB_NAME).so )
|
||||
|
||||
|
||||
##### build rules
|
||||
|
||||
## object dependencies
|
||||
DEPS := $(OBJECTS:%.o=%.d)
|
||||
|
||||
-include $(DEPS)
|
||||
|
||||
## object compile
|
||||
$(BUILD_DIR)/%.o : %.cpp | $(BUILD_DIR)
|
||||
$(CXX) $(CXXFLAGS) $(CXX_INCLUDES) -MMD $< -o $@
|
||||
|
||||
|
||||
#### clean
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f $(OBJECTS)
|
||||
rm -f $(DEPS)
|
||||
rm -f $(LIB_TARGET_DIR)/$(LIB_NAME).a
|
||||
rm -f $(LIB_TARGET_DIR)/$(LIB_NAME).so*
|
||||
-rmdir $(BUILD_DIR)
|
@ -0,0 +1,460 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug-dll|Win32">
|
||||
<Configuration>Debug-dll</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-dll|x64">
|
||||
<Configuration>Debug-dll</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-dll|Win32">
|
||||
<Configuration>Release-dll</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-dll|x64">
|
||||
<Configuration>Release-dll</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{7F500891-CC76-405F-933F-F682BC39F923}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>ref_trace_decode_lib</RootNamespace>
|
||||
<ProjectName>opencsd_lib</ProjectName>
|
||||
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions);</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions);</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\..\..\HOWTO.md" />
|
||||
<None Include="..\..\..\..\LICENSE" />
|
||||
<None Include="..\..\..\..\README.md" />
|
||||
<None Include="..\..\..\..\TODO" />
|
||||
<None Include="..\..\..\docs\build_libs.md" />
|
||||
<None Include="..\..\..\docs\external_custom.md" />
|
||||
<None Include="..\..\..\docs\man\trc_pkt_lister.1" />
|
||||
<None Include="..\..\..\docs\test_progs.md" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\include\common\comp_attach_notifier_i.h" />
|
||||
<ClInclude Include="..\..\..\include\common\comp_attach_pt_t.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_code_follower.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_mngr.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_mngr_i.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_tree.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_tree_elem.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_error.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_error_logger.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_gen_elem_list.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_gen_elem_stack.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_lib_dcd_register.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_msg_logger.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_pe_context.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_version.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_component.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_core_arch_map.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_cs_config.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_frame_deformatter.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_gen_elem.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_pkt_decode_base.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_pkt_elem_base.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_pkt_proc_base.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_printable_elem.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_ret_stack.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_cache.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\ete_decoder.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\trc_cmp_cfg_ete.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\trc_dcd_mngr_ete.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\trc_pkt_types_ete.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\etmv3_decoder.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_cmp_cfg_etmv3.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_dcd_mngr_etmv3.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_decode_etmv3.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_elem_etmv3.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_proc_etmv3.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_types_etmv3.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\etmv4_decoder.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_cmp_cfg_etmv4.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_dcd_mngr_etmv4i.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_etmv4_stack_elem.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_decode_etmv4i.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_elem_etmv4d.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_elem_etmv4i.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_proc_etmv4.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_proc_etmv4i.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_types_etmv4.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_abs_typed_base_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_data_rawframe_in_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_data_raw_in_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_error_log_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_gen_elem_in_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_indexer_pkt_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_indexer_src_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_instr_decode_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_pkt_in_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_pkt_raw_in_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_tgt_mem_access_i.h" />
|
||||
<ClInclude Include="..\..\..\include\i_dec\trc_idec_arminst.h" />
|
||||
<ClInclude Include="..\..\..\include\i_dec\trc_i_decode.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_base.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_bufptr.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_cb.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_cb_if.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_file.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_mapper.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ocsd_if_types.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ocsd_if_version.h" />
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\gen_elem_printer.h" />
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\item_printer.h" />
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\pkt_printer_t.h" />
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\raw_frame_printer.h" />
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\trc_pkt_printers.h" />
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\trc_print_fact.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\ptm_decoder.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_cmp_cfg_ptm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_dcd_mngr_ptm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_decode_ptm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_elem_ptm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_proc_ptm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_types_ptm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\stm_decoder.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_cmp_cfg_stm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_dcd_mngr_stm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_decode_stm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_elem_stm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_proc_stm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_types_stm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\trc_gen_elem_types.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\trc_pkt_types.h" />
|
||||
<ClInclude Include="..\..\..\source\etmv3\trc_pkt_proc_etmv3_impl.h" />
|
||||
<ClInclude Include="..\..\..\source\trc_frame_deformatter_impl.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\source\ete\trc_cmp_cfg_ete.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_cmp_cfg_etmv3.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_decode_etmv3.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_elem_etmv3.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_proc_etmv3.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_proc_etmv3_impl.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_cmp_cfg_etmv4.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_etmv4_stack_elem.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_pkt_decode_etmv4i.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_pkt_elem_etmv4i.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_pkt_proc_etmv4i.cpp" />
|
||||
<ClCompile Include="..\..\..\source\i_dec\trc_idec_arminst.cpp" />
|
||||
<ClCompile Include="..\..\..\source\i_dec\trc_i_decode.cpp" />
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_base.cpp" />
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_bufptr.cpp" />
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_cache.cpp" />
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_cb.cpp" />
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_file.cpp" />
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_mapper.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_code_follower.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_dcd_tree.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_error.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_error_logger.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_gen_elem_list.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_gen_elem_stack.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_lib_dcd_register.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_msg_logger.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_version.cpp" />
|
||||
<ClCompile Include="..\..\..\source\pkt_printers\raw_frame_printer.cpp" />
|
||||
<ClCompile Include="..\..\..\source\pkt_printers\trc_print_fact.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_cmp_cfg_ptm.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_pkt_decode_ptm.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_pkt_elem_ptm.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_pkt_proc_ptm.cpp" />
|
||||
<ClCompile Include="..\..\..\source\stm\trc_pkt_decode_stm.cpp" />
|
||||
<ClCompile Include="..\..\..\source\stm\trc_pkt_elem_stm.cpp" />
|
||||
<ClCompile Include="..\..\..\source\stm\trc_pkt_proc_stm.cpp" />
|
||||
<ClCompile Include="..\..\..\source\trc_component.cpp" />
|
||||
<ClCompile Include="..\..\..\source\trc_core_arch_map.cpp" />
|
||||
<ClCompile Include="..\..\..\source\trc_frame_deformatter.cpp" />
|
||||
<ClCompile Include="..\..\..\source\trc_gen_elem.cpp" />
|
||||
<ClCompile Include="..\..\..\source\trc_printable_elem.cpp" />
|
||||
<ClCompile Include="..\..\..\source\trc_ret_stack.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -0,0 +1,515 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="interfaces">
|
||||
<UniqueIdentifier>{80012968-9f0d-4623-901a-c2fa5f1c0890}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\etmv3">
|
||||
<UniqueIdentifier>{98cd2a71-b44f-4884-bb8a-56c851cc8321}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\etmv4">
|
||||
<UniqueIdentifier>{dd155712-7990-4cdd-b9b0-299d97f625e4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\ptm">
|
||||
<UniqueIdentifier>{9ec501e2-9ba4-4bad-a3d3-cdb604cc38b4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\mem_acc">
|
||||
<UniqueIdentifier>{23a35c62-e38f-43f6-a03b-6f1287478a69}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\i_dec">
|
||||
<UniqueIdentifier>{f550018a-8974-4f8b-975a-bd8b86ae418f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\stm">
|
||||
<UniqueIdentifier>{2c796b59-81f6-49c9-88cf-e90ed2e741a3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="docs-files">
|
||||
<UniqueIdentifier>{5ea7e02d-0667-4d2d-8c3d-039daf112edc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\ptm">
|
||||
<UniqueIdentifier>{2aa8a97b-13da-4bd1-bdb5-02f3e1cf030b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\etmv4">
|
||||
<UniqueIdentifier>{ff9157b6-ef07-41e4-8ff4-322c50ea6665}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\etmv3">
|
||||
<UniqueIdentifier>{0c2ba881-cc82-4567-ab59-d2363b4c3d1b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\stm">
|
||||
<UniqueIdentifier>{73a56760-b7ff-4d56-88f0-13249201081c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\i_dec">
|
||||
<UniqueIdentifier>{cb3682ee-abbd-44c3-a175-4522d76e2d68}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\mem_acc">
|
||||
<UniqueIdentifier>{eb9beab1-99c6-4eaa-88c0-893b05b2e673}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\common">
|
||||
<UniqueIdentifier>{58d2398e-efdd-45d9-b7be-fc6096f3bec2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\pkt_printers">
|
||||
<UniqueIdentifier>{0e6e1f5d-465e-4f91-88a3-479952bbd316}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\pkt_printers">
|
||||
<UniqueIdentifier>{baf047d0-0ff7-4502-b42b-4f1fda94d54b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\ete">
|
||||
<UniqueIdentifier>{3d119e90-c89b-4f27-8163-305924453e1f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\ete">
|
||||
<UniqueIdentifier>{8cfdb19c-28fc-4e79-b8d5-4e54907b1f82}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\..\..\LICENSE">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\..\README.md">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\..\TODO">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\docs\build_libs.md">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\docs\test_progs.md">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\..\HOWTO.md">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\docs\external_custom.md">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\docs\man\trc_pkt_lister.1">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\source\trc_frame_deformatter_impl.h">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_tgt_mem_access_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_pkt_raw_in_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_pkt_in_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_instr_decode_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_indexer_src_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_indexer_pkt_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_gen_elem_in_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_error_log_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_data_raw_in_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_data_rawframe_in_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\etmv3_decoder.h">
|
||||
<Filter>Header Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_elem_etmv3.h">
|
||||
<Filter>Header Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_cmp_cfg_etmv3.h">
|
||||
<Filter>Header Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_proc_etmv3.h">
|
||||
<Filter>Header Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_types_etmv3.h">
|
||||
<Filter>Header Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_proc_etmv4.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_types_etmv4.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_elem_etmv4d.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_elem_etmv4i.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_cmp_cfg_etmv4.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\etmv4_decoder.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_elem_ptm.h">
|
||||
<Filter>Header Files\ptm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_cmp_cfg_ptm.h">
|
||||
<Filter>Header Files\ptm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_types_ptm.h">
|
||||
<Filter>Header Files\ptm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_proc_ptm.h">
|
||||
<Filter>Header Files\ptm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\ptm_decoder.h">
|
||||
<Filter>Header Files\ptm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_base.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_file.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_bufptr.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_mapper.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\i_dec\trc_idec_arminst.h">
|
||||
<Filter>Header Files\i_dec</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\i_dec\trc_i_decode.h">
|
||||
<Filter>Header Files\i_dec</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_decode_etmv4i.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\stm_decoder.h">
|
||||
<Filter>Header Files\stm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_elem_stm.h">
|
||||
<Filter>Header Files\stm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_cmp_cfg_stm.h">
|
||||
<Filter>Header Files\stm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_proc_stm.h">
|
||||
<Filter>Header Files\stm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_types_stm.h">
|
||||
<Filter>Header Files\stm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_decode_etmv3.h">
|
||||
<Filter>Header Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_cb_if.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_cb.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_decode_ptm.h">
|
||||
<Filter>Header Files\ptm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\source\etmv3\trc_pkt_proc_etmv3_impl.h">
|
||||
<Filter>Source Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\comp_attach_notifier_i.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\comp_attach_pt_t.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_tree.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_tree_elem.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_error.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_error_logger.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_msg_logger.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_version.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_component.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_core_arch_map.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_frame_deformatter.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_gen_elem.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_pkt_decode_base.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_pkt_proc_base.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_printable_elem.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_pe_context.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_code_follower.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_gen_elem_list.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_cs_config.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_mngr.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_mngr_i.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_lib_dcd_register.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_abs_typed_base_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_dcd_mngr_etmv4i.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_dcd_mngr_etmv3.h">
|
||||
<Filter>Source Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_dcd_mngr_ptm.h">
|
||||
<Filter>Header Files\ptm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_dcd_mngr_stm.h">
|
||||
<Filter>Header Files\stm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_pkt_elem_base.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_decode_stm.h">
|
||||
<Filter>Header Files\stm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\gen_elem_printer.h">
|
||||
<Filter>Header Files\pkt_printers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\item_printer.h">
|
||||
<Filter>Header Files\pkt_printers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\pkt_printer_t.h">
|
||||
<Filter>Header Files\pkt_printers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\raw_frame_printer.h">
|
||||
<Filter>Header Files\pkt_printers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\trc_pkt_printers.h">
|
||||
<Filter>Header Files\pkt_printers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\trc_print_fact.h">
|
||||
<Filter>Header Files\pkt_printers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_ret_stack.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_etmv4_stack_elem.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ocsd_if_types.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\trc_gen_elem_types.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\trc_pkt_types.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_cache.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ocsd_if_version.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_gen_elem_stack.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\trc_pkt_types_ete.h">
|
||||
<Filter>Header Files\ete</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\trc_cmp_cfg_ete.h">
|
||||
<Filter>Header Files\ete</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\trc_dcd_mngr_ete.h">
|
||||
<Filter>Header Files\ete</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\ete_decoder.h">
|
||||
<Filter>Header Files\ete</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_proc_etmv4i.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\source\trc_component.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\trc_frame_deformatter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\trc_core_arch_map.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\trc_printable_elem.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\trc_gen_elem.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_pkt_decode_ptm.cpp">
|
||||
<Filter>Source Files\ptm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_pkt_elem_ptm.cpp">
|
||||
<Filter>Source Files\ptm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_pkt_proc_ptm.cpp">
|
||||
<Filter>Source Files\ptm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_pkt_elem_etmv4i.cpp">
|
||||
<Filter>Source Files\etmv4</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_pkt_decode_etmv4i.cpp">
|
||||
<Filter>Source Files\etmv4</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_elem_etmv3.cpp">
|
||||
<Filter>Source Files\etmv3</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_decode_etmv3.cpp">
|
||||
<Filter>Source Files\etmv3</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_cmp_cfg_etmv3.cpp">
|
||||
<Filter>Source Files\etmv3</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_proc_etmv3.cpp">
|
||||
<Filter>Source Files\etmv3</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_proc_etmv3_impl.cpp">
|
||||
<Filter>Source Files\etmv3</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_cmp_cfg_etmv4.cpp">
|
||||
<Filter>Source Files\etmv4</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_cmp_cfg_ptm.cpp">
|
||||
<Filter>Source Files\ptm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\stm\trc_pkt_proc_stm.cpp">
|
||||
<Filter>Source Files\stm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\stm\trc_pkt_elem_stm.cpp">
|
||||
<Filter>Source Files\stm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\i_dec\trc_i_decode.cpp">
|
||||
<Filter>Source Files\i_dec</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\i_dec\trc_idec_arminst.cpp">
|
||||
<Filter>Source Files\i_dec</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_base.cpp">
|
||||
<Filter>Source Files\mem_acc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_mapper.cpp">
|
||||
<Filter>Source Files\mem_acc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_bufptr.cpp">
|
||||
<Filter>Source Files\mem_acc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_cb.cpp">
|
||||
<Filter>Source Files\mem_acc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_file.cpp">
|
||||
<Filter>Source Files\mem_acc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_dcd_tree.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_error.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_error_logger.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_msg_logger.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_version.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_code_follower.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_gen_elem_list.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_lib_dcd_register.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\stm\trc_pkt_decode_stm.cpp">
|
||||
<Filter>Source Files\stm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\pkt_printers\raw_frame_printer.cpp">
|
||||
<Filter>Source Files\pkt_printers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\pkt_printers\trc_print_fact.cpp">
|
||||
<Filter>Source Files\pkt_printers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\trc_ret_stack.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_etmv4_stack_elem.cpp">
|
||||
<Filter>Source Files\etmv4</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_cache.cpp">
|
||||
<Filter>Source Files\mem_acc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_pkt_proc_etmv4i.cpp">
|
||||
<Filter>Source Files\etmv4</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_gen_elem_stack.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ete\trc_cmp_cfg_ete.cpp">
|
||||
<Filter>Source Files\ete</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
20
decoder/build/win-vs2022/opencsd.props
Normal file
20
decoder/build/win-vs2022/opencsd.props
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<LIB_BASE_NAME>opencsd</LIB_BASE_NAME>
|
||||
<LIB_CAPI_NAME>opencsd_c_api</LIB_CAPI_NAME>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup />
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="LIB_BASE_NAME">
|
||||
<Value>$(LIB_BASE_NAME)</Value>
|
||||
<EnvironmentVariable>true</EnvironmentVariable>
|
||||
</BuildMacro>
|
||||
<BuildMacro Include="LIB_CAPI_NAME">
|
||||
<Value>$(LIB_CAPI_NAME)</Value>
|
||||
<EnvironmentVariable>true</EnvironmentVariable>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\lib\win32\dbg\libopencsd_c_api.dll</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\lib\win32\rel\libopencsd_c_api.dll</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\lib\win32\rel\opencsd_c_api.dll</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs />
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
327
decoder/build/win-vs2022/rctdl_c_api_lib/rctdl_c_api_lib.vcxproj
Normal file
327
decoder/build/win-vs2022/rctdl_c_api_lib/rctdl_c_api_lib.vcxproj
Normal file
@ -0,0 +1,327 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug-dll|Win32">
|
||||
<Configuration>Debug-dll</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-dll|x64">
|
||||
<Configuration>Debug-dll</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-dll|Win32">
|
||||
<Configuration>Release-dll</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-dll|x64">
|
||||
<Configuration>Release-dll</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{533F929A-A73B-46B6-9D5F-FFCD62F734E3}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>rctdl_c_api_lib</RootNamespace>
|
||||
<ProjectName>ocsd_c_api_lib</ProjectName>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<TargetName>lib$(LIB_CAPI_NAME)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<TargetName>lib$(LIB_CAPI_NAME)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<TargetName>lib$(LIB_CAPI_NAME)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<TargetName>lib$(LIB_CAPI_NAME)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<TargetName>lib$(LIB_CAPI_NAME)</TargetName>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<TargetName>lib$(LIB_CAPI_NAME)</TargetName>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<TargetName>lib$(LIB_CAPI_NAME)</TargetName>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<TargetName>lib$(LIB_CAPI_NAME)</TargetName>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
<BasicRuntimeChecks />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_OCSD_C_API_DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_OCSD_C_API_DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_OCSD_C_API_DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_OCSD_C_API_DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\include\opencsd\c_api\ocsd_c_api_custom.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\c_api\ocsd_c_api_cust_fact.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\c_api\ocsd_c_api_cust_impl.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\c_api\ocsd_c_api_types.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\c_api\opencsd_c_api.h" />
|
||||
<ClInclude Include="..\..\..\source\c_api\ocsd_c_api_custom_obj.h" />
|
||||
<ClInclude Include="..\..\..\source\c_api\ocsd_c_api_obj.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\ref_trace_decode_lib\ref_trace_decode_lib.vcxproj">
|
||||
<Project>{7f500891-cc76-405f-933f-f682bc39f923}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\source\c_api\ocsd_c_api.cpp" />
|
||||
<ClCompile Include="..\..\..\source\c_api\ocsd_c_api_custom_obj.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\include\opencsd\c_api\ocsd_c_api_types.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\c_api\opencsd_c_api.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\source\c_api\ocsd_c_api_obj.h">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\c_api\ocsd_c_api_custom.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\source\c_api\ocsd_c_api_custom_obj.h">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\c_api\ocsd_c_api_cust_fact.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\c_api\ocsd_c_api_cust_impl.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\source\c_api\ocsd_c_api.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\c_api\ocsd_c_api_custom_obj.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\lib\win64\dbg\libopencsd_c_api.dll</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\lib\win64\rel\libopencsd_c_api.dll</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs />
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\lib\win32\dbg\libopencsd.dll</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs />
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs />
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,166 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.0.32929.387
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opencsd_lib", "ref_trace_decode_lib.vcxproj", "{7F500891-CC76-405F-933F-F682BC39F923}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ocsd_c_api_lib", "..\rctdl_c_api_lib\rctdl_c_api_lib.vcxproj", "{533F929A-A73B-46B6-9D5F-FFCD62F734E3}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "c_api_pkt_print_test", "..\..\..\tests\build\win-vs2022\c_api_pkt_print_test\c_api_pkt_print_test.vcxproj", "{3AC169DA-E156-4D16-95DF-73D7302A5606}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F} = {46219A32-8178-41C1-B3B1-B5A6E547515F}
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3} = {533F929A-A73B-46B6-9D5F-FFCD62F734E3}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ext_dcd_echo_test", "..\..\..\tests\build\win-vs2022\ext_dcd_echo_test\ext_dcd_echo_test.vcxproj", "{46219A32-8178-41C1-B3B1-B5A6E547515F}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mem-buffer-eg", "..\..\..\tests\build\win-vs2022\mem-buffer-eg\mem-buffer-eg.vcxproj", "{BC090130-2C53-4CF6-8AD4-37BF72B8D01A}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{7F500891-CC76-405F-933F-F682BC39F923} = {7F500891-CC76-405F-933F-F682BC39F923}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "snapshot_parser_lib", "..\..\..\tests\build\win-vs2022\snapshot_parser_lib\snapshot_parser_lib.vcxproj", "{DE1F395D-4F53-42FB-8AEF-993A4BF7E411}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "trc_pkt_lister", "..\..\..\tests\build\win-vs2022\trc_pkt_lister\trc_pkt_lister.vcxproj", "{18ABC652-AB11-4993-9491-1A7FB7117339}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{7F500891-CC76-405F-933F-F682BC39F923} = {7F500891-CC76-405F-933F-F682BC39F923}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "frame_demux_test", "..\..\..\tests\build\win-vs2022\frame_demux_test\frame_demux_test.vcxproj", "{98EE9884-A4EB-4C75-A911-DFEDF992754F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{7F500891-CC76-405F-933F-F682BC39F923} = {7F500891-CC76-405F-933F-F682BC39F923}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Debug-dll|Win32 = Debug-dll|Win32
|
||||
Debug-dll|x64 = Debug-dll|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
Release-dll|Win32 = Release-dll|Win32
|
||||
Release-dll|x64 = Release-dll|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Debug|x64.Build.0 = Debug|x64
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Debug-dll|Win32.ActiveCfg = Debug|Win32
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Debug-dll|Win32.Build.0 = Debug|Win32
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Debug-dll|x64.ActiveCfg = Debug|x64
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Debug-dll|x64.Build.0 = Debug|x64
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Release|Win32.Build.0 = Release|Win32
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Release|x64.ActiveCfg = Release|x64
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Release|x64.Build.0 = Release|x64
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Release-dll|Win32.ActiveCfg = Release|Win32
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Release-dll|Win32.Build.0 = Release|Win32
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Release-dll|x64.ActiveCfg = Release|x64
|
||||
{7F500891-CC76-405F-933F-F682BC39F923}.Release-dll|x64.Build.0 = Release|x64
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Debug|x64.Build.0 = Debug|x64
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Debug-dll|Win32.ActiveCfg = Debug-dll|Win32
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Debug-dll|Win32.Build.0 = Debug-dll|Win32
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Debug-dll|x64.ActiveCfg = Debug-dll|x64
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Debug-dll|x64.Build.0 = Debug-dll|x64
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Release|Win32.Build.0 = Release|Win32
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Release|x64.ActiveCfg = Release|x64
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Release|x64.Build.0 = Release|x64
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Release-dll|Win32.ActiveCfg = Release-dll|Win32
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Release-dll|Win32.Build.0 = Release-dll|Win32
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Release-dll|x64.ActiveCfg = Release-dll|x64
|
||||
{533F929A-A73B-46B6-9D5F-FFCD62F734E3}.Release-dll|x64.Build.0 = Release-dll|x64
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Debug|x64.Build.0 = Debug|x64
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Debug-dll|Win32.ActiveCfg = debug-dll|Win32
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Debug-dll|Win32.Build.0 = debug-dll|Win32
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Debug-dll|x64.ActiveCfg = debug-dll|x64
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Debug-dll|x64.Build.0 = debug-dll|x64
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Release|Win32.Build.0 = Release|Win32
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Release|x64.ActiveCfg = Release|x64
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Release|x64.Build.0 = Release|x64
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Release-dll|Win32.ActiveCfg = Release-dll|Win32
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Release-dll|Win32.Build.0 = Release-dll|Win32
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Release-dll|x64.ActiveCfg = Release-dll|x64
|
||||
{3AC169DA-E156-4D16-95DF-73D7302A5606}.Release-dll|x64.Build.0 = Release-dll|x64
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Debug|x64.Build.0 = Debug|x64
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Debug-dll|Win32.ActiveCfg = Debug|Win32
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Debug-dll|Win32.Build.0 = Debug|Win32
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Debug-dll|x64.ActiveCfg = Debug|x64
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Debug-dll|x64.Build.0 = Debug|x64
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Release|Win32.Build.0 = Release|Win32
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Release|x64.ActiveCfg = Release|x64
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Release|x64.Build.0 = Release|x64
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Release-dll|Win32.ActiveCfg = Release|Win32
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Release-dll|Win32.Build.0 = Release|Win32
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Release-dll|x64.ActiveCfg = Release|x64
|
||||
{46219A32-8178-41C1-B3B1-B5A6E547515F}.Release-dll|x64.Build.0 = Release|x64
|
||||
{BC090130-2C53-4CF6-8AD4-37BF72B8D01A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{BC090130-2C53-4CF6-8AD4-37BF72B8D01A}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{BC090130-2C53-4CF6-8AD4-37BF72B8D01A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{BC090130-2C53-4CF6-8AD4-37BF72B8D01A}.Debug|x64.Build.0 = Debug|x64
|
||||
{BC090130-2C53-4CF6-8AD4-37BF72B8D01A}.Debug-dll|Win32.ActiveCfg = Debug|Win32
|
||||
{BC090130-2C53-4CF6-8AD4-37BF72B8D01A}.Debug-dll|x64.ActiveCfg = Debug|x64
|
||||
{BC090130-2C53-4CF6-8AD4-37BF72B8D01A}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{BC090130-2C53-4CF6-8AD4-37BF72B8D01A}.Release|Win32.Build.0 = Release|Win32
|
||||
{BC090130-2C53-4CF6-8AD4-37BF72B8D01A}.Release|x64.ActiveCfg = Release|x64
|
||||
{BC090130-2C53-4CF6-8AD4-37BF72B8D01A}.Release|x64.Build.0 = Release|x64
|
||||
{BC090130-2C53-4CF6-8AD4-37BF72B8D01A}.Release-dll|Win32.ActiveCfg = Release|Win32
|
||||
{BC090130-2C53-4CF6-8AD4-37BF72B8D01A}.Release-dll|x64.ActiveCfg = Release|x64
|
||||
{DE1F395D-4F53-42FB-8AEF-993A4BF7E411}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{DE1F395D-4F53-42FB-8AEF-993A4BF7E411}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{DE1F395D-4F53-42FB-8AEF-993A4BF7E411}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{DE1F395D-4F53-42FB-8AEF-993A4BF7E411}.Debug|x64.Build.0 = Debug|x64
|
||||
{DE1F395D-4F53-42FB-8AEF-993A4BF7E411}.Debug-dll|Win32.ActiveCfg = Debug|Win32
|
||||
{DE1F395D-4F53-42FB-8AEF-993A4BF7E411}.Debug-dll|x64.ActiveCfg = Debug|x64
|
||||
{DE1F395D-4F53-42FB-8AEF-993A4BF7E411}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{DE1F395D-4F53-42FB-8AEF-993A4BF7E411}.Release|Win32.Build.0 = Release|Win32
|
||||
{DE1F395D-4F53-42FB-8AEF-993A4BF7E411}.Release|x64.ActiveCfg = Release|x64
|
||||
{DE1F395D-4F53-42FB-8AEF-993A4BF7E411}.Release|x64.Build.0 = Release|x64
|
||||
{DE1F395D-4F53-42FB-8AEF-993A4BF7E411}.Release-dll|Win32.ActiveCfg = Release|Win32
|
||||
{DE1F395D-4F53-42FB-8AEF-993A4BF7E411}.Release-dll|x64.ActiveCfg = Release|x64
|
||||
{18ABC652-AB11-4993-9491-1A7FB7117339}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{18ABC652-AB11-4993-9491-1A7FB7117339}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{18ABC652-AB11-4993-9491-1A7FB7117339}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{18ABC652-AB11-4993-9491-1A7FB7117339}.Debug|x64.Build.0 = Debug|x64
|
||||
{18ABC652-AB11-4993-9491-1A7FB7117339}.Debug-dll|Win32.ActiveCfg = Debug|Win32
|
||||
{18ABC652-AB11-4993-9491-1A7FB7117339}.Debug-dll|x64.ActiveCfg = Debug|x64
|
||||
{18ABC652-AB11-4993-9491-1A7FB7117339}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{18ABC652-AB11-4993-9491-1A7FB7117339}.Release|Win32.Build.0 = Release|Win32
|
||||
{18ABC652-AB11-4993-9491-1A7FB7117339}.Release|x64.ActiveCfg = Release|x64
|
||||
{18ABC652-AB11-4993-9491-1A7FB7117339}.Release|x64.Build.0 = Release|x64
|
||||
{18ABC652-AB11-4993-9491-1A7FB7117339}.Release-dll|Win32.ActiveCfg = Release|Win32
|
||||
{18ABC652-AB11-4993-9491-1A7FB7117339}.Release-dll|x64.ActiveCfg = Release|x64
|
||||
{98EE9884-A4EB-4C75-A911-DFEDF992754F}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{98EE9884-A4EB-4C75-A911-DFEDF992754F}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{98EE9884-A4EB-4C75-A911-DFEDF992754F}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{98EE9884-A4EB-4C75-A911-DFEDF992754F}.Debug|x64.Build.0 = Debug|x64
|
||||
{98EE9884-A4EB-4C75-A911-DFEDF992754F}.Debug-dll|Win32.ActiveCfg = Debug|Win32
|
||||
{98EE9884-A4EB-4C75-A911-DFEDF992754F}.Debug-dll|x64.ActiveCfg = Debug|x64
|
||||
{98EE9884-A4EB-4C75-A911-DFEDF992754F}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{98EE9884-A4EB-4C75-A911-DFEDF992754F}.Release|Win32.Build.0 = Release|Win32
|
||||
{98EE9884-A4EB-4C75-A911-DFEDF992754F}.Release|x64.ActiveCfg = Release|x64
|
||||
{98EE9884-A4EB-4C75-A911-DFEDF992754F}.Release|x64.Build.0 = Release|x64
|
||||
{98EE9884-A4EB-4C75-A911-DFEDF992754F}.Release-dll|Win32.ActiveCfg = Release|Win32
|
||||
{98EE9884-A4EB-4C75-A911-DFEDF992754F}.Release-dll|x64.ActiveCfg = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {8A5D77A4-7683-4395-84D4-9A22BD625E52}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
@ -0,0 +1,462 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug-dll|Win32">
|
||||
<Configuration>Debug-dll</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-dll|x64">
|
||||
<Configuration>Debug-dll</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-dll|Win32">
|
||||
<Configuration>Release-dll</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-dll|x64">
|
||||
<Configuration>Release-dll</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{7F500891-CC76-405F-933F-F682BC39F923}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>ref_trace_decode_lib</RootNamespace>
|
||||
<ProjectName>opencsd_lib</ProjectName>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<EnableASAN>true</EnableASAN>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetName>lib$(LIB_BASE_NAME)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
<BasicRuntimeChecks>UninitializedLocalUsageCheck</BasicRuntimeChecks>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions);</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions);</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName)_vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\..\..\HOWTO.md" />
|
||||
<None Include="..\..\..\..\LICENSE" />
|
||||
<None Include="..\..\..\..\README.md" />
|
||||
<None Include="..\..\..\..\TODO" />
|
||||
<None Include="..\..\..\docs\build_libs.md" />
|
||||
<None Include="..\..\..\docs\external_custom.md" />
|
||||
<None Include="..\..\..\docs\man\trc_pkt_lister.1" />
|
||||
<None Include="..\..\..\docs\test_progs.md" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\include\common\comp_attach_notifier_i.h" />
|
||||
<ClInclude Include="..\..\..\include\common\comp_attach_pt_t.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_code_follower.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_mngr.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_mngr_i.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_tree.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_tree_elem.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_error.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_error_logger.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_gen_elem_list.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_gen_elem_stack.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_lib_dcd_register.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_msg_logger.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_pe_context.h" />
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_version.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_component.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_core_arch_map.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_cs_config.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_frame_deformatter.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_gen_elem.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_pkt_decode_base.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_pkt_elem_base.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_pkt_proc_base.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_printable_elem.h" />
|
||||
<ClInclude Include="..\..\..\include\common\trc_ret_stack.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_cache.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\ete_decoder.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\trc_cmp_cfg_ete.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\trc_dcd_mngr_ete.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\trc_pkt_types_ete.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\etmv3_decoder.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_cmp_cfg_etmv3.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_dcd_mngr_etmv3.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_decode_etmv3.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_elem_etmv3.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_proc_etmv3.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_types_etmv3.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\etmv4_decoder.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_cmp_cfg_etmv4.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_dcd_mngr_etmv4i.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_etmv4_stack_elem.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_decode_etmv4i.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_elem_etmv4d.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_elem_etmv4i.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_proc_etmv4.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_proc_etmv4i.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_types_etmv4.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_abs_typed_base_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_data_rawframe_in_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_data_raw_in_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_error_log_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_gen_elem_in_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_indexer_pkt_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_indexer_src_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_instr_decode_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_pkt_in_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_pkt_raw_in_i.h" />
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_tgt_mem_access_i.h" />
|
||||
<ClInclude Include="..\..\..\include\i_dec\trc_idec_arminst.h" />
|
||||
<ClInclude Include="..\..\..\include\i_dec\trc_i_decode.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_base.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_bufptr.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_cb.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_cb_if.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_file.h" />
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_mapper.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ocsd_if_types.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ocsd_if_version.h" />
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\gen_elem_printer.h" />
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\item_printer.h" />
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\pkt_printer_t.h" />
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\raw_frame_printer.h" />
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\trc_pkt_printers.h" />
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\trc_print_fact.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\ptm_decoder.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_cmp_cfg_ptm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_dcd_mngr_ptm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_decode_ptm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_elem_ptm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_proc_ptm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_types_ptm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\stm_decoder.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_cmp_cfg_stm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_dcd_mngr_stm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_decode_stm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_elem_stm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_proc_stm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_types_stm.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\trc_gen_elem_types.h" />
|
||||
<ClInclude Include="..\..\..\include\opencsd\trc_pkt_types.h" />
|
||||
<ClInclude Include="..\..\..\source\etmv3\trc_pkt_proc_etmv3_impl.h" />
|
||||
<ClInclude Include="..\..\..\source\trc_frame_deformatter_impl.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\source\ete\trc_cmp_cfg_ete.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_cmp_cfg_etmv3.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_decode_etmv3.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_elem_etmv3.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_proc_etmv3.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_proc_etmv3_impl.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_cmp_cfg_etmv4.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_etmv4_stack_elem.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_pkt_decode_etmv4i.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_pkt_elem_etmv4i.cpp" />
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_pkt_proc_etmv4i.cpp" />
|
||||
<ClCompile Include="..\..\..\source\i_dec\trc_idec_arminst.cpp" />
|
||||
<ClCompile Include="..\..\..\source\i_dec\trc_i_decode.cpp" />
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_base.cpp" />
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_bufptr.cpp" />
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_cache.cpp" />
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_cb.cpp" />
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_file.cpp" />
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_mapper.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_code_follower.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_dcd_tree.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_error.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_error_logger.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_gen_elem_list.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_gen_elem_stack.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_lib_dcd_register.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_msg_logger.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ocsd_version.cpp" />
|
||||
<ClCompile Include="..\..\..\source\pkt_printers\raw_frame_printer.cpp" />
|
||||
<ClCompile Include="..\..\..\source\pkt_printers\trc_print_fact.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_cmp_cfg_ptm.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_pkt_decode_ptm.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_pkt_elem_ptm.cpp" />
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_pkt_proc_ptm.cpp" />
|
||||
<ClCompile Include="..\..\..\source\stm\trc_pkt_decode_stm.cpp" />
|
||||
<ClCompile Include="..\..\..\source\stm\trc_pkt_elem_stm.cpp" />
|
||||
<ClCompile Include="..\..\..\source\stm\trc_pkt_proc_stm.cpp" />
|
||||
<ClCompile Include="..\..\..\source\trc_component.cpp" />
|
||||
<ClCompile Include="..\..\..\source\trc_core_arch_map.cpp" />
|
||||
<ClCompile Include="..\..\..\source\trc_frame_deformatter.cpp" />
|
||||
<ClCompile Include="..\..\..\source\trc_gen_elem.cpp" />
|
||||
<ClCompile Include="..\..\..\source\trc_printable_elem.cpp" />
|
||||
<ClCompile Include="..\..\..\source\trc_ret_stack.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -0,0 +1,515 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="interfaces">
|
||||
<UniqueIdentifier>{80012968-9f0d-4623-901a-c2fa5f1c0890}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\etmv3">
|
||||
<UniqueIdentifier>{98cd2a71-b44f-4884-bb8a-56c851cc8321}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\etmv4">
|
||||
<UniqueIdentifier>{dd155712-7990-4cdd-b9b0-299d97f625e4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\ptm">
|
||||
<UniqueIdentifier>{9ec501e2-9ba4-4bad-a3d3-cdb604cc38b4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\mem_acc">
|
||||
<UniqueIdentifier>{23a35c62-e38f-43f6-a03b-6f1287478a69}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\i_dec">
|
||||
<UniqueIdentifier>{f550018a-8974-4f8b-975a-bd8b86ae418f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\stm">
|
||||
<UniqueIdentifier>{2c796b59-81f6-49c9-88cf-e90ed2e741a3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="docs-files">
|
||||
<UniqueIdentifier>{5ea7e02d-0667-4d2d-8c3d-039daf112edc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\ptm">
|
||||
<UniqueIdentifier>{2aa8a97b-13da-4bd1-bdb5-02f3e1cf030b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\etmv4">
|
||||
<UniqueIdentifier>{ff9157b6-ef07-41e4-8ff4-322c50ea6665}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\etmv3">
|
||||
<UniqueIdentifier>{0c2ba881-cc82-4567-ab59-d2363b4c3d1b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\stm">
|
||||
<UniqueIdentifier>{73a56760-b7ff-4d56-88f0-13249201081c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\i_dec">
|
||||
<UniqueIdentifier>{cb3682ee-abbd-44c3-a175-4522d76e2d68}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\mem_acc">
|
||||
<UniqueIdentifier>{eb9beab1-99c6-4eaa-88c0-893b05b2e673}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\common">
|
||||
<UniqueIdentifier>{58d2398e-efdd-45d9-b7be-fc6096f3bec2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\pkt_printers">
|
||||
<UniqueIdentifier>{0e6e1f5d-465e-4f91-88a3-479952bbd316}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\pkt_printers">
|
||||
<UniqueIdentifier>{baf047d0-0ff7-4502-b42b-4f1fda94d54b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\ete">
|
||||
<UniqueIdentifier>{3d119e90-c89b-4f27-8163-305924453e1f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\ete">
|
||||
<UniqueIdentifier>{8cfdb19c-28fc-4e79-b8d5-4e54907b1f82}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\..\..\LICENSE">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\..\README.md">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\..\TODO">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\docs\build_libs.md">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\docs\test_progs.md">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\..\HOWTO.md">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\docs\external_custom.md">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\docs\man\trc_pkt_lister.1">
|
||||
<Filter>docs-files</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\source\trc_frame_deformatter_impl.h">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_tgt_mem_access_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_pkt_raw_in_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_pkt_in_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_instr_decode_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_indexer_src_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_indexer_pkt_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_gen_elem_in_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_error_log_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_data_raw_in_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_data_rawframe_in_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\etmv3_decoder.h">
|
||||
<Filter>Header Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_elem_etmv3.h">
|
||||
<Filter>Header Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_cmp_cfg_etmv3.h">
|
||||
<Filter>Header Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_proc_etmv3.h">
|
||||
<Filter>Header Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_types_etmv3.h">
|
||||
<Filter>Header Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_proc_etmv4.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_types_etmv4.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_elem_etmv4d.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_elem_etmv4i.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_cmp_cfg_etmv4.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\etmv4_decoder.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_elem_ptm.h">
|
||||
<Filter>Header Files\ptm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_cmp_cfg_ptm.h">
|
||||
<Filter>Header Files\ptm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_types_ptm.h">
|
||||
<Filter>Header Files\ptm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_proc_ptm.h">
|
||||
<Filter>Header Files\ptm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\ptm_decoder.h">
|
||||
<Filter>Header Files\ptm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_base.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_file.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_bufptr.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_mapper.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\i_dec\trc_idec_arminst.h">
|
||||
<Filter>Header Files\i_dec</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\i_dec\trc_i_decode.h">
|
||||
<Filter>Header Files\i_dec</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_decode_etmv4i.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\stm_decoder.h">
|
||||
<Filter>Header Files\stm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_elem_stm.h">
|
||||
<Filter>Header Files\stm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_cmp_cfg_stm.h">
|
||||
<Filter>Header Files\stm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_proc_stm.h">
|
||||
<Filter>Header Files\stm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_types_stm.h">
|
||||
<Filter>Header Files\stm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_pkt_decode_etmv3.h">
|
||||
<Filter>Header Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_cb_if.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_cb.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_pkt_decode_ptm.h">
|
||||
<Filter>Header Files\ptm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\source\etmv3\trc_pkt_proc_etmv3_impl.h">
|
||||
<Filter>Source Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\comp_attach_notifier_i.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\comp_attach_pt_t.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_tree.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_tree_elem.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_error.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_error_logger.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_msg_logger.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_version.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_component.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_core_arch_map.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_frame_deformatter.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_gen_elem.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_pkt_decode_base.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_pkt_proc_base.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_printable_elem.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_pe_context.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_code_follower.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_gen_elem_list.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_cs_config.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_mngr.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_dcd_mngr_i.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_lib_dcd_register.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\interfaces\trc_abs_typed_base_i.h">
|
||||
<Filter>interfaces</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_dcd_mngr_etmv4i.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv3\trc_dcd_mngr_etmv3.h">
|
||||
<Filter>Source Files\etmv3</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ptm\trc_dcd_mngr_ptm.h">
|
||||
<Filter>Header Files\ptm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_dcd_mngr_stm.h">
|
||||
<Filter>Header Files\stm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_pkt_elem_base.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\stm\trc_pkt_decode_stm.h">
|
||||
<Filter>Header Files\stm</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\gen_elem_printer.h">
|
||||
<Filter>Header Files\pkt_printers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\item_printer.h">
|
||||
<Filter>Header Files\pkt_printers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\pkt_printer_t.h">
|
||||
<Filter>Header Files\pkt_printers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\raw_frame_printer.h">
|
||||
<Filter>Header Files\pkt_printers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\trc_pkt_printers.h">
|
||||
<Filter>Header Files\pkt_printers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\pkt_printers\trc_print_fact.h">
|
||||
<Filter>Header Files\pkt_printers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\trc_ret_stack.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_etmv4_stack_elem.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ocsd_if_types.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\trc_gen_elem_types.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\trc_pkt_types.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\mem_acc\trc_mem_acc_cache.h">
|
||||
<Filter>Header Files\mem_acc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ocsd_if_version.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\common\ocsd_gen_elem_stack.h">
|
||||
<Filter>Header Files\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\trc_pkt_types_ete.h">
|
||||
<Filter>Header Files\ete</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\trc_cmp_cfg_ete.h">
|
||||
<Filter>Header Files\ete</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\trc_dcd_mngr_ete.h">
|
||||
<Filter>Header Files\ete</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\ete\ete_decoder.h">
|
||||
<Filter>Header Files\ete</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\include\opencsd\etmv4\trc_pkt_proc_etmv4i.h">
|
||||
<Filter>Header Files\etmv4</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\source\trc_component.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\trc_frame_deformatter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\trc_core_arch_map.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\trc_printable_elem.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\trc_gen_elem.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_pkt_decode_ptm.cpp">
|
||||
<Filter>Source Files\ptm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_pkt_elem_ptm.cpp">
|
||||
<Filter>Source Files\ptm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_pkt_proc_ptm.cpp">
|
||||
<Filter>Source Files\ptm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_pkt_elem_etmv4i.cpp">
|
||||
<Filter>Source Files\etmv4</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_pkt_decode_etmv4i.cpp">
|
||||
<Filter>Source Files\etmv4</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_elem_etmv3.cpp">
|
||||
<Filter>Source Files\etmv3</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_decode_etmv3.cpp">
|
||||
<Filter>Source Files\etmv3</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_cmp_cfg_etmv3.cpp">
|
||||
<Filter>Source Files\etmv3</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_proc_etmv3.cpp">
|
||||
<Filter>Source Files\etmv3</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv3\trc_pkt_proc_etmv3_impl.cpp">
|
||||
<Filter>Source Files\etmv3</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_cmp_cfg_etmv4.cpp">
|
||||
<Filter>Source Files\etmv4</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ptm\trc_cmp_cfg_ptm.cpp">
|
||||
<Filter>Source Files\ptm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\stm\trc_pkt_proc_stm.cpp">
|
||||
<Filter>Source Files\stm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\stm\trc_pkt_elem_stm.cpp">
|
||||
<Filter>Source Files\stm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\i_dec\trc_i_decode.cpp">
|
||||
<Filter>Source Files\i_dec</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\i_dec\trc_idec_arminst.cpp">
|
||||
<Filter>Source Files\i_dec</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_base.cpp">
|
||||
<Filter>Source Files\mem_acc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_mapper.cpp">
|
||||
<Filter>Source Files\mem_acc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_bufptr.cpp">
|
||||
<Filter>Source Files\mem_acc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_cb.cpp">
|
||||
<Filter>Source Files\mem_acc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_file.cpp">
|
||||
<Filter>Source Files\mem_acc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_dcd_tree.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_error.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_error_logger.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_msg_logger.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_version.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_code_follower.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_gen_elem_list.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_lib_dcd_register.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\stm\trc_pkt_decode_stm.cpp">
|
||||
<Filter>Source Files\stm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\pkt_printers\raw_frame_printer.cpp">
|
||||
<Filter>Source Files\pkt_printers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\pkt_printers\trc_print_fact.cpp">
|
||||
<Filter>Source Files\pkt_printers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\trc_ret_stack.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_etmv4_stack_elem.cpp">
|
||||
<Filter>Source Files\etmv4</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\mem_acc\trc_mem_acc_cache.cpp">
|
||||
<Filter>Source Files\mem_acc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\etmv4\trc_pkt_proc_etmv4i.cpp">
|
||||
<Filter>Source Files\etmv4</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ocsd_gen_elem_stack.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\source\ete\trc_cmp_cfg_ete.cpp">
|
||||
<Filter>Source Files\ete</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs />
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
174
decoder/docs/build_libs.md
Normal file
174
decoder/docs/build_libs.md
Normal file
@ -0,0 +1,174 @@
|
||||
Building and using the Library {#build_lib}
|
||||
==============================
|
||||
|
||||
@brief How to build the library and test programs and include the library in an application
|
||||
|
||||
Platform Support
|
||||
----------------
|
||||
|
||||
The current makefiles and build projects support building the library on:
|
||||
- Linux and Windows, x86 or x64 hosts.
|
||||
- ARM linux - AArch32 and AArch64
|
||||
- ARM aarch32 and aarch64 libs, x-compiled on x86/64 hosts.
|
||||
|
||||
In addition to building the library from the project, the library may be installed into the standard
|
||||
`/usr/lib/` area in Linux, and will soon be available as a package from Linux Distros.
|
||||
|
||||
Building the Library
|
||||
--------------------
|
||||
|
||||
The library and test programs are built from the library `./build/<platform>` directory, where
|
||||
<platform> is either 'linux' or 'win-vs2015' / 'win-vs2022'
|
||||
|
||||
See [`./docs/test_progs.md`](@ref test_progs) for further information on use of the test
|
||||
programs.
|
||||
|
||||
### Linux x86/x64/ARM ###
|
||||
|
||||
Libraries are built into a <tgt_dir>. This is used as the final output directory for the
|
||||
libraries in `decoder/lib/<tgt_dir>`, and also as a sub-directory of the build process for
|
||||
intermediate files - `decoder/build/linux/ref_trace_decode_lib/<tgt_dir>`.
|
||||
|
||||
For a standard build, go to the `./build/linux/` and run `make` in that directory.
|
||||
|
||||
This will set <tgt_dir> to `builddir` for all build variants of the library. Using this only one variant of the library can be built at any one time.
|
||||
|
||||
For development, alternatively use `make -f makefile.dev`
|
||||
|
||||
This will set <tgt_dir> to `linux<bit-variant>/<dbg|rel>` and therefore build libraries into the
|
||||
`decoder/lib/linux<bit-variant>/<dbg|rel>` directories, allowing multiple variants of the library
|
||||
to be present during development.
|
||||
|
||||
e.g.
|
||||
|
||||
`./lib/linux64/rel` will contain the linux 64 bit release libraries.
|
||||
|
||||
`./lib/linux-arm64/dbg` will contain the linux aarch 64 debug libraries for ARM.
|
||||
|
||||
Options to pass to both makefiles are:-
|
||||
- `DEBUG=1` : build the debug version of the library.
|
||||
|
||||
Options to pass to makefile.dev are:-
|
||||
- ARCH=<arch> : sets the bit variant in the delivery directories. Set if cross compilation for ARCH
|
||||
other than host. Otherwise ARCH is auto-detected.
|
||||
<arch> can be x86, x86_64, arm, arm64, aarch64, aarch32
|
||||
|
||||
For cross compilation, set the environment variable `CROSS_COMPILE` to the name path/prefix for the
|
||||
compiler to use. The following would set the environment to cross-compile for ARM
|
||||
|
||||
export PATH=$PATH:~/work/gcc-x-aarch64-6.2/bin
|
||||
export ARCH=arm64
|
||||
export CROSS_COMPILE=aarch64-linux-gnu-
|
||||
|
||||
The makefile will scan the `ocsd_if_version.h` to get the library version numbers and use these
|
||||
in the form Major.minor.patch when naming the output .so files.
|
||||
|
||||
Main C++ library names:
|
||||
- `libcstraced.so.M.m.p` : shared library containing the main C++ based decoder library
|
||||
- `libcstrace.so.M` : symbolic link name to library - major version only.
|
||||
- `libcstrace.so` : symbolic link name to library - no version.
|
||||
|
||||
C API wrapper library names:
|
||||
- `libcstraced_c_api.so.M.m.p` : shared library containing the C-API wrapper library. Dependent on `libcstraced.so.M`
|
||||
- `libcstraced_c_api.so.M` : symbolic link name to library - major version only.
|
||||
- `libcstraced_c_api.so` : symbolic link name to library - no version.
|
||||
|
||||
Static versions of the libraries:
|
||||
- `libcstraced.a` : static library containing the main C++ based decoder library.
|
||||
- `libcstraced_c_api.a` : static library containing the C-API wrapper library.
|
||||
|
||||
Test programs are delivered to the `./tests/bin/<tgt_dir>` directories.
|
||||
|
||||
The test programs are built to used the .so versions of the libraries.
|
||||
- `trc_pkt_lister` - dependent on `libcstraced.so`.
|
||||
- `simple_pkt_print_c_api` - dependent on `libcstraced_c_api.so` & hence `libcstraced.so`.
|
||||
|
||||
The test program build for `trc_pkt_lister` also builds an auxiliary library used by this program for test purposes only.
|
||||
This is the `libsnapshot_parser.a` library, delivered to the `./tests/lib/<tgt_dir>` directories.
|
||||
|
||||
**Note on Linux Build Directory Names**
|
||||
|
||||
Due to tool limitations, the makefiles will not operate correctly if the path to the opencsd directories contains spaces.
|
||||
|
||||
e.g. checking out the project into a directory such as ` /home/name/my opencsd/` will result in build failures.
|
||||
|
||||
__Installing on Linux__
|
||||
|
||||
The libraries can be installed on linux using the `make install` command. This will usually require root privileges. Installation will be the version in the `./lib/<tgt_dir>` directory, according to options chosen.
|
||||
|
||||
e.g. ` make -f makefile.dev DEBUG=1 install`
|
||||
|
||||
will install from `./lib/linux64/dbg`
|
||||
|
||||
The libraries `libopencsd` and `libopencsd_c_api` are installed to `/usr/lib`.
|
||||
|
||||
Sufficient header files to build using the C-API library will be installed to `/usr/include/opencsd`.
|
||||
|
||||
The installation can be removed using `make clean_install`. No additional options are necessary.
|
||||
|
||||
|
||||
### Windows (x86/x64) ###
|
||||
|
||||
Use the `.\build\win\ref_trace_decode_lib\ref_trace_decode_lib.sln` file to load a solution
|
||||
which contains all library and test build projects.
|
||||
|
||||
Libraries are delivered to the `./lib/win<bitsize>/<dbg\rel>` directories.
|
||||
e.g. `./lib/win64/rel` will contain the windows 64 bit release libraries.
|
||||
|
||||
The solution contains four configurations:-
|
||||
- *Debug* : builds debug versions of static C++ main library and C-API libraries, test programs linked to the static library.
|
||||
- *Debug-dll* : builds debug versions of static main library and C-API DLL. C-API statically linked to the main library.
|
||||
C-API test built as `simple_pkt_print_c_api-dl.exe` and linked against the DLL version of the C-API library.
|
||||
- *Release* : builds release static library versions, test programs linked to static libraries.
|
||||
- *Release-dll* : builds release C-API DLL, static main library.
|
||||
|
||||
_Note_: Currently there is no Windows DLL version of the main C++ library. This may follow once
|
||||
the project is nearer completion with further decode protocols, and the classes requiring export are established..
|
||||
|
||||
Libraries built are:-
|
||||
- `libcstraced.lib` : static main C++ decoder library.
|
||||
- `cstraced_c_api.dll` : C-API DLL library. Statically linked against `libcstraced.lib` at .DLL build time.
|
||||
- `libcstraced_c_api.lib` : C-API static library.
|
||||
|
||||
There is also a project file to build an auxiliary library used `trc_pkt_lister` for test purposes only.
|
||||
This is the `snapshot_parser_lib.lib` library, delivered to the `./tests/lib/win<bitsize>/<dgb\rel>` directories.
|
||||
|
||||
|
||||
### Additional Build Options ###
|
||||
|
||||
__Library Virtual Address Size__
|
||||
|
||||
The ocsd_if_types.h file includes a #define that controls the size of the virtual addresses
|
||||
used within the library. By default this is a 64 bit `uint64_t` value.
|
||||
|
||||
When building for ARM architectures that have only a 32 bit Virtual Address, and building on
|
||||
32 bit ARM architectures it may be desirable to build a library that uses a v-addr size of
|
||||
32 bits. Define `USE_32BIT_V_ADDR` to enable this option
|
||||
|
||||
|
||||
Including the Library in an Application
|
||||
---------------------------------------
|
||||
|
||||
The user source code includes a header according to the API to be used:-
|
||||
|
||||
- Main C++ decoder library - include `opencsd.h`. Link to C++ library.
|
||||
- C-API library - include `opencsd_c_api.h`. Link to C-API library.
|
||||
|
||||
### Linux build ###
|
||||
|
||||
By default linux builds will link against the .so versions of the library. Using the C-API library will also
|
||||
introduce a dependency on the main C++ decoder .so. Ensure that the library paths and link commands are part of the
|
||||
application makefile.
|
||||
|
||||
To use the static versions use appropriate linker options.
|
||||
|
||||
### Windows build ###
|
||||
|
||||
To link against the C-API DLL, include the .DLL name as a dependency in the application project options.
|
||||
|
||||
To link against the C-API static library, include the library name in the dependency list, and define the macro
|
||||
`OCSD_USE_STATIC_C_API` in the preprocessor definitions. This ensures that the correct static bindings are declared in
|
||||
the header file. Also link against the main C++ library.
|
||||
|
||||
To link against the main C++ library include the library name in the dependency list.
|
||||
|
127
decoder/docs/man/trc_pkt_lister.1
Normal file
127
decoder/docs/man/trc_pkt_lister.1
Normal file
@ -0,0 +1,127 @@
|
||||
.\" Hey, EMACS: -*- nroff -*-
|
||||
.TH TRC_PKT_LISTER 1 "2018-03-28"
|
||||
|
||||
.SH NAME
|
||||
trc_pkt_lister \- decodes captured CoreSight\*R trace
|
||||
.SH SYNOPSIS
|
||||
.RI trc_pkt_lister
|
||||
[ \-ss_dir \fI<dir>\fP ]
|
||||
[ -ss_verbose ]
|
||||
[ \-id \fI<n>\fP ]
|
||||
[ \-src_name \fI<name>\fP ]
|
||||
[ \-decode ]
|
||||
[ \-decode_only ]
|
||||
[ \-src_addr_n ]
|
||||
[ \-o_raw_packed ]
|
||||
[ \-o_raw_unpacked ]
|
||||
[ \-logstdout ]
|
||||
[ \-logstderr ]
|
||||
[ \-logfile ]
|
||||
[ \-logfilename \fI<name>\fP ]
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
.B trc_pkt_lister
|
||||
is a tool that takes a snapshot directory as an input, and lists and/or
|
||||
decodes all the trace packets for a single source, for any currently
|
||||
supported protocol.
|
||||
.PP
|
||||
The output will be a list of discrete packets, generic output packets
|
||||
and any error messages to file and/or screen as selected by the input
|
||||
command line options.
|
||||
.PP
|
||||
By default the program will list packets only (no decode), for the
|
||||
first discovered trace sink (ETB, ETF, ETR) in the snapshot directory,
|
||||
with all streams output.
|
||||
.SH OPTIONS
|
||||
.SS Snapshot selection
|
||||
The program defaults to \./ if no \-ss_dir option is given
|
||||
.TP
|
||||
.B \-ss\_dir <dir>
|
||||
Set the directory path to a trace snapshot.
|
||||
.TP
|
||||
\fB\fC\-ss\_verbose\fR
|
||||
Verbose output when reading the snapshot.
|
||||
.SS Decode options
|
||||
.TP
|
||||
.B \-id <n>
|
||||
Set an ID to list (may be used multiple times) \- default if no id set is for all IDs to be printed.
|
||||
.TP
|
||||
.B \-src\_name <name>
|
||||
List packets from a given snapshot source name (defaults to first source found).
|
||||
.TP
|
||||
.B \-decode
|
||||
Full decode of the packets from the trace snapshot (default is to list undecoded packets only.
|
||||
.TP
|
||||
.B \-decode_only
|
||||
Does not list the undecoded packets, just the trace decode.
|
||||
.TP
|
||||
.B \-src\_addr\_n
|
||||
In ETE protocol, indicate skipped N atoms in source address packet ranges by breaking the decode
|
||||
range into multiple ranges on N atoms.
|
||||
.TP
|
||||
.B \-o\_raw\_packed
|
||||
Output raw packed trace frames.
|
||||
.TP
|
||||
.B \-o\_raw\_unpacked
|
||||
Output raw unpacked trace data per ID.
|
||||
.SS Output options
|
||||
Default is to output to file and stdout. Setting any option overrides and limits to only
|
||||
the options set.
|
||||
.TP
|
||||
.B \-logstdout
|
||||
output to stdout.
|
||||
.TP
|
||||
.B \-logstderr
|
||||
output to stderr.
|
||||
.TP
|
||||
.B \-logfile
|
||||
output to file using the default log file name.
|
||||
.TP
|
||||
.B \-logfilename <name>
|
||||
change the name of the output log file.
|
||||
.SH FILES
|
||||
.B Trace Snapshot directory.
|
||||
.PP
|
||||
The \fR./tests/snapshots\fP directory contains a number of trace
|
||||
snapshots used for testing the library. Trace snapshots are dumps of
|
||||
captured binary trace data, CoreSight component configurations and
|
||||
memory dumps to allow trace decode.
|
||||
.PP
|
||||
Snapshots are generated on ARM targets and can then be analysed
|
||||
offline. The snapshot format is available in a separate document.
|
||||
.SH EXAMPLE
|
||||
Example command lines with short output excerpts.
|
||||
.PP
|
||||
.BI TC2 " ETMv3 packet processor output, raw packet output."
|
||||
.br
|
||||
Command line:
|
||||
.br
|
||||
.RI "trc\_pkt\_lister -ss\_dir ../../snapshots/TC2 -o_raw_unpacked"
|
||||
.PP
|
||||
Output:
|
||||
.br
|
||||
Frame Data; Index 17958; ID_DATA[0x11]; 16 04 c0 86 42 97 e1 c4
|
||||
.br
|
||||
Idx:17945; ID:11; I_SYNC : Instruction Packet synchronisation.; (Periodic); Addr=0xc00
|
||||
416e2; S; ISA=Thumb2;
|
||||
.br
|
||||
Idx:17961; ID:11; P_HDR : Atom P-header.; WEN; Cycles=1
|
||||
.br
|
||||
Frame Data; Index 17968; ID_DATA[0x11]; ce af 90 80 80 00 a4 84 a0 84 a4 88
|
||||
.br
|
||||
Idx:17962; ID:11; TIMESTAMP : Timestamp Value.; TS=0x82f9d13097 (562536984727)
|
||||
.br
|
||||
Idx:17974; ID:11; P_HDR : Atom P-header.; WW; Cycles=2
|
||||
.PP
|
||||
.BI Juno " ETB\_1 selected for STM packet output, raw packet output"
|
||||
.br
|
||||
Command line:
|
||||
.br
|
||||
.RI "trc\_pkt\_lister -ss\_dir ../../snapshots/juno_r1_1 -o\_raw\_unpacked -src\_name ETB\_1"
|
||||
.PP
|
||||
.BI Juno " ETMv4 full trace decode + packet monitor, source trace ID 0x10 only."
|
||||
.br
|
||||
Command line:
|
||||
.br
|
||||
.RI "trc\_pkt\_lister -ss\_dir ../../snapshots/juno\_r1\_1 -decode -id 0x10"
|
||||
|
469
decoder/docs/prog_guide/prog_guide_generic_pkts.md
Normal file
469
decoder/docs/prog_guide/prog_guide_generic_pkts.md
Normal file
@ -0,0 +1,469 @@
|
||||
OpenCSD Library - Generic Trace Packet Descriptions {#generic_pkts}
|
||||
===================================================
|
||||
|
||||
@brief Interpretation of the Generic Trace output packets.
|
||||
|
||||
Generic Trace Packets - Collection.
|
||||
-----------------------------------
|
||||
|
||||
### Packet interface ###
|
||||
|
||||
The generic trace packets are the fully decoded output from the trace library.
|
||||
|
||||
These are delivered to the client application in the form of a callback function. Packets from all trace sources
|
||||
will use the same single callback function, with the CoreSight Trace ID provided to identify the source.
|
||||
|
||||
The callback is in the form of an interface class ITrcGenElemIn, which has a single function:
|
||||
|
||||
~~~{.cpp}
|
||||
virtual ocsd_datapath_resp_t TraceElemIn( const ocsd_trc_index_t index_sop,
|
||||
const uint8_t trc_chan_id,
|
||||
const OcsdTraceElement &elem
|
||||
) = 0;
|
||||
~~~
|
||||
|
||||
The client program will create derived class providing this interface to collect trace packets from the library.
|
||||
|
||||
The parameters describe the output packet and source channel:
|
||||
|Parameter | Description |
|
||||
|:--------------------------------|:------------------------------------------------------------------------|
|
||||
| `ocsd_trc_index_t index_sop` | Index of the first byte of the trace packet that generated this output. |
|
||||
| `uint8_t trc_chan_id` | The source CoreSight Trace ID. |
|
||||
| `OcsdTraceElement &elem` | The packet class - wraps the `ocsd_generic_trace_elem` structure. |
|
||||
|
||||
_Note_ : `index_sop` may be the same for multiple output packets. This is due to an one byte atom packet which
|
||||
can represent multiple atoms and hence multiple ranges.
|
||||
|
||||
The C-API provides a similarly specified callback function definition, with an additional opaque `void *` pointer
|
||||
that the client application may use.
|
||||
|
||||
~~~{.c}
|
||||
/** function pointer type for decoder outputs. all protocols, generic data element input */
|
||||
typedef ocsd_datapath_resp_t (* FnTraceElemIn)( const void *p_context,
|
||||
const ocsd_trc_index_t index_sop,
|
||||
const uint8_t trc_chan_id,
|
||||
const ocsd_generic_trace_elem *elem);
|
||||
~~~
|
||||
|
||||
### The Packet Structure ###
|
||||
|
||||
~~~{.c}
|
||||
typedef struct _ocsd_generic_trace_elem {
|
||||
ocsd_gen_trc_elem_t elem_type; /* Element type - remaining data interpreted according to this value */
|
||||
ocsd_isa isa; /* instruction set for executed instructions */
|
||||
ocsd_vaddr_t st_addr; /* start address for instruction execution range / inaccessible code address / data address */
|
||||
ocsd_vaddr_t en_addr; /* end address (exclusive) for instruction execution range. */
|
||||
ocsd_pe_context context; /* PE Context */
|
||||
uint64_t timestamp; /* timestamp value for TS element type */
|
||||
uint32_t cycle_count; /* cycle count for explicit cycle count element, or count for element with associated cycle count */
|
||||
ocsd_instr_type last_i_type; /* Last instruction type if instruction execution range */
|
||||
ocsd_instr_subtype last_i_subtype; /* sub type for last instruction in range */
|
||||
|
||||
//! per element flags
|
||||
union {
|
||||
struct {
|
||||
uint32_t last_instr_exec:1; /* 1 if last instruction in range was executed; */
|
||||
uint32_t last_instr_sz:3; /* size of last instruction in bytes (2/4) */
|
||||
uint32_t has_cc:1; /* 1 if this packet has a valid cycle count included (e.g. cycle count included as part of instruction range packet, always 1 for pure cycle count packet.*/
|
||||
uint32_t cpu_freq_change:1; /* 1 if this packet indicates a change in CPU frequency */
|
||||
uint32_t excep_ret_addr:1; /* 1 if en_addr is the preferred exception return address on exception packet type */
|
||||
uint32_t excep_data_marker:1; /* 1 if the exception entry packet is a data push marker only, with no address information (used typically in v7M trace for marking data pushed onto stack) */
|
||||
uint32_t extended_data:1; /* 1 if the packet extended data pointer is valid. Allows packet extensions for custom decoders, or additional data payloads for data trace. */
|
||||
uint32_t has_ts:1; /* 1 if the packet has an associated timestamp - e.g. SW/STM trace TS+Payload as a single packet */
|
||||
uint32_t last_instr_cond:1; /* 1 if the last instruction was conditional */
|
||||
uint32_t excep_ret_addr_br_tgt:1; /* 1 if exception return address (en_addr) is also the target of a taken branch addr from the previous range. */
|
||||
};
|
||||
uint32_t flag_bits;
|
||||
};
|
||||
|
||||
//! packet specific payloads
|
||||
union {
|
||||
uint32_t exception_number; /* exception number for exception type packets */
|
||||
trace_event_t trace_event; /* Trace event - trigger etc */
|
||||
trace_on_reason_t trace_on_reason; /* reason for the trace on packet */
|
||||
ocsd_swt_info_t sw_trace_info; /* software trace packet info */
|
||||
uint32_t num_instr_range; /* number of instructions covered by range packet (for T32 this cannot be calculated from en-st/i_size) */
|
||||
unsync_info_t unsync_eot_info; /* additional information for unsync / end-of-trace packets. */
|
||||
trace_marker_payload_t sync_marker; /* marker element - sync later element to position in stream */
|
||||
trace_memtrans_t mem_trans; /* memory transaction packet - transaction event */
|
||||
trace_sw_ite_t sw_ite; /* PE sw instrumentation using FEAT_ITE */
|
||||
|
||||
};
|
||||
|
||||
const void *ptr_extended_data; /* pointer to extended data buffer (data trace, sw trace payload) / custom structure */
|
||||
|
||||
} ocsd_generic_trace_elem;
|
||||
~~~
|
||||
|
||||
The packet structure contains multiple fields and flag bits. The validity of any of these fields or flags
|
||||
is dependent on the `elem_type` member. The client program must not assume that field values will persist
|
||||
between packets, and must process all valid data during the callback function.
|
||||
|
||||
The packet reference guide below defines the fields valid for each packet type.
|
||||
|
||||
--------------------------------------------------------------------------------------------------
|
||||
|
||||
Generic Trace Packets - Packet Reference.
|
||||
-----------------------------------------
|
||||
|
||||
This section contains reference descriptions of each of the generic trace packets types define as part of the
|
||||
`ocsd_gen_trc_elem_t` enum value that appears as the first `elem_type` field in the packet structure.
|
||||
|
||||
The descriptions will include information on which fields in the packets are always valid, optional and any protocol specific information.
|
||||
|
||||
The tags used in the reference are:-
|
||||
- __packet fields valid__ : fields that are always valid and filled for this packet type.
|
||||
- __packet fields optional__ : fields that _may_ be filled for this packet type.
|
||||
The form `flag -> field` indicates a flag that may be set and the value that is valid if the flag is true
|
||||
- __protocol specific__ : indicates type or fields may be source protocol specific.
|
||||
|
||||
_Note_: while most of the packets are not protocol specific, there are some protocol differences that mean
|
||||
certain types and fields will differ slightly across protocols. These differences are highlighted in the
|
||||
reference.
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_NO_SYNC ###
|
||||
__packet fields valid__: None
|
||||
|
||||
Element output before the decoder has synchronised with the input stream, or synchronisation is lost.
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_INSTR_RANGE ###
|
||||
__packet fields valid__: `isa, st_addr, en_addr, last_i_type, last_i_subtype, last_instr_exec, last_instr_sz, num_instr_range, last_instr_cond`
|
||||
|
||||
__packet fields optional__: `has_cc -> cycle_count,`
|
||||
|
||||
__protocol specific__ : ETMv3, PTM
|
||||
|
||||
This should be the most common packet output for full trace decode. Represents a range of instructions of
|
||||
a single `isa`, executed by the PE. Instruction byte range is from `st_addr` (inclusive) to `en_addr` (exclusive).
|
||||
The total number of instructions executed for the range is given in `num_instr_range`.
|
||||
|
||||
Information on the last instruction in the range is provided. `last_i_type` shows if the last instruction
|
||||
was a branch or otherwise - which combined with `last_instr_exec` determines if the branch was taken.
|
||||
The last instruction size in bytes is given, to allow clients to quickly determine the address of the last
|
||||
instruction by subtraction from `en_addr`. This value can be 2 or 4 bytes in the T32 instruction set.
|
||||
|
||||
__ETMv3, PTM__ : These protocols can output a cycle count directly as part of the trace packet that generates
|
||||
the trace range. In this case `has_cc` will be 1 and `cycle_count` will be valid.
|
||||
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_I_RANGE_NOPATH ###
|
||||
__packet fields valid__: `isa, st_addr, en_addr, num_instr_range`
|
||||
|
||||
`num_instr_range` represents the number of instructions executed in this range, but there is incomplete information
|
||||
as to program execution path from start to end of range.
|
||||
If `num_instr` is 0, then an unknown number of instructions were executed between the start and end of the range.
|
||||
`st_addr` represents the start of execution represented by this packet.
|
||||
`en_addr` represents the address where execution will continue from after the instructions represented by this packet.
|
||||
`isa` represents the ISA for the instruction at `en_addr`.
|
||||
|
||||
Used when ETMv4 Q elements are being traced.
|
||||
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_ADDR_NACC ###
|
||||
__packet fields valid__: `st_addr`
|
||||
|
||||
Trace decoder found address in trace that cannot be accessed in the mapped memory images.
|
||||
`st_addr` is the address that cannot be found.
|
||||
|
||||
Decoder will wait for new address to appear in trace before attempting to restart decoding.
|
||||
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_UNKNOWN ###
|
||||
__packet fields valid__: None
|
||||
|
||||
Decoder saw invalid packet for protocol being processed. Likely incorrect protocol settings, or corrupted
|
||||
trace data.
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_TRACE_ON ###
|
||||
__packet fields valid__: trace_on_reason
|
||||
|
||||
__packet fields optional__: `has_cc -> cycle_count,`
|
||||
|
||||
__protocol specific__ : ETMv3, PTM
|
||||
|
||||
Notification that trace has started / is synced after a discontinuity or at start of trace decode.
|
||||
|
||||
__ETMv3, PTM__ : These protocols can output a cycle count directly as part of the trace packet that generates
|
||||
the trace on indicator. In this case `has_cc` will be 1 and `cycle_count` will be valid.
|
||||
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_EO_TRACE ###
|
||||
__packet fields valid__: None
|
||||
|
||||
Marker for end of trace data. Sent once for each CoreSight ID channel.
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_PE_CONTEXT ###
|
||||
__packet fields valid__: context
|
||||
|
||||
__packet fields optional__: `has_cc -> cycle_count,`
|
||||
|
||||
__protocol specific__ : ETMv3, PTM
|
||||
|
||||
This packet indicates an update to the PE context - which may be the initial context in a trace stream, or a
|
||||
change since the trace started.
|
||||
|
||||
The context is contained in a `ocsd_pe_context` structure.
|
||||
|
||||
~~~{.c}
|
||||
typedef struct _ocsd_pe_context {
|
||||
ocsd_sec_level security_level; /* security state */
|
||||
ocsd_ex_level exception_level; /* exception level */
|
||||
uint32_t context_id; /* context ID */
|
||||
uint32_t vmid; /* VMID */
|
||||
struct {
|
||||
uint32_t bits64:1; /* 1 if 64 bit operation */
|
||||
uint32_t ctxt_id_valid:1; /* 1 if context ID value valid */
|
||||
uint32_t vmid_valid:1; /* 1 if VMID value is valid */
|
||||
uint32_t el_valid:1; /* 1 if EL value is valid (ETMv4 traces current EL, other protocols do not) */
|
||||
};
|
||||
} ocsd_pe_context;
|
||||
~~~
|
||||
|
||||
__ETMv3, PTM__ : These protocols can output a cycle count directly as part of the trace packet that generates
|
||||
the PE context. In this case `has_cc` will be 1 and `cycle_count` will be valid.
|
||||
|
||||
__ETMv3__ : From ETM 3.5 onwards, exception_level can be set to `ocsd_EL2` when tracing through hypervisor code.
|
||||
On all other occasions this will be set to `ocsd_EL_unknown`.
|
||||
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_ADDR_UNKNOWN ###
|
||||
__packet fields optional__: `has_cc -> cycle_count,`
|
||||
|
||||
__protocol specific__: ETMv3
|
||||
|
||||
This packet will only be seen when decoding an ETMv3 protocol source. This indicates that the decoder
|
||||
is waiting for a valid address in order to process trace correctly.
|
||||
|
||||
The packet can have a cycle count associated with it which the client must account for when tracking cycles used.
|
||||
The packet will be sent once when unknown address occurs. Further `OCSD_GEN_TRC_ELEM_CYCLE_COUNT` packets may follow
|
||||
before the decode receives a valid address to continue decode.
|
||||
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_EXCEPTION ###
|
||||
__packet fields valid__: `exception_number`
|
||||
|
||||
__packet fields optional__: `has_cc -> cycle_count, excep_ret_addr -> en_addr, excep_data_marker, excep_ret_addr_br_tgt`
|
||||
|
||||
__protocol specific__: ETMv4, ETMv3, PTM
|
||||
|
||||
All protocols will include the exception number in the packet.
|
||||
|
||||
__ETMv4__ : This protocol may provide the preferred return address for the exception - this is the address of
|
||||
the instruction that could be executed on exception return. This address appears in `en_addr` if `excep_ret_addr` = 1.
|
||||
|
||||
Additionally, this address could also represent the target address of a branch, if the exception occured at the branch target, before any further instructions were execute. If htis is the case then the excep_ret_addr_br_tgt flag will be set. This makes explicit what was previously only implied by teh packet ordered. This information could be used for clients such as perf that branch source/target address pairs.
|
||||
|
||||
__ETMv3__ : This can set the `excep_data_marker` flag. This indicates that the exception packet is a marker
|
||||
to indicate exception entry in a 7M profile core, for the purposes of tracking data. This will __not__ provide
|
||||
an exception number in this case.
|
||||
|
||||
__PTM__ : Can have an associated cycle count (`has_cc == 1`), and may provide preferred return address in `en_addr`
|
||||
if `excep_ret_addr` = 1.
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_EXCEPTION_RET ###
|
||||
__packet fields valid__: None
|
||||
|
||||
Marker that a preceding branch was an exception return.
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_TIMESTAMP ###
|
||||
__packet fields valid__: `timestamp`
|
||||
|
||||
__packet fields optional__: `has_cc -> cycle_count,`
|
||||
|
||||
__protocol specific__: ETMv4, PTM
|
||||
|
||||
The timestamp packet explicitly provides a timestamp value for the trace stream ID in the callback interface.
|
||||
|
||||
__PTM__ : This can have an associated cycle count (`has_cc == 1`). For this protocol, the cycle count __is__ part
|
||||
of the cumulative cycle count for the trace session.
|
||||
|
||||
__ETMv4__ : This can have an associated cycle count (`has_cc == 1`). For this protocl, the cycle coun represents
|
||||
the number of cycles between the previous cycle count packet and this timestamp packet, but __is not__ part of
|
||||
the cumulative cycle count for the trace session.
|
||||
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_CYCLE_COUNT ###
|
||||
__packet fields valid__: `has_cc -> cycle_count`
|
||||
|
||||
Packet contains a cycle count value. A cycle count value represents the number of cycles passed since the
|
||||
last cycle count value seen. The cycle count value may be associated with a specific packet or instruction
|
||||
range preceding the cycle count packet.
|
||||
|
||||
Cycle count packets may be added together to build a cumulative count for the trace session.
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_EVENT ###
|
||||
__packet fields valid__: `trace_event`
|
||||
|
||||
This is a hardware event injected into the trace by the ETM/PTM hardware resource programming. See the
|
||||
relevent trace hardware reference manuals for the programming of these events.
|
||||
|
||||
The `trace_event` is a `trace_event_t` structure that can have an event type - and an event number.
|
||||
|
||||
~~~{.c}
|
||||
typedef struct _trace_event_t {
|
||||
uint16_t ev_type; /* event type - unknown (0) trigger (1), numbered event (2)*/
|
||||
uint16_t ev_number; /* event number if numbered event type */
|
||||
} trace_event_t;
|
||||
~~~
|
||||
|
||||
The event types depend on the trace hardware:-
|
||||
|
||||
__ETMv4__ : produces numbered events. The event number is a bitfield of up to four events that occurred.
|
||||
Events 0-3 -> bits 0-3. The bitfield allows a single packet to represent multiple different events occurring.
|
||||
|
||||
_Note_: The ETMv4 specification has further information on timing of events and event packets. Event 0
|
||||
is also considered a trigger event in ETMv4 hardware, but is not explicitly represented as such in the OCSD protocol.
|
||||
|
||||
__PTM__, __ETMv3__ : produce trigger events. Event number always set to 0.
|
||||
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_SWTRACE ###
|
||||
__packet fields valid__: `sw_trace_info`
|
||||
|
||||
__packet fields optional__: `has_ts -> timestamp`, ` extended_data -> ptr_extended_data`
|
||||
|
||||
The Software trace packet always has a filled in `sw_trace_info` field to describe the current master and channel ID,
|
||||
plus the packet type and size of any payload data.
|
||||
|
||||
SW trace packets that have a payload will use the extended_data flag and pointer to deliver this data.
|
||||
|
||||
SW trace packets that include timestamp information will us the `has_ts` flag and fill in the timestamp value.
|
||||
|
||||
These packets are generated by memory writes to STM / ITM trace hardware.
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_SYNC_MARKER ###
|
||||
__packet fields valid__: `sync_marker`
|
||||
|
||||
Synchronisation marker - marks position in stream of an element that is output later.
|
||||
e.g. a timestamp marker can be output to represent the correct position in the stream for a
|
||||
timestamp packet the is output later.
|
||||
|
||||
The `sync_marker` field has a structure as shown below.
|
||||
|
||||
~~~{.c}
|
||||
typedef enum _trace_sync_marker_t {
|
||||
ELEM_MARKER_TS, /**< Marker for timestamp element */
|
||||
} trace_sync_marker_t;
|
||||
|
||||
typedef struct _trace_marker_payload_t {
|
||||
trace_sync_marker_t type; /**< type of sync marker */
|
||||
uint32_t value; /**< sync marker value - usage depends on type */
|
||||
} trace_marker_payload_t;
|
||||
~~~
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_MEMTRANS ###
|
||||
__packet fields valid__: `mem_trans`
|
||||
|
||||
Memory transaction elements may appear in the output stream, if they are not otherwise cancelled
|
||||
by speculative trace packets.
|
||||
|
||||
The memory transaction field has values as defined in the enum below:-
|
||||
|
||||
~~~{.c}
|
||||
typedef enum _memtrans_t {
|
||||
OCSD_MEM_TRANS_TRACE_INIT,/* Trace started while PE in transactional state */
|
||||
OCSD_MEM_TRANS_START, /* Trace after this packet is part of a transactional memory sequence */
|
||||
OCSD_MEM_TRANS_COMMIT, /* Transactional memory sequence valid. */
|
||||
OCSD_MEM_TRANS_FAIL, /* Transactional memory sequence failed - operations since start of transaction have been unwound. */
|
||||
} trace_memtrans_t;
|
||||
~~~
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_INSTRUMENTATION ###
|
||||
__packet fields valid__: `sw_ite`
|
||||
|
||||
Software instrumentation packets generated by the PE `TRCIT` instruction (on cores with `FEAT_ITE`).
|
||||
|
||||
The `sw_ite` structure has the fields defined below:-
|
||||
|
||||
~~~{.c}
|
||||
typedef struct _sw_ite_t {
|
||||
uint8_t el; /* exception level for PE sw instrumentation instruction */
|
||||
uint64_t value; /* payload for PE sw instrumentation instruction */
|
||||
} trace_sw_ite_t;
|
||||
~~~
|
||||
|
||||
### OCSD_GEN_TRC_ELEM_CUSTOM ###
|
||||
__packet fields optional__: `extended_data -> ptr_extended_data`,_any others_
|
||||
|
||||
Custom protocol decoders can use this packet type to provide protocol specific information.
|
||||
|
||||
Standard fields may be used for similar purposes as defined above, or the extended data pointer can reference
|
||||
other data.
|
||||
|
||||
--------------------------------------------------------------------------------------------------
|
||||
|
||||
Generic Trace Packets - Notes on interpretation.
|
||||
------------------------------------------------
|
||||
|
||||
The interpretation of the trace output should always be done with reference to the underlying protocol
|
||||
specifications.
|
||||
|
||||
While the output packets are in general protocol agnostic, there are some inevitable
|
||||
differences related to the underlying protocol that stem from the development of the trace hardware over time.
|
||||
|
||||
### OCSD ranges and Trace Atom Packets ###
|
||||
The most common raw trace packet in all the protocols is the Atom packet, and this packet is the basis for most of
|
||||
the `OCSD_GEN_TRC_ELEM_INSTR_RANGE` packets output from the library. A trace range will be output for each atom
|
||||
in the raw trace stream - the `last_instr_exec` flag taking the value of the Atom - 1 for E, 0 for N.
|
||||
|
||||
`OCSD_GEN_TRC_ELEM_INSTR_RANGE` packets can also be generated for non-atom packets, where flow changes - e.g.
|
||||
exceptions.
|
||||
|
||||
|
||||
### Multi feature OCSD output packets ###
|
||||
Where a raw trace packet contains additional information on top of the basic packet data, then this additional
|
||||
information will be added to the OCSD output packet and flagged accordingly (in the `flag_bits` union in the
|
||||
packet structure).
|
||||
|
||||
Typically this will be atom+cycle count packets in ETMv3 and PTM protocols. For efficiency and to retain
|
||||
the coupling between the information an `OCSD_GEN_TRC_ELEM_INSTR_RANGE` packet will be output in this case
|
||||
with a `has_cc` flag set and the `cycle_count` value filled.
|
||||
|
||||
ETMv3 and PTM can add a cycle count to a number of packets, or explicitly emit a cycle count only packet. By
|
||||
contrast ETMv4 only emits cycle count only packets.
|
||||
|
||||
Clients processing the library output must be aware of these optional additions to the base packet. The
|
||||
OCSD packet descriptions above outline where the additional information can occur.
|
||||
|
||||
### Cycle counts ###
|
||||
|
||||
Cycle counts are cumulative, and represent cycles since the last cycle count output.
|
||||
Explicit cycle count packets are associated with the previous range event, otherwise where a
|
||||
packet includes a cycle count as additional information, then the count is associated with that
|
||||
specific packet - which will often be a range packet.
|
||||
|
||||
The only exception to this is where the underlying protocol is ETMv4, and a cycle count is included
|
||||
in a timestamp packet. Here the cycle count represents that number of cycles since the last cycle count
|
||||
packet that occurred before the timestamp packet was emitted. This cycle count is not part of the cumulative
|
||||
count. See the ETMv4 specification for further details.
|
||||
|
||||
|
||||
### Correlation - timestamps and cycle counts ###
|
||||
|
||||
Different trace streams can be correlated using either timestamps, or timestamps plus cycle counts.
|
||||
|
||||
Both timestamps and cycle counts are enabled by programming ETM control registers, and it is also possible
|
||||
to control the frequency that timestamps appear, or the threshold at which cycle count packets are emitted by
|
||||
additional programming.
|
||||
|
||||
The output of timestamps and cycle counts increases the amount of trace generated, very significantly when cycle
|
||||
counts are present, so the choice of generating these elements needs to be balanced against the requirement
|
||||
for their use.
|
||||
|
||||
Decent correlation can be gained by the use of timestamps alone - especially if the source is programmed to
|
||||
produce them more frequently than the default timestamp events. More precise correllation can be performed if
|
||||
the 'gaps' between timestamps can be resolved using cycle counts.
|
||||
|
||||
Correlation is performed by identifying the same/close timestamp values in two separate trace streams. Cycle counts
|
||||
if present can then be used to resolve the correlation with additional accuracy.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
611
decoder/docs/prog_guide/prog_guide_main.md
Normal file
611
decoder/docs/prog_guide/prog_guide_main.md
Normal file
@ -0,0 +1,611 @@
|
||||
OpenCSD Library - Programmers Guide {#prog_guide}
|
||||
===================================
|
||||
|
||||
@brief A guide to programming the OpenCSD library.
|
||||
|
||||
Introduction and review of Coresight Hardware
|
||||
---------------------------------------------
|
||||
|
||||
The OpenCSD trace decode library is designed to allow programmers to decode ARM CoreSight trace
|
||||
data. This guide will describe the various stages of configuring and programming a decoder instance
|
||||
for a given CoreSight system.
|
||||
|
||||
The diagram below shows a typical Coresight trace hardware arrangement
|
||||
|
||||
![Example CoreSight Trace Capture Hardware](cs_trace_hw.jpg)
|
||||
|
||||
The design shown has four Cortex cores, each with an ETM, along with a system STM all of which generate trace into the
|
||||
trace funnel. The output of the funnel is fed into a trace sink, which might be an ETB or ETR, saving the trace
|
||||
which is multiplexed into CoreSight trace frames in the trace sink memory. The colours represent the sources
|
||||
of trace data, each of which will be tagged with a CoreSight Trace ID.
|
||||
|
||||
### CoreSight Trace ID ###
|
||||
The CoreSight Trace ID - also referred to as the Trace Source Channel ID - is a unique 8 bit number programmed
|
||||
into each trace source in a system (ETM,PTM,STM) which identifies the source to both the hardware components
|
||||
downstream and the software trace decoders. This ID is used
|
||||
|
||||
Overview of Configuration and Decode
|
||||
------------------------------------
|
||||
|
||||
The OpenCSD library will take the trace data from the trace sink, and when correctly configured and programmed, will
|
||||
demultiplex and decode each of the trace sources.
|
||||
|
||||
The library supports ETMV3, PTM, ETMv4 and STM trace protocols. The decode occurs in three stages:
|
||||
- __Demultiplex__ - the combined trace streams in CoreSight trace frame format are split into their constituent streams according to the CoreSight trace ID.
|
||||
- __Packet Processing__ - the individual trace ID streams are resolved into discrete trace packets.
|
||||
- __Packet Decode__ - the trace packets are interpreted to produce a decoded representation of instructions executed.
|
||||
|
||||
There are input configuration requirements for each stage of the decode process - these allow the decode process to correctly
|
||||
interpret the incoming byte stream.
|
||||
- __Demultiplex__ - Input flags are set to indicate if the frames are 16 byte aligned or if the stream contains alignment
|
||||
bytes between frames.
|
||||
- __Packet Processing__ - The hardware configuration of the trace source must be provided. This consists of a sub-set of the
|
||||
hardware register values for the source. Each protocol has differing requirements, represented by an input structure of the
|
||||
register values.
|
||||
- __Packet Decode__ - For ETM/PTM packet decode, this stage requires the memory images of the code executed in order
|
||||
to determine the path through the code. These are provided either as memory dumps, or as links to binary code files.
|
||||
|
||||
_Note_ : STM, being a largely software generated data trace, does not require memory images to recover the data written by the source
|
||||
processors.
|
||||
|
||||
The diagram below shows the basic stages of decode for the library when used in a client application:
|
||||
|
||||
![Example Library Usage for Trace Decode](lib_usage.jpg)
|
||||
|
||||
The DecodeTree object is a representation of the structure of the CoreSight hardware, but in reverse in that the data is pushed into the
|
||||
tree, through the demultiplexor and then along the individual trace stream decode paths till the output decode packets are produced.
|
||||
|
||||
These outpup packets are referred to as Generic Trace packets, and are at this stage protocol independent. They consist primarily of
|
||||
PE context information and address ranges representing the instructions processed.
|
||||
|
||||
### Decode Tree ###
|
||||
|
||||
The DecodeTree is the principal wrapper for all the decoders the library supports. This provides a programming
|
||||
API which allows the creation of protocol packet processors and decoders.
|
||||
|
||||
The API allows the client application to configure the de-multiplexor, create and connect packet processors and
|
||||
packet decoders to the trace data streams and collect the output generic decoded trace packets. The DecodeTree
|
||||
provides a built in instruction decoder to allow correct trace decode, and an additional API through a memory
|
||||
access handler to allow the client applications to provide the images of the traced code in file or memory dump
|
||||
format.
|
||||
|
||||
Once a DecodeTree is configured, then it can be re-used for multiple sets of captured trace data where the same
|
||||
set of applications has been traced, or by changing only the supplied memory images, different traced applications
|
||||
on the same hardware configuration.
|
||||
|
||||
The process for programming a decode tree for a specific set of trace hardware is as follows;-
|
||||
1. Create the decode tree and specify the de-multiplexor options.
|
||||
2. For each trace protocol of interest, use the API to create a decoder, providing the hardware configuration,
|
||||
including the CoreSight trace ID for that trace stream. Specify packet processing only, or full decode. Client
|
||||
program must know the correct protocol to use for each trace stream.
|
||||
3. Attach callback(s) to receive the decoded generic trace output (ITrcGenElemIn).
|
||||
4. Provide the memory images if using full decode.
|
||||
|
||||
The DecodeTree can now be used to process the trace data by pushing the captured trace data through the trace
|
||||
data input API call (ITrcDataIn) and analyzing as required the resulting decoded trace (ITrcGenElemIn).
|
||||
|
||||
The objects and connections used for a single trace stream are shown below.
|
||||
|
||||
![Decode Tree objects - single trace stream](dt_components.jpg)
|
||||
|
||||
All these components can be created and used outside of a DecodeTree, but that is beyond the scope of this
|
||||
guide and expected to be used for custom implementations only.
|
||||
|
||||
Programming Examples - decoder configuration.
|
||||
---------------------------------------------
|
||||
|
||||
The remainder of this programming guide will provide programming exceprts for each of the required stages
|
||||
to get a working decode tree, capable of processing trace data.
|
||||
|
||||
The guide will be based on an ETMv4 system, similar to the example above, using the C++ interface, but
|
||||
equivalent calls from the C-API wrapper library will also be provided.
|
||||
|
||||
The source code for the two test applications `trc_pkt_lister` and `c_api_pkt_print_test` may be used as
|
||||
further programming guidance.
|
||||
|
||||
### Create the decode tree ###
|
||||
|
||||
The first step is to create the decode tree. Key choices here are the flags defining expected trace data
|
||||
input format and de-mux operations.
|
||||
|
||||
~~~{.cpp}
|
||||
uint32_t formatterCfgFlags = OCSD_DFRMTR_FRAME_MEM_ALIGN; /* basic operational mode for on-chip captured trace */
|
||||
DecodeTree *pTree = DecodeTree::CreateDecodeTree(OCSD_TRC_SRC_FRAME_FORMATTED, formatterCfgFlags);
|
||||
~~~
|
||||
|
||||
This creates a decode tree that is usable in the majority of cases - that is for trace captured in on chip
|
||||
RAM via ETB or ETR. Additional flags are available if a TPIU is used that will indicate to the frame de-mux
|
||||
that additional frame synchronisation data is present.
|
||||
|
||||
In limited cases where the hardware has a single trace source, or only a single source is being used, then
|
||||
it is possible to switch off the hardware frame formatter in the ETB/ETR/TPIU. In this case @ref OCSD_TRC_SRC_SINGLE
|
||||
(from enum @ref ocsd_dcd_tree_src_t) may be defined as the first parameter to the function.
|
||||
|
||||
C-API version of above code:
|
||||
~~~{.c}
|
||||
dcd_tree_handle_t dcdtree_handle = ocsd_create_dcd_tree(OCSD_TRC_SRC_FRAME_FORMATTED, OCSD_DFRMTR_FRAME_MEM_ALIGN);
|
||||
~~~
|
||||
|
||||
### Error loggers and printers ###
|
||||
|
||||
The library defines a standard error logging interface ITraceErrorLog which many of the key components can register
|
||||
with to output errors. The process of registering the source means that errors can be tied to a particular component,
|
||||
or CoreSight Trace ID. The library provides a standard error logger object - ocsdDefaultErrorLogger - which
|
||||
keeps a copy of the last error logged, plus a copy of the last error logged for each data stream associated
|
||||
with a CoreSight trace ID.
|
||||
|
||||
The error logger can be attached to an output logger - ocsdMsgLogger - which can print text versions of the
|
||||
error, or other error messages, out to screen or logging file. Errors can be filtered according to a severity rating,
|
||||
defined by @ref ocsd_err_severity_t.
|
||||
|
||||
The DecodeTree can use a default error logger from the library - with a message logger that will output to `stderr`.
|
||||
|
||||
Client applications can create and adjust the configuration of this error logger and message logger by getting and intialising
|
||||
the logger.
|
||||
|
||||
~~~{.cpp}
|
||||
// ** Initialise default error logger.
|
||||
DecodeTree::getDefaultErrorLogger()->initErrorLogger(verbosity,true);
|
||||
~~~
|
||||
|
||||
Alternatively clients may provide their own configured error logger / message logger pair.
|
||||
|
||||
The test program `trc_pkt_lister` provides a customised version of an `ocsdMsgLogger` / `ocsdDefaultErrorLogger` pair
|
||||
to ensure that messages and errors are logged to the screen and a file of its choice. This logger is eventually
|
||||
passed through to the decode tree.
|
||||
|
||||
Code excerpts below (trc_pkt_lister.cpp):
|
||||
|
||||
~~~{.cpp}
|
||||
static ocsdMsgLogger logger;
|
||||
static int logOpts = ocsdMsgLogger::OUT_STDOUT | ocsdMsgLogger::OUT_FILE;
|
||||
static std::string logfileName = "trc_pkt_lister.ppl";
|
||||
|
||||
// ** other vars
|
||||
|
||||
main() {
|
||||
|
||||
// ** some init code
|
||||
|
||||
logger.setLogOpts(logOpts);
|
||||
logger.setLogFileName(logfileName.c_str());
|
||||
|
||||
|
||||
ocsdDefaultErrorLogger err_log;
|
||||
err_log.initErrorLogger(OCSD_ERR_SEV_INFO);
|
||||
err_log.setOutputLogger(&logger);
|
||||
|
||||
// pass err_log reference into snapshot library code
|
||||
SnapShotReader ss_reader;
|
||||
ss_reader.setErrorLogger(&err_log);
|
||||
|
||||
// ** rest of program
|
||||
}
|
||||
~~~
|
||||
|
||||
In the library code for the snapshot reader (ss_to_dcd_tree.cpp):
|
||||
|
||||
~~~{.cpp}
|
||||
bool CreateDcdTreeFromSnapShot::createDecodeTree()
|
||||
{
|
||||
// ** create a decode tree
|
||||
|
||||
// use our error logger - don't use the tree default.
|
||||
m_pDecodeTree->setAlternateErrorLogger(m_pErrLogInterface);
|
||||
}
|
||||
|
||||
~~~
|
||||
|
||||
__Note__: The Snapshot reader library is test code designed to allow the test application read trace snapshots
|
||||
which are in the form defined by the open specification in `./decoder/docs/specs/ARM Trace and Debug Snapshot file format 0v2.pdf`
|
||||
|
||||
This format is used in ARM's DS-5 debugger, and the open source CoreSight Access Library (CSAL).
|
||||
|
||||
### Configuring decoders ###
|
||||
|
||||
The next task is to configure the requried decoders. The client program must know the type of ETM/PTM in use
|
||||
to correctly set the decoder configuration.
|
||||
|
||||
Each class of trace source has a specific set of register values that the decoder requires to correctly interpret the
|
||||
raw trace data and convert it to packets then fully decode.
|
||||
|
||||
Configuration of an ETMv4 decoder requires initialisation of the EtmV4Config class, which is achieved by filling in a
|
||||
@ref ocsd_etmv4_cfg structure:-
|
||||
|
||||
~~~{.c}
|
||||
typedef struct _ocsd_etmv4_cfg
|
||||
{
|
||||
uint32_t reg_idr0; /**< ID0 register */
|
||||
uint32_t reg_idr1; /**< ID1 register */
|
||||
uint32_t reg_idr2; /**< ID2 register */
|
||||
uint32_t reg_idr8;
|
||||
uint32_t reg_idr9;
|
||||
uint32_t reg_idr10;
|
||||
uint32_t reg_idr11;
|
||||
uint32_t reg_idr12;
|
||||
uint32_t reg_idr13;
|
||||
uint32_t reg_configr; /**< Config Register */
|
||||
uint32_t reg_traceidr; /**< Trace Stream ID register */
|
||||
ocsd_arch_version_t arch_ver; /**< Architecture version */
|
||||
ocsd_core_profile_t core_prof; /**< Core Profile */
|
||||
} ocsd_etmv4_cfg;
|
||||
~~~
|
||||
|
||||
The structure contains a number of read-only ID registers, and key programmable control registers that define
|
||||
the trace output features - such as if the ETM will output timestamps or cycle counts - and the CoreSight Trace ID.
|
||||
|
||||
Once this structure is filled in then the decoder can be configured in the decode tree:-
|
||||
|
||||
~~~{.cpp}
|
||||
ocsd_etmv4_cfg config;
|
||||
|
||||
// ...
|
||||
// code to fill in config from programmed registers and id registers
|
||||
// ...
|
||||
|
||||
EtmV4Config configObj(&config); // initialise decoder config class
|
||||
std::string decoderName(OCSD_BUILTIN_DCD_ETMV4I); // use built in ETMv4 instruction decoder.
|
||||
int decoderCreateFlags = OCSD_CREATE_FLG_FULL_DECODER; // decoder type to create - OCSD_CREATE_FLG_PACKET_PROC for packet processor only
|
||||
ocsd_err_t err = pDecodeTree->createDecoder(decoderName, decoderCreateFlags,&configObj);
|
||||
~~~
|
||||
|
||||
This code creates a full trace decoder for an ETMv4 source, which consists of a packet processor and packet decoder pair. The decoder is automatically associated with the
|
||||
CoreSight Trace ID programmed into the register provided in the `config` structure.
|
||||
|
||||
It is also possible to create a packet processor only decoder if the `OCSD_CREATE_FLG_PACKET_PROC` flag is
|
||||
used instead. These packet only decoders can be used to create a dump of the raw trace as discrete trace packets.
|
||||
|
||||
All decoders a registered with the library using a name - the standard ARM protocols are considered built in
|
||||
decoders and are registered automatically. The library contains defined names for these decoders - `OCSD_BUILTIN_DCD_ETMV4I`
|
||||
being the name used for ETMv4 protocol.
|
||||
|
||||
The C-API uses the call create_generic_decoder() with the same configuration structure:-
|
||||
|
||||
~~~{.c}
|
||||
ocsd_etmv4_cfg config;
|
||||
|
||||
// ...
|
||||
// code to fill in config from programmed registers and id registers
|
||||
// ...
|
||||
|
||||
const char * decoderName = OCSD_BUILTIN_DCD_ETMV4I); // use built in ETMv4 instruction decoder.
|
||||
int decoderCreateFlags = OCSD_CREATE_FLG_FULL_DECODER; // decoder type to create - OCSD_CREATE_FLG_PACKET_PROC for packet processor only
|
||||
void *p_context = // <some_client_context>
|
||||
ocsd_err_t err = create_generic_decoder(dcdtree_handle,decoderName,(void *)&config,p_context);
|
||||
~~~
|
||||
|
||||
The configuration must be completed for each trace source in the decode tree which requires decoding.
|
||||
|
||||
The different trace source types have different configuration structures, classes and names
|
||||
|
||||
| protocol | config struct | class | name define |
|
||||
|:----------|:--------------------|:------------|:-----------------------------|
|
||||
| __ETE__ | @ref ocsd_ete_cfg | ETEConfig | @ref OCSD_BUILTIN_DCD_ETE |
|
||||
| __ETMv4__ | @ref ocsd_etmv4_cfg | EtmV4Config | @ref OCSD_BUILTIN_DCD_ETMV4I |
|
||||
| __ETMv3__ | @ref ocsd_etmv3_cfg | EtmV3Config | @ref OCSD_BUILTIN_DCD_ETMV3 |
|
||||
| __PTM__ | @ref ocsd_ptm_cfg | PtmConfig | @ref OCSD_BUILTIN_DCD_PTM |
|
||||
| __STM__ | @ref ocsd_stm_cfg | STMConfig | @ref OCSD_BUILTIN_DCD_STM |
|
||||
|
||||
### Adding in Memory Images ###
|
||||
|
||||
Memory images are needed when a full trace decode is required. Memory images consist of a base address and length, and
|
||||
contain instruction opcodes that may be executed during the operation of the traced program. The images are used by
|
||||
the decoder to follow the path of the traced program by interpreting the information contained within the trace that
|
||||
defines which program branches are taken and the target addresses of those branches.
|
||||
|
||||
The library defined memory image accessor objects, which can be simple memory buffers, files containing the binary
|
||||
code image, or a callback that allows the client to handle memory accesses directly. When files are used, the
|
||||
object may contain a set of base addresses and lengths, with offsets into the file - allowing the decoder
|
||||
to directly access multiple code segments in executable image files.
|
||||
|
||||
Memory image objects are collated by a memory mapper. This interfaces to the decoder through the ITargetMemAccess interface,
|
||||
and selects the correct image object for the address requested by the decoder. The memory mapper will also validate image
|
||||
objects as they are added to the decoder, and will not permit overlapping images.
|
||||
|
||||
![Memory Mapper and Memory Images](memacc_objs.jpg)
|
||||
|
||||
The client can add memory images to the decoder via API calls to the decode tree. These methods add memory image accessors of various
|
||||
types to be managed by a memory access mapper:-
|
||||
|
||||
~~~{.cpp}
|
||||
class DecodeTree {
|
||||
// ...
|
||||
ocsd_err_t createMemAccMapper(memacc_mapper_t type = MEMACC_MAP_GLOBAL);
|
||||
// ...
|
||||
ocsd_err_t addBufferMemAcc(const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space, const uint8_t *p_mem_buffer, const uint32_t mem_length);
|
||||
ocsd_err_t addBinFileMemAcc(const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space, const std::string &filepath);
|
||||
ocsd_err_t addBinFileRegionMemAcc(const ocsd_file_mem_region_t *region_array, const int num_regions, const ocsd_mem_space_acc_t mem_space, const std::string &filepath); */
|
||||
ocsd_err_t addCallbackMemAcc(const ocsd_vaddr_t st_address, const ocsd_vaddr_t en_address, const ocsd_mem_space_acc_t mem_space, Fn_MemAcc_CB p_cb_func, const void *p_context);
|
||||
// ...
|
||||
}
|
||||
~~~
|
||||
|
||||
The `createMemAccMapper()` function must be called to create the mapper, before the `add...MemAcc()` calls are used.
|
||||
|
||||
It is further possible to differentiate between memory image access objects by the memory space for which they are valid. If it is known that a certain code image
|
||||
is present in secure EL3, then an image can be associated with the @ref ocsd_mem_space_acc_t type value @ref OCSD_MEM_SPACE_EL3, which will allow another image to be
|
||||
present at the same address but a different exception level. However, for the majority of systems, such detailed knowledge of the code is not available, or
|
||||
overlaps across memory spaces do not occur. In these cases, and for general use (including Linux trace decode), @ref OCSD_MEM_SPACE_ANY should be used.
|
||||
|
||||
The C-API contains a similar set of calls to set up memory access objects:-
|
||||
|
||||
~~~{.c}
|
||||
OCSD_C_API ocsd_err_t ocsd_dt_add_buffer_mem_acc(const dcd_tree_handle_t handle, const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space, const uint8_t *p_mem_buffer, const uint32_t mem_length);
|
||||
OCSD_C_API ocsd_err_t ocsd_dt_add_binfile_mem_acc(const dcd_tree_handle_t handle, const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space, const char *filepath);
|
||||
OCSD_C_API ocsd_err_t ocsd_dt_add_binfile_region_mem_acc(const dcd_tree_handle_t handle, const ocsd_file_mem_region_t *region_array, const int num_regions, const ocsd_mem_space_acc_t mem_space, const char *filepath);
|
||||
OCSD_C_API ocsd_err_t ocsd_dt_add_callback_mem_acc(const dcd_tree_handle_t handle, const ocsd_vaddr_t st_address, const ocsd_vaddr_t en_address, const ocsd_mem_space_acc_t mem_space, Fn_MemAcc_CB p_cb_func, const void *p_context);
|
||||
~~~
|
||||
|
||||
Note that the C-API will automatically create a default mapper when the first memory access object is added.
|
||||
|
||||
### Adding the output callbacks ###
|
||||
|
||||
The decoded trace output ia collect by the client application through callback functions registered with the library.
|
||||
|
||||
Depending on the decode configuration chosen, this can be in the form of the fully decoded trace output as generic trace
|
||||
packets, or discrete trace packets for each trace stream ID.
|
||||
|
||||
__Full Decode__
|
||||
|
||||
When full decode is chosen then all output is via the generic packet interface:
|
||||
|
||||
~~~{.cpp}
|
||||
class ITrcGenElemIn
|
||||
{
|
||||
///...
|
||||
|
||||
virtual ocsd_datapath_resp_t TraceElemIn(const ocsd_trc_index_t index_sop,
|
||||
const uint8_t trc_chan_id,
|
||||
const OcsdTraceElement &el);
|
||||
}
|
||||
~~~
|
||||
|
||||
The client application registers a callback class or function with this signature.
|
||||
|
||||
For each output packet the libary calls the registered function, providing the byte index into the raw trace for the first
|
||||
byte of the trace protocol packet that resulted in its generation, plus the CoreSight trace ID of the source stream,
|
||||
#and the output packet itself.
|
||||
|
||||
The client callback must process the packet before returning the call - the reference to the packet data is only
|
||||
valid for the duration of the call. This means that the client will either have to copy and buffer packets for later
|
||||
processing if required, process immediately, or use an appropriate combination, dependent on the requirements of the
|
||||
client.
|
||||
|
||||
The client callback provides a ocsd_datapath_resp_t response code to indicate to the input side of the library if decoding is to continue.
|
||||
|
||||
~~~{.cpp}
|
||||
DecodeTree *pTree;
|
||||
TrcGenericElementPrinter genElemPrinter; // derived from ITrcGenElemIn, overrides TraceElemIn() to print incoming packet to logger.
|
||||
|
||||
///...
|
||||
|
||||
pTree->setGenTraceElemOutI(genElemPrinter);
|
||||
|
||||
~~~
|
||||
|
||||
Alternatively in C-API, the callback function pointer type is defined:-
|
||||
|
||||
~~~{.c}
|
||||
typedef ocsd_datapath_resp_t (* FnTraceElemIn)( const void *p_context,
|
||||
const ocsd_trc_index_t index_sop,
|
||||
const uint8_t trc_chan_id,
|
||||
const ocsd_generic_trace_elem *elem);
|
||||
~~~
|
||||
|
||||
giving API calls to set up:-
|
||||
|
||||
~~~{.c}
|
||||
FnTraceElemIn gen_pkt_fn = &gen_trace_elem_analyze; // set to function matching signature.
|
||||
dcd_tree_handle_t dcdtree_handle;
|
||||
|
||||
// ...
|
||||
|
||||
ret = ocsd_dt_set_gen_elem_outfn(dcdtree_handle, gen_pkt_fn, 0);
|
||||
~~~
|
||||
|
||||
The output packets and their intepretatation are described here [prog_guide_generic_pkts.md](@ref generic_pkts).
|
||||
|
||||
__Packet Process only, or Monitor packets in Full Decode__
|
||||
|
||||
The client can set up the library for packet processing only, in which case the library output is
|
||||
the trace packets only, so these packets need a sink callback for each channel being output.
|
||||
|
||||
When full decode is in operation, then the principle output is the generic packets that are output for
|
||||
all channels in operation to the single callback mentioned above. Additional callbacks can be added to
|
||||
each of the trace channels to monitor the packet processing stage as it happens at point that the packets
|
||||
are passed to the full decoder.
|
||||
|
||||
Both methods of processing the discrete trace packets require callbacks to be registered on a
|
||||
per Trace ID / channel basis. The specifics of the callback and the resulting packet will vary according to
|
||||
the protocol of the trace source.
|
||||
|
||||
The .cpp interface registers a packet sink / packet monitor object with the relevant decoder object.
|
||||
|
||||
This sink object is based on the tempated IPktDataIn interface.
|
||||
|
||||
~~~{.cpp}
|
||||
template<class P> class IPktDataIn : public ITrcTypedBase {
|
||||
// ...
|
||||
virtual ocsd_datapath_resp_t PacketDataIn( const ocsd_datapath_op_t op,
|
||||
const ocsd_trc_index_t index_sop,
|
||||
const P *p_packet_in) = 0;
|
||||
}
|
||||
~~~
|
||||
|
||||
The template type parameter will be the protocol type for the trace source in question - e.g. EtmV4ITrcPacket.
|
||||
This interface contains a method that will be called with trace packets.
|
||||
|
||||
The monitor object must be based on the IPktRawDataMon class, with a similarly typed template parameter and callback
|
||||
function.
|
||||
|
||||
~~~{.cpp}
|
||||
template<class P> class IPktRawDataMon : public ITrcTypedBase {
|
||||
// ...
|
||||
virtual void RawPacketDataMon( const ocsd_datapath_op_t op,
|
||||
const ocsd_trc_index_t index_sop,
|
||||
const P *pkt,
|
||||
const uint32_t size,
|
||||
const uint8_t *p_data) = 0;
|
||||
}
|
||||
~~~
|
||||
|
||||
Given a suitable callback object the process for attaching to the decode is as follows:-
|
||||
|
||||
~~~{.cpp}
|
||||
// client custom packet sink for ETMv4 - derived from IPktDataIn
|
||||
class MyTracePacketSinkETMv4 : public IPktDataIn<EtmV4ITrcPacket> {
|
||||
// ...
|
||||
};
|
||||
|
||||
uint8_t CSID;
|
||||
DecodeTree *pTree; // pointer to decode tree
|
||||
MyTracePacketSinkETMv4 *pSink;
|
||||
|
||||
// ... obtain CSID and decode tree object
|
||||
|
||||
// decode trees manage decode elements using a tree element object, registered against CSID.
|
||||
DecodeTreeElement *pElement = pTree->getDecoderElement(CSID);
|
||||
pSink = new MyTracePacketSinkETMv4();
|
||||
if (pElement && pSink)
|
||||
err = pElement->getDecoderMngr()->attachPktSink(pElement->getDecoderHandle(), pSink);
|
||||
|
||||
~~~
|
||||
|
||||
The decode tree object is used to obtain the decode tree element associated with the Coresight trace ID.
|
||||
The IDecoderMngr interface on this object is used to attach the packet sink object to the required decoder.
|
||||
|
||||
For monitor objects use an attachPktMonitor() call with a suitably derived monitor sink object.
|
||||
|
||||
The key difference between the packet sink, and the packet monitor is that the monitor is not in the trace decode
|
||||
data path, so does not return ocsd_datapath_resp_t values. The monitor callback also provides the raw trace byte
|
||||
data for the packet.
|
||||
|
||||
Device tree call for registering a callback in C-API and the function signatures for each type of shown below..
|
||||
The C-API code contains underlying managment code that connects the callback with the correct packet decoder object.
|
||||
|
||||
~~~{.c}
|
||||
OCSD_C_API ocsd_err_t ocsd_dt_attach_packet_callback( const dcd_tree_handle_t handle, // decode tree handle
|
||||
const unsigned char CSID, // trace channel ID
|
||||
const ocsd_c_api_cb_types callback_type, // defines packet only processing sink or monitor function signature.
|
||||
void *p_fn_callback_data, // pointer to the callback function for the packet data.
|
||||
const void *p_context); // opaque context to use inside the callback.
|
||||
~~~
|
||||
|
||||
Callback definition for packet only sink callback type:
|
||||
~~~{.c}
|
||||
/** function pointer type for packet processor packet output sink, packet analyser/decoder input - generic declaration */
|
||||
typedef ocsd_datapath_resp_t (* FnDefPktDataIn)(const void *p_context,
|
||||
const ocsd_datapath_op_t op,
|
||||
const ocsd_trc_index_t index_sop,
|
||||
const void *p_packet_in
|
||||
);
|
||||
~~~
|
||||
|
||||
Callback definition for packet monitor callback type
|
||||
~~~{.c}
|
||||
/** function pointer type for packet processor packet monitor sink, raw packet monitor / display input - generic declaration */
|
||||
typedef void (* FnDefPktDataMon)(const void *p_context,
|
||||
const ocsd_datapath_op_t op,
|
||||
const ocsd_trc_index_t index_sop,
|
||||
const void *p_packet_in,
|
||||
const uint32_t size,
|
||||
const uint8_t *p_data
|
||||
);
|
||||
~~~
|
||||
|
||||
As with the `.cpp` code, the monitor callback does not have a return value, but also has the raw trace bytes for the packet as part of
|
||||
the monitor.
|
||||
|
||||
In both cases in the C-API, the `void *p_packet_in` must be cast to packet structure appropriate to the trace protocol associated with the
|
||||
CSID value. e.g. for ETMv4 this would be @ref ocsd_etmv4_i_pkt.
|
||||
|
||||
|
||||
Programming Examples - using the configured Decode Tree.
|
||||
--------------------------------------------------------
|
||||
|
||||
Once the decode tree has been configured then data raw trace data can be processed through the decode tree.
|
||||
|
||||
The client program will require two functions to use the library. The first is on the input side of the library
|
||||
which must be driven with raw data, until the data is complete, or an error occurs. This processing routine must
|
||||
check the library returns and respond appropriately.
|
||||
|
||||
The second consists of output callback(s) which process the decoded generic packets, or trace packets.
|
||||
This routine will return response codes according to the needs of the client.
|
||||
|
||||
![Trace Data call and response path](decode_data_path_resp.jpg)
|
||||
|
||||
The diagram shows the data input and response path. The data is driven into the decoding library by the client raw data input
|
||||
routine on the left. Processed packets are received by the client packet callback(s) on the right, and push response codes back
|
||||
through the library.
|
||||
|
||||
The raw data input routine calls the standard ITrcDataIn interface with an operation code, and if appropriate some raw
|
||||
trace data. The input operation code will define how the library treats the input parameters.
|
||||
|
||||
|
||||
| Operation | Description | Trace Data provided |
|
||||
|:-------------------|:-----------------------------------------------------------------|:--------------------|
|
||||
| @ref OCSD_OP_DATA | Process data provided by data pointer parameters. | Yes |
|
||||
| @ref OCSD_OP_FLUSH | Call after prior wait response - finish processing previous data | No |
|
||||
| @ref OCSD_OP_EOT | End of trace data. Library will complete any pending decode. | No |
|
||||
| @ref OCSD_OP_RESET | Hard reset of decoder state - use current config for new data | No |
|
||||
|
||||
A set of standard responses is used to indicate to the raw data input whether it should continue to push data through the library,
|
||||
pause and then flush, or if a fatal processing error has occurred.
|
||||
|
||||
The response codes can come from the internal library decoder, or from the part of the client that is handling the processing of the
|
||||
output packets on the right of the diagram.
|
||||
|
||||
_Response Codes_: The are contained in the @ref _ocsd_datapath_resp_t enum.
|
||||
|
||||
- __OCSD_RESP_CONT, OCSD_RESP_CONT_xxx__: Indicates that processing is to continue. Generated either internally by the library if more data
|
||||
is needed to generate an output packet, or by the output packet processors to indicate processing
|
||||
is to continue.
|
||||
- __OCSD_RESP_WAIT, OCSD_RESP_WAIT_xxx:__ Sent by the client processors to pause processing. This will freeze the internal state of the library
|
||||
and cause the WAIT response to be propogated through to the input side, with an indication of the number
|
||||
of bytes processed. After a WAIT, the input side must respond with flush operations, until a CONT is
|
||||
seen again and further data can then be input into the library.
|
||||
- __OCSR_RESP_FATAL_xxx__: Fatal processing error. No further processing can take place. See error response logger for reason.
|
||||
Normally the result of corrupt or incorrect trace data.
|
||||
|
||||
The user should note that the client program controls routines on both the input and output side of the library. The output routine may be buffering
|
||||
output packets, and when the buffer is full, returns a WAIT ressponse. This will be propgated through to the input routine. This should now terminate
|
||||
data processing, saving state and the client will run a routine to empty / process the full packet buffer. Once the necessary processing is done,
|
||||
then the input routine can be restarted, but __must__ follow the FLUSH operational rule described above.
|
||||
|
||||
Excerpts from the data input routine used by the `trc_pkt_lister` program are shown below:
|
||||
|
||||
~~~{.cpp}
|
||||
// process the current buffer load until buffer done, or fatal error occurs
|
||||
while((nBuffProcessed < nBuffRead) && !OCSD_DATA_RESP_IS_FATAL(dataPathResp))
|
||||
{
|
||||
if(OCSD_DATA_RESP_IS_CONT(dataPathResp))
|
||||
{
|
||||
dataPathResp = dcd_tree->TraceDataIn(
|
||||
OCSD_OP_DATA,
|
||||
trace_index,
|
||||
(uint32_t)(nBuffRead - nBuffProcessed),
|
||||
&(trace_buffer[0])+nBuffProcessed,
|
||||
&nUsedThisTime);
|
||||
|
||||
nBuffProcessed += nUsedThisTime;
|
||||
trace_index += nUsedThisTime;
|
||||
|
||||
}
|
||||
else // last response was _WAIT
|
||||
{
|
||||
// may need to acknowledge a wait from the gen elem printer
|
||||
if(genElemPrinter->needAckWait())
|
||||
genElemPrinter->ackWait();
|
||||
|
||||
// dataPathResp not continue or fatal so must be wait...
|
||||
dataPathResp = dcd_tree->TraceDataIn(OCSD_OP_FLUSH,0,0,0,0);
|
||||
}
|
||||
}
|
||||
|
||||
~~~
|
||||
|
||||
_Note_: in this test program, the WAIT response is an artificial test condition, so the input routine does not terminate on seeing it - it is cleared down
|
||||
and FLUSH is immediately sent. Normal client routines would most likely drop out of the processing loop, take actions to clear the WAIT condition, then
|
||||
resume processing with a FLUSH.
|
||||
|
||||
See the `trc_pkt_lister` and `c_api_pkt_print_test` test program source code for further examples of driving data through the library.
|
213
decoder/docs/test_progs.md
Normal file
213
decoder/docs/test_progs.md
Normal file
@ -0,0 +1,213 @@
|
||||
Test Programs {#test_progs}
|
||||
=============
|
||||
|
||||
@brief A description of the test programs used with the library.
|
||||
|
||||
The Programs
|
||||
------------
|
||||
|
||||
There are currently two test programs built alongside the library.
|
||||
|
||||
1. `trc_pkt_lister` : This test the C++ library by taking a trace "snapshot" directory as an input
|
||||
and decodes all or a chosen set of trace sources from within the trace data buffers in the library. Command
|
||||
line parameters allow the test program to be controlled.
|
||||
|
||||
2. `c_api_pkt_print_test` : This program tests the "C" API functions, using hardcoded tests
|
||||
based on the same "snapshots" used for the C++ library. Limited user control for this program.
|
||||
This can also run tests using the external test decoder to validate the external decoder API.
|
||||
See [external_custom.md](@ref custom_decoders) for details.
|
||||
|
||||
These programs are both built at the same time as the library for the same set of platforms.
|
||||
See [build_libs.md](@ref build_lib) for build details.
|
||||
|
||||
_Note:_ The programs above use the library's [core name mapper helper class] (@ref CoreArchProfileMap) to map
|
||||
the name of the core into a profile / architecture pair that the library can use.
|
||||
The snapshot definition must use one of the names recognised by this class or an error will occur.
|
||||
|
||||
Trace "Snapshot" directory.
|
||||
----------------------------
|
||||
|
||||
The `.\tests\snapshots` directory contains a number of trace snapshots used for testing the library.
|
||||
Trace snapshots are dumps of captured binary trace data, CoreSight component configurations and memory
|
||||
dumps to allow trace decode.
|
||||
|
||||
Snapshots are generated on ARM targets and can then be analysed offline. The snapshot format is available
|
||||
in a separate document.
|
||||
|
||||
The `trc_pkt_lister` program.
|
||||
-----------------------------
|
||||
|
||||
This will take a snapshot directory as an input, and list and/or decode all the trace packets for a
|
||||
single source, for any currently supported protocol.
|
||||
|
||||
The output will be a list of discrete packets, generic output packets and any error messages
|
||||
to file and/or screen as selected by the input command line options.
|
||||
|
||||
By default the program will list packets only (no decode), for the first discovered trace sink
|
||||
(ETB, ETF, ETR) in the snapshot directory, with all streams output.
|
||||
|
||||
__Command Line Options__
|
||||
|
||||
*Snapshot selection*
|
||||
|
||||
- `-ss_dir <dir>` : Set the directory path to a trace snapshot.
|
||||
- `-ss_verbose` : Verbose output when reading the snapshot.
|
||||
|
||||
*Decode options*
|
||||
|
||||
- `-id <n>` : Set an ID to list (may be used multiple times) - default if no id set is for all IDs to be printed.
|
||||
- `-src_name <name>` : List packets from a given snapshot source name (defaults to first source found).
|
||||
- `-tpiu` : Input data is from a TPIU source that has TPIU FSYNC packets present.
|
||||
- `-tpiu_hsync` : Input data is from a TPIU source that has both TPIU FSYNC and HSYNC packets present.
|
||||
- `-decode` : Full decode of the packets from the trace snapshot (default is to list undecoded packets only.
|
||||
- `-decode_only` : Does not list the undecoded packets, just the trace decode.
|
||||
- `-src_addr_n` : ETE protocol; Indicate skipped N atoms in source address packet ranges by breaking the decode
|
||||
range into multiple ranges on N atoms.
|
||||
- `-o_raw_packed` : Output raw packed trace frames.
|
||||
- `-o_raw_unpacked` : Output raw unpacked trace data per ID.
|
||||
|
||||
*Output options*
|
||||
|
||||
Default is to output to file and stdout. Setting any option overrides and limits to only
|
||||
the options set.
|
||||
- `-logstdout` : output to stdout.
|
||||
- `-logstderr` : output to stderr.
|
||||
- `-logfile` : output to file using the default log file name.
|
||||
- `-logfilename <name>` : change the name of the output log file.
|
||||
|
||||
|
||||
__Test output examples__
|
||||
|
||||
Example command lines with short output excerpts.
|
||||
|
||||
*TC2, ETMv3 packet processor output, raw packet output.*
|
||||
|
||||
Command line:-
|
||||
`trc_pkt_lister -ss_dir ..\..\..\snapshots\TC2 -o_raw_unpacked`
|
||||
|
||||
~~~~~~~~~~~~~~~~
|
||||
Frame Data; Index 17958; ID_DATA[0x11]; 16 04 c0 86 42 97 e1 c4
|
||||
Idx:17945; ID:11; I_SYNC : Instruction Packet synchronisation.; (Periodic); Addr=0xc00416e2; S; ISA=Thumb2;
|
||||
Idx:17961; ID:11; P_HDR : Atom P-header.; WEN; Cycles=1
|
||||
Frame Data; Index 17968; ID_DATA[0x11]; ce af 90 80 80 00 a4 84 a0 84 a4 88
|
||||
Idx:17962; ID:11; TIMESTAMP : Timestamp Value.; TS=0x82f9d13097 (562536984727)
|
||||
Idx:17974; ID:11; P_HDR : Atom P-header.; WW; Cycles=2
|
||||
Idx:17975; ID:11; P_HDR : Atom P-header.; WE; Cycles=1
|
||||
Idx:17976; ID:11; P_HDR : Atom P-header.; W; Cycles=1
|
||||
Idx:17977; ID:11; P_HDR : Atom P-header.; WE; Cycles=1
|
||||
Idx:17978; ID:11; P_HDR : Atom P-header.; WW; Cycles=2
|
||||
Idx:17979; ID:11; P_HDR : Atom P-header.; WEWE; Cycles=2
|
||||
Frame Data; Index 17980; ID_DATA[0x10]; a0 82
|
||||
Idx:17980; ID:10; P_HDR : Atom P-header.; W; Cycles=1
|
||||
Idx:17981; ID:10; P_HDR : Atom P-header.; WEE; Cycles=1
|
||||
Frame Data; Index 17984; ID_DATA[0x10]; b8 84 a4 88 a0 82
|
||||
Idx:17984; ID:10; P_HDR : Atom P-header.; WWWWWWW; Cycles=7
|
||||
Idx:17985; ID:10; P_HDR : Atom P-header.; WE; Cycles=1
|
||||
Idx:17986; ID:10; P_HDR : Atom P-header.; WW; Cycles=2
|
||||
Idx:17987; ID:10; P_HDR : Atom P-header.; WEWE; Cycles=2
|
||||
Idx:17988; ID:10; P_HDR : Atom P-header.; W; Cycles=1
|
||||
Idx:17989; ID:10; P_HDR : Atom P-header.; WEE; Cycles=1
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
*Juno - ETB_1 selected for STM packet output, raw packet output*
|
||||
|
||||
Command line:-
|
||||
`trc_pkt_lister -ss_dir ..\..\..\snapshots\juno_r1_1 -o_raw_unpacked -src_name ETB_1`
|
||||
|
||||
~~~~~~~~~~~~~~~~
|
||||
Trace Packet Lister: CS Decode library testing
|
||||
-----------------------------------------------
|
||||
|
||||
Trace Packet Lister : reading snapshot from path ..\..\..\snapshots\juno_r1_1
|
||||
Using ETB_1 as trace source
|
||||
Trace Packet Lister : STM Protocol on Trace ID 0x20
|
||||
Frame Data; Index 0; ID_DATA[0x20]; ff ff ff ff ff ff ff ff ff ff 0f 0f 30 41
|
||||
Idx:0; ID:20; ASYNC:Alignment synchronisation packet.
|
||||
Idx:11; ID:20; VERSION:Version packet.; Ver=3
|
||||
Frame Data; Index 16; ID_DATA[0x20]; f1 1a 00 00 00 30 10 af 01 00 00 10 03 f2 1a
|
||||
Idx:13; ID:20; M8:Set current master.; Master=0x41
|
||||
Idx:17; ID:20; D32M:32 bit data; with marker.; Data=0x10000000
|
||||
Idx:22; ID:20; C8:Set current channel.; Chan=0x0001
|
||||
Idx:23; ID:20; D32M:32 bit data; with marker.; Data=0x10000001
|
||||
Idx:28; ID:20; C8:Set current channel.; Chan=0x0002
|
||||
Frame Data; Index 32; ID_DATA[0x20]; 00 00 00 32 30 af 01 00 00 30 03 f4 1a 00 00
|
||||
Idx:30; ID:20; D32M:32 bit data; with marker.; Data=0x10000002
|
||||
Idx:36; ID:20; C8:Set current channel.; Chan=0x0003
|
||||
Idx:37; ID:20; D32M:32 bit data; with marker.; Data=0x10000003
|
||||
Idx:42; ID:20; C8:Set current channel.; Chan=0x0004
|
||||
Frame Data; Index 48; ID_DATA[0x20]; 00 f4 ff ff ff ff ff ff ff ff ff ff f0 00 13
|
||||
Idx:44; ID:20; D32M:32 bit data; with marker.; Data=0x10000004
|
||||
Idx:50; ID:20; ASYNC:Alignment synchronisation packet.
|
||||
Idx:61; ID:20; VERSION:Version packet.; Ver=3
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
*Juno - ETMv4 full trace decode + packet monitor, source trace ID 0x10 only.*
|
||||
|
||||
Command line:-
|
||||
`trc_pkt_lister -ss_dir ..\..\..\snapshots\juno_r1_1 -decode -id 0x10`
|
||||
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
Idx:17204; ID:10; [0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 ]; I_ASYNC : Alignment Synchronisation.
|
||||
Idx:17218; ID:10; [0x01 0x01 0x00 ]; I_TRACE_INFO : Trace Info.; INFO=0x0
|
||||
Idx:17221; ID:10; [0x9d 0x00 0x35 0x09 0x00 0xc0 0xff 0xff 0xff ]; I_ADDR_L_64IS0 : Address, Long, 64 bit, IS0.; Addr=0xFFFFFFC000096A00;
|
||||
Idx:17230; ID:10; [0x04 ]; I_TRACE_ON : Trace On.
|
||||
Idx:17232; ID:10; [0x85 0x00 0x35 0x09 0x00 0xc0 0xff 0xff 0xff 0xf1 0x00 0x00 0x00 0x00 0x00 ]; I_ADDR_CTXT_L_64IS0 : Address & Context, Long, 64 bit, IS0.; Addr=0xFFFFFFC000096A00; Ctxt: AArch64,EL1, NS; CID=0x00000000; VMID=0x0000;
|
||||
Idx:17248; ID:10; [0xf7 ]; I_ATOM_F1 : Atom format 1.; E
|
||||
Idx:17230; ID:10; OCSD_GEN_TRC_ELEM_TRACE_ON( [begin or filter])
|
||||
Idx:17232; ID:10; OCSD_GEN_TRC_ELEM_PE_CONTEXT((ISA=A64) EL1N; 64-bit; VMID=0x0; CTXTID=0x0; )
|
||||
Idx:17248; ID:10; OCSD_GEN_TRC_ELEM_INSTR_RANGE(exec range=0xffffffc000096a00:[0xffffffc000096a10] num_i(4) last_sz(4) (ISA=A64) E ISB )
|
||||
Idx:17249; ID:10; [0x9d 0x30 0x25 0x59 0x00 0xc0 0xff 0xff 0xff ]; I_ADDR_L_64IS0 : Address, Long, 64 bit, IS0.; Addr=0xFFFFFFC000594AC0;
|
||||
Idx:17258; ID:10; [0xf7 ]; I_ATOM_F1 : Atom format 1.; E
|
||||
Idx:17258; ID:10; OCSD_GEN_TRC_ELEM_ADDR_NACC( 0xffffffc000594ac0 )
|
||||
Idx:17259; ID:10; [0x95 0xd6 0x95 ]; I_ADDR_S_IS0 : Address, Short, IS0.; Addr=0xFFFFFFC000592B58 ~[0x12B58]
|
||||
Idx:17262; ID:10; [0xf9 ]; I_ATOM_F3 : Atom format 3.; ENN
|
||||
Idx:17262; ID:10; OCSD_GEN_TRC_ELEM_ADDR_NACC( 0xffffffc000592b58 )
|
||||
Idx:17264; ID:10; [0xf7 ]; I_ATOM_F1 : Atom format 1.; E
|
||||
Idx:17265; ID:10; [0x9a 0x32 0x62 0x5a 0x00 ]; I_ADDR_L_32IS0 : Address, Long, 32 bit, IS0.; Addr=0xFFFFFFC0005AC4C8;
|
||||
Idx:17270; ID:10; [0xdb ]; I_ATOM_F2 : Atom format 2.; EE
|
||||
Idx:17270; ID:10; OCSD_GEN_TRC_ELEM_ADDR_NACC( 0xffffffc0005ac4c8 )
|
||||
Idx:17271; ID:10; [0x9a 0x62 0x52 0x0e 0x00 ]; I_ADDR_L_32IS0 : Address, Long, 32 bit, IS0.; Addr=0xFFFFFFC0000EA588;
|
||||
Idx:17276; ID:10; [0xfc ]; I_ATOM_F3 : Atom format 3.; NNE
|
||||
Idx:17276; ID:10; OCSD_GEN_TRC_ELEM_ADDR_NACC( 0xffffffc0000ea588 )
|
||||
Idx:17277; ID:10; [0x9a 0x58 0x15 0x59 0x00 ]; I_ADDR_L_32IS0 : Address, Long, 32 bit, IS0.; Addr=0xFFFFFFC000592B60;
|
||||
Idx:17283; ID:10; [0x06 0x1d ]; I_EXCEPT : Exception.; IRQ; Ret Addr Follows;
|
||||
Idx:17285; ID:10; [0x95 0x59 ]; I_ADDR_S_IS0 : Address, Short, IS0.; Addr=0xFFFFFFC000592B64 ~[0x164]
|
||||
Idx:17283; ID:10; OCSD_GEN_TRC_ELEM_ADDR_NACC( 0xffffffc000592b60 )
|
||||
Idx:17283; ID:10; OCSD_GEN_TRC_ELEM_EXCEPTION(pref ret addr:0xffffffc000592b64; excep num (0x0e) )
|
||||
Idx:17287; ID:10; [0x9a 0x20 0x19 0x08 0x00 ]; I_ADDR_L_32IS0 : Address, Long, 32 bit, IS0.; Addr=0xFFFFFFC000083280;
|
||||
Idx:17292; ID:10; [0xfd ]; I_ATOM_F3 : Atom format 3.; ENE
|
||||
Idx:17292; ID:10; OCSD_GEN_TRC_ELEM_INSTR_RANGE(exec range=0xffffffc000083280:[0xffffffc000083284] num_i(1) last_sz(4) (ISA=A64) E BR )
|
||||
Idx:17292; ID:10; OCSD_GEN_TRC_ELEM_INSTR_RANGE(exec range=0xffffffc000083d40:[0xffffffc000083d9c] num_i(23) last_sz(4) (ISA=A64) N BR <cond>)
|
||||
Idx:17292; ID:10; OCSD_GEN_TRC_ELEM_INSTR_RANGE(exec range=0xffffffc000083d9c:[0xffffffc000083dac] num_i(4) last_sz(4) (ISA=A64) E iBR b+link )
|
||||
Idx:17293; ID:10; [0x95 0xf7 0x09 ]; I_ADDR_S_IS0 : Address, Short, IS0.; Addr=0xFFFFFFC0000813DC ~[0x13DC]
|
||||
Idx:17297; ID:10; [0xdb ]; I_ATOM_F2 : Atom format 2.; EE
|
||||
Idx:17297; ID:10; OCSD_GEN_TRC_ELEM_INSTR_RANGE(exec range=0xffffffc0000813dc:[0xffffffc0000813f0] num_i(5) last_sz(4) (ISA=A64) E BR b+link )
|
||||
Idx:17297; ID:10; OCSD_GEN_TRC_ELEM_INSTR_RANGE(exec range=0xffffffc00008f2e0:[0xffffffc00008f2e4] num_i(1) last_sz(4) (ISA=A64) E iBR A64:ret )
|
||||
Idx:17298; ID:10; [0x95 0x7e ]; I_ADDR_S_IS0 : Address, Short, IS0.; Addr=0xFFFFFFC0000813F8 ~[0x1F8]
|
||||
Idx:17300; ID:10; [0xe0 ]; I_ATOM_F6 : Atom format 6.; EEEN
|
||||
Idx:17300; ID:10; OCSD_GEN_TRC_ELEM_INSTR_RANGE(exec range=0xffffffc0000813f8:[0xffffffc00008140c] num_i(5) last_sz(4) (ISA=A64) E BR )
|
||||
Idx:17300; ID:10; OCSD_GEN_TRC_ELEM_INSTR_RANGE(exec range=0xffffffc00008141c:[0xffffffc000081434] num_i(6) last_sz(4) (ISA=A64) E BR <cond>)
|
||||
Idx:17300; ID:10; OCSD_GEN_TRC_ELEM_INSTR_RANGE(exec range=0xffffffc00008140c:[0xffffffc000081414] num_i(2) last_sz(4) (ISA=A64) E BR b+link )
|
||||
Idx:17300; ID:10; OCSD_GEN_TRC_ELEM_ADDR_NACC( 0xffffffc000117cf0 )
|
||||
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
The `c_api_pkt_print_test` program.
|
||||
-----------------------------------
|
||||
|
||||
Program tests the C-API infrastructure, including as an option the external decoder support.
|
||||
|
||||
Limited to decoding trace from a single CoreSight ID. Uses the same "snapshots" as the C++ test program, but using hardcoded path values.
|
||||
|
||||
__Command Line Options__
|
||||
|
||||
By default the program will run the single CoreSight ID of 0x10 in packet processing output mode using the ETMv4 decoder on the Juno snapshot.
|
||||
|
||||
- `-id <n>` : Change the ID used for the test.
|
||||
- `-etmv3` : Test the ETMv3 decoder - uses the TC2 snapshot.
|
||||
- `-ptm` : Test the PTM decoder - uses the TC2 snapshot.
|
||||
- `-stm` : Test the STM decoder - uses juno STM only snapshot.
|
||||
- `-extern` : Use the 'echo_test' external decoder to test the custom decoder API.
|
||||
- `-decode` : Output trace protocol packets and full decode generic packets.
|
||||
- `-decode_only` : Output full decode generic packets only.
|
47
decoder/include/opencsd/ete/ete_decoder.h
Normal file
47
decoder/include/opencsd/ete/ete_decoder.h
Normal file
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* \file ete_decoder.h
|
||||
* \brief OpenCSD : Top level header file for ETE decoder.
|
||||
*
|
||||
* \copyright Copyright (c) 2019, ARM Limited. All Rights Reserved.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef ARM_ETE_DECODER_H_INCLUDED
|
||||
#define ARM_ETE_DECODER_H_INCLUDED
|
||||
|
||||
// ETE actually uses extended ETMv4 packet processor and decode
|
||||
// ETE specifics limited to configuration
|
||||
//
|
||||
#include "trc_cmp_cfg_ete.h"
|
||||
#include "trc_pkt_types_ete.h"
|
||||
|
||||
#endif // ARM_ETE_DECODER_H_INCLUDED
|
||||
|
||||
/* End of File ete_decoder.h */
|
||||
|
81
decoder/include/opencsd/ete/trc_cmp_cfg_ete.h
Normal file
81
decoder/include/opencsd/ete/trc_cmp_cfg_ete.h
Normal file
@ -0,0 +1,81 @@
|
||||
/*
|
||||
* \file trc_cmp_cfg_ete.h
|
||||
* \brief OpenCSD : ETE configuration
|
||||
*
|
||||
* \copyright Copyright (c) 2019, ARM Limited. All Rights Reserved.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef ARM_TRC_CMP_CFG_ETE_H_INCLUDED
|
||||
#define ARM_TRC_CMP_CFG_ETE_H_INCLUDED
|
||||
|
||||
#include "trc_pkt_types_ete.h"
|
||||
#include "opencsd/etmv4/trc_cmp_cfg_etmv4.h"
|
||||
|
||||
/** @addtogroup ocsd_protocol_cfg
|
||||
@{*/
|
||||
|
||||
/** @name ETE configuration
|
||||
@{*/
|
||||
|
||||
/*!
|
||||
* @class ETEConfig
|
||||
* @brief Interpreter class for ETE config structure
|
||||
*
|
||||
* ETE trace and config are a superset of ETMv4 trace and config - hence
|
||||
* use the EtmV4Config class as a base.
|
||||
*/
|
||||
class ETEConfig : public EtmV4Config
|
||||
{
|
||||
public:
|
||||
ETEConfig();
|
||||
ETEConfig(const ocsd_ete_cfg *cfg_regs);
|
||||
~ETEConfig();
|
||||
|
||||
//! copy assignment operator for base structure into class.
|
||||
ETEConfig & operator=(const ocsd_ete_cfg *p_cfg);
|
||||
|
||||
//! cast operator returning struct const reference
|
||||
operator const ocsd_ete_cfg &() const { return m_ete_cfg; };
|
||||
//! cast operator returning struct const pointer
|
||||
operator const ocsd_ete_cfg *() const { return &m_ete_cfg; };
|
||||
|
||||
private:
|
||||
void copyV4(); // copy relevent config to underlying structure.
|
||||
|
||||
ocsd_ete_cfg m_ete_cfg;
|
||||
};
|
||||
|
||||
|
||||
/** @}*/
|
||||
/** @}*/
|
||||
|
||||
#endif // ARM_TRC_CMP_CFG_ETE_H_INCLUDED
|
||||
|
||||
/* End of File trc_cmp_cfg_ete.h */
|
58
decoder/include/opencsd/ete/trc_dcd_mngr_ete.h
Normal file
58
decoder/include/opencsd/ete/trc_dcd_mngr_ete.h
Normal file
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* \file trc_dcd_mngr_ete.h
|
||||
* \brief OpenCSD : ETE decoder creation.
|
||||
*
|
||||
* \copyright Copyright (c) 2019, ARM Limited. All Rights Reserved.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef ARM_TRC_DCD_MNGR_ETE_H_INCLUDED
|
||||
#define ARM_TRC_DCD_MNGR_ETE_H_INCLUDED
|
||||
|
||||
#include "common/ocsd_dcd_mngr.h"
|
||||
#include "trc_cmp_cfg_ete.h"
|
||||
#include "opencsd/etmv4/trc_pkt_decode_etmv4i.h"
|
||||
#include "opencsd/etmv4/trc_pkt_proc_etmv4.h"
|
||||
|
||||
class DecoderMngrETE : public DecodeMngrFullDcdExCfg< EtmV4ITrcPacket,
|
||||
ocsd_etmv4_i_pkt_type,
|
||||
EtmV4Config,
|
||||
ETEConfig,
|
||||
ocsd_ete_cfg,
|
||||
TrcPktProcEtmV4I,
|
||||
TrcPktDecodeEtmV4I>
|
||||
{
|
||||
public:
|
||||
DecoderMngrETE(const std::string &name) : DecodeMngrFullDcdExCfg(name, OCSD_PROTOCOL_ETE) {};
|
||||
virtual ~DecoderMngrETE() {};
|
||||
};
|
||||
|
||||
#endif // ARM_TRC_DCD_MNGR_ETE_H_INCLUDED
|
||||
|
||||
/* End of File trc_dcd_mngr_ete.h */
|
66
decoder/include/opencsd/ete/trc_pkt_types_ete.h
Normal file
66
decoder/include/opencsd/ete/trc_pkt_types_ete.h
Normal file
@ -0,0 +1,66 @@
|
||||
/*
|
||||
* \file trc_pkt_types_ete.h
|
||||
* \brief OpenCSD : ETE types
|
||||
*
|
||||
* \copyright Copyright (c) 2019, ARM Limited. All Rights Reserved.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef ARM_TRC_PKT_TYPES_ETE_H_INCLUDED
|
||||
#define ARM_TRC_PKT_TYPES_ETE_H_INCLUDED
|
||||
|
||||
#include "opencsd/trc_pkt_types.h"
|
||||
#include "opencsd/etmv4/trc_pkt_types_etmv4.h"
|
||||
/** @addtogroup trc_pkts
|
||||
@{*/
|
||||
|
||||
/** @name ETE config Types
|
||||
@{*/
|
||||
|
||||
|
||||
typedef struct _ocsd_ete_cfg
|
||||
{
|
||||
uint32_t reg_idr0; /**< ID0 register */
|
||||
uint32_t reg_idr1; /**< ID1 register */
|
||||
uint32_t reg_idr2; /**< ID2 register */
|
||||
uint32_t reg_idr8; /**< ID8 - maxspec */
|
||||
uint32_t reg_devarch; /**< DevArch register */
|
||||
uint32_t reg_configr; /**< Config Register */
|
||||
uint32_t reg_traceidr; /**< Trace Stream ID register */
|
||||
ocsd_arch_version_t arch_ver; /**< Architecture version */
|
||||
ocsd_core_profile_t core_prof; /**< Core Profile */
|
||||
} ocsd_ete_cfg;
|
||||
|
||||
|
||||
/** @}*/
|
||||
/** @}*/
|
||||
|
||||
#endif // ARM_TRC_PKT_TYPES_ETE_H_INCLUDED
|
||||
|
||||
/* End of File trc_pkt_types_ete.h */
|
98
decoder/source/ete/trc_cmp_cfg_ete.cpp
Normal file
98
decoder/source/ete/trc_cmp_cfg_ete.cpp
Normal file
@ -0,0 +1,98 @@
|
||||
/*
|
||||
* \file trc_cmp_cfg_ete.cpp
|
||||
* \brief OpenCSD : ETE config class
|
||||
*
|
||||
* \copyright Copyright (c) 2019, ARM Limited. All Rights Reserved.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "opencsd/ete/trc_cmp_cfg_ete.h"
|
||||
|
||||
ETEConfig::ETEConfig() : EtmV4Config()
|
||||
{
|
||||
m_ete_cfg.reg_idr0 = 0x28000EA1;
|
||||
m_ete_cfg.reg_idr1 = 0x4100FFF3;
|
||||
m_ete_cfg.reg_idr2 = 0x00000488;
|
||||
m_ete_cfg.reg_idr8 = 0;
|
||||
m_ete_cfg.reg_configr = 0xC1;
|
||||
m_ete_cfg.reg_traceidr = 0;
|
||||
m_ete_cfg.arch_ver = ARCH_AA64;
|
||||
m_ete_cfg.core_prof = profile_CortexA;
|
||||
m_ete_cfg.reg_devarch = 0x47705A13;
|
||||
copyV4();
|
||||
}
|
||||
|
||||
ETEConfig::ETEConfig(const ocsd_ete_cfg *cfg_regs) : EtmV4Config()
|
||||
{
|
||||
m_ete_cfg = *cfg_regs;
|
||||
copyV4();
|
||||
}
|
||||
|
||||
ETEConfig::~ETEConfig()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//! copy assignment operator for base structure into class.
|
||||
ETEConfig & ETEConfig::operator=(const ocsd_ete_cfg *p_cfg)
|
||||
{
|
||||
m_ete_cfg = *p_cfg;
|
||||
copyV4();
|
||||
return *this;
|
||||
}
|
||||
|
||||
//! cast operator returning struct const reference
|
||||
//operator const ocsd_ete_cfg &() const { return m_ete_cfg; };
|
||||
//! cast operator returning struct const pointer
|
||||
//operator const ocsd_ete_cfg *() const { return &m_ete_cfg; };
|
||||
|
||||
// ete superset of etmv4 - move info to underlying structure.
|
||||
void ETEConfig::copyV4()
|
||||
{
|
||||
// copy over 1:1 regs
|
||||
m_cfg.reg_idr0 = m_ete_cfg.reg_idr0;
|
||||
m_cfg.reg_idr1 = m_ete_cfg.reg_idr1;
|
||||
m_cfg.reg_idr2 = m_ete_cfg.reg_idr2;
|
||||
m_cfg.reg_idr8 = m_ete_cfg.reg_idr8;
|
||||
m_cfg.reg_idr9 = 0;
|
||||
m_cfg.reg_idr10 = 0;
|
||||
m_cfg.reg_idr11 = 0;
|
||||
m_cfg.reg_idr12 = 0;
|
||||
m_cfg.reg_idr13 = 0;
|
||||
m_cfg.reg_configr = m_ete_cfg.reg_configr;
|
||||
m_cfg.reg_traceidr = m_ete_cfg.reg_traceidr;
|
||||
m_cfg.core_prof = m_ete_cfg.core_prof;
|
||||
m_cfg.arch_ver = m_ete_cfg.arch_ver;
|
||||
|
||||
// override major / minor version as part of devarch
|
||||
m_MajVer = (uint8_t)((m_ete_cfg.reg_devarch & 0xF000) >> 12);
|
||||
m_MinVer = (uint8_t)((m_ete_cfg.reg_devarch & 0xF0000) >> 16);
|
||||
}
|
||||
|
||||
/* End of File trc_cmp_cfg_ete.cpp */
|
600
decoder/tests/auto-fdo/autofdo.md
Normal file
600
decoder/tests/auto-fdo/autofdo.md
Normal file
@ -0,0 +1,600 @@
|
||||
AutoFDO and ARM Trace {#AutoFDO}
|
||||
=====================
|
||||
|
||||
@brief Using CoreSight trace and perf with OpenCSD for AutoFDO.
|
||||
|
||||
## Introduction
|
||||
|
||||
Feedback directed optimization (FDO, also know as profile guided
|
||||
optimization - PGO) uses a profile of a program's execution to guide the
|
||||
optmizations performed by the compiler. Traditionally, this involves
|
||||
building an instrumented version of the program, which records a profile of
|
||||
execution as it runs. The instrumentation adds significant runtime
|
||||
overhead, possibly changing the behaviour of the program and it may not be
|
||||
possible to run the instrumented program in a production environment
|
||||
(e.g. where performance criteria must be met).
|
||||
|
||||
AutoFDO uses facilities in the hardware to sample the behaviour of the
|
||||
program in the production environment and generate the execution profile.
|
||||
An improved profile can be obtained by including the branch history
|
||||
(i.e. a record of the last branches taken) when generating an instruction
|
||||
samples. On Arm systems, the ETM can be used to generate such records.
|
||||
|
||||
The process can be broken down into the following steps:
|
||||
|
||||
* Record execution trace of the program
|
||||
* Convert the execution trace to instruction samples with branch histories
|
||||
* Convert the instruction samples to source level profiles
|
||||
* Use the source level profile with the compiler
|
||||
|
||||
This article describes how to enable ETM trace on Arm targets running Linux
|
||||
and use the ETM trace to generate AutoFDO profiles and compile an optimized
|
||||
program.
|
||||
|
||||
|
||||
## Execution trace on Arm targets
|
||||
|
||||
Debug and trace of Arm targets is provided by CoreSight. This consists of
|
||||
a set of components that allow access to debug logic, record (trace) the
|
||||
execution of a processor and route this data through the system, collecting
|
||||
it into a store.
|
||||
|
||||
To record the execution of a processor, we require the following
|
||||
components:
|
||||
|
||||
* A trace source. The core contains a trace unit, called an ETM that emits
|
||||
data describing the instructions executed by the core.
|
||||
* Trace links. The trace data generated by the ETM must be moved through
|
||||
the system to the component that collects the data (sink). Links
|
||||
include:
|
||||
* Funnels: merge multiple streams of data
|
||||
* FIFOs: buffer data to smooth out bursts
|
||||
* Replicators: send a stream of data to multiple components
|
||||
* Sinks. These receive the trace data and store it or send it to an
|
||||
external device:
|
||||
* ETB: A small circular buffer (64-128 kilobytes) that stores the most
|
||||
recent data
|
||||
* ETR: A larger (several megabytes) buffer that uses system RAM to
|
||||
store data
|
||||
* TPIU: Sends data to an off-chip capture device (e.g. Arm DSTREAM)
|
||||
|
||||
Each Arm SoC design may have a different layout (topology) of components.
|
||||
This topology is described to the OS drivers by the platform's devicetree
|
||||
or (in future) ACPI firmware.
|
||||
|
||||
For application profiling, we need to store several megabytes of data
|
||||
within the system, so will use ETR with the capture tool (perf)
|
||||
periodically draining the buffer to a file.
|
||||
|
||||
Even though we have a large capture buffer, the ETM can still generate a
|
||||
lot of data very quickly - typically an ETM will generate ~1 bit of data
|
||||
per instruction (depending on the workload), which results in 256Mbytes per
|
||||
second for a core running at 2GHz. This leads to problems storing and
|
||||
decoding such large volumes of data. AutoFDO uses samples of program
|
||||
execution, so we can avoid this problem by using the ETM's features to
|
||||
only record small slices of execution - e.g. collect ~5000 cycles of data
|
||||
every 50M cycles. This reduces the data rate to a manageable level - a few
|
||||
megabytes per minute. This technique is known as 'strobing'.
|
||||
|
||||
|
||||
## Enabling trace
|
||||
|
||||
### Driver support
|
||||
|
||||
To collect ETM trace, the CoreSight drivers must be included in the
|
||||
kernel. Some of the driver support is not yet included in the mainline
|
||||
kernel and many targets are using older kernels. To enable CoreSight trace
|
||||
on these targets, Arm have provided backports of the latest CoreSight
|
||||
drivers and ETM strobing patch at:
|
||||
|
||||
<https://gitlab.arm.com/linux-arm/linux-coresight-backports>
|
||||
|
||||
This repository can be cloned with:
|
||||
|
||||
```
|
||||
git clone https://git.gitlab.arm.com/linux-arm/linux-coresight-backports.git
|
||||
```
|
||||
|
||||
You can include these backports in your kernel by either merging the
|
||||
appropriate branch using git or generating patches (using `git
|
||||
format-patch`).
|
||||
|
||||
For 5.x based kernel onwards, the only patch which needs to be applied is the one enabling strobing - etm4x: `Enable strobing of ETM`.
|
||||
|
||||
For 4.9 based kernels, use the `coresight-4.9-etr-etm_strobe` branch:
|
||||
|
||||
```
|
||||
git merge coresight-4.9-etr-etm_strobe
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```
|
||||
git format-patch --output-directory /output/dir v4.9..coresight-4.9-etr-etm_strobe
|
||||
cd my_kernel
|
||||
git am /output/dir/*.patch # or patch -p1 /output/dir/*.patch if not using git
|
||||
```
|
||||
|
||||
For 4.14 based kernels, use the `coresight-4.14-etm_strobe` branch:
|
||||
|
||||
```
|
||||
git merge coresight-4.14-etm_strobe
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```
|
||||
git format-patch --output-directory /output/dir v4.14..coresight-4.14-etm_strobe
|
||||
cd my_kernel
|
||||
git am /output/dir/*.patch # or patch -p1 /output/dir/*.patch if not using git
|
||||
```
|
||||
|
||||
The CoreSight trace drivers must also be enabled in the kernel
|
||||
configuration. This can be done using the configuration menu (`make
|
||||
menuconfig`), selecting `Kernel hacking` / `arm64 Debugging` /`CoreSight Tracing Support` and
|
||||
enabling all options, or by setting the following in the configuration
|
||||
file:
|
||||
|
||||
```
|
||||
CONFIG_CORESIGHT=y
|
||||
CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y
|
||||
CONFIG_CORESIGHT_SINK_TPIU=y
|
||||
CONFIG_CORESIGHT_SOURCE_ETM4X=y
|
||||
CONFIG_CORESIGHT_DYNAMIC_REPLICATOR=y
|
||||
CONFIG_CORESIGHT_STM=y
|
||||
CONFIG_CORESIGHT_CATU=y
|
||||
```
|
||||
|
||||
Compile the kernel for your target in the usual way, e.g.
|
||||
|
||||
```
|
||||
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
|
||||
```
|
||||
|
||||
Each target may have a different layout of CoreSight components. To
|
||||
collect trace into a sink, the kernel drivers need to know which other
|
||||
devices need to be configured to route data from the source to the sink.
|
||||
This is described in the devicetree (and in future, the ACPI tables). The
|
||||
device tree will define which CoreSight devices are present in the system,
|
||||
where they are located and how they are connected together. The devicetree
|
||||
for some platforms includes a description of the platform's CoreSight
|
||||
components, but in other cases you may have to ask the platform/SoC vendor
|
||||
to supply it or create it yourself (see Appendix: Describing CoreSight in
|
||||
Devicetree).
|
||||
|
||||
Once the target has been booted with the devicetree describing the
|
||||
CoreSight devices, you should find the devices in sysfs:
|
||||
|
||||
```
|
||||
# ls /sys/bus/coresight/devices/
|
||||
etm0 etm2 etm4 etm6 funnel0 funnel2 funnel4 stm0 tmc_etr0
|
||||
etm1 etm3 etm5 etm7 funnel1 funnel3 replicator0 tmc_etf0
|
||||
```
|
||||
|
||||
The naming convention for etm devices can be different according to the kernel version you're using.
|
||||
For more information about the naming scheme, please check out the [Linux Kernel Documentation](https://www.kernel.org/doc/html/latest/trace/coresight/coresight.html#device-naming-scheme)
|
||||
|
||||
If `/sys/bus/coresight/devices/` is empty, you may want to check out your Kernel configuration to make sure your .config file is including CoreSight dependencies, such as the clock.
|
||||
|
||||
### Perf tools
|
||||
|
||||
The perf tool is used to capture execution trace, configuring the trace
|
||||
sources to generate trace, routing the data to the sink and collecting the
|
||||
data from the sink.
|
||||
|
||||
Arm recommends to use the perf version corresponding to the kernel running
|
||||
on the target. This can be built from the same kernel sources with
|
||||
|
||||
```
|
||||
make -C tools/perf CORESIGHT=1 VF=1 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
|
||||
```
|
||||
|
||||
When specifying CORESIGHT=1, perf will be built using the installed OpenCSD library.
|
||||
If you are cross compiling, then additional setup is required to ensure the build process links against the correct version of the library.
|
||||
|
||||
If the post-processing (`perf inject`) of the captured data is not being
|
||||
done on the target, then the OpenCSD library is not required for this build
|
||||
of perf.
|
||||
|
||||
Trace is captured by collecting the `cs_etm` event from perf. The sink
|
||||
to collect data into is specified as a parameter of this event. Trace can
|
||||
also be restricted to user space or kernel space with 'u' or 'k'
|
||||
parameters. For example:
|
||||
|
||||
```
|
||||
perf record -e cs_etm/@tmc_etr0/u --per-thread -- /bin/ls
|
||||
```
|
||||
|
||||
Will record the userspace execution of '/bin/ls' using tmc_etr0 as sink.
|
||||
|
||||
## Capturing modes
|
||||
|
||||
You can trace a single-threaded program in two different ways:
|
||||
|
||||
1. By specifying `--per-thread`, and in this case the CoreSight subsystem will
|
||||
record only a trace relative to the given program.
|
||||
|
||||
2. By NOT specifying `--per-thread`, and in this case CPU-wide tracing will
|
||||
be enabled. In this scenario the trace will contain both the target program trace
|
||||
and other workloads that were executing on the same CPU
|
||||
|
||||
|
||||
|
||||
## Processing trace and profiles
|
||||
|
||||
perf is also used to convert the execution trace an instruction profile.
|
||||
This requires a different build of perf, using the version of perf from
|
||||
Linux v4.17 or later, as the trace processing code isn't included in the
|
||||
driver backports. Trace decode is provided by the OpenCSD library
|
||||
(<https://github.com/Linaro/OpenCSD>), v0.9.1 or later. This is packaged
|
||||
for debian testing (install the libopencsd0, libopencsd-dev packages) or
|
||||
can be compiled from source and installed.
|
||||
|
||||
The autoFDO tool <https://github.com/google/autofdo> is used to convert the
|
||||
instruction profiles to source profiles for the GCC and clang/llvm
|
||||
compilers.
|
||||
|
||||
|
||||
## Recording and profiling
|
||||
|
||||
Once trace collection using perf is working, we can now use it to profile
|
||||
an application.
|
||||
|
||||
The application must be compiled to include sufficient debug information to
|
||||
map instructions back to source lines. For GCC, use the `-g1` or `-gmlt`
|
||||
options. For clang/llvm, also add the `-fdebug-info-for-profiling` option.
|
||||
|
||||
perf identifies the active program or library using the build identifier
|
||||
stored in the elf file. This should be added at link time with the compiler
|
||||
flag `-Wl,--build-id=sha1`.
|
||||
|
||||
The next step is to record the execution trace of the application using the
|
||||
perf tool. The ETM strobing should be configured before running the perf
|
||||
tool. There are two parameters:
|
||||
|
||||
* window size: A number of CPU cycles (W)
|
||||
* period: Trace is enabled for W cycle every _period_ * W cycles.
|
||||
|
||||
For example, a typical configuration is to use a window size of 5000 cycles
|
||||
and a period of 10000 - this will collect 5000 cycles of trace every 50M
|
||||
cycles. With these proof-of-concept patches, the strobe parameters are
|
||||
configured via sysfs - each ETM will have `strobe_window` and
|
||||
`strobe_period` parameters in `/sys/bus/coresight/devices/<sink>` and
|
||||
these values will have to be written to each (In a future version, this
|
||||
will be integrated into the drivers and perf tool).
|
||||
The `set_strobing.sh` script in this directory [`<opencsd>/decoder/tests/auto-fdo`] automates this process.
|
||||
|
||||
To collect trace from an application using ETM strobing, run:
|
||||
|
||||
```
|
||||
sudo ./set_strobing.sh 5000 10000
|
||||
perf record -e cs_etm/@tmc_etr0/u --per-thread -- <your app>"
|
||||
```
|
||||
|
||||
The raw trace can be examined using the `perf report` command:
|
||||
|
||||
```
|
||||
perf report -D -i perf.data --stdio
|
||||
```
|
||||
|
||||
Perf needs to be built from your linux kernel version souce code repository against the OpenCSD library in order to be able to properly read ETM-gathered samples and post-process them.
|
||||
If running `perf report` produces an error like:
|
||||
|
||||
```
|
||||
0x1f8 [0x268]: failed to process type: 70 [Operation not permitted]
|
||||
Error:
|
||||
failed to process sample
|
||||
```
|
||||
or
|
||||
|
||||
```
|
||||
"file uses a more recent and unsupported ABI (8 bytes extra). incompatible file format".
|
||||
```
|
||||
|
||||
You are probably using a perf version which is not using this library: please make sure to install this project in your system by either compiling it from [Source Code]( <https://github.com/Linaro/OpenCSD>) from v0.9.1 or later and compile perf using this library.
|
||||
Otherwise, this project is packaged for debian (install the libopencsd0, libopencsd-dev packages).
|
||||
|
||||
|
||||
For example:
|
||||
|
||||
```
|
||||
0x1d370 [0x30]: PERF_RECORD_AUXTRACE size: 0x2003c0 offset: 0 ref: 0x39ba881d145f8639 idx: 0 tid: 4551 cpu: -1
|
||||
|
||||
. ... CoreSight ETM Trace data: size 2098112 bytes
|
||||
Idx:0; ID:12; I_ASYNC : Alignment Synchronisation.
|
||||
Idx:12; ID:12; I_TRACE_INFO : Trace Info.; INFO=0x0
|
||||
Idx:17; ID:12; I_ADDR_L_64IS0 : Address, Long, 64 bit, IS0.; Addr=0xFFFF000008A4991C;
|
||||
Idx:48; ID:14; I_ASYNC : Alignment Synchronisation.
|
||||
Idx:60; ID:14; I_TRACE_INFO : Trace Info.; INFO=0x0
|
||||
Idx:65; ID:14; I_ADDR_L_64IS0 : Address, Long, 64 bit, IS0.; Addr=0xFFFF000008A4991C;
|
||||
Idx:96; ID:14; I_ASYNC : Alignment Synchronisation.
|
||||
Idx:108; ID:14; I_TRACE_INFO : Trace Info.; INFO=0x0
|
||||
Idx:113; ID:14; I_ADDR_L_64IS0 : Address, Long, 64 bit, IS0.; Addr=0xFFFF000008A4991C;
|
||||
Idx:122; ID:14; I_TRACE_ON : Trace On.
|
||||
Idx:123; ID:14; I_ADDR_CTXT_L_64IS0 : Address & Context, Long, 64 bit, IS0.; Addr=0x0000000000407B00; Ctxt: AArch64,EL0, NS;
|
||||
Idx:134; ID:14; I_ATOM_F3 : Atom format 3.; ENN
|
||||
Idx:135; ID:14; I_ATOM_F5 : Atom format 5.; NENEN
|
||||
Idx:136; ID:14; I_ATOM_F5 : Atom format 5.; ENENE
|
||||
Idx:137; ID:14; I_ATOM_F5 : Atom format 5.; NENEN
|
||||
Idx:138; ID:14; I_ATOM_F3 : Atom format 3.; ENN
|
||||
Idx:139; ID:14; I_ATOM_F3 : Atom format 3.; NNE
|
||||
Idx:140; ID:14; I_ATOM_F1 : Atom format 1.; E
|
||||
.....
|
||||
```
|
||||
|
||||
The execution trace is then converted to an instruction profile using
|
||||
the perf build with trace decode support. This may be done on a different
|
||||
machine than that which collected the trace (e.g. when cross compiling for
|
||||
an embedded target). The `perf inject` command
|
||||
decodes the execution trace and generates periodic instruction samples,
|
||||
with branch histories:
|
||||
|
||||
!! Careful: if you are using a device different than the one used to collect the profiling data,
|
||||
you'll need to run `perf buildid-cache` as described below.
|
||||
```
|
||||
perf inject -i perf.data -o inj.data --itrace=i100000il
|
||||
```
|
||||
|
||||
The `--itrace` option configures the instruction sample behaviour:
|
||||
|
||||
* `i100000i` generates an instruction sample every 100000 instructions
|
||||
(only instruction count periods are currently supported, future versions
|
||||
may support time or cycle count periods)
|
||||
* `l` includes the branch histories on each sample
|
||||
* `b` generates a sample on each branch (not used here)
|
||||
|
||||
Perf requires the original program binaries to decode the execution trace.
|
||||
If running the `inject` command on a different system than the trace was
|
||||
captured on, then the binary and any shared libraries must be added to
|
||||
perf's cache with:
|
||||
|
||||
```
|
||||
perf buildid-cache -a /path/to/binary_or_library
|
||||
```
|
||||
|
||||
`perf report` can also be used to show the instruction samples:
|
||||
|
||||
```
|
||||
perf report -D -i inj.data --stdio
|
||||
.......
|
||||
0x1528 [0x630]: PERF_RECORD_SAMPLE(IP, 0x2): 4551/4551: 0x434b98 period: 3093 addr: 0
|
||||
... branch stack: nr:64
|
||||
..... 0: 0000000000434b58 -> 0000000000434b68 0 cycles P 0
|
||||
..... 1: 0000000000436a88 -> 0000000000434b4c 0 cycles P 0
|
||||
..... 2: 0000000000436a64 -> 0000000000436a78 0 cycles P 0
|
||||
..... 3: 00000000004369d0 -> 0000000000436a60 0 cycles P 0
|
||||
..... 4: 000000000043693c -> 00000000004369cc 0 cycles P 0
|
||||
..... 5: 00000000004368a8 -> 0000000000436928 0 cycles P 0
|
||||
..... 6: 000000000042d070 -> 00000000004368a8 0 cycles P 0
|
||||
..... 7: 000000000042d108 -> 000000000042d070 0 cycles P 0
|
||||
.......
|
||||
..... 57: 0000000000448ee0 -> 0000000000448f24 0 cycles P 0
|
||||
..... 58: 0000000000448ea4 -> 0000000000448ebc 0 cycles P 0
|
||||
..... 59: 0000000000448e20 -> 0000000000448e94 0 cycles P 0
|
||||
..... 60: 0000000000448da8 -> 0000000000448ddc 0 cycles P 0
|
||||
..... 61: 00000000004486f4 -> 0000000000448da8 0 cycles P 0
|
||||
..... 62: 00000000004480fc -> 00000000004486d4 0 cycles P 0
|
||||
..... 63: 0000000000448658 -> 00000000004480ec 0 cycles P 0
|
||||
... thread: program1:4551
|
||||
...... dso: /home/root/program1
|
||||
.......
|
||||
```
|
||||
|
||||
The instruction samples produced by `perf inject` is then passed to the
|
||||
autofdo tool to generate source level profiles for the compiler. For
|
||||
clang/LLVM:
|
||||
|
||||
```
|
||||
create_llvm_prof -binary=/path/to/binary -profile=inj.data -out=program.llvmprof
|
||||
```
|
||||
|
||||
And for GCC:
|
||||
|
||||
```
|
||||
create_gcov -binary=/path/to/binary -profile=inj.data -gcov_version=1 -gcov=program.gcov
|
||||
```
|
||||
|
||||
The profiles can be viewed with:
|
||||
|
||||
```
|
||||
llvm-profdata show -sample program.llvmprof
|
||||
```
|
||||
|
||||
Or, for GCC:
|
||||
|
||||
```
|
||||
dump_gcov -gcov_version=1 program.gcov
|
||||
```
|
||||
|
||||
## Using profile in the compiler
|
||||
|
||||
The profile produced by the above steps can then be passed to the compiler
|
||||
to optimize the next build of the program.
|
||||
|
||||
For GCC, use the `-fauto-profile` option:
|
||||
|
||||
```
|
||||
gcc -O2 -fauto-profile=program.gcov -o program program.c
|
||||
```
|
||||
|
||||
For Clang, use the `-fprofile-sample-use` option:
|
||||
|
||||
```
|
||||
clang -O2 -fprofile-sample-use=program.llvmprof -o program program.c
|
||||
```
|
||||
|
||||
|
||||
## Summary
|
||||
|
||||
The basic commands to run an application and create a compiler profile are:
|
||||
|
||||
```
|
||||
sudo ./set_strobing.sh 5000 10000
|
||||
perf record -e cs_etm/@tmc_etr0/u --per-thread -- <your app>"
|
||||
perf inject -i perf.data -o inj.data --itrace=i100000il
|
||||
create_llvm_prof -binary=/path/to/binary -profile=inj.data -out=program.llvmprof
|
||||
clang -O2 -fprofile-sample-use=program.llvmprof -o program program.c
|
||||
```
|
||||
|
||||
Use `create_gcov` for gcc.
|
||||
|
||||
## High Level Summary for recoding on Arm board and decoding on different host
|
||||
|
||||
1. (on Arm board)
|
||||
|
||||
sudo ./set_strobing.sh 5000 10000
|
||||
perf record -e cs_etm/@tmc_etr0/u --per-thread -- <your app>.
|
||||
If you specify `-N, --no-buildid-cache`, perf will just take care of recording the target binary and nothing will be copied.<br> If you don't specify it, any recorded dynamic library will be copied to ~/.debug in the board.
|
||||
|
||||
2. (on Arm board) `perf archive` which saves all the found libraries in a tar (internally, it looks into perf.data file and performs a lookup using perf-buildid-list --with-hits)
|
||||
3. (on host) `scp` to copy perf.data and the .tar file generated from `perf archive`.
|
||||
4. (on host) Run `tar xvf perf_data.tar.bz2 -C ~/.debug` to populate the buildid-cache
|
||||
5. (on host) Double check the setup is correct:
|
||||
|
||||
a. `perf buildid-list -i perf.data` gives you the list of dynamic libraries buildids whose trace has been recorded and saved in perf.data.
|
||||
b. `perf buildid-cache --list` lists the dynamic libraries in the buildid cache that will be used by `perf inject`.
|
||||
Make sure the output of (a) and (b) overlaps as in buildid value for those binaries you are interested into optimizing with afdo.
|
||||
|
||||
6. (on host) `perf inject -i perf.data -o inj.data --itrace=i100000il` will check for the dynamic libraries using the buildid inside the buildid-cache and post-process the trace.<br> buildids have to be the same, otherwise it won't be possible to post-process the trace.
|
||||
|
||||
7. (on host) `create_llvm_prof -binary=/path/to/binary -profile=inj.data -out=program.llvmprof` takes the output from perf-inject and tranforms it into a format that the compiler can read.
|
||||
8. (on host) `clang -O2 -fprofile-sample-use=program.llvmprof -o program program.c` to make clang use the produced profile.<br>
|
||||
If you are confident enough that your profile is accurate, you can add the `-fprofile-sample-accurate` flag, which will penalize all the callsites without corresponding profile, marking them as cold.
|
||||
|
||||
If you are using the same host for both building the binary to be traced and re-building it with afdo:
|
||||
|
||||
1. You won't need to copy back any dynamic libraries from the board (since you already have them), and can use `--no-buildid-cache` when recording
|
||||
2. You have to make sure the relevant dynamic libraries to be optimized are present in the buildid-cache.
|
||||
|
||||
You can easily add a dynamic library manually into the build-id cache by running:
|
||||
|
||||
`perf buildid-cache --add <path/to/library/or/binary> -vvv`
|
||||
|
||||
You can easily check what is currently contained in you buildid-cache by running:
|
||||
|
||||
`perf buildid-cache --list`
|
||||
|
||||
You can check the buildid of a given binary/dynamic library:
|
||||
|
||||
`file <path/to/dynamic/library>`
|
||||
|
||||
## References
|
||||
|
||||
* AutoFDO tool: <https://github.com/google/autofdo>
|
||||
* GCC's wiki on autofdo: <https://gcc.gnu.org/wiki/AutoFDO>, <https://gcc.gnu.org/wiki/AutoFDO/Tutorial>
|
||||
* Google paper: <https://ai.google/research/pubs/pub45290>
|
||||
* CoreSight kernel docs: Documentation/trace/coresight.txt
|
||||
|
||||
|
||||
## Appendix: Describing CoreSight in Devicetree
|
||||
|
||||
|
||||
Each component has an entry in the device tree that describes its:
|
||||
|
||||
* type: The `compatible` field defines which driver to use
|
||||
* location: A `reg` defines the component's address and size on the bus
|
||||
* clocks: The `clocks` and `clock-names` fields state which clock provides
|
||||
the `apb_pclk` clock.
|
||||
* connections to other components: `port` and `ports` field link the
|
||||
component to ports of other components
|
||||
|
||||
To create the device tree, some information about the platform is required:
|
||||
|
||||
* The memory address of the CoreSight components. This is the address in
|
||||
the CPU's address space where the CPU can access each CoreSight
|
||||
component.
|
||||
* The connections between the components.
|
||||
|
||||
This information can be found in the SoC's reference manual or you may need
|
||||
to ask the platform/SoC vendor to supply it.
|
||||
|
||||
An ETMv4 source is declared with a section like this:
|
||||
|
||||
```
|
||||
etm0: etm@22040000 {
|
||||
compatible = "arm,coresight-etm4x", "arm,primecell";
|
||||
reg = <0 0x22040000 0 0x1000>;
|
||||
|
||||
cpu = <&A72_0>;
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
port {
|
||||
cluster0_etm0_out_port: endpoint {
|
||||
remote-endpoint = <&cluster0_funnel_in_port0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
```
|
||||
|
||||
This describes an ETMv4 attached to core A72_0, located at 0x22040000, with
|
||||
its output linked to port 0 of a funnel. The funnel is described with:
|
||||
|
||||
```
|
||||
funnel@220c0000 { /* cluster0 funnel */
|
||||
compatible = "arm,coresight-funnel", "arm,primecell";
|
||||
reg = <0 0x220c0000 0 0x1000>;
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
power-domains = <&scpi_devpd 0>;
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
cluster0_funnel_out_port: endpoint {
|
||||
remote-endpoint = <&main_funnel_in_port0>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <0>;
|
||||
cluster0_funnel_in_port0: endpoint {
|
||||
slave-mode;
|
||||
remote-endpoint = <&cluster0_etm0_out_port>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <1>;
|
||||
cluster0_funnel_in_port1: endpoint {
|
||||
slave-mode;
|
||||
remote-endpoint = <&cluster0_etm1_out_port>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
```
|
||||
|
||||
This describes a funnel located at 0x220c0000, receiving data from 2 ETMs
|
||||
and sending the merged data to another funnel. We continue describing
|
||||
components with similar blocks until we reach the sink (an ETR):
|
||||
|
||||
```
|
||||
etr@20070000 {
|
||||
compatible = "arm,coresight-tmc", "arm,primecell";
|
||||
reg = <0 0x20070000 0 0x1000>;
|
||||
iommus = <&smmu_etr 0>;
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
power-domains = <&scpi_devpd 0>;
|
||||
port {
|
||||
etr_in_port: endpoint {
|
||||
slave-mode;
|
||||
remote-endpoint = <&replicator_out_port1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
```
|
||||
|
||||
Full descriptions of the properties of each component can be found in the
|
||||
Linux source at Documentation/devicetree/bindings/arm/coresight.txt.
|
||||
The Arm Juno platform's devicetree (arch/arm64/boot/dts/arm) provides an example
|
||||
description of CoreSight description.
|
||||
|
||||
Many systems include a TPIU for off-chip trace. While this isn't required
|
||||
for self-hosted trace, it should still be included in the devicetree. This
|
||||
allows the drivers to access it to ensure it is put into a disabled state,
|
||||
otherwise it may limit the trace bandwidth causing data loss.
|
91
decoder/tests/build/linux/c_api_pkt_print_test/makefile
Normal file
91
decoder/tests/build/linux/c_api_pkt_print_test/makefile
Normal file
@ -0,0 +1,91 @@
|
||||
########################################################
|
||||
# Copyright 2015 ARM Limited. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification,
|
||||
# are permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software without
|
||||
# specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
########
|
||||
# RCTDL - test makefile for simple c api packet list test.
|
||||
#
|
||||
|
||||
CC := $(MASTER_CC)
|
||||
LINKER := $(MASTER_LINKER)
|
||||
|
||||
PROG = c_api_pkt_print_test
|
||||
|
||||
BUILD_DIR=./$(PLAT_DIR)
|
||||
|
||||
VPATH = $(OCSD_TESTS)/source
|
||||
|
||||
CC_INCLUDES = \
|
||||
-I$(OCSD_TESTS)/source \
|
||||
-I$(OCSD_TESTS)/ext_dcd_test_eg/c_api_echo_test \
|
||||
-I$(OCSD_INCLUDE)
|
||||
|
||||
OBJECTS = $(BUILD_DIR)/c_api_pkt_print_test.o
|
||||
|
||||
LIBS = -L$(LIB_TARGET_DIR) -l$(LIB_BASE_NAME) -l$(LIB_CAPI_NAME) \
|
||||
-L$(LIB_TEST_TARGET_DIR) -l_echo_test_dcd
|
||||
|
||||
all: copy_libs
|
||||
|
||||
test_app: $(BIN_TEST_TARGET_DIR)/$(PROG)
|
||||
|
||||
|
||||
$(BIN_TEST_TARGET_DIR)/$(PROG): $(OBJECTS) | build_dir
|
||||
mkdir -p $(BIN_TEST_TARGET_DIR)
|
||||
$(LINKER) $(LDFLAGS) $(OBJECTS) -Wl,--start-group $(LIBS) -Wl,--end-group -o $(BIN_TEST_TARGET_DIR)/$(PROG)
|
||||
cp $(LIB_TARGET_DIR)/*.so .
|
||||
|
||||
build_dir:
|
||||
mkdir -p $(BUILD_DIR)
|
||||
|
||||
.PHONY: copy_libs
|
||||
copy_libs: $(BIN_TEST_TARGET_DIR)/$(PROG)
|
||||
cp $(LIB_TARGET_DIR)/*.so $(BIN_TEST_TARGET_DIR)/.
|
||||
|
||||
|
||||
#### build rules
|
||||
|
||||
## object dependencies
|
||||
DEPS := $(OBJECTS:%.o=%.d)
|
||||
|
||||
-include $(DEPS)
|
||||
|
||||
## object compile
|
||||
$(BUILD_DIR)/%.o : %.c | build_dir
|
||||
$(CC) $(CFLAGS) $(CC_INCLUDES) -MMD $< -o $@
|
||||
|
||||
#### clean
|
||||
.PHONY: clean
|
||||
clean :
|
||||
-rm $(BIN_TEST_TARGET_DIR)/$(PROG) $(OBJECTS)
|
||||
-rm $(DEPS)
|
||||
-rm ./*.so
|
||||
-rmdir $(BUILD_DIR)
|
||||
|
||||
# end of file makefile
|
78
decoder/tests/build/linux/echo_test_dcd_lib/makefile
Normal file
78
decoder/tests/build/linux/echo_test_dcd_lib/makefile
Normal file
@ -0,0 +1,78 @@
|
||||
########################################################
|
||||
# Copyright 2016 ARM Limited. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification,
|
||||
# are permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software without
|
||||
# specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
#################################################################################
|
||||
# OpenCSD - makefile for external echo_test decoder.
|
||||
#
|
||||
|
||||
CC := $(MASTER_CC)
|
||||
LIB := $(MASTER_LIB)
|
||||
|
||||
LIB_NAME = lib_echo_test_dcd
|
||||
|
||||
BUILD_DIR=./$(PLAT_DIR)
|
||||
|
||||
ECHO_TEST_PATH=$(OCSD_TESTS)/ext_dcd_test_eg/c_api_echo_test
|
||||
|
||||
VPATH = $(ECHO_TEST_PATH)
|
||||
|
||||
CC_INCLUDES = \
|
||||
-I$(ECHO_TEST_PATH) \
|
||||
-I$(OCSD_INCLUDE)
|
||||
|
||||
OBJECTS = $(BUILD_DIR)/ext_dcd_echo_test.o \
|
||||
$(BUILD_DIR)/ext_dcd_echo_test_fact.o
|
||||
|
||||
all: $(LIB_TEST_TARGET_DIR)/$(LIB_NAME).a
|
||||
|
||||
$(LIB_TEST_TARGET_DIR)/$(LIB_NAME).a: $(OBJECTS) | build_dir
|
||||
mkdir -p $(LIB_TEST_TARGET_DIR)
|
||||
$(LIB) $(ARFLAGS) $(LIB_TEST_TARGET_DIR)/$(LIB_NAME).a $(OBJECTS)
|
||||
|
||||
build_dir:
|
||||
mkdir -p $(BUILD_DIR)
|
||||
|
||||
#### build rules
|
||||
## object dependencies
|
||||
DEPS := $(OBJECTS:%.o=%.d)
|
||||
|
||||
-include $(DEPS)
|
||||
|
||||
## object compile
|
||||
$(BUILD_DIR)/%.o : %.c | build_dir
|
||||
$(CC) $(CFLAGS) $(CC_INCLUDES) -MMD $< -o $@
|
||||
|
||||
#### clean
|
||||
.PHONY: clean
|
||||
clean:
|
||||
-rm $(OBJECTS)
|
||||
-rm $(LIB_TEST_TARGET_DIR)/$(LIB_NAME).a
|
||||
-rm $(DEPS)
|
||||
-rmdir $(BUILD_DIR) $(LIB_TEST_TARGET_DIR)
|
||||
|
||||
# end of file makefile
|
88
decoder/tests/build/linux/frame_demux_test/makefile
Normal file
88
decoder/tests/build/linux/frame_demux_test/makefile
Normal file
@ -0,0 +1,88 @@
|
||||
########################################################
|
||||
# Copyright 2022 ARM Limited. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification,
|
||||
# are permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software without
|
||||
# specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
########
|
||||
# opencsd: makefile for the frame demux test program
|
||||
#
|
||||
|
||||
CXX := $(MASTER_CXX)
|
||||
LINKER := $(MASTER_LINKER)
|
||||
|
||||
PROG = frame-demux-test
|
||||
|
||||
BUILD_DIR=./$(PLAT_DIR)
|
||||
|
||||
VPATH = $(OCSD_TESTS)/source
|
||||
|
||||
CXX_INCLUDES = \
|
||||
-I$(OCSD_TESTS)/source \
|
||||
-I$(OCSD_INCLUDE)
|
||||
|
||||
OBJECTS = $(BUILD_DIR)/frame_demux_test.o
|
||||
|
||||
LIBS = -L$(LIB_TEST_TARGET_DIR) -L$(LIB_TARGET_DIR) -l$(LIB_BASE_NAME)
|
||||
|
||||
all: copy_libs
|
||||
|
||||
test_app: $(BIN_TEST_TARGET_DIR)/$(PROG)
|
||||
|
||||
|
||||
$(BIN_TEST_TARGET_DIR)/$(PROG): $(OBJECTS) | build_dir
|
||||
mkdir -p $(BIN_TEST_TARGET_DIR)
|
||||
$(LINKER) $(LDFLAGS) $(OBJECTS) -Wl,--start-group $(LIBS) -Wl,--end-group -o $(BIN_TEST_TARGET_DIR)/$(PROG)
|
||||
|
||||
build_dir:
|
||||
mkdir -p $(BUILD_DIR)
|
||||
|
||||
.PHONY: copy_libs
|
||||
copy_libs: $(BIN_TEST_TARGET_DIR)/$(PROG)
|
||||
cp $(LIB_TARGET_DIR)/*.so* $(BIN_TEST_TARGET_DIR)/.
|
||||
|
||||
|
||||
|
||||
#### build rules
|
||||
## object dependencies
|
||||
DEPS := $(OBJECTS:%.o=%.d)
|
||||
|
||||
-include $(DEPS)
|
||||
|
||||
## object compile
|
||||
$(BUILD_DIR)/%.o : %.cpp | build_dir
|
||||
$(CXX) $(CXXFLAGS) $(CXX_INCLUDES) -MMD $< -o $@
|
||||
|
||||
#### clean
|
||||
.PHONY: clean
|
||||
clean :
|
||||
-rm $(BIN_TEST_TARGET_DIR)/$(PROG) $(OBJECTS)
|
||||
-rm $(DEPS)
|
||||
-rm $(BIN_TEST_TARGET_DIR)/*.so*
|
||||
-rmdir $(BUILD_DIR)
|
||||
|
||||
# end of file makefile
|
90
decoder/tests/build/linux/mem_buffer_eg/makefile
Normal file
90
decoder/tests/build/linux/mem_buffer_eg/makefile
Normal file
@ -0,0 +1,90 @@
|
||||
########################################################
|
||||
# Copyright 2019 ARM Limited. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification,
|
||||
# are permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software without
|
||||
# specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
########
|
||||
# RCTDL - test makefile for snapshot lister test.
|
||||
#
|
||||
|
||||
CXX := $(MASTER_CXX)
|
||||
LINKER := $(MASTER_LINKER)
|
||||
|
||||
PROG = mem-buffer-eg
|
||||
|
||||
BUILD_DIR=./$(PLAT_DIR)
|
||||
|
||||
VPATH = $(OCSD_TESTS)/source
|
||||
|
||||
CXX_INCLUDES = \
|
||||
-I$(OCSD_TESTS)/source \
|
||||
-I$(OCSD_INCLUDE) \
|
||||
-I$(OCSD_TESTS)/snapshot_parser_lib/include
|
||||
|
||||
OBJECTS = $(BUILD_DIR)/mem_buff_demo.o
|
||||
|
||||
LIBS = -L$(LIB_TEST_TARGET_DIR) -lsnapshot_parser \
|
||||
-L$(LIB_TARGET_DIR) -l$(LIB_BASE_NAME)
|
||||
|
||||
all: copy_libs
|
||||
|
||||
test_app: $(BIN_TEST_TARGET_DIR)/$(PROG)
|
||||
|
||||
|
||||
$(BIN_TEST_TARGET_DIR)/$(PROG): $(OBJECTS) | build_dir
|
||||
mkdir -p $(BIN_TEST_TARGET_DIR)
|
||||
$(LINKER) $(LDFLAGS) $(OBJECTS) -Wl,--start-group $(LIBS) -Wl,--end-group -o $(BIN_TEST_TARGET_DIR)/$(PROG)
|
||||
|
||||
build_dir:
|
||||
mkdir -p $(BUILD_DIR)
|
||||
|
||||
.PHONY: copy_libs
|
||||
copy_libs: $(BIN_TEST_TARGET_DIR)/$(PROG)
|
||||
cp $(LIB_TARGET_DIR)/*.so* $(BIN_TEST_TARGET_DIR)/.
|
||||
|
||||
|
||||
|
||||
#### build rules
|
||||
## object dependencies
|
||||
DEPS := $(OBJECTS:%.o=%.d)
|
||||
|
||||
-include $(DEPS)
|
||||
|
||||
## object compile
|
||||
$(BUILD_DIR)/%.o : %.cpp | build_dir
|
||||
$(CXX) $(CXXFLAGS) $(CXX_INCLUDES) -MMD $< -o $@
|
||||
|
||||
#### clean
|
||||
.PHONY: clean
|
||||
clean :
|
||||
-rm $(BIN_TEST_TARGET_DIR)/$(PROG) $(OBJECTS)
|
||||
-rm $(DEPS)
|
||||
-rm $(BIN_TEST_TARGET_DIR)/*.so*
|
||||
-rmdir $(BUILD_DIR)
|
||||
|
||||
# end of file makefile
|
92
decoder/tests/build/linux/snapshot_parser_lib/makefile
Normal file
92
decoder/tests/build/linux/snapshot_parser_lib/makefile
Normal file
@ -0,0 +1,92 @@
|
||||
########################################################
|
||||
# Copyright 2015 ARM Limited. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification,
|
||||
# are permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software without
|
||||
# specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
########################################################################
|
||||
#
|
||||
# Make file for snapshot parser library.
|
||||
#
|
||||
########################################################################
|
||||
|
||||
CXX := $(MASTER_CXX)
|
||||
LINKER := $(MASTER_LINKER)
|
||||
LIB := $(MASTER_LIB)
|
||||
|
||||
# avoid build warnings in donated test code
|
||||
WSUPPRESS= -Wno-deprecated-declarations -Wno-unused-variable -Wno-reorder
|
||||
|
||||
CXXFLAGS += $(WSUPPRESS)
|
||||
|
||||
LIB_NAME = libsnapshot_parser
|
||||
|
||||
BUILD_DIR=./$(PLAT_DIR)
|
||||
|
||||
PARSER_ROOT=$(OCSD_TESTS)/snapshot_parser_lib
|
||||
PARSER_SOURCE=$(PARSER_ROOT)/source
|
||||
PARSER_INCLUDE=$(PARSER_ROOT)/include
|
||||
|
||||
VPATH= $(PARSER_SOURCE)
|
||||
|
||||
|
||||
CXX_INCLUDES= \
|
||||
-I$(PARSER_INCLUDE) \
|
||||
-I$(OCSD_INCLUDE)
|
||||
|
||||
OBJECTS=$(BUILD_DIR)/device_info.o \
|
||||
$(BUILD_DIR)/device_parser.o \
|
||||
$(BUILD_DIR)/snapshot_parser.o \
|
||||
$(BUILD_DIR)/snapshot_parser_util.o \
|
||||
$(BUILD_DIR)/snapshot_reader.o \
|
||||
$(BUILD_DIR)/ss_to_dcdtree.o
|
||||
|
||||
all: $(LIB_TEST_TARGET_DIR)/$(LIB_NAME).a
|
||||
|
||||
$(LIB_TEST_TARGET_DIR)/$(LIB_NAME).a: $(OBJECTS) | build_dir
|
||||
mkdir -p $(LIB_TEST_TARGET_DIR)
|
||||
$(LIB) $(ARFLAGS) $(LIB_TEST_TARGET_DIR)/$(LIB_NAME).a $(OBJECTS)
|
||||
|
||||
build_dir:
|
||||
mkdir -p $(BUILD_DIR)
|
||||
|
||||
##### build rules
|
||||
|
||||
## object dependencies
|
||||
DEPS := $(OBJECTS:%.o=%.d)
|
||||
|
||||
-include $(DEPS)
|
||||
|
||||
## object compile
|
||||
$(BUILD_DIR)/%.o : %.cpp | build_dir
|
||||
$(CXX) $(CXXFLAGS) $(CXX_INCLUDES) -MMD $< -o $@
|
||||
|
||||
### clean
|
||||
.PHONY: clean
|
||||
clean:
|
||||
-rm $(OBJECTS)
|
||||
-rm $(DEPS)
|
||||
-rm $(LIB_TEST_TARGET_DIR)/$(LIB_NAME).a
|
||||
-rmdir $(BUILD_DIR) $(LIB_TEST_TARGET_DIR)
|
103
decoder/tests/build/linux/trc_pkt_lister/makefile
Normal file
103
decoder/tests/build/linux/trc_pkt_lister/makefile
Normal file
@ -0,0 +1,103 @@
|
||||
########################################################
|
||||
# Copyright 2015 ARM Limited. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification,
|
||||
# are permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software without
|
||||
# specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
########
|
||||
# RCTDL - test makefile for snapshot lister test.
|
||||
#
|
||||
|
||||
CXX := $(MASTER_CXX)
|
||||
LINKER := $(MASTER_LINKER)
|
||||
|
||||
PROG = trc_pkt_lister
|
||||
PROG_S = trc_pkt_lister_s
|
||||
|
||||
BUILD_DIR=./$(PLAT_DIR)
|
||||
|
||||
VPATH = $(OCSD_TESTS)/source
|
||||
|
||||
CXX_INCLUDES = \
|
||||
-I$(OCSD_TESTS)/source \
|
||||
-I$(OCSD_INCLUDE) \
|
||||
-I$(OCSD_TESTS)/snapshot_parser_lib/include
|
||||
|
||||
OBJECTS = $(BUILD_DIR)/trc_pkt_lister.o
|
||||
|
||||
LIBS = -L$(LIB_TEST_TARGET_DIR) -lsnapshot_parser \
|
||||
-L$(LIB_TARGET_DIR) -l$(LIB_BASE_NAME)
|
||||
|
||||
all: copy_libs
|
||||
|
||||
test_app: $(BIN_TEST_TARGET_DIR)/$(PROG)
|
||||
|
||||
|
||||
$(BIN_TEST_TARGET_DIR)/$(PROG): $(OBJECTS) | build_dir
|
||||
mkdir -p $(BIN_TEST_TARGET_DIR)
|
||||
$(LINKER) $(LDFLAGS) $(OBJECTS) -Wl,--start-group $(LIBS) -Wl,--end-group -o $(BIN_TEST_TARGET_DIR)/$(PROG)
|
||||
|
||||
$(BIN_TEST_TARGET_DIR)/$(PROG_S): $(OBJECTS) | build_dir
|
||||
mkdir -p $(BIN_TEST_TARGET_DIR)
|
||||
$(LINKER) -static $(LDFLAGS) $(OBJECTS) -Wl,--start-group $(LIBS) -Wl,--end-group -o $(BIN_TEST_TARGET_DIR)/$(PROG_S)
|
||||
|
||||
|
||||
|
||||
build_dir:
|
||||
mkdir -p $(BUILD_DIR)
|
||||
|
||||
.PHONY: copy_libs
|
||||
ifdef TEST_STATIC_LINKING
|
||||
copy_libs: $(BIN_TEST_TARGET_DIR)/$(PROG_S)
|
||||
endif
|
||||
copy_libs: $(BIN_TEST_TARGET_DIR)/$(PROG)
|
||||
cp $(LIB_TARGET_DIR)/*.so* $(BIN_TEST_TARGET_DIR)/.
|
||||
|
||||
|
||||
|
||||
#### build rules
|
||||
## object dependencies
|
||||
DEPS := $(OBJECTS:%.o=%.d)
|
||||
|
||||
-include $(DEPS)
|
||||
|
||||
## object compile
|
||||
$(BUILD_DIR)/%.o : %.cpp | build_dir
|
||||
$(CXX) $(CXXFLAGS) $(CXX_INCLUDES) -MMD $< -o $@
|
||||
|
||||
#### clean
|
||||
.PHONY: clean
|
||||
clean :
|
||||
-rm $(BIN_TEST_TARGET_DIR)/$(PROG) $(OBJECTS)
|
||||
ifdef TEST_STATIC_LINKING
|
||||
-rm $(BIN_TEST_TARGET_DIR)/$(PROG_S)
|
||||
endif
|
||||
-rm $(DEPS)
|
||||
-rm $(BIN_TEST_TARGET_DIR)/*.so*
|
||||
-rmdir $(BUILD_DIR)
|
||||
|
||||
# end of file makefile
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\tests\bin\win32\rel\c_api_pkt_print_test-dl.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\tests\bin\win32\rel\c_api_pkt_print_test.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\tests\bin\win32\rel\c_api_pkt_print_test_dll.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\tests\bin\win32\rel\c_api_pkt_print_test.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,347 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="debug-dll|Win32">
|
||||
<Configuration>debug-dll</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug-dll|x64">
|
||||
<Configuration>debug-dll</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-dll|Win32">
|
||||
<Configuration>Release-dll</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-dll|x64">
|
||||
<Configuration>Release-dll</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\source\c_api_pkt_print_test.c" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{3AC169DA-E156-4D16-95DF-73D7302A5606}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>c_api_pkt_print_test</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug-dll|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<EnableASAN>true</EnableASAN>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug-dll|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug-dll|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug-dll|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug-dll|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<TargetName>$(ProjectName)_dll</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug-dll|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<TargetName>$(ProjectName)_dll</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<TargetName>$(ProjectName)_dll</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<TargetName>$(ProjectName)_dll</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;OCSD_USE_STATIC_C_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\tests\ext_dcd_test_eg\c_api_echo_test</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\dbg\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\dbg\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_CAPI_NAME).lib;lib$(LIB_BASE_NAME).lib;ext_dcd_echo_test.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug-dll|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\tests\ext_dcd_test_eg\c_api_echo_test</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\dbg\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\dbg\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_CAPI_NAME).lib;ext_dcd_echo_test.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>copy ..\..\..\..\lib\win32\dbg\*.dll ..\..\..\bin\win32\dbg\.</Command>
|
||||
</PostBuildEvent>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>false</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;OCSD_USE_STATIC_C_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\tests\ext_dcd_test_eg\c_api_echo_test</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>lib$(LIB_CAPI_NAME).lib;lib$(LIB_BASE_NAME).lib;ext_dcd_echo_test.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\dbg\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\dbg\</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug-dll|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\tests\ext_dcd_test_eg\c_api_echo_test</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>lib$(LIB_CAPI_NAME).lib;ext_dcd_echo_test.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\dbg\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\dbg\</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>false</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<PostBuildEvent>
|
||||
<Command>copy ..\..\..\..\lib\win64\dbg\*.dll ..\..\..\bin\win64\dbg\.</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;OCSD_USE_STATIC_C_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\tests\ext_dcd_test_eg\c_api_echo_test</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\rel\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\rel\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_CAPI_NAME).lib;lib$(LIB_BASE_NAME).lib;ext_dcd_echo_test.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\tests\ext_dcd_test_eg\c_api_echo_test</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\rel\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\rel\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_CAPI_NAME).lib;ext_dcd_echo_test.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>false</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<PostBuildEvent>
|
||||
<Command>copy ..\..\..\..\lib\win32\rel\*.dll ..\..\..\bin\win32\rel\.</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;OCSD_USE_STATIC_C_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\tests\ext_dcd_test_eg\c_api_echo_test</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\rel\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\rel\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_CAPI_NAME).lib;lib$(LIB_BASE_NAME).lib;ext_dcd_echo_test.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\tests\ext_dcd_test_eg\c_api_echo_test</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\rel\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\rel\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_CAPI_NAME).lib;ext_dcd_echo_test.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>false</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<PostBuildEvent>
|
||||
<Command>copy ..\..\..\..\lib\win64\rel\*.dll ..\..\..\bin\win64\rel\.</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\source\c_api_pkt_print_test.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\tests\bin\win32\dbg\c_api_pkt_print_test_dll.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\tests\bin\win64\rel\c_api_pkt_print_test_dll.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\tests\bin\win64\rel\c_api_pkt_print_test.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\tests\bin\win64\dbg\c_api_pkt_print_test_dll.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs />
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,291 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug-dll|Win32">
|
||||
<Configuration>Debug-dll</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-dll|x64">
|
||||
<Configuration>Debug-dll</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-dll|Win32">
|
||||
<Configuration>Release-dll</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-dll|x64">
|
||||
<Configuration>Release-dll</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{46219A32-8178-41C1-B3B1-B5A6E547515F}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>ext_dcd_echo_test</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'">
|
||||
<OutDir>..\..\..\lib\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\ext_dcd_test_eg\c_api_echo_test\ext_dcd_echo_test.h" />
|
||||
<ClInclude Include="..\..\..\ext_dcd_test_eg\c_api_echo_test\ext_dcd_echo_test_fact.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\ext_dcd_test_eg\c_api_echo_test\ext_dcd_echo_test.c" />
|
||||
<ClCompile Include="..\..\..\ext_dcd_test_eg\c_api_echo_test\ext_dcd_echo_test_fact.c" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\ext_dcd_test_eg\c_api_echo_test\ext_dcd_echo_test_fact.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\ext_dcd_test_eg\c_api_echo_test\ext_dcd_echo_test.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\ext_dcd_test_eg\c_api_echo_test\ext_dcd_echo_test_fact.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\ext_dcd_test_eg\c_api_echo_test\ext_dcd_echo_test.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs />
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\tests\bin\win32\rel\frame_demux_test.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,172 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>16.0</VCProjectVersion>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<ProjectGuid>{98ee9884-a4eb-4c75-a911-dfedf992754f}</ProjectGuid>
|
||||
<RootNamespace>framedemuxtest</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<EnableASAN>true</EnableASAN>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
|
||||
<BasicRuntimeChecks>
|
||||
</BasicRuntimeChecks>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\dbg\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\dbg\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_BASE_NAME).lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\rel\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\rel\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_BASE_NAME).lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\dbg\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\dbg\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_BASE_NAME).lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\rel\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\rel\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_BASE_NAME).lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\source\frame_demux_test.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\source\frame_demux_test.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\tests\bin\win64\rel\frame_demux_test.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\tests\bin\win32\rel\mem-buffer-eg.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,293 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug-dll|Win32">
|
||||
<Configuration>Debug-dll</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-dll|x64">
|
||||
<Configuration>Debug-dll</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-dll|Win32">
|
||||
<Configuration>Release-dll</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-dll|x64">
|
||||
<Configuration>Release-dll</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\source\mem_buff_demo.cpp" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{BC090130-2C53-4CF6-8AD4-37BF72B8D01A}</ProjectGuid>
|
||||
<RootNamespace>membuffereg</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\..\build\win-vs2022\opencsd.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'">
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'">
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'">
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\rel\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'">
|
||||
<OutDir>..\..\..\bin\win$(PlatformArchitecture)\dbg\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>
|
||||
</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\dbg\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\dbg\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_BASE_NAME).lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>
|
||||
</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\dbg\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\dbg\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_BASE_NAME).lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\dbg\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\dbg\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_BASE_NAME).lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\dbg\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\dbg\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_BASE_NAME).lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>
|
||||
</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\rel\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\rel\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_BASE_NAME).lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>
|
||||
</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\rel\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\rel\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_BASE_NAME).lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\rel\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\rel\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_BASE_NAME).lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win$(PlatformArchitecture)\rel\;..\..\..\..\tests\lib\win$(PlatformArchitecture)\rel\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>lib$(LIB_BASE_NAME).lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\source\mem_buff_demo.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\work\OpenCSD\ocsd-linaro\decoder\tests\bin\win64\rel\mem-buffer-eg.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs />
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs />
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user