Compare commits
636 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8aee5c90f6 | ||
|
|
403624903e | ||
|
|
6d17162c11 | ||
|
|
64c0807817 | ||
|
|
d0b06e271b | ||
|
|
b7c68df55e | ||
|
|
dff7d483ff | ||
|
|
0197dbeb24 | ||
|
|
c6ee0cf8d3 | ||
|
|
3f3c33e159 | ||
|
|
8363b8267d | ||
|
|
67b972448f | ||
|
|
287fd7efa8 | ||
|
|
c80d0e5c8e | ||
|
|
417ef02d33 | ||
|
|
6a7445abdf | ||
|
|
365f1dc84e | ||
|
|
2151e6b6ad | ||
|
|
fb931434bd | ||
|
|
26c756d4cf | ||
|
|
fa12125bdf | ||
|
|
7d7f4df700 | ||
|
|
146eb58120 | ||
|
|
e658f3c108 | ||
|
|
5e94b2146f | ||
|
|
87cef6172d | ||
|
|
f677d2f6c5 | ||
|
|
53360f3dea | ||
|
|
8c75201ad8 | ||
|
|
0569fc753d | ||
|
|
8fa418519e | ||
|
|
98641bcfd2 | ||
|
|
3449a7157a | ||
|
|
bc2b80584c | ||
|
|
75a2d6229f | ||
|
|
14a47a31e9 | ||
|
|
139472e2db | ||
|
|
5731e72cf1 | ||
|
|
b4e2c4c432 | ||
|
|
4f03bba90d | ||
|
|
cb119338b2 | ||
|
|
d2c672d238 | ||
|
|
dc2fb8bb5c | ||
|
|
8739e1c298 | ||
|
|
c7e7f8e221 | ||
|
|
25c30be105 | ||
|
|
dc930863f2 | ||
|
|
c508e485ba | ||
|
|
e700d00db0 | ||
|
|
5c0f09c5d2 | ||
|
|
bd4b66de07 | ||
|
|
36aa145d04 | ||
|
|
b75254ec92 | ||
|
|
8a1987ea9e | ||
|
|
55bdb9cd2a | ||
|
|
b6e3f6d481 | ||
|
|
ba1139f3c9 | ||
|
|
f4876149bb | ||
|
|
1c95d2eca8 | ||
|
|
39b89bd349 | ||
|
|
0c99fe1bc8 | ||
|
|
13ec7a675c | ||
|
|
f42c2954df | ||
|
|
1a09047c87 | ||
|
|
4c2d266910 | ||
|
|
de9767dc34 | ||
|
|
58cf1e72ab | ||
|
|
8473be4f20 | ||
|
|
4d4063d7ce | ||
|
|
daeafe774f | ||
|
|
69fc21474b | ||
|
|
a4790a1dc2 | ||
|
|
c5414a268c | ||
|
|
da3cd3bc19 | ||
|
|
5f78b88f07 | ||
|
|
bfe0eb9e09 | ||
|
|
daacfdc550 | ||
|
|
8bc593a64e | ||
|
|
a15e9beff6 | ||
|
|
2b7305097b | ||
|
|
509f4de9a0 | ||
|
|
0d85c7d8a8 | ||
|
|
d69a0f70e5 | ||
|
|
7a5bdb93c4 | ||
|
|
3e05c90653 | ||
|
|
dfa35d0596 | ||
|
|
89814eb9e2 | ||
|
|
86e71a90b0 | ||
|
|
bdc723f500 | ||
|
|
502620ee4e | ||
|
|
c3f277dbc6 | ||
|
|
004db1aea7 | ||
|
|
085b228c83 | ||
|
|
2d47ba27b1 | ||
|
|
60c0a98c08 | ||
|
|
9223d7476e | ||
|
|
89d7953c90 | ||
|
|
10a9edf186 | ||
|
|
ce912df8a4 | ||
|
|
532e17fd0f | ||
|
|
13aaf8ef1b | ||
|
|
9df773e88f | ||
|
|
1069541aa6 | ||
|
|
9b82574901 | ||
|
|
cb9934b0c7 | ||
|
|
d5e01c38b1 | ||
|
|
d4c8dd67d3 | ||
|
|
d99c0b613a | ||
|
|
91097d7d32 | ||
|
|
010ebea821 | ||
|
|
2f829e5992 | ||
|
|
4c302621e2 | ||
|
|
22ef6a9653 | ||
|
|
a4aa9234ed | ||
|
|
92a9d4cebf | ||
|
|
7eba880fc6 | ||
|
|
4b89949310 | ||
|
|
2a809e2102 | ||
|
|
9a94ca9d88 | ||
|
|
ce20721cf9 | ||
|
|
d2ff90286c | ||
|
|
15e78067ca | ||
|
|
399017339e | ||
|
|
5a91260f49 | ||
|
|
40c0281ea1 | ||
|
|
29d605faaf | ||
|
|
2bbcec03c0 | ||
|
|
89aa261055 | ||
|
|
e1f3c9fd40 | ||
|
|
e2ecac9e96 | ||
|
|
892e71f55b | ||
|
|
0d12ed33ca | ||
|
|
5161a3b939 | ||
|
|
48ea77dc6f | ||
|
|
02c67eda2c | ||
|
|
0dc034962c | ||
|
|
25c797b212 | ||
|
|
527dbf796d | ||
|
|
b3bb33f448 | ||
|
|
231a037c0b | ||
|
|
81ef601637 | ||
|
|
86152e91b9 | ||
|
|
331979dfb9 | ||
|
|
4f731caf14 | ||
|
|
e7f16cb078 | ||
|
|
370e46227a | ||
|
|
e76362d84b | ||
|
|
62df64a03c | ||
|
|
2d733190ce | ||
|
|
54a5a71377 | ||
|
|
108a7a6e0f | ||
|
|
0d6323803f | ||
|
|
0e1aa1c4bb | ||
|
|
400d474bed | ||
|
|
00c2aff710 | ||
|
|
f5803beb8a | ||
|
|
1bb5a5d86b | ||
|
|
07f8759a0a | ||
|
|
7ecc2d0535 | ||
|
|
1a31fbcdda | ||
|
|
fab9e49710 | ||
|
|
cce9a2b3b4 | ||
|
|
d91a3917ce | ||
|
|
f9f5381a30 | ||
|
|
7571947ceb | ||
|
|
dac63b0826 | ||
|
|
06c3533158 | ||
|
|
0d6784c31b | ||
|
|
667ab7eab8 | ||
|
|
372a3dc989 | ||
|
|
1a326265ff | ||
|
|
e8b642bd5f | ||
|
|
906f74cfe1 | ||
|
|
5c99cf24f1 | ||
|
|
bbc999f033 | ||
|
|
b0a654b4c1 | ||
|
|
36733cd907 | ||
|
|
75e43a6b6c | ||
|
|
639d54fd91 | ||
|
|
0975f7457b | ||
|
|
302cde41b0 | ||
|
|
4b8e2bcf2c | ||
|
|
84559b5fd3 | ||
|
|
753ecff270 | ||
|
|
46cfe589d5 | ||
|
|
31c9c89350 | ||
|
|
42953c05f7 | ||
|
|
361d617ede | ||
|
|
207e1ed8f7 | ||
|
|
c106bc9740 | ||
|
|
23be13bd5b | ||
|
|
2e66cfb8fb | ||
|
|
1dda0263f0 | ||
|
|
4db45ea43d | ||
|
|
ecc0d9976d | ||
|
|
9f8e75b945 | ||
|
|
fddaeb1dc8 | ||
|
|
319b886ab4 | ||
|
|
ef292bffe6 | ||
|
|
81bc2a0d7a | ||
|
|
3419fee587 | ||
|
|
a470a5b850 | ||
|
|
5a832e7ccd | ||
|
|
46068e813d | ||
|
|
cd551b4860 | ||
|
|
46255e607a | ||
|
|
5e49aafb5c | ||
|
|
44b0995b0d | ||
|
|
c15d2d589c | ||
|
|
7617d78f36 | ||
|
|
61c0cff87d | ||
|
|
f384eee9b6 | ||
|
|
a868270c68 | ||
|
|
7deabc8923 | ||
|
|
35bbb5d897 | ||
|
|
b04811e146 | ||
|
|
620f8b74b7 | ||
|
|
4154b61d46 | ||
|
|
1388169f1e | ||
|
|
7b7a07c667 | ||
|
|
107f1fa37f | ||
|
|
6c12088e2a | ||
|
|
889d8bc6c2 | ||
|
|
1584471439 | ||
|
|
c020be9e04 | ||
|
|
ff419d8922 | ||
|
|
6e01a1e22c | ||
|
|
6d70a66826 | ||
|
|
a33d6585f9 | ||
|
|
6615cb7fbd | ||
|
|
694d0401f0 | ||
|
|
a29a954a19 | ||
|
|
63a4b83b16 | ||
|
|
f41a7910c4 | ||
|
|
88702dd180 | ||
|
|
c31910760f | ||
|
|
0d07d00108 | ||
|
|
3d377eed1d | ||
|
|
63aba004d1 | ||
|
|
f8647ac5c6 | ||
|
|
045619d68a | ||
|
|
cd84c95920 | ||
|
|
7a1249cd99 | ||
|
|
262901c567 | ||
|
|
c7e31a2a41 | ||
|
|
99690a12e2 | ||
|
|
ca9146dfb5 | ||
|
|
5d2cc64d62 | ||
|
|
15c156d41f | ||
|
|
ab176a13cd | ||
|
|
cb1c8e14af | ||
|
|
4a95bacb24 | ||
|
|
66c0ecd2f9 | ||
|
|
3973a3fdb2 | ||
|
|
a7b44180bd | ||
|
|
096172f252 | ||
|
|
e8a2cdeee1 | ||
|
|
e6173f93eb | ||
|
|
f81097d891 | ||
|
|
269acc7478 | ||
|
|
2f33de21fe | ||
|
|
e553e1b21e | ||
|
|
0d2e8aa434 | ||
|
|
dd3d974bc7 | ||
|
|
f02e58528c | ||
|
|
1f791db248 | ||
|
|
d7cf7531b2 | ||
|
|
bd93889676 | ||
|
|
a2cd656268 | ||
|
|
bcbcf05110 | ||
|
|
f408398166 | ||
|
|
34a59c7eb9 | ||
|
|
447e03c994 | ||
|
|
bedba55eb5 | ||
|
|
0f2ce403bb | ||
|
|
4d636df146 | ||
|
|
4c827f8104 | ||
|
|
5d036dc54b | ||
|
|
5a41338d08 | ||
|
|
b4f40d0011 | ||
|
|
63f139adc5 | ||
|
|
47223261a0 | ||
|
|
a15c5377f2 | ||
|
|
162ffc9873 | ||
|
|
34a4b00f91 | ||
|
|
5505bfc3ab | ||
|
|
72021a6501 | ||
|
|
2e07db4a3e | ||
|
|
2c7e345a00 | ||
|
|
916038e13a | ||
|
|
6f030c8030 | ||
|
|
4e92e2f36c | ||
|
|
0120c0e2a1 | ||
|
|
3d42f8df29 | ||
|
|
bf9cd7241a | ||
|
|
39bae7925b | ||
|
|
6acf7c6294 | ||
|
|
9f216b07df | ||
|
|
c23cb75b21 | ||
|
|
45f71fcde9 | ||
|
|
ab627a9166 | ||
|
|
87023ea4b2 | ||
|
|
d41312bac5 | ||
|
|
012f44ff48 | ||
|
|
e3e3737a71 | ||
|
|
2999b11a51 | ||
|
|
2a02939267 | ||
|
|
48b47b519d | ||
|
|
73dd387f05 | ||
|
|
2d613ba5d0 | ||
|
|
7ef6eaee28 | ||
|
|
9b3cf1dc84 | ||
|
|
8ebd5d4e0a | ||
|
|
83adcfbaea | ||
|
|
ac8dc4facd | ||
|
|
75ddcbaf06 | ||
|
|
cd1d544401 | ||
|
|
1cfd4c9100 | ||
|
|
4d84f66918 | ||
|
|
84dd4cdd2b | ||
|
|
8148784a20 | ||
|
|
12b20f2398 | ||
|
|
4324145435 | ||
|
|
e227241d4b | ||
|
|
f07f9d8b2b | ||
|
|
c43b60c6ef | ||
|
|
f4251bcf79 | ||
|
|
1b20ea0e6a | ||
|
|
6c205869f6 | ||
|
|
3e5f48cd05 | ||
|
|
dfebaae2cf | ||
|
|
6c46c794f6 | ||
|
|
6355bd4c80 | ||
|
|
629b14d3d4 | ||
|
|
f54d1ca30a | ||
|
|
4d5213f609 | ||
|
|
3d1dfa5dc6 | ||
|
|
b4715368d7 | ||
|
|
6cb83962d0 | ||
|
|
99778934c1 | ||
|
|
f6e1d32b25 | ||
|
|
975a1af43b | ||
|
|
f2fc8f8838 | ||
|
|
e9f54b70d9 | ||
|
|
b97efc9f7d | ||
|
|
23d4d7f790 | ||
|
|
94e70da4ef | ||
|
|
744e836ad8 | ||
|
|
ad878fc71d | ||
|
|
51a8b2ec98 | ||
|
|
6669549c68 | ||
|
|
55b22facee | ||
|
|
77a8aa677a | ||
|
|
2f7abfdd7a | ||
|
|
8006613981 | ||
|
|
4a7152c1a2 | ||
|
|
77b28ee777 | ||
|
|
cb430154d0 | ||
|
|
cb34e16385 | ||
|
|
f212fae267 | ||
|
|
ce1be263d5 | ||
|
|
0ca4281952 | ||
|
|
05dad621be | ||
|
|
8507d48527 | ||
|
|
44c358d6bd | ||
|
|
0f7189d62b | ||
|
|
d254a52c4d | ||
|
|
400c482bb2 | ||
|
|
3b602063fa | ||
|
|
c097ce9b82 | ||
|
|
288e8abe90 | ||
|
|
e5ba349551 | ||
|
|
7f3db9f676 | ||
|
|
d0ca66c2e3 | ||
|
|
33ee0cba83 | ||
|
|
61a4d8a0d3 | ||
|
|
88b13e36f0 | ||
|
|
2b21145d19 | ||
|
|
6a1ea9df6a | ||
|
|
ec29674d06 | ||
|
|
6fe68a0cb3 | ||
|
|
b9fa2e7515 | ||
|
|
aa2273c7d3 | ||
|
|
58a741d845 | ||
|
|
f291862044 | ||
|
|
0999b6d923 | ||
|
|
c75ab8eea6 | ||
|
|
da5bc3b820 | ||
|
|
1a6c1caa54 | ||
|
|
0e0aa7bac5 | ||
|
|
ef04b81c74 | ||
|
|
7035e0f475 | ||
|
|
367374b51c | ||
|
|
55ac37cfac | ||
|
|
7c5e384d08 | ||
|
|
751e52a314 | ||
|
|
becd80c4d8 | ||
|
|
6614ff45a9 | ||
|
|
95fd1a7623 | ||
|
|
5be53b39a8 | ||
|
|
8c364aa636 | ||
|
|
7366f7359c | ||
|
|
894936cc5e | ||
|
|
b760fbdf95 | ||
|
|
1c594c2522 | ||
|
|
0897e71ca0 | ||
|
|
2cdb8d2cbb | ||
|
|
ae5c8365d2 | ||
|
|
4853de114b | ||
|
|
5a2a33f3e0 | ||
|
|
36809d6d20 | ||
|
|
5ecb0738c5 | ||
|
|
d625b13899 | ||
|
|
987f598804 | ||
|
|
5ecac228c6 | ||
|
|
51a1d5991d | ||
|
|
50f58c9974 | ||
|
|
33a5dd714e | ||
|
|
b5ee956916 | ||
|
|
720f6ba418 | ||
|
|
329172afc7 | ||
|
|
41aeb709e5 | ||
|
|
dc31948da1 | ||
|
|
2c05bf61ce | ||
|
|
8b9a59d072 | ||
|
|
4a8aa93f1e | ||
|
|
57d488b7a0 | ||
|
|
5fc1e3217b | ||
|
|
164449f0d6 | ||
|
|
5bf2821512 | ||
|
|
4818d705a5 | ||
|
|
ecd7d5a9ce | ||
|
|
2bef3a2d08 | ||
|
|
668ecc9b94 | ||
|
|
267e352bb5 | ||
|
|
36d3033de4 | ||
|
|
23e17b664c | ||
|
|
4a7100cbf0 | ||
|
|
8ee9595026 | ||
|
|
22df40f776 | ||
|
|
2344a4b0e3 | ||
|
|
1e9826e1f7 | ||
|
|
272940d50e | ||
|
|
dc3f271ea2 | ||
|
|
32d48f7dcd | ||
|
|
de99791d82 | ||
|
|
df6f19a611 | ||
|
|
82b2a0be6e | ||
|
|
3dff2767c7 | ||
|
|
cbcc94ba9e | ||
|
|
c91c7b32f0 | ||
|
|
a4c47660f3 | ||
|
|
800d614eed | ||
|
|
0381f13e3f | ||
|
|
22bc683370 | ||
|
|
87b4d8db21 | ||
|
|
37958418e4 | ||
|
|
965a511c47 | ||
|
|
ce29419d3d | ||
|
|
8992b2c956 | ||
|
|
53ce107e5f | ||
|
|
810e60fc98 | ||
|
|
0189d48d73 | ||
|
|
afd785354a | ||
|
|
6ef89dd871 | ||
|
|
7a920f831d | ||
|
|
cab998f40d | ||
|
|
563733cf3c | ||
|
|
7e80920164 | ||
|
|
21e72e7f13 | ||
|
|
fae1b240f6 | ||
|
|
ee99561235 | ||
|
|
14aa5b47b0 | ||
|
|
eb78bf867f | ||
|
|
81ad1fe161 | ||
|
|
5ed18e6e6f | ||
|
|
b76257a0d6 | ||
|
|
d844c2dd61 | ||
|
|
eb40c4e79b | ||
|
|
068613e447 | ||
|
|
4c606f43e7 | ||
|
|
c6a0e60989 | ||
|
|
cb4604a157 | ||
|
|
0b52634e38 | ||
|
|
ff3329b0f9 | ||
|
|
76f1fdf92d | ||
|
|
09ef609f43 | ||
|
|
5e5346e6b3 | ||
|
|
a011b98f62 | ||
|
|
72a1539a86 | ||
|
|
f169cd57f9 | ||
|
|
429c47eb11 | ||
|
|
cac8ee7b0e | ||
|
|
27f39ec664 | ||
|
|
42489a84d4 | ||
|
|
8996ab2b5c | ||
|
|
b3872bf14a | ||
|
|
1ab4c344aa | ||
|
|
30efff9cd0 | ||
|
|
c93585e950 | ||
|
|
07fd7b3588 | ||
|
|
3f290c6c9e | ||
|
|
3068262901 | ||
|
|
5453865724 | ||
|
|
c3c1c6c980 | ||
|
|
4599f5540a | ||
|
|
e8c5ab29fa | ||
|
|
68556e0534 | ||
|
|
5ea6509553 | ||
|
|
ef50d04061 | ||
|
|
07e0bce2d3 | ||
|
|
6b0f70a734 | ||
|
|
93b46f62a5 | ||
|
|
5b30180c3f | ||
|
|
2e21360559 | ||
|
|
d212f0428b | ||
|
|
5f08b2170a | ||
|
|
31c88f6044 | ||
|
|
8c4e8dd35f | ||
|
|
9be94797d5 | ||
|
|
52f10d9b47 | ||
|
|
1165285c6f | ||
|
|
6d8753602e | ||
|
|
65130ee6bd | ||
|
|
1e0ecdb3fe | ||
|
|
da35bba798 | ||
|
|
4a03176538 | ||
|
|
ff08561ba0 | ||
|
|
610eb4ea87 | ||
|
|
6ff5355e3e | ||
|
|
a0e0cd7ef5 | ||
|
|
2074838a12 | ||
|
|
b4137fe9df | ||
|
|
1d6a7f59f4 | ||
|
|
7e606dafac | ||
|
|
672d4a6dbb | ||
|
|
e3ad8f867e | ||
|
|
40e79bace4 | ||
|
|
ea297a6078 | ||
|
|
bfb3de64ce | ||
|
|
af97e702d1 | ||
|
|
ff54104aa0 | ||
|
|
8da4eb3b46 | ||
|
|
35d8565e41 | ||
|
|
a473612084 | ||
|
|
2f827fc92d | ||
|
|
5201304c10 | ||
|
|
26b6974cfa | ||
|
|
d80664f33f | ||
|
|
6a71ba0026 | ||
|
|
b25c2e9d4c | ||
|
|
11e5c14c7f | ||
|
|
5bf1789650 | ||
|
|
b984a302c6 | ||
|
|
b389342440 | ||
|
|
ad89f422ce | ||
|
|
6af0cdeb50 | ||
|
|
d900b9fd63 | ||
|
|
c5db766b33 | ||
|
|
36f9090897 | ||
|
|
58d4f27307 | ||
|
|
ea35450f45 | ||
|
|
3bc6a48ade | ||
|
|
a170d40be2 | ||
|
|
7c34b847e0 | ||
|
|
c07e6af98c | ||
|
|
7e0b996c72 | ||
|
|
2369ade2fa | ||
|
|
7c99669444 | ||
|
|
16e182a89c | ||
|
|
ebfded8107 | ||
|
|
d7df37414c | ||
|
|
48d48343ae | ||
|
|
c49db18285 | ||
|
|
41f7f4ef81 | ||
|
|
8ea67657bc | ||
|
|
bbd1080208 | ||
|
|
3fc3300e54 | ||
|
|
11da58cc5b | ||
|
|
2cdbee7d32 | ||
|
|
9a48a5c906 | ||
|
|
e46c04d514 | ||
|
|
d192351f77 | ||
|
|
454bd2b0a5 | ||
|
|
5b1d6ac38f | ||
|
|
0d071c9f0c | ||
|
|
bfd0826f03 | ||
|
|
72db656797 | ||
|
|
0e3f04824e | ||
|
|
509ff37ec4 | ||
|
|
4a1612e133 | ||
|
|
e80aa34d00 | ||
|
|
4d3fcd56bf | ||
|
|
16832b9f07 | ||
|
|
323e378fc5 | ||
|
|
82f5d588db | ||
|
|
08e0d5a5bc | ||
|
|
6bf437cf28 | ||
|
|
2ef8d4b21a | ||
|
|
f32d647482 | ||
|
|
5f712bde67 | ||
|
|
6f58f32c96 | ||
|
|
9e9d2c91f6 | ||
|
|
318a0b6d1d | ||
|
|
b66388ea9d | ||
|
|
2bfe077968 | ||
|
|
6cda511ed8 | ||
|
|
79b47c4f54 | ||
|
|
d6c0e9dcc5 | ||
|
|
13a779ca81 | ||
|
|
7517890d03 | ||
|
|
8d043dfe6e | ||
|
|
c282a107eb | ||
|
|
113878e491 | ||
|
|
c02246e7cc | ||
|
|
74af851746 | ||
|
|
bc81744d8f | ||
|
|
29335e7672 | ||
|
|
7282989961 | ||
|
|
c4e42b4bdc | ||
|
|
4410805493 | ||
|
|
b607b062ba | ||
|
|
13eb94b6be | ||
|
|
8799d3c6ba | ||
|
|
d6b34a9732 | ||
|
|
08cb4a265a | ||
|
|
f8829aed21 | ||
|
|
4bf312df58 | ||
|
|
2c68ac3a10 | ||
|
|
1fa297d34f | ||
|
|
452a040183 | ||
|
|
0b51e1f972 | ||
|
|
410623730b | ||
|
|
35f9e3dcbb | ||
|
|
0a93c81e2c | ||
|
|
a5fd9c839e |
2
Makefile
2
Makefile
@@ -14,7 +14,9 @@
|
||||
TOP = .
|
||||
include $(TOP)/configure/CONFIG
|
||||
|
||||
ifeq ($(findstring YES,$(COMPAT_313) $(COMPAT_TOOLS_313)),YES)
|
||||
DIRS += config config/tools
|
||||
endif
|
||||
DIRS += configure src
|
||||
|
||||
include $(TOP)/configure/RULES_TOP
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# CONFIG.Host.LynxOS
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
# Sites may override these definitions in CONFIG_SITE.Host.LynxOS
|
||||
|
||||
ARCH_CLASS = LynxOS
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
|
||||
|
||||
AR = ar -rc
|
||||
ARCMD = $(AR) $@
|
||||
RANLIB = ranlib -t
|
||||
|
||||
|
||||
|
||||
# Configure OS vendor C compiler
|
||||
ACC_ANSI = $(ACC) -ansi
|
||||
ACC_STRICT = $(ACC) -ansi -pedantic
|
||||
ACC_TRAD = $(ACC)
|
||||
ACC_WARN_YES = -Wall
|
||||
ACC_WARN_NO = -w
|
||||
ACC_OPT_YES = -O
|
||||
ACC_OPT_NO = -g
|
||||
ACC_SFLAGS_YES = -Bstatic
|
||||
ACC_SFLAGS_NO=
|
||||
ACC_SLIBS_YES =
|
||||
ACC_SLIBS_NO=
|
||||
ACC_SHRLIB_CFLAGS_YES =
|
||||
ACC_SHRLIB_LDFLAGS_YES =
|
||||
|
||||
|
||||
|
||||
# Configure OS vendor C++ compiler
|
||||
CCC_NORMAL = $(CCC)
|
||||
CCC_STRICT = $(CCC)
|
||||
CCC_TEMPL_INST_FLAG = -pedantic -DEXPL_TEMP
|
||||
CCC_WARN_YES = -Wall
|
||||
CCC_WARN_NO = -w
|
||||
CCC_OPT_YES = -O
|
||||
CCC_OPT_NO = -g
|
||||
CCC_SFLAGS_YES = -Bstatic
|
||||
CCC_SFLAGS_NO=
|
||||
CCC_SLIBS_YES =
|
||||
CCC_SLIBS_NO=
|
||||
CCC_DEPENDS_FLAG = -pedantic
|
||||
|
||||
|
||||
# added smh 6/5/98 : when building fdmgr - seems to use this not ACC
|
||||
# in effect this overides orig def in CONFIG_COMMON :
|
||||
# which is GCC_STRICT = $(GCC) -ansi -pedantic
|
||||
GCC_STRICT = $(GCC)
|
||||
G++_STRICT = $(G++) -Wtraditional -DEXPL_TEMP
|
||||
|
||||
ARCH_DEP_CFLAGS = -DLynxOS -mposix -D_X86_ -DLYNXOS_RELEASE_2_4_0
|
||||
ARCH_DEP_LDLIBS = -lc -lbsd -lnsl -lm -lposix4d9 -llynx
|
||||
@@ -67,7 +67,9 @@ CCC_SHRLIB_LDFLAGS_YES = -G -h $@
|
||||
|
||||
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
|
||||
ARCH_DEP_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
|
||||
POSIX_CPPFLAGS_YES += -D__EXTENSIONS__
|
||||
POSIX_CPPFLAGS_YES += -D__EXTENSIONS__ -mt
|
||||
|
||||
ARCH_DEP_LDFLAGS += -mt
|
||||
|
||||
# socket and nsl needed by libca.a
|
||||
ARCH_DEP_LDLIBS += -lsocket -lnsl
|
||||
|
||||
@@ -37,6 +37,8 @@ SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
|
||||
ARCH_DEP_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
|
||||
POSIX_CPPFLAGS_YES += -D__EXTENSIONS__
|
||||
|
||||
ARCH_DEP_LDFLAGS += -mt
|
||||
|
||||
# socket and nsl needed by libca.a
|
||||
ARCH_DEP_LDLIBS += -lsocket -lnsl
|
||||
ARCH_DEP_LDLIBS += -lposix4 -lpthread
|
||||
|
||||
@@ -1,142 +0,0 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# $Id$
|
||||
#
|
||||
# This file contains definitions for Vx builds
|
||||
|
||||
#--------------------------------------------------
|
||||
# operating system class (include/os/<os_class>)
|
||||
OS_CLASS = LynxOS
|
||||
|
||||
lynx_pc486 =YES
|
||||
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
|
||||
#--------------------------------------------------
|
||||
# vxWorks directory definitions
|
||||
|
||||
# The definitions VX_DIR, VX_GNU, GNU_DIR and GNU_LIB
|
||||
# can be overridden for specific host architectures
|
||||
# by creating a CONFIG_SITE.Vx.<host_arch> file with
|
||||
# the override definitions.
|
||||
|
||||
# Tornado directory definitions
|
||||
VX_INCLUDE_YES =
|
||||
VX_GNU_YES =
|
||||
VX_GNU_BIN_YES =
|
||||
VX_GNU_LIB_YES =
|
||||
|
||||
|
||||
# pre Torando directory definitions
|
||||
VX_INCLUDE_NO =
|
||||
VX_GNU_NO =
|
||||
VX_GNU_BIN_NO =
|
||||
|
||||
# directory definitions
|
||||
VX_DIR =
|
||||
VX_INCLUDE =
|
||||
VX_GNU =
|
||||
|
||||
GNU_BIN = /usr/local/bin
|
||||
GNU_LIB = /usr/local/lib
|
||||
|
||||
#--------------------------------------------------
|
||||
# VxWorks command definitions
|
||||
|
||||
#GCC = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
|
||||
#AR = $(GNU_BIN)/ar$(CMPLR_SUFFIX)
|
||||
#CPP = $(GNU_BIN)/cpp$(CMPLR_SUFFIX) -nostdinc
|
||||
#RANLIB = $(GNU_BIN)/ranlib$(CMPLR_SUFFIX)
|
||||
#LD = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r
|
||||
|
||||
AR = ar -rc
|
||||
ARCMD = $(AR) $@
|
||||
RANLIB = ranlib -t
|
||||
GCC = gcc
|
||||
CPP = cpp
|
||||
LD = ld -r
|
||||
|
||||
|
||||
#--------------------------------------------------
|
||||
# Tornado C++ crosscompiler definitions
|
||||
|
||||
#CPLUSPLUS_YES = G++
|
||||
#G++ = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
|
||||
#LD_G++ = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r
|
||||
#NM = $(GNU_BIN)/nm$(CMPLR_SUFFIX)
|
||||
#MUNCH = $(GNU_BIN)/munch
|
||||
|
||||
CPLUSPLUS_YES = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
|
||||
G++ = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
|
||||
LD_G++ = ld -r
|
||||
NM = nm
|
||||
|
||||
#--------------------------------------------------
|
||||
# Pre Tornado C++ crosscompiler definitions
|
||||
# These are pre tornado definitions for Hideos builds (defined for 68k only)
|
||||
|
||||
#CPLUSPLUS_NO = CCC
|
||||
#CCC = $(GNU_DIR)/bin/sun3-g++ -B$(GNU_DIR)/lib/gcc-lib/ -nostdinc -DEXPL_TEMPL
|
||||
#LD_CCC = $(GNU_DIR)/bin/sun3-ld $(OLD_ARCH_DEP_LDFLAGS) -r
|
||||
|
||||
CPLUSPLUS_NO = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
|
||||
CCC = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
|
||||
LD_CCC = ld -r
|
||||
|
||||
CCC_NORMAL = $(CCC) $(OLD_ARCH_DEP_CFLAGS)
|
||||
CCC_STRICT = $(CCC) -ansi -pedantic -Wall -traditional $(OLD_ARCH_DEP_CFLAGS)
|
||||
CCC_TRAD = $(CCC) -traditional $(OLD_ARCH_DEP_CFLAGS)
|
||||
CCC_TEMPL_INST_FLAG = -DEXPL_TEMP
|
||||
CCC_WARN_YES = -Wall
|
||||
CCC_WARN_NO = -w
|
||||
CCC_OPT_YES = -O
|
||||
CCC_OPT_NO = -g
|
||||
CCC_DEPENDS_FLAG = -pedantic -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
|
||||
CPU = i486
|
||||
OS = lynxos
|
||||
OLD_ARCH_DEP_CFLAGS = -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
|
||||
# --no-builtin -Wa,"-m68040" -DOS_EQ_$(OS) \
|
||||
# -DBOARD_EQ_$(BOARD) -DCPU_EQ_$(CPU) -DBOARD=$(BOARD)
|
||||
OLD_ARCH_DEP_LDFLAGS = -mposix -lc -lbsd -lnsl -lm -lposix4d9 -llynx
|
||||
# -Ur -N -T$(EPICS_BASE_BIN)/vxldscript.MRI
|
||||
|
||||
#--------------------------------------------------
|
||||
# C compiler definitions
|
||||
ANSI = gcc -ansi
|
||||
|
||||
#--------------------------------------------------
|
||||
# Command definitions
|
||||
CPLUSPLUS = g++
|
||||
# $(CPLUSPLUS_$(TORNADO))
|
||||
LD_CXX = ld -r
|
||||
# $(LD_$(CPLUSPLUS))
|
||||
|
||||
#--------------------------------------------------
|
||||
# Operating system flags
|
||||
OP_SYS_INCLUDES =
|
||||
# -I$(VX_INCLUDE)
|
||||
OP_SYS_CFLAGS = -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
|
||||
# -DvxWorks -DV5_vxWorks -fno-builtin
|
||||
OP_SYS_LDFLAGS = -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
|
||||
OP_SYS_LDLIBS = -lc -lbsd -lnsl -lm -lposix4d9 -llynx
|
||||
|
||||
#--------------------------------------------------
|
||||
# Optimization flag overrides
|
||||
GCC_OPT_YES = -O
|
||||
# 2 -fstrength-reduce
|
||||
G++_OPT_YES = -O
|
||||
# 2 -fstrength-reduce
|
||||
|
||||
#--------------------------------------------------
|
||||
# Link definitions
|
||||
LINK.c = $(LD) $(LDFLAGS) -o
|
||||
LINK.cc = $(LD_CXX) $(LDFLAGS) -o
|
||||
|
||||
@@ -20,7 +20,7 @@ OS_CLASS = vxWorks
|
||||
|
||||
# The definitions VX_DIR, VX_GNU, GNU_DIR and GNU_LIB
|
||||
# can be overridden for specific host architectures
|
||||
# by creating a CONFIG_SITE.Vx.<host_archfile with
|
||||
# by creating a CONFIG_SITE.Vx.<host_arch> file with
|
||||
# the override definitions.
|
||||
|
||||
# Tornado directory definitions
|
||||
@@ -41,7 +41,6 @@ VX_GNU = $(VX_GNU_$(TORNADO))
|
||||
GNU_BIN = $(VX_GNU_BIN_$(TORNADO))
|
||||
GNU_LIB = $(VX_GNU_LIB_$(TORNADO))
|
||||
export GCC_EXEC_PREFIX = $(GNU_LIB)/gcc-lib/
|
||||
export WIND_BASE = $(VX_DIR)
|
||||
|
||||
#--------------------------------------------------
|
||||
# VxWorks command definitions
|
||||
@@ -148,4 +147,3 @@ MUNCHNAME = $(LIBNAME:%=%$(MUNCH_SUFFIX))
|
||||
export WIND_BASE = $(VX_DIR)
|
||||
export WIND_HOST_TYPE
|
||||
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
EPICS_VERSION=3
|
||||
EPICS_REVISION=14
|
||||
EPICS_MODIFICATION=5
|
||||
EPICS_MODIFICATION=7
|
||||
EPICS_UPDATE_NAME=
|
||||
EPICS_UPDATE_LEVEL=0
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ INSTALL_CONFIG = $(INSTALL_LOCATION)/config
|
||||
INSTALL_JAVA = $(INSTALL_LOCATION)/javalib
|
||||
|
||||
EPICS_BASE_INCLUDE = $(EPICS_BASE)/include
|
||||
EPICS_BASE_TOOLS = $(EPICS_BASE)/config/tools
|
||||
|
||||
DIVIDER = .
|
||||
OBJ = .
|
||||
@@ -63,7 +64,7 @@ LEX = $(ELEX)
|
||||
PERL=perl
|
||||
|
||||
# install from EPICS
|
||||
INSTALL = $(PERL) $(EPICS_BASE_HOST_BIN)/installEpics.pl
|
||||
INSTALL = $(PERL) $(EPICS_BASE_TOOLS)/installEpics.pl
|
||||
INSTALL_PRODUCT = $(INSTALL)
|
||||
INSTALL_LIBRARY = $(INSTALL)
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#Syntax:
|
||||
# ARCH_<host_arch> = <epics_host_arch>
|
||||
ARCH_solarisGnu = solaris-sparc-gnu
|
||||
ARCH_solarisNonshared = solaris-sparc-nonshared
|
||||
#ARCH_solaris = solaris-sparc-static
|
||||
#ARCH_solaris = solaris-sparc-debug
|
||||
ARCH_solaris = solaris-sparc
|
||||
@@ -24,7 +25,7 @@ ARCH_WIN32 = win32-x86
|
||||
ARCH_hp700 = hpux-m68k
|
||||
ARCH_alpha = osf-alpha
|
||||
ARCH_Borland = win32-x86-borland
|
||||
ARCH_cygwin32 = win32-x86-cygwin
|
||||
ARCH_cygwin32 = cygwin-x86
|
||||
|
||||
ifndef EPICS_HOST_ARCH
|
||||
ifdef HOST_ARCH
|
||||
@@ -46,4 +47,3 @@ HOST_ARCH := $(EPICS_HOST_ARCH)
|
||||
# and change ARCH_solaris=solaris-<arch> to ARCH_solaris=solaris-<arch>-gnu
|
||||
# in base/config/CONFIG_COMPAT.
|
||||
|
||||
|
||||
|
||||
@@ -13,12 +13,12 @@
|
||||
EXE=.exe
|
||||
HOSTEXE=.exe
|
||||
|
||||
CP =$(PERL) $(EPICS_BASE_HOST_BIN)/cp.pl
|
||||
MV =$(PERL) $(EPICS_BASE_HOST_BIN)/mv.pl
|
||||
RM =$(PERL) $(EPICS_BASE_HOST_BIN)/rm.pl -f
|
||||
MKDIR=$(PERL) $(EPICS_BASE_HOST_BIN)/mkdir.pl
|
||||
RMDIR=$(PERL) $(EPICS_BASE_HOST_BIN)/rm.pl -rf
|
||||
FN =$(PERL) $(EPICS_BASE_HOST_BIN)/fullName.pl
|
||||
CP =$(PERL) $(EPICS_BASE_TOOLS)/cp.pl
|
||||
MV =$(PERL) $(EPICS_BASE_TOOLS)/mv.pl
|
||||
RM =$(PERL) $(EPICS_BASE_TOOLS)/rm.pl -f
|
||||
MKDIR=$(PERL) $(EPICS_BASE_TOOLS)/mkdir.pl
|
||||
RMDIR=$(PERL) $(EPICS_BASE_TOOLS)/rm.pl -rf
|
||||
FN =$(PERL) $(EPICS_BASE_TOOLS)/fullName.pl
|
||||
CHMOD=echo
|
||||
ECHO=echo
|
||||
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# CONFIG_HOST_ARCH.LynxOS
|
||||
#
|
||||
# Override values in CONFIG.LynxOS
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||
|
||||
WIND_HOST_TYPE = LynxOS
|
||||
|
||||
@@ -13,11 +13,11 @@
|
||||
EXE=.exe
|
||||
HOSTEXE=.exe
|
||||
|
||||
CP =$(PERL) $(EPICS_BASE_HOST_BIN)/cp.pl
|
||||
MV =$(PERL) $(EPICS_BASE_HOST_BIN)/mv.pl
|
||||
RM =$(PERL) $(EPICS_BASE_HOST_BIN)/rm.pl -f
|
||||
MKDIR=$(PERL) $(EPICS_BASE_HOST_BIN)/mkdir.pl
|
||||
RMDIR=$(PERL) $(EPICS_BASE_HOST_BIN)/rm.pl -rf
|
||||
CP =$(PERL) $(EPICS_BASE_TOOLS)/cp.pl
|
||||
MV =$(PERL) $(EPICS_BASE_TOOLS)/mv.pl
|
||||
RM =$(PERL) $(EPICS_BASE_TOOLS)/rm.pl -f
|
||||
MKDIR=$(PERL) $(EPICS_BASE_TOOLS)/mkdir.pl
|
||||
RMDIR=$(PERL) $(EPICS_BASE_TOOLS)/rm.pl -rf
|
||||
CHMOD=echo
|
||||
ECHO=echo
|
||||
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Site Specific Configuration Information
|
||||
# Only the local epics system manager should modify this file
|
||||
|
||||
# APS overrides of definitions
|
||||
|
||||
GCC = gcc
|
||||
G++ = g++
|
||||
CC = gcc
|
||||
CCC = g++
|
||||
ACC = gcc
|
||||
PLUSPLUS = g++
|
||||
CXX = g++
|
||||
@@ -15,7 +15,7 @@ TOP=..
|
||||
|
||||
include $(TOP)/configure/CONFIG
|
||||
|
||||
ifeq ($(strip $(COMPAT_313)),YES)
|
||||
ifeq ($(findstring YES,$(COMPAT_313) $(COMPAT_TOOLS_313)),YES)
|
||||
INSTALL_CONFIG = $(INSTALL_LOCATION)/config
|
||||
|
||||
CONFIGS += $(subst ../,,$(wildcard ../CONFIG*))
|
||||
|
||||
@@ -149,7 +149,7 @@ $(TARGETS) $(PROD): $(DEPLIBS)
|
||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
|
||||
|
||||
%.c: ../%.stt
|
||||
@echo "converting $<
|
||||
@echo "converting $<"
|
||||
@$(RM) $@
|
||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $<
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ endif
|
||||
%.out : %.o
|
||||
@ $(RM) ctct.o ctdt.c nm.out
|
||||
$(NM) $< > nm.out
|
||||
$(PERL) $(EPICS_BASE)/bin/$(HOST_ARCH)/munch.pl < nm.out > ctdt.c
|
||||
$(PERL) $(EPICS_BASE_TOOLS)/munch.pl < nm.out > ctdt.c
|
||||
$(COMPILE.c) -traditional ctdt.c
|
||||
$(LINK.cc) $@ $< ctdt.o
|
||||
|
||||
@@ -137,7 +137,7 @@ endif
|
||||
$(MUNCHNAME):%.munch : %
|
||||
@ $(RM) ctct.o ctdt.c nm.out
|
||||
$(NM) $< > nm.out
|
||||
$(PERL) $(EPICS_BASE)/bin/$(HOST_ARCH)/munch.pl < nm.out > ctdt.c
|
||||
$(PERL) $(EPICS_BASE_TOOLS)/munch.pl < nm.out > ctdt.c
|
||||
$(COMPILE.c) -traditional ctdt.c
|
||||
$(LINK.cc) $@ $(LDFLAGS) $< ctdt.o
|
||||
|
||||
|
||||
@@ -60,11 +60,11 @@ $(crossActionArchTargets) :
|
||||
$(crossArchs) :
|
||||
endif
|
||||
|
||||
$(hostDirs) :
|
||||
$(PERL) $(EPICS_BASE_HOST_BIN)/makeMakefile.pl $@ Host
|
||||
$(hostDirs) : $(EPICS_BASE_TOOLS)/makeMakefile.pl
|
||||
$(PERL) $(EPICS_BASE_TOOLS)/makeMakefile.pl $@ Host
|
||||
|
||||
$(crossDirs) :
|
||||
$(PERL) $(EPICS_BASE_HOST_BIN)/makeMakefile.pl $@ Vx
|
||||
$(crossDirs) : $(EPICS_BASE_TOOLS)/makeMakefile.pl
|
||||
$(PERL) $(EPICS_BASE_TOOLS)/makeMakefile.pl $@ Vx
|
||||
|
||||
#
|
||||
# host/cross action targets
|
||||
|
||||
@@ -23,8 +23,10 @@ CONFIG ?= $(TOP)/configure
|
||||
|
||||
-include $(CONFIG)/RELEASE
|
||||
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH)
|
||||
ifdef T_A
|
||||
-include $(CONFIG)/RELEASE.Common.$(T_A)
|
||||
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH).$(T_A)
|
||||
endif
|
||||
|
||||
include $(CONFIG)/CONFIG_COMMON
|
||||
|
||||
@@ -68,21 +70,11 @@ endif
|
||||
|
||||
# User specific definitions
|
||||
#
|
||||
-include $(HOME)/configure/CONFIG
|
||||
-include $(HOME)/os/configure/CONFIG.Host.$(HOST_ARCH)
|
||||
-include $(HOME)/os/configure/CONFIG.Host.$(EPICS_HOST_ARCH)
|
||||
-include $(HOME)/os/configure/CONFIG.$(HOST_ARCH).Common
|
||||
-include $(HOME)/os/configure/CONFIG.$(EPICS_HOST_ARCH).Common
|
||||
-include $(HOME)/configure/CONFIG_USER
|
||||
-include $(HOME)/configure/CONFIG_USER.$(EPICS_HOST_ARCH)
|
||||
ifdef T_A
|
||||
-include $(HOME)/configure/CONFIG.$(OS_CLASS)
|
||||
-include $(HOME)/configure/CONFIG.Target.$(T_A)
|
||||
-include $(HOME)/configure/CONFIG.Common.$(T_A)
|
||||
-include $(HOME)/configure/CONFIG.$(HOST_ARCH).$(T_A)
|
||||
-include $(HOME)/configure/CONFIG.$(EPICS_HOST_ARCH).$(T_A)
|
||||
-include $(HOME)/configure/os/CONFIG.Target.$(T_A)
|
||||
-include $(HOME)/configure/os/CONFIG.Common.$(T_A)
|
||||
-include $(HOME)/configure/os/CONFIG.$(HOST_ARCH).$(T_A)
|
||||
-include $(HOME)/configure/os/CONFIG.$(EPICS_HOST_ARCH).$(T_A)
|
||||
-include $(HOME)/configure/CONFIG_USER.Common.$(T_A)
|
||||
-include $(HOME)/configure/CONFIG_USER.$(EPICS_HOST_ARCH).$(T_A)
|
||||
endif
|
||||
|
||||
# All options
|
||||
|
||||
@@ -19,19 +19,20 @@ EPICS_BASE_HOST_BIN = $(EPICS_BASE)/bin/$(EPICS_HOST_ARCH)
|
||||
EPICS_BASE_HOST_LIB = $(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)
|
||||
ifdef T_A
|
||||
EPICS_BASE_LIB = $(EPICS_BASE)/lib/$(T_A)
|
||||
EPICS_BASE_BIN = $(EPICS_BASE)/bin/$(T_A)
|
||||
endif
|
||||
|
||||
#---------------------------------------------------------------
|
||||
# Epics base Ioc libraries
|
||||
|
||||
EPICS_BASE_IOC_LIBS += recIoc softDevIoc testDevIoc iocsh
|
||||
EPICS_BASE_IOC_LIBS += recIoc softDevIoc iocsh
|
||||
EPICS_BASE_IOC_LIBS += miscIoc rsrvIoc dbtoolsIoc asIoc
|
||||
EPICS_BASE_IOC_LIBS += dbIoc registryIoc dbStaticIoc ca Com
|
||||
|
||||
#---------------------------------------------------------------
|
||||
# Epics base Host libraries
|
||||
|
||||
EPICS_BASE_HOST_LIBS += cas gdd iocsh asHost dbStaticHost
|
||||
EPICS_BASE_HOST_LIBS += cas gdd iocsh asHost dbStaticHost registryIoc
|
||||
EPICS_BASE_HOST_LIBS += ca Com
|
||||
|
||||
#---------------------------------------------------------------
|
||||
@@ -48,23 +49,30 @@ endif # EPICS_BASE
|
||||
BASE_CPPFLAGS =
|
||||
|
||||
# osithread default stack
|
||||
OSITHREAD_USE_DEFAULT_STACK = YES
|
||||
OSITHREAD_USE_DEFAULT_STACK = NO
|
||||
OSITHREAD_DEFAULT_STACK_FLAGS_YES = -DOSITHREAD_USE_DEFAULT_STACK
|
||||
OSITHREAD_DEFAULT_STACK_FLAGS_NO =
|
||||
BASE_CPPFLAGS += $(OSITHREAD_DEFAULT_STACK_FLAGS_$(OSITHREAD_USE_DEFAULT_STACK))
|
||||
|
||||
#---------------------------------------------------------------
|
||||
# Where to find the installed build tools
|
||||
|
||||
EPICS_BASE_TOOLS_BIN_HOST = $(EPICS_BASE_BIN)
|
||||
EPICS_BASE_TOOLS_BIN_CROSS = $(EPICS_BASE_HOST_BIN)
|
||||
EPICS_BASE_TOOLS_BIN = $(EPICS_BASE_TOOLS_BIN_$(BUILD_CLASS))
|
||||
|
||||
#---------------------------------------------------------------
|
||||
# Epics base build tools and tool flags
|
||||
|
||||
MAKEBPT = $(call PATH_FILTER, $(EPICS_BASE_HOST_BIN)/makeBpt$(HOSTEXE))
|
||||
DBEXPAND = $(call PATH_FILTER, $(EPICS_BASE_HOST_BIN)/dbExpand$(HOSTEXE))
|
||||
DBTORECORDTYPEH = $(call PATH_FILTER, $(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(HOSTEXE))
|
||||
DBTOMENUH = $(call PATH_FILTER, $(EPICS_BASE_HOST_BIN)/dbToMenuH$(HOSTEXE))
|
||||
REGISTERRECORDDEVICEDRIVER = $(PERL) $(EPICS_BASE_HOST_BIN)/registerRecordDeviceDriver.pl
|
||||
MAKEBPT = $(call PATH_FILTER, $(EPICS_BASE_TOOLS_BIN)/makeBpt$(HOSTEXE))
|
||||
DBEXPAND = $(call PATH_FILTER, $(EPICS_BASE_TOOLS_BIN)/dbExpand$(HOSTEXE))
|
||||
DBTORECORDTYPEH = $(call PATH_FILTER, $(EPICS_BASE_TOOLS_BIN)/dbToRecordtypeH$(HOSTEXE))
|
||||
DBTOMENUH = $(call PATH_FILTER, $(EPICS_BASE_TOOLS_BIN)/dbToMenuH$(HOSTEXE))
|
||||
REGISTERRECORDDEVICEDRIVER = $(PERL) $(EPICS_BASE_TOOLS_BIN)/registerRecordDeviceDriver.pl
|
||||
|
||||
# private versions of lex/yacc from EPICS
|
||||
EYACC = $(call PATH_FILTER, $(EPICS_BASE_HOST_BIN)/antelope$(HOSTEXE))
|
||||
ELEX = $(call PATH_FILTER, $(EPICS_BASE_HOST_BIN)/e_flex$(HOSTEXE)) -S$(EPICS_BASE)/include/flex.skel.static
|
||||
EYACC = $(call PATH_FILTER, $(EPICS_BASE_TOOLS_BIN)/antelope$(HOSTEXE))
|
||||
ELEX = $(call PATH_FILTER, $(EPICS_BASE_TOOLS_BIN)/e_flex$(HOSTEXE)) -S$(EPICS_BASE)/include/flex.skel.static
|
||||
|
||||
YACC = $(EYACC)
|
||||
LEX = $(ELEX)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
EPICS_VERSION=3
|
||||
EPICS_REVISION=14
|
||||
EPICS_MODIFICATION=5
|
||||
EPICS_MODIFICATION=7
|
||||
EPICS_UPDATE_NAME=
|
||||
EPICS_UPDATE_LEVEL=0
|
||||
|
||||
|
||||
@@ -73,6 +73,9 @@ INSTALL_SHRLIB = $(INSTALL_LOCATION_LIB)/$(T_A)
|
||||
INSTALL_TCLLIB = $(INSTALL_LOCATION_LIB)/$(T_A)
|
||||
INSTALL_BIN = $(INSTALL_LOCATION_BIN)/$(T_A)
|
||||
|
||||
#Directories for libraries
|
||||
SHRLIB_SEARCH_DIRS = $(INSTALL_LIB)
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Ext, app, and module configure dir targets
|
||||
CONFIG_TARGETS += CONFIG_APP_INCLUDE RULES_INCLUDE
|
||||
@@ -281,8 +284,8 @@ ARFLAGS =
|
||||
ARCMD = $(AR) $(ARFLAGS) $(USR_ARFLAGS) $@ $(LIBRARY_LD_OBJS)
|
||||
|
||||
#--------------------------------------------------
|
||||
# ld default
|
||||
LDCMD = $(LD) -o $@ $^
|
||||
# 'Munch' link-edit
|
||||
MUNCH_CMD = $(LD) -o $@ $^
|
||||
|
||||
#--------------------------------------------------
|
||||
# Build compile line here
|
||||
|
||||
@@ -15,16 +15,14 @@
|
||||
#
|
||||
# CONFIG_ENV - EPICS Environment Parameter configuration file
|
||||
#
|
||||
# This file is interpreted by the Bourne Shell, so spaces are
|
||||
# not allowed around the '=' signs or in unquoted values.
|
||||
# Makefile variables are not defined here.
|
||||
# This file is read by the script base/src/libCom/env/bldEnvdata.pl
|
||||
# Variable definitions must take the form
|
||||
# VAR = VALUE
|
||||
# or
|
||||
# VAR = "Value containing spaces"
|
||||
# with each one on its own line.
|
||||
# Enclosing spaces and "" will be trimmed.
|
||||
#
|
||||
# Note: This file is read by base/src/libCom/env/bldEnvdata.pl,
|
||||
# so the variable definitions in here should be kept 'simple':
|
||||
# VAR=VALUE
|
||||
# each one on a single line.
|
||||
#
|
||||
|
||||
|
||||
# Default environment settings
|
||||
|
||||
@@ -38,6 +36,7 @@ EPICS_CA_REPEATER_PORT=5065
|
||||
EPICS_CA_SERVER_PORT=5064
|
||||
EPICS_CA_MAX_ARRAY_BYTES=16384
|
||||
EPICS_CA_BEACON_PERIOD=15.0
|
||||
EPICS_CA_MAX_SEARCH_PERIOD=300.0
|
||||
EPICS_CAS_BEACON_PERIOD=
|
||||
EPICS_CAS_BEACON_PORT=
|
||||
EPICS_CAS_AUTO_BEACON_ADDR_LIST=""
|
||||
|
||||
@@ -23,20 +23,20 @@
|
||||
# <operating system>-<architecture>[-<alternate compiler>]
|
||||
#
|
||||
# Currently Supporting:
|
||||
# aix-ppc (HP compiler used for host builds)
|
||||
# aix-ppc-gnu (GNU compiler used for host builds)
|
||||
# cygwin-x86 (cygwin compiler used for host builds)
|
||||
# darwin-ppc
|
||||
# hpux-parisc (HP compiler used for host builds)
|
||||
# hpux-parisc-gnu (GNU compiler used for host builds)
|
||||
# osf-alpha
|
||||
# linux-x86 (GNU compiler used for host builds)
|
||||
# linux-x86-borland (Borland C++ compiler used for host builds)
|
||||
# solaris-sparc (sun compiler used for host builds)
|
||||
# solaris-sparc-gnu (GNU compiler used for host builds)
|
||||
# solaris-x86 (sun compiler used for host builds)
|
||||
# solaris-x86-gnu (GNU compiler used for host builds)
|
||||
# sun4-x86 (sun compiler used for host builds)
|
||||
# linux-x86 (GNU compiler used for host builds)
|
||||
# win32-x86 (MS Visual C++ compiler used for host builds)
|
||||
# win32-x86-borland (Borland C++ compiler used for host builds)
|
||||
# lynxos-x86
|
||||
# darwin-ppc
|
||||
# linux-mpc82xx
|
||||
|
||||
# Debugging builds
|
||||
# linux-x86-debug (GNU compiler with -g option for host builds)
|
||||
@@ -52,6 +52,11 @@
|
||||
# The cross-compiler architectures to build EPICS for
|
||||
#
|
||||
# Currently Supporting:
|
||||
# linux-386 (linux-x86 host)
|
||||
# linux-486 (linux-x86 host)
|
||||
# linux-586 (linux-x86 host)
|
||||
# linux-686 (linux-x86 host)
|
||||
# linux-athlon (linux-x86 host)
|
||||
# vxWorks-486
|
||||
# vxWorks-68040
|
||||
# vxWorks-68040lc
|
||||
@@ -67,6 +72,9 @@
|
||||
# RTEMS-mcp750
|
||||
# RTEMS-psim
|
||||
#
|
||||
# Debugging builds
|
||||
# vxWorks-68040-debug
|
||||
|
||||
# Definitions of CROSS_COMPILER_TARGET_ARCHS in
|
||||
# configure/os/CONFIG_SITE.<host>.Common files will
|
||||
# override
|
||||
|
||||
@@ -15,34 +15,42 @@
|
||||
#
|
||||
# CONFIG_SITE_ENV - EPICS Environment Parameter Site configuration file
|
||||
#
|
||||
# This file is interpreted by the Bourne Shell, so spaces are
|
||||
# not allowed around the '=' signs or in unquoted values.
|
||||
# Makefile variables are not defined here.
|
||||
#
|
||||
# Note: This file is read by base/src/libCom/env/bldEnvdata.pl,
|
||||
# so the variable definitions in here should be kept 'simple':
|
||||
# VAR=VALUE
|
||||
# each one on a single line.
|
||||
# This file is read by the script base/src/libCom/env/bldEnvdata.pl
|
||||
# Variable definitions must take the form
|
||||
# VAR = VALUE
|
||||
# or
|
||||
# VAR = "Value containing spaces"
|
||||
# with each one on its own line.
|
||||
# Enclosing spaces and "" will be trimmed.
|
||||
#
|
||||
|
||||
# Site-specific environment settings
|
||||
|
||||
# Time service:
|
||||
# EPICS_TIMEZONE needed for vxWorks
|
||||
# EPICS_TIMEZONE=<name>::<minutesWest>:<start daylight>:<end daylight>
|
||||
#NOTE: start and end are mmddhh that bis mounth,day,hour
|
||||
# eg EPICS_TIMEZONE=CUS::360:033102:102802
|
||||
# EPICS_TIMEZONE
|
||||
# local timezone info for vxWorks IOCs. The format required is
|
||||
# <name>::<minutesWest>:<start daylight>:<end daylight>
|
||||
# where the start and end are mmddhh - that is month,day,hour
|
||||
# eg EPICS_TIMEZONE=CUS::360:033102:102802
|
||||
#
|
||||
# DST for 2004 US: Apr 4 - Oct 31
|
||||
# EU: Mar 28 - Oct 31
|
||||
# (see: http://www.worldtimezone.org/daylight.html)
|
||||
# DST for 2004 US: Apr 4 - Oct 31
|
||||
# EU: Mar 28 - Oct 31
|
||||
# (see: http://www.worldtimezone.org/daylight.html)
|
||||
#
|
||||
# EPICS_TS_NTP_INET ntp or Unix time server ip addr.
|
||||
# EPICS_TS_NTP_INET
|
||||
# NTP or Unix time server ip address. Uses boot host if not set.
|
||||
|
||||
EPICS_TIMEZONE=CUS::360:040402:103102
|
||||
#EPICS_TIMEZONE=MET::-60:032802:103102
|
||||
EPICS_TS_NTP_INET=
|
||||
|
||||
# IOC Shell:
|
||||
# IOCSH_PS1
|
||||
# Prompt string
|
||||
# IOCSH_HISTSIZE
|
||||
# Number of lines of command history to keep.
|
||||
IOCSH_PS1="epics> "
|
||||
IOCSH_HISTSIZE=50
|
||||
|
||||
# Log Server:
|
||||
# EPICS_IOC_LOG_INET
|
||||
@@ -52,7 +60,7 @@ EPICS_TS_NTP_INET=
|
||||
# EPICS_IOC_LOG_FILE_LIMIT
|
||||
# maximum log file size.
|
||||
# EPICS_IOC_LOG_FILE_COMMAND
|
||||
# A shell command string used to obtain a new
|
||||
# A shell command string used to obtain a new
|
||||
# path name in response to SIGHUP - the new path name will
|
||||
# replace any path name supplied in EPICS_IOC_LOG_FILE_NAME
|
||||
|
||||
|
||||
@@ -11,9 +11,9 @@
|
||||
|
||||
##################################################### vpath
|
||||
|
||||
vpath %.dbd $(USR_VPATH) $(GENERIC_SRC_DIRS) $(dir $(DBD)) $(COMMON_DIR)
|
||||
vpath %.db $(USR_VPATH) $(GENERIC_SRC_DIRS) $(dir $(DB)) $(COMMON_DIR)
|
||||
vpath %.vdb $(USR_VPATH) $(GENERIC_SRC_DIRS) $(dir $(DB)) $(COMMON_DIR)
|
||||
vpath %.dbd $(USR_VPATH) $(GENERIC_SRC_DIRS) $(dir $(DBD))
|
||||
vpath %.db $(USR_VPATH) $(GENERIC_SRC_DIRS) $(dir $(DB))
|
||||
vpath %.vdb $(USR_VPATH) $(GENERIC_SRC_DIRS) $(dir $(DB))
|
||||
vpath %.substitutions $(USR_VPATH) $(GENERIC_SRC_DIRS) $(COMMON_DIR)
|
||||
vpath %.template $(USR_VPATH) $(GENERIC_SRC_DIRS) $(COMMON_DIR)
|
||||
vpath bpt%.data $(USR_VPATH) $(GENERIC_SRC_DIRS) $(COMMON_DIR)
|
||||
@@ -23,6 +23,7 @@ vpath bpt%.data $(USR_VPATH) $(GENERIC_SRC_DIRS) $(COMMON_DIR)
|
||||
# dbExpand
|
||||
INSTALL_DBDFLAGS += -I $(INSTALL_LOCATION)/dbd
|
||||
DBDFLAGS = $(USR_DBDFLAGS) -I . -I .. $(INSTALL_DBDFLAGS) $(RELEASE_DBDFLAGS)
|
||||
DBFLAGS = $($*_DBFLAGS) $(USR_DBFLAGS) -I. $(GENERIC_SRC_INCLUDES)
|
||||
|
||||
##################################################### Targets
|
||||
|
||||
@@ -59,7 +60,7 @@ TEMPLATE2=$(patsubst %0,%,$(patsubst %1,%,$(patsubst %2,%,$(patsubst %3,%,$(pats
|
||||
$(patsubst %5,%,$(patsubst %6,%,$(patsubst %7,%,$(patsubst %8,%,$(patsubst %9,%, \
|
||||
$(TEMPLATE1)))))))))))
|
||||
TEMPLATE3=$(addsuffix .template,$(addprefix ../,$(TEMPLATE2)))
|
||||
TEMPLATE_FILENAME=$(firstword $(wildcard $(addprefix ../,$($*_TEMPLATE)) ../$*.template $(TEMPLATE3)) $(TEMPLATE3))
|
||||
TEMPLATE_FILENAME=$(firstword $(wildcard $(addprefix ../,$($*_TEMPLATE)) ../$*.template $(TEMPLATE3) $(TEMPLATE3) ../template))
|
||||
|
||||
# dbst based database optimization
|
||||
ifeq '$(DB_OPT)' 'YES'
|
||||
@@ -112,11 +113,11 @@ $(DBDDEPENDS_FILES):
|
||||
|
||||
##################################################### build dependancies, clean rule
|
||||
|
||||
ifdef DBD_INSTALLS
|
||||
ifneq (,$(strip $(DBD_INSTALLS)))
|
||||
buildInstall : dbdInstalls
|
||||
endif
|
||||
|
||||
ifdef DB_INSTALLS
|
||||
ifneq (,$(strip $(DB_INSTALLS)))
|
||||
buildInstall : dbInstalls
|
||||
endif
|
||||
|
||||
@@ -192,10 +193,18 @@ $(INSTALL_DB)/%.template: %.template
|
||||
|
||||
##################################################### INC files
|
||||
|
||||
$(COMMON_DIR)/%Record.h: $(COMMON_DIR)/%Record.dbd
|
||||
@$(RM) $@
|
||||
$(DBTORECORDTYPEH) $(DBDFLAGS) $< $@
|
||||
|
||||
$(COMMON_DIR)/%Record.h: %Record.dbd
|
||||
@$(RM) $@
|
||||
$(DBTORECORDTYPEH) $(DBDFLAGS) $< $@
|
||||
|
||||
$(COMMON_DIR)/menu%.h: $(COMMON_DIR)/menu%.dbd
|
||||
@$(RM) $@
|
||||
$(DBTOMENUH) $< $@
|
||||
|
||||
$(COMMON_DIR)/menu%.h: menu%.dbd
|
||||
@$(RM) $@
|
||||
$(DBTOMENUH) $< $@
|
||||
@@ -206,6 +215,13 @@ $(COMMON_DIR)/bpt%.dbd: bpt%.data
|
||||
@$(RM) $@
|
||||
$(MAKEBPT) $< $@
|
||||
|
||||
$(COMMON_DIR)/%.dbd: $(COMMON_DIR)/%Include.dbd
|
||||
@$(RM) $@$(DEP)
|
||||
@$(DBDDEPENDS_CMD)
|
||||
@echo "Expanding dbd"
|
||||
@$(RM) $@
|
||||
$(DBEXPAND) $(DBDFLAGS) -o $@ $<
|
||||
|
||||
$(COMMON_DIR)/%.dbd: %Include.dbd
|
||||
@$(RM) $@$(DEP)
|
||||
@$(DBDDEPENDS_CMD)
|
||||
@@ -213,6 +229,14 @@ $(COMMON_DIR)/%.dbd: %Include.dbd
|
||||
@$(RM) $@
|
||||
$(DBEXPAND) $(DBDFLAGS) -o $@ $<
|
||||
|
||||
$(COMMON_DIR)/%Include.dbd:
|
||||
@$(RM) $@
|
||||
$(PERL) $(TOOLS)/makeIncludeDbd.pl $($*_DBD) $@
|
||||
|
||||
$(INSTALL_DBD)/%: $(COMMON_DIR)/%
|
||||
@echo "Installing dbd file $@"
|
||||
@$(INSTALL) -d -m 644 $< $(@D)
|
||||
|
||||
$(INSTALL_DBD)/%: %
|
||||
@echo "Installing dbd file $@"
|
||||
@$(INSTALL) -d -m 644 $< $(@D)
|
||||
@@ -221,7 +245,7 @@ dbdInstalls: $(DBD_INSTALLS)
|
||||
@echo "Installing $(^F)"
|
||||
@$(INSTALL) -d -m 555 $^ $(INSTALL_DBD)
|
||||
|
||||
.PRECIOUS: $(COMMON_DBDS)
|
||||
.PRECIOUS: $(COMMON_DBDS) $(COMMON_DIR)/%Include.dbd
|
||||
|
||||
##################################################### DB files
|
||||
|
||||
@@ -237,7 +261,15 @@ $(COMMON_DIR)/%.db$(RAW): %.substitutions
|
||||
@echo "$@:$(TEMPLATE_FILENAME)" >> $@$(DEP)
|
||||
@echo "Inflating database from $<"
|
||||
@$(RM) $@
|
||||
$(MSI) -S$< $(TEMPLATE_FILENAME) > msi.tmp
|
||||
$(MSI) $(DBFLAGS) -S$< $(TEMPLATE_FILENAME) > msi.tmp
|
||||
$(MV) msi.tmp $@
|
||||
|
||||
$(COMMON_DIR)/%.db$(RAW): %.template
|
||||
@$(RM) $@$(DEP)
|
||||
@$(DBDDEPENDS_CMD)
|
||||
@echo "Inflating database from $<"
|
||||
@$(RM) $@
|
||||
$(MSI) $(DBFLAGS) $< > msi.tmp
|
||||
$(MV) msi.tmp $@
|
||||
|
||||
# dbst based database optimization
|
||||
@@ -252,10 +284,6 @@ $(COMMON_DIR)/%.db: $(COMMON_DIR)/%.db$(RAW)
|
||||
@$(RM) $@
|
||||
$(DBST) . $< -d > $@
|
||||
|
||||
$(INSTALL_DB)/%.db: $(COMMON_DIR)/%.db
|
||||
@echo "Installing db file $@"
|
||||
@$(INSTALL) -d -m 644 $< $(@D)
|
||||
|
||||
.PRECIOUS: $(COMMON_DIR)/%.db
|
||||
.PRECIOUS: $(DB:%=$(COMMON_DIR)/%$(RAW))
|
||||
else
|
||||
@@ -265,6 +293,10 @@ $(INSTALL_DB)/%: %
|
||||
@$(INSTALL) -d -m 644 $< $(@D)
|
||||
endif
|
||||
|
||||
$(INSTALL_DB)/%.db: $(COMMON_DIR)/%.db
|
||||
@echo "Installing db file $@"
|
||||
@$(INSTALL) -d -m 644 $< $(@D)
|
||||
|
||||
dbInstalls: $(DB_INSTALLS)
|
||||
@echo "Installing $(^F)"
|
||||
@$(INSTALL) -d -m 555 $^ $(INSTALL_DB)
|
||||
@@ -274,6 +306,11 @@ dbInstalls: $(DB_INSTALLS)
|
||||
|
||||
##################################################### register record,device,driver support
|
||||
|
||||
%_registerRecordDeviceDriver.cpp: $(COMMON_DIR)/%.dbd
|
||||
@$(RM) $@ temp.cpp
|
||||
$(REGISTERRECORDDEVICEDRIVER) $< $(basename $@) > temp.cpp
|
||||
$(MV) temp.cpp $@
|
||||
|
||||
%_registerRecordDeviceDriver.cpp: %.dbd
|
||||
@$(RM) $@ temp.cpp
|
||||
$(REGISTERRECORDDEVICEDRIVER) $< $(basename $@) > temp.cpp
|
||||
|
||||
@@ -13,10 +13,19 @@ include $(CONFIG)/RULES_DIRS
|
||||
build: buildInstall
|
||||
install: buildInstall
|
||||
|
||||
ifneq ($(findstring $(ARCH),$(BUILD_ARCHS)),)
|
||||
buildInstall: $(TARGETS)
|
||||
|
||||
clean:
|
||||
$(RM) cdCommands envPaths
|
||||
|
||||
else
|
||||
buildInstall:
|
||||
clean:
|
||||
endif
|
||||
|
||||
envPaths cdCommands: $(wildcard $(TOP)/configure/RELEASE*) \
|
||||
$(TOP)/configure/CONFIG $(TOP)/bin
|
||||
$(TOP)/configure/CONFIG $(INSTALL_BIN)
|
||||
@$(RM) $@
|
||||
ifeq ($(IOCS_APPL_TOP),)
|
||||
$(PERL) $(TOOLS)/convertRelease.pl -a $(ARCH) $@
|
||||
@@ -24,6 +33,6 @@ else
|
||||
$(PERL) $(TOOLS)/convertRelease.pl -a $(ARCH) -t $(IOCS_APPL_TOP) $@
|
||||
endif
|
||||
|
||||
realclean clean:
|
||||
realclean:
|
||||
$(RM) cdCommands envPaths
|
||||
|
||||
|
||||
@@ -68,6 +68,9 @@ $(checkReleaseTargets):checkRelease.%:
|
||||
clean ::
|
||||
$(RMDIR) $(addprefix O.,$(BUILD_ARCHS)) O.Common
|
||||
|
||||
archclean ::
|
||||
$(RMDIR) $(addprefix O.,$(BUILD_ARCHS))
|
||||
|
||||
$(cleanArchTargets) ::
|
||||
$(RMDIR) O.$(archPart)
|
||||
|
||||
@@ -77,6 +80,6 @@ realclean ::
|
||||
.PHONY : $(actionArchTargets)
|
||||
.PHONY : $(cleanArchTargets)
|
||||
.PHONY : $(BUILD_ARCHS)
|
||||
.PHONY : $(ACTIONS) clean realclean all
|
||||
.PHONY : $(ACTIONS) clean realclean archclean all
|
||||
.PHONY : checkRelease $(checkReleaseTargets)
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ endif
|
||||
|
||||
ifneq (,$(strip $(PROD) $(TESTPROD) $(LIBRARY) $(LOADABLE_LIBRARY)))
|
||||
|
||||
MakefileInclude: ../Makefile
|
||||
MakefileInclude: ../Makefile $(wildcard $(TOP)/configure/RELEASE*)
|
||||
@$(RM) $@
|
||||
@$(PERL) $(TOOLS)/makeMakefileInclude.pl $(PROD) $(TESTPROD) $(LIBRARY) $(LOADABLE_LIBRARY) $@
|
||||
|
||||
@@ -101,6 +101,7 @@ LIBTARGETS += $(LIBNAME) $(INSTALL_LIBS) \
|
||||
|
||||
#---------------------------------------------------------------
|
||||
ifneq ($(CONFIG),$(TOP)/configure)
|
||||
RULES_TOP:=$(INSTALL_LOCATION)
|
||||
-include $(TOP)/configure/RULES_BUILD
|
||||
endif
|
||||
-include $(TOP)/configure/O.$(T_A)/RULES_INCLUDE
|
||||
@@ -286,13 +287,13 @@ $(LOADABLE_SHRLIBNAME):$(LOADABLE_SHRLIB_PREFIX)%$(LOADABLE_SHRLIB_SUFFIX): $(LI
|
||||
@$(RM) $@
|
||||
$(PERL) $(TOOLS)/munch.pl < $< > $@
|
||||
|
||||
$(MUNCHNAME):%.munch : %_ctdt$(OBJ) %$(EXE)
|
||||
$(MUNCHNAME):%$(MUNCH_SUFFIX) : $(MUNCH_DEPENDS) %$(EXE)
|
||||
@$(RM) $@
|
||||
$(LDCMD)
|
||||
$(MUNCH_CMD)
|
||||
|
||||
$(OBJLIB_MUNCHNAME):%.munch : %_ctdt$(OBJ) %$(OBJ)
|
||||
@$(RM) $@
|
||||
$(LDCMD)
|
||||
$(MUNCH_CMD)
|
||||
|
||||
# Ext, app and module rules
|
||||
RULES_INCLUDE CONFIG_APP_INCLUDE: $(wildcard $(TOP)/configure/RELEASE*)
|
||||
@@ -329,7 +330,7 @@ $(INSTALL_LIB)/%.lib: %.lib
|
||||
$(INSTALL_SHRLIB)/lib%: lib%
|
||||
@echo "Installing shared library $@"
|
||||
@$(INSTALL_LIBRARY) -d -m 555 $< $(INSTALL_SHRLIB)
|
||||
ifdef SHRLIB_VERSION
|
||||
ifneq (,$(strip $(SHRLIB_VERSION)))
|
||||
@$(RM) $(subst .$(SHRLIB_VERSION),,$@)
|
||||
ln -s $< $(subst .$(SHRLIB_VERSION),,$@)
|
||||
endif # SHRLIB_VERSION
|
||||
@@ -347,6 +348,10 @@ endif
|
||||
$(INSTALL_LOADABLE_SHRLIBS): $(INSTALL_SHRLIB)/%: %
|
||||
@echo "Installing loadable shared library $@"
|
||||
@$(INSTALL_LIBRARY) -d -m 555 $< $(INSTALL_SHRLIB)
|
||||
ifneq (,$(strip $(LOADABLE_SHRLIB_VERSION)))
|
||||
@$(RM) $(subst .$(LOADABLE_SHRLIB_VERSION),,$@)
|
||||
ln -s $< $(subst .$(LOADABLE_SHRLIB_VERSION),,$@)
|
||||
endif # LOADABLE_SHRLIB_VERSION
|
||||
|
||||
$(INSTALL_CONFIG)/%: %
|
||||
@echo "Installing config file $@"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
|
||||
ARCHS += $(BUILD_ARCHS)
|
||||
ACTIONS += inc build install buildInstall clean realclean
|
||||
ACTIONS += inc build install buildInstall clean realclean archclean
|
||||
|
||||
dirPart = $(word 1, $(subst $(DIVIDER), ,$@))
|
||||
actionArchPart = $(join $(word 2, $(subst $(DIVIDER), ,$@)), \
|
||||
|
||||
@@ -11,23 +11,27 @@
|
||||
#
|
||||
|
||||
|
||||
ifeq ($(BUILD_CLASS),HOST)
|
||||
|
||||
#-------------------------------------------------------
|
||||
# java jdk1.1.5 definitions
|
||||
|
||||
JAVA_INC = $(JAVA_DIR)/include
|
||||
JAVA_BIN = $(JAVA_DIR)/bin
|
||||
JAVA_INCLUDES += -I$(JAVA_INC) -I$(JAVA_INC)/$(OS_CLASS) -I$(COMMON_DIR)
|
||||
JAVA_INCLUDES += -I$(JAVA_INC) -I$(JAVA_INC)/$(word 1, $(subst -, ,$(T_A))) -I$(COMMON_DIR)
|
||||
|
||||
JAVACCMD = $(subst \,/,$(JAVA_BIN)/javac$(EXE) $(CLASSPATH) $(SOURCEPATH) $(JAVACFLAGS))
|
||||
JAVAHCMD = $(subst \,/,$(JAVA_BIN)/javah$(EXE) -d $(COMMON_DIR) -force $(CLASSPATH) $(JAVAHFLAGS))
|
||||
JARCMD = $(subst \,/,$(JAVA_BIN)/jar$(EXE) $(JAR_OPTIONS) $(COMMON_JAR) $(JARINPUT) $(JARPACKAGES))
|
||||
JARCMD = $(subst \,/,$(JAVA_BIN)/jar$(EXE) $(JAR_OPTIONS) $@ $(JARINPUT) $(JARPACKAGES))
|
||||
|
||||
#-------------------------------------------------------
|
||||
vpath %.java ..
|
||||
vpath %.jar .. $(COMMON_DIR)
|
||||
|
||||
CLASSPATH=-classpath $(INSTALL_JAVA)$(addprefix :,$(USR_CLASSPATH))
|
||||
SOURCEPATH=-sourcepath .:..:../..
|
||||
empty:=
|
||||
space:= $(empty) $(empty)
|
||||
CLASSPATH = -classpath $(subst $(space),:,$(strip $(USR_PRECLASSPATH) $(INSTALL_JAVA) $(USR_CLASSPATH)))
|
||||
SOURCEPATH = -sourcepath .:..:../..
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Java directory
|
||||
@@ -59,12 +63,12 @@ DEPTESTJAVA += $(subst .class,.java,$(TESTCLASSES))
|
||||
#-------------------------------------------------------
|
||||
# Java jar file
|
||||
|
||||
COMMON_JAR += $(addprefix $(COMMON_DIR)/,$(JAR))
|
||||
INSTALL_JAR =$(addprefix $(INSTALL_JAVA)/,$(JAR))
|
||||
INSTALL_JAR =$(addprefix $(INSTALL_JAVA)/,$(JAR) $(JAR_INPUT))
|
||||
JARMANIFEST += $(firstword $(MANIFEST) $(JAR_MANIFEST))
|
||||
JARINPUT += $(subst .java,.class,$(JAR_INPUT))
|
||||
JARDEPFILES += $(addprefix $(INSTALL_JAVA)/,$(subst .java,.class,$(JAVA))) $(JARINPUT)
|
||||
JARDEPFILES += $(addprefix $(INSTALL_JAVA)/,$(subst .java,.class,$(JAVA)) $(JAR_INPUT))
|
||||
JARINPUT += $(foreach inp,$(JAR_INPUT),-C $(INSTALL_JAVA) $(subst .java,.class,$(inp)))
|
||||
JARPACKAGES += $(foreach pkg,$(JAR_PACKAGES),-C $(INSTALL_JAVA) $(subst .,/,$(pkg)))
|
||||
PACKAGEDIRS += $(foreach pkg,$(JAR_PACKAGES),$(addprefix $(INSTALL_JAVA)/,$(subst .,/,$(pkg))))
|
||||
|
||||
ifneq ($(JARMANIFEST),)
|
||||
JAR_OPTIONS = cvmf $(JARMANIFEST)
|
||||
@@ -95,15 +99,15 @@ inc: $(JAVA_DIRECTORY_TARGETS) $(INSTALL_CLASSES) $(COMMON_JAVAINC)
|
||||
|
||||
build: inc
|
||||
|
||||
build: $(COMMON_TESTCLASSES) $(COMMON_JAR)
|
||||
build: $(COMMON_TESTCLASSES)
|
||||
|
||||
buildInstall : $(INSTALL_JAR) $(INSTALL_JAVADOC)
|
||||
|
||||
#This clean works only from O.* dirs.
|
||||
clean::
|
||||
@$(RMDIR) $(INSTALL_CLASSES)
|
||||
@$(RMDIR) $(INSTALL_CLASSES) $(PACKAGEDIRS)
|
||||
@$(RM) $(INSTALL_JAR) $(INSTALL_JAVADOC)
|
||||
@$(RM) $(COMMON_TESTCLASSES) $(COMMON_JAR) $(COMMON_JAVAINC)
|
||||
@$(RM) $(COMMON_TESTCLASSES) $(COMMON_JAVAINC)
|
||||
|
||||
ifdef JAVA_DIRECTORY_TARGETS
|
||||
$(JAVA_DIRECTORY_TARGETS):
|
||||
@@ -139,7 +143,16 @@ $(INSTALL_JAVA)/%.jar: $(COMMON_DIR)/%.jar
|
||||
@echo "Installing java jar file $@"
|
||||
@$(INSTALL) -d -m 644 $< $(@D)
|
||||
|
||||
$(INSTALL_JAVA)/%.jar: %.jar
|
||||
@echo "Installing java jar file $@"
|
||||
@$(INSTALL) -d -m 644 $< $(@D)
|
||||
|
||||
$(addprefix $(INSTALL_JAVA)/, $(JARINPUT)): $(INSTALL_JAVA)/%: ../%
|
||||
@echo "Installing jar input file $@"
|
||||
@$(INSTALL) -d -m 644 $< $(@D)
|
||||
|
||||
.PHONY: all install buildInstall rebuild clean build inc
|
||||
|
||||
.PRECIOUS: $(COMMON_JAVAINC)
|
||||
|
||||
endif
|
||||
|
||||
@@ -20,16 +20,20 @@ $(uninstallArchTargets): uninstallDirs
|
||||
@$(RMDIR) $(INSTALL_LOCATION_BIN)/$(archPart) $(INSTALL_LOCATION_LIB)/$(archPart)
|
||||
|
||||
cleandirs:
|
||||
@echo " " #stops "nothing to be done for cleandirs" message
|
||||
ifeq ($(wildcard $(INSTALL_LOCATION_BIN)/*),)
|
||||
@$(RMDIR) $(INSTALL_LOCATION_BIN)
|
||||
endif
|
||||
ifeq ($(wildcard $(INSTALL_LOCATION_LIB)/*),)
|
||||
@$(RMDIR) $(INSTALL_LOCATION_LIB)
|
||||
endif
|
||||
@echo
|
||||
# The echo above stops a "nothing to be done for cleandirs" message
|
||||
|
||||
distclean: realclean realuninstall
|
||||
|
||||
cvsclean:
|
||||
@$(PERL) $(TOOLS)/cvsclean.pl
|
||||
|
||||
realuninstall:
|
||||
@$(RMDIR) $(INSTALL_LOCATION_BIN) $(INSTALL_LOCATION_LIB)
|
||||
@$(RMDIR) $(INSTALL_DBD) $(INSTALL_INCLUDE) $(INSTALL_DOC)\
|
||||
@@ -57,6 +61,7 @@ help:
|
||||
@echo " rebuild - Same as clean install"
|
||||
@echo " inc - Installs header files"
|
||||
@echo " build - Builds all targets"
|
||||
@echo " archclean - Removes O.<arch> dirs but not O.Common dir"
|
||||
@echo "\"Partial\" build targets supported by Makefiles:"
|
||||
@echo " inc.<arch> - Installs <arch> only header files."
|
||||
@echo " install.<arch> - Builds and installs <arch> only."
|
||||
@@ -66,10 +71,12 @@ help:
|
||||
@echo " uninstall - Cleans directories created by the install."
|
||||
@echo " realuninstall - Removes ALL install dirs"
|
||||
@echo " distclean - Same as realclean realuninstall."
|
||||
@echo " cvsclean - Removes cvs .#* files in all dirs of directory tree"
|
||||
@echo " help - Prints this list of valid make targets "
|
||||
@echo "Indiv. object targets are supported by O.<arch> level Makefile .e.g"
|
||||
@echo " xxxRecord.o"
|
||||
|
||||
.PHONY : $(uninstallArchTargets)
|
||||
.PHONY : uninstall help cleandirs distclean uninstallDirs realuninstall
|
||||
.PHONY : cvsclean
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ INC = file.h
|
||||
# defining a library
|
||||
# --------------------------------------------------------------------
|
||||
#
|
||||
# Contents of a library are specified via SRCS, LIBSRCS, or .._SRCS.
|
||||
# Contents of a library are specified via SRCS, LIB_SRCS, or .._SRCS.
|
||||
# From this the platform specific object names (.o, .obj, ...)
|
||||
# are derived automatically.
|
||||
#
|
||||
@@ -86,7 +86,7 @@ INC = file.h
|
||||
# ./os/OS_CLASS
|
||||
# ./os/generic
|
||||
# .
|
||||
# So usually only LIBSRCS should be sufficient!
|
||||
# So usually only LIB_SRCS should be sufficient!
|
||||
|
||||
# SRCS files will be used for both LIBRARY and PROD
|
||||
SRCS = file_for_lib.c another_file.cpp
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Where to find RTEMS
|
||||
RTEMS_BASE=/opt/rtems
|
||||
RTEMS_BASE=/opt/rtems-4.7
|
||||
RTEMS_VERSION=4.7
|
||||
|
||||
#-------------------------------------------------------
|
||||
# RTEMS tools are similar to UNIX tools
|
||||
@@ -23,7 +24,7 @@ RTEMS_BASE=/opt/rtems
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Pick up the RTEMS tool/path definitions from the RTEMS BSP directory.
|
||||
include $(RTEMS_BASE)/$(RTEMS_TARGET_CPU)-rtems/$(subst RTEMS-,,$(T_A))/Makefile.inc
|
||||
include $(RTEMS_BASE)/$(RTEMS_TARGET_CPU)-rtems$(RTEMS_VERSION)/$(subst RTEMS-,,$(T_A))/Makefile.inc
|
||||
include $(RTEMS_CUSTOM)
|
||||
include $(CONFIG.CC)
|
||||
|
||||
@@ -46,7 +47,7 @@ VALID_BUILDS = Ioc
|
||||
# through the following contortions to get the EPICS flags back.
|
||||
CFLAGS = $(CONFORM_CFLAGS) $(CROSS_CFLAGS) $(OPT_CFLAGS) $(DEBUG_CFLAGS)\
|
||||
$(WARN_CFLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS)\
|
||||
$(CODE_CFLAGS) $(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(LIBRARY_SRC_CFLAGS)
|
||||
$(CODE_CFLAGS) $(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(LIBRARY_SRC_CFLAGS)
|
||||
|
||||
CXXFLAGS = $(CONFORM_CXXFLAGS) $(CROSS_CXXFLAGS) $(OPT_CXXFLAGS)\
|
||||
$(DEBUG_CXXFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS)\
|
||||
@@ -69,6 +70,10 @@ $(BASE_CPPFLAGS) $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) $(ARCH_DEP_CPPFLAGS)\
|
||||
CROSS_CPPFLAGS =
|
||||
CROSS_LDFLAGS =
|
||||
SHRLIB_CFLAGS =
|
||||
OPT_CFLAGS_YES = $(CFLAGS_OPTIMIZE_V)
|
||||
OPT_CXXFLAGS_YES = $(CFLAGS_OPTIMIZE_V)
|
||||
OPT_CFLAGS_NO = $(CFLAGS_DEBUG_V)
|
||||
OPT_CXXFLAGS_NO = $(CFLAGS_DEBUG_V)
|
||||
|
||||
#--------------------------------------------------
|
||||
# operating system class (include/os/<os_class>)
|
||||
@@ -76,7 +81,7 @@ OS_CLASS = RTEMS
|
||||
|
||||
#--------------------------------------------------
|
||||
# Operating system flags
|
||||
OP_SYS_LDLIBS += -lrtemsCom -lrtemscpu -lCom -lm
|
||||
OP_SYS_LDLIBS += -lrtemsCom -lrtemscpu -lCom -lrtemsNfs -lm
|
||||
OP_SYS_LDFLAGS += $(CPU_CFLAGS) -u Init \
|
||||
$(PROJECT_RELEASE)/lib/no-dpmem.rel \
|
||||
$(PROJECT_RELEASE)/lib/no-mp.rel \
|
||||
@@ -98,8 +103,8 @@ CONFORM_CXXFLAGS_STRICT = -ansi
|
||||
|
||||
#--------------------------------------------------
|
||||
# Command-line input support
|
||||
COMMANDLINE_LIBRARY = LIBTECLA
|
||||
LDLIBS_LIBTECLA = -ltecla_r -lncurses
|
||||
LDLIBS_READLINE = -lreadline -lncurses
|
||||
|
||||
#--------------------------------------------------
|
||||
# Allow site overrides
|
||||
|
||||
27
configure/os/CONFIG.Common.RTEMS-mvme2100
Normal file
27
configure/os/CONFIG.Common.RTEMS-mvme2100
Normal file
@@ -0,0 +1,27 @@
|
||||
#
|
||||
# $Id$
|
||||
# Author: W. Eric Norum
|
||||
# Canadian Light Source
|
||||
# eric@cls.usask.ca
|
||||
#
|
||||
# All RTEMS targets use the same Makefile fragment
|
||||
#
|
||||
RTEMS_TARGET_CPU = powerpc
|
||||
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
|
||||
ARCH_DEP_CFLAGS += -DHAVE_PPCBUG
|
||||
|
||||
MUNCH_SUFFIX = .boot
|
||||
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
||||
define MUNCH_CMD
|
||||
$(RTEMS_BASE)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< rtems
|
||||
gzip -f9 rtems
|
||||
$(RTEMS_BASE)/bin/$(LD_FOR_TARGET) -o $@ \
|
||||
$(PROJECT_RELEASE)/lib/bootloader.o \
|
||||
--just-symbols=$< \
|
||||
-b binary rtems.gz \
|
||||
-T $(PROJECT_RELEASE)/lib/ppcboot.lds \
|
||||
-Map $<.map
|
||||
rm -f rtems.gz
|
||||
endef
|
||||
|
||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
||||
19
configure/os/CONFIG.Common.RTEMS-mvme5500
Normal file
19
configure/os/CONFIG.Common.RTEMS-mvme5500
Normal file
@@ -0,0 +1,19 @@
|
||||
#
|
||||
# $Id$
|
||||
# Author: W. Eric Norum
|
||||
# Advanced Photon Source
|
||||
# norume@aps.anl.gov
|
||||
#
|
||||
# All RTEMS targets use the same Makefile fragment
|
||||
#
|
||||
RTEMS_TARGET_CPU = powerpc
|
||||
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
|
||||
ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
|
||||
|
||||
MUNCH_SUFFIX = .boot
|
||||
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
||||
define MUNCH_CMD
|
||||
$(RTEMS_BASE)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
|
||||
endef
|
||||
|
||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
||||
@@ -7,6 +7,16 @@
|
||||
# All RTEMS targets use the same Makefile fragment
|
||||
#
|
||||
RTEMS_TARGET_CPU=i386
|
||||
|
||||
MUNCH_SUFFIX = .boot
|
||||
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
||||
define MUNCH_CMD
|
||||
$(RTEMS_BASE)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< temp.bin
|
||||
$(PROJECT_RELEASE)/build-tools/bin2boot $@ 0x00097E00 \
|
||||
$(PROJECT_RELEASE)/lib/start16.bin 0x00097C00 0 temp.bin 0x00100000 0
|
||||
rm -f temp.bin
|
||||
endef
|
||||
|
||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
||||
|
||||
#
|
||||
|
||||
@@ -16,6 +16,11 @@ VALID_BUILDS = Host Ioc
|
||||
# Gnu directory
|
||||
GNU_DIR = /usr/local
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Get fullpathname of relative dirs
|
||||
SHRLIB_SEARCH_FULLPATHDIRS = $(foreach dir,$(SHRLIB_SEARCH_DIRS), \
|
||||
$(shell perl $(TOOLS)/fullPathName.pl $(dir)))
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Unix prefix and suffix definitions
|
||||
EXE =
|
||||
@@ -24,7 +29,7 @@ OBJ = .o
|
||||
LIB_PREFIX = lib
|
||||
LIB_SUFFIX = .a
|
||||
SHRLIB_SUFFIX = .so$(addprefix .,$(SHRLIB_VERSION))
|
||||
LOADABLE_SHRLIB_SUFFIX = .so
|
||||
LOADABLE_SHRLIB_SUFFIX = .so$(addprefix .,$(LOADABLE_SHRLIB_VERSION))
|
||||
LOADABLE_SHRLIB_PREFIX = lib
|
||||
|
||||
#-------------------------------------------------------
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# CONFIG.Common.win32-x86-cygwin
|
||||
# CONFIG.Common.cygwin-x86
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for win32-x86-cygwin target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.win32-x86-cygwin
|
||||
# Definitions for cygwin-x86 target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.cygwin-x86
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all Unix targets
|
||||
@@ -15,11 +15,20 @@ ARCH_CLASS = x86
|
||||
|
||||
EXE=.exe
|
||||
|
||||
COMPILER_CPPFLAGS = -D_REENTRANT
|
||||
|
||||
#POSIX_CPPFLAGS_YES = -D_POSIX_SOURCE=199506L -D_POSIX_THREADS -D_POSIX_TIMERS
|
||||
# _POSIX_SOURCE eliminates select()
|
||||
POSIX_CPPFLAGS_YES = -D_POSIX_THREADS -D_POSIX_TIMERS
|
||||
#POSIX_LDLIBS_YES += -lpthread
|
||||
POSIX_LDLIBS_YES += -lpthread
|
||||
|
||||
ARCH_DEP_CPPFLAGS += -D_X86_
|
||||
|
||||
OP_SYS_CPPFLAGS += -DCYGWIN32 -U_WIN32
|
||||
|
||||
# Set runtime path for shared libraries
|
||||
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-Wl,-rpath,%)
|
||||
|
||||
LDLIBS_READLINE = -lcygreadline5 -lcygcurses7
|
||||
|
||||
@@ -21,12 +21,12 @@ OP_SYS_CFLAGS = -D_HPUX_SOURCE
|
||||
OP_SYS_CXXFLAGS =
|
||||
|
||||
SHRLIB_SUFFIX = .sl$(addprefix .,$(SHRLIB_VERSION))
|
||||
LOADABLE_SHRLIB_SUFFIX = .sl
|
||||
LOADABLE_SHRLIB_SUFFIX = .sl$(addprefix .,$(LOADABLE_SHRLIB_VERSION))
|
||||
|
||||
# Set runtime path for shared libraries
|
||||
empty:= # trick from the make docs...
|
||||
space:= $(empty) $(empty)
|
||||
RUNTIME_LDFLAGS = -Wl,+b$(subst $(space),:,$(sort $(SHRLIB_SEARCH_DIRS))),+s
|
||||
RUNTIME_LDFLAGS = -Wl,+b$(subst $(space),:,$(sort $(SHRLIB_SEARCH_FULLPATHDIRS))),+s
|
||||
|
||||
ifeq ($(BUILD_CLASS),CROSS)
|
||||
GNU_TARGET=parisc-hp-unix
|
||||
|
||||
@@ -27,7 +27,7 @@ OP_SYS_LDLIBS += -lrt
|
||||
ARCH_DEP_CPPFLAGS += -D_X86_
|
||||
|
||||
# Set runtime path for shared libraries
|
||||
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_DIRS:%=-Wl,-rpath,%)
|
||||
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-Wl,-rpath,%)
|
||||
|
||||
ifeq ($(BUILD_CLASS),CROSS)
|
||||
ifeq ($(EPICS_HOST_ARCH),linux-x86)
|
||||
|
||||
@@ -13,22 +13,24 @@ include $(CONFIG)/os/CONFIG.Common.UnixCommon
|
||||
OS_CLASS = solaris
|
||||
ARCH_CLASS = sparc
|
||||
|
||||
CODE_CPPFLAGS = -D__EXTENSIONS__
|
||||
CODE_CPPFLAGS = -D__EXTENSIONS__
|
||||
|
||||
COMPILER_CPPFLAGS += -mt
|
||||
COMPILER_LDFLAGS += -mt
|
||||
|
||||
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
|
||||
|
||||
# Flags for solaris 6
|
||||
POSIX_CPPFLAGS_YES_6 += -D_REENTRANT
|
||||
|
||||
POSIX_CPPFLAGS_YES += -D_POSIX_C_SOURCE=199506L $(POSIX_CPPFLAGS_YES_$(SOLARIS_VERSION))
|
||||
POSIX_CPPFLAGS_YES += -D_XOPEN_SOURCE=500
|
||||
POSIX_LDLIBS_YES_6 += -lthread
|
||||
POSIX_LDLIBS_YES += -lposix4 -lpthread $(POSIX_LDLIBS_YES_$(SOLARIS_VERSION))
|
||||
|
||||
OP_SYS_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
|
||||
OP_SYS_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION) $(COMPILER_CPPFLAGS)
|
||||
OP_SYS_LDFLAGS += $(COMPILER_LDFLAGS)
|
||||
|
||||
# Set runtime path for shared libraries
|
||||
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_DIRS:%=-R%)
|
||||
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-R%)
|
||||
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(COMMANDLINE_LIBRARY))
|
||||
|
||||
|
||||
ifeq ($(BUILD_CLASS),CROSS)
|
||||
GNU_TARGET=sparc-sun-solaris2
|
||||
@@ -44,7 +46,7 @@ OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))
|
||||
# Definitions used when COMMANDLINE_LIBRARY is READLINE
|
||||
GNU_DIR = /opt/gnu
|
||||
INCLUDES_READLINE = -I$(GNU_DIR)/include
|
||||
LDFLAGS_READLINE += -R$(GNU_DIR)/lib
|
||||
RUNTIME_LDFLAGS_READLINE += -R$(GNU_DIR)/lib
|
||||
LDFLAGS_READLINE += -L$(GNU_DIR)/lib
|
||||
LDLIBS_READLINE = -lreadline -lcurses
|
||||
# Use archive if there is a problem with the readline shared library
|
||||
|
||||
@@ -11,7 +11,11 @@
|
||||
include $(CONFIG)/os/CONFIG.Common.solaris-sparc
|
||||
# CONFIG.Common.solaris-sparc
|
||||
|
||||
COMPILER_CPPFLAGS = -D_REENTRANT
|
||||
|
||||
OP_SYS_LDLIBS_8 = -lc
|
||||
OP_SYS_LDLIBS_9 = -lc
|
||||
|
||||
OP_SYS_LDFLAGS += -R$(GNU_LIB) -L$(GNU_LIB)
|
||||
RUNTIME_LDFLAGS += -R$(GNU_LIB)
|
||||
OP_SYS_LDFLAGS += -L$(GNU_LIB)
|
||||
|
||||
|
||||
@@ -15,21 +15,22 @@ ARCH_CLASS = x86
|
||||
|
||||
CODE_CPPFLAGS = -D__EXTENSIONS__
|
||||
|
||||
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
|
||||
COMPILER_CPPFLAGS += -mt
|
||||
COMPILER_LDFLAGS += -mt
|
||||
|
||||
# Flags for solaris 6
|
||||
POSIX_CPPFLAGS_YES_6 += -D_REENTRANT
|
||||
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
|
||||
|
||||
POSIX_CPPFLAGS_YES += -D_POSIX_C_SOURCE=199506L $(POSIX_CPPFLAGS_YES_$(SOLARIS_VERSION))
|
||||
POSIX_CPPFLAGS_YES += -D_XOPEN_SOURCE=500
|
||||
POSIX_LDLIBS_YES_6 += -lthread
|
||||
POSIX_LDLIBS_YES += -lposix4 -lpthread $(POSIX_LDLIBS_YES_$(SOLARIS_VERSION))
|
||||
|
||||
OP_SYS_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
|
||||
OP_SYS_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION) $(COMPILER_CPPFLAGS)
|
||||
OP_SYS_LDFLAGS += $(COMPILER_LDFLAGS)
|
||||
ARCH_DEP_CPPFLAGS = -D_X86_
|
||||
|
||||
# Set runtime path for shared libraries
|
||||
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_DIRS:%=-R%)
|
||||
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-R%)
|
||||
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(COMMANDLINE_LIBRARY))
|
||||
|
||||
ifeq ($(BUILD_CLASS),CROSS)
|
||||
GNU_TARGET=x86-sun-solaris2
|
||||
@@ -41,3 +42,13 @@ OP_SYS_LDLIBS += -lsocket -lnsl
|
||||
OP_SYS_LDLIBS_8 += -lCrun -lc -lCstd
|
||||
OP_SYS_LDLIBS_9 += -lCrun -lc -lCstd
|
||||
OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))
|
||||
|
||||
# Definitions used when COMMANDLINE_LIBRARY is READLINE
|
||||
GNU_DIR = /opt/gnu
|
||||
INCLUDES_READLINE = -I$(GNU_DIR)/include
|
||||
RUNTIME_LDFLAGS_READLINE += -R$(GNU_DIR)/lib
|
||||
LDFLAGS_READLINE += -L$(GNU_DIR)/lib
|
||||
LDLIBS_READLINE = -lreadline -lcurses
|
||||
# Use archive if there is a problem with the readline shared library
|
||||
#LDLIBS_READLINE = -Bstatic -lreadline -Bdynamic -lcurses
|
||||
|
||||
|
||||
@@ -10,3 +10,11 @@
|
||||
# Include definitions common to all solaris-x86 target archs
|
||||
include $(CONFIG)/os/CONFIG.Common.solaris-x86
|
||||
|
||||
COMPILER_CPPFLAGS = -D_REENTRANT
|
||||
|
||||
OP_SYS_LDLIBS_8 = -lc
|
||||
OP_SYS_LDLIBS_9 = -lc
|
||||
|
||||
RUNTIME_LDFLAGS += -R$(GNU_LIB)
|
||||
OP_SYS_LDFLAGS += -L$(GNU_LIB)
|
||||
|
||||
|
||||
@@ -19,3 +19,6 @@ ARCH_CLASS = 68k
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68040
|
||||
ARCH_DEP_CFLAGS = -m68040
|
||||
|
||||
OPT_CFLAGS_YES = -O0
|
||||
|
||||
GNU_TARGET = m68k-wrs-vxworks
|
||||
|
||||
@@ -18,3 +18,7 @@ ARCH_CLASS = 68k
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68LC040
|
||||
ARCH_DEP_CFLAGS = -m68040 -msoft-float
|
||||
|
||||
OPT_CFLAGS_YES = -O0
|
||||
|
||||
GNU_TARGET = m68k-wrs-vxworks
|
||||
|
||||
@@ -19,3 +19,6 @@ ARCH_CLASS = 68k
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68060
|
||||
ARCH_DEP_CFLAGS = -m68040
|
||||
|
||||
OPT_CFLAGS_YES = -O0
|
||||
|
||||
GNU_TARGET = m68k-wrs-vxworks
|
||||
|
||||
@@ -19,3 +19,4 @@ ARCH_CLASS = ppc
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC603
|
||||
ARCH_DEP_CFLAGS = -mcpu=603 -mstrict-align
|
||||
|
||||
GNU_TARGET = powerpc-wrs-vxworks
|
||||
|
||||
@@ -19,3 +19,4 @@ ARCH_CLASS = ppc
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC603
|
||||
ARCH_DEP_CFLAGS = -mcpu=603 -mstrict-align -mlongcall
|
||||
|
||||
GNU_TARGET = powerpc-wrs-vxworks
|
||||
|
||||
@@ -19,3 +19,4 @@ ARCH_CLASS = ppc
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC604
|
||||
ARCH_DEP_CFLAGS = -mcpu=604 -mstrict-align
|
||||
|
||||
GNU_TARGET = powerpc-wrs-vxworks
|
||||
|
||||
@@ -19,3 +19,4 @@ ARCH_CLASS = ppc
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC604
|
||||
ARCH_DEP_CFLAGS = -mcpu=604 -mstrict-align -mlongcall
|
||||
|
||||
GNU_TARGET = powerpc-wrs-vxworks
|
||||
|
||||
@@ -49,6 +49,7 @@ MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
||||
CTDT_SRCS = $(PRODNAME:%$(EXE)=%_ctdt.c)
|
||||
CTDT_OBJS = $(PRODNAME:%$(EXE)=%_ctdt$(OBJ))
|
||||
NMS = $(PRODNAME:%$(EXE)=%.nm)
|
||||
MUNCH_DEPENDS = %_ctdt$(OBJ)
|
||||
|
||||
#-------------------------------------------------------
|
||||
# R3.13 compatability object library definitions
|
||||
@@ -136,7 +137,7 @@ COMPILE.ctdt = $(CC) -c $(CPPFLAGS) $(CFLAGS_ctdt) $(call PATH_FILTER,$(INCLUDES
|
||||
|
||||
#--------------------------------------------------
|
||||
# C preprocessor command
|
||||
VXCPPFLAGS = $(filterout $(OP_SYS_INCLUDE_CPPFLAGS),$(CPPFLAGS))
|
||||
VXCPPFLAGS = $(filter-out $(OP_SYS_INCLUDE_CPPFLAGS),$(CPPFLAGS))
|
||||
PREPROCESS.cpp = $(CPP) $(VXCPPFLAGS) $(INCLUDES) $< > $@
|
||||
|
||||
#--------------------------------------------------
|
||||
|
||||
@@ -17,6 +17,6 @@ AR = ar
|
||||
ARFLAGS = rcv
|
||||
RANLIB = ranlib -t
|
||||
|
||||
SHRLIB_LDFLAGS = -shared
|
||||
LOADABLE_SHRLIB_LDFLAGS = -shared
|
||||
SHRLIB_LDFLAGS = -shared -fPIC
|
||||
LOADABLE_SHRLIB_LDFLAGS = -shared -fPIC
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# CONFIG.win32-x86-cygwin.Common
|
||||
# CONFIG.cygwin-x86.Common
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for win32-x86-cygwin host archs
|
||||
# Sites may override these definitions in CONFIG_SITE.win32-x86-cygwin.Common
|
||||
# Definitions for cygwin-x86 host archs
|
||||
# Sites may override these definitions in CONFIG_SITE.cygwin-x86.Common
|
||||
#-------------------------------------------------------
|
||||
|
||||
#Include definitions common to unix hosts
|
||||
@@ -15,3 +15,7 @@ OSITHREAD_USE_DEFAULT_STACK = NO
|
||||
|
||||
HOSTEXE=.exe
|
||||
|
||||
# Needed to find dlls for base installed build tools (antelope,eflex,...)
|
||||
PATH := $(EPICS_BASE_TOOLS_BIN):$(PATH)
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# CONFIG.win32-x86-cygwin.win32-x86-cygwin
|
||||
# CONFIG.cygwin-x86.cygwin-x86
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Definitions for win32-x86-cygwin host - win32-x86-cygwin target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin
|
||||
# Definitions for cygwin-x86 host - cygwin-x86 target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.cygwin-x86.cygwin-x86
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include common gnu compiler definitions
|
||||
@@ -18,7 +18,7 @@ CCC = $(GNU_BIN)/c++
|
||||
# Darwin shared libraries
|
||||
#
|
||||
SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined suppress \
|
||||
-install_name $(firstword $(SHRLIB_SEARCH_DIRS))/$@ \
|
||||
-install_name $(firstword $(SHRLIB_SEARCH_FULLPATHDIRS))/$@ \
|
||||
-compatibility_version $(EPICS_VERSION).$(EPICS_REVISION) \
|
||||
-current_version $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)
|
||||
SHRLIB_SUFFIX = .$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION).dylib
|
||||
|
||||
@@ -19,6 +19,6 @@ STATIC_LDFLAGS_NO=
|
||||
STATIC_LDLIBS_YES= -Wl,-Bdynamic
|
||||
STATIC_LDLIBS_NO=
|
||||
|
||||
SHRLIB_LDFLAGS += -shared -z defs
|
||||
LOADABLE_SHRLIB_LDFLAGS = -shared
|
||||
SHRLIB_LDFLAGS += -shared -fPIC
|
||||
LOADABLE_SHRLIB_LDFLAGS = -shared -fPIC
|
||||
|
||||
|
||||
@@ -23,8 +23,8 @@ STATIC_LDFLAGS_NO=
|
||||
STATIC_LDLIBS_YES= -Wl,-Bdynamic
|
||||
STATIC_LDLIBS_NO=
|
||||
|
||||
SHRLIB_LDFLAGS += -G -h $@ -z ignore -z defs
|
||||
LOADABLE_SHRLIB_LDFLAGS += -G -h $@
|
||||
SHRLIB_LDFLAGS += -shared -fPIC -h $@
|
||||
LOADABLE_SHRLIB_LDFLAGS += -shared -fPIC -h $@
|
||||
|
||||
OP_SYS_LDFLAGS += -z ignore -z combreloc -z lazyload
|
||||
|
||||
|
||||
@@ -11,11 +11,11 @@ SPARCWORKS = /opt/SUNWspro
|
||||
|
||||
CC = $(SPARCWORKS)/bin/cc
|
||||
CCC = $(SPARCWORKS)/bin/CC
|
||||
CPP = $(CC) -E -Qn
|
||||
RANLIB =
|
||||
# required by sun's C++ compiler
|
||||
AR = $(CCC) -xar -o
|
||||
LD = ld -r
|
||||
CPP = gcc -x c -E
|
||||
RANLIB =
|
||||
|
||||
#Prepare the object code for profiling with prof. (YES or NO)
|
||||
PROFILE=NO
|
||||
|
||||
@@ -18,8 +18,8 @@ AR = ar -rc
|
||||
RANLIB=
|
||||
LD = ld -r
|
||||
|
||||
SHRLIB_LDFLAGS = -z defs -G -h $@
|
||||
LOADABLE_SHRLIB_LDFLAGS += -G -h $@
|
||||
SHRLIB_LDFLAGS += -shared -fPIC -h $@ -z defs
|
||||
LOADABLE_SHRLIB_LDFLAGS += -shared -fPIC -h $@
|
||||
|
||||
OP_SYS_LDFLAGS = -z ignore -z combreloc -z lazyload
|
||||
OP_SYS_LDFLAGS += -z ignore -z combreloc -z lazyload
|
||||
|
||||
|
||||
@@ -7,14 +7,11 @@
|
||||
# Sites may override these definitions in CONFIG_SITE.solaris-x86.solaris-x86
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all Unix target archs
|
||||
include $(CONFIG)/os/CONFIG.Common.UnixCommon
|
||||
|
||||
SPARCWORKS = /opt/SUNWspro
|
||||
|
||||
CC = $(SPARCWORKS)/bin/cc
|
||||
CCC = $(SPARCWORKS)/bin/CC
|
||||
CPP = $(CC) -E
|
||||
CPP = $(CC) -E -Qn
|
||||
RANLIB =
|
||||
# required by sun's C++ compiler
|
||||
AR = $(CCC) -xar -o
|
||||
@@ -22,6 +19,8 @@ LD = ld -r
|
||||
|
||||
#Prepare the object code for profiling with prof. (YES or NO)
|
||||
PROFILE=NO
|
||||
#Prepare the object code for profiling with gprof. (YES or NO)
|
||||
GPROF=NO
|
||||
|
||||
# Configure OS vendor C compiler
|
||||
CONFORM_CFLAGS_ANSI = -Xa -v
|
||||
@@ -36,8 +35,8 @@ OPT_CFLAGS_YES = -xO4
|
||||
OPT_CFLAGS_NO = -g
|
||||
|
||||
# Configure OS vendor C++ compiler
|
||||
CONFORM_CXXFLAGS_NORMAL =
|
||||
CONFORM_CXXFLAGS_STRICT =
|
||||
CONFORM_CXXFLAGS_NORMAL =
|
||||
CONFORM_CXXFLAGS_STRICT =
|
||||
PROF_CXXFLAGS_YES = -p
|
||||
GPROF_CXXFLAGS_YES = -xpg
|
||||
CODE_CXXFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
|
||||
@@ -46,13 +45,16 @@ WARN_CXXFLAGS_NO =
|
||||
OPT_CXXFLAGS_YES = -O
|
||||
OPT_CXXFLAGS_NO = -g
|
||||
|
||||
CODE_LDFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
|
||||
|
||||
STATIC_LDFLAGS_YES= -Bstatic
|
||||
STATIC_LDFLAGS_NO=
|
||||
STATIC_LDLIBS_YES= -Bdynamic
|
||||
STATIC_LDLIBS_NO=
|
||||
|
||||
SHRLIB_LDFLAGS = -z defs -KPIC -G -h $@
|
||||
LOADABLE_SHRLIB_LDFLAGS = -KPIC -G -h $@
|
||||
SHRLIB_CFLAGS = -KPIC
|
||||
SHRLIB_LDFLAGS += -z defs -G -h $@ -z text
|
||||
LOADABLE_SHRLIB_LDFLAGS += -G -h $@ -z text
|
||||
|
||||
OP_SYS_LDFLAGS = -z ignore -z combreloc -z lazyload
|
||||
OP_SYS_LDFLAGS += -z ignore -z combreloc -z lazyload
|
||||
|
||||
|
||||
@@ -25,3 +25,6 @@ ifndef HOME
|
||||
HOME = $(HOMEDRIVE)$(HOMEPATH)
|
||||
endif
|
||||
|
||||
# Needed to find dlls for base installed build tools (antelope,eflex,...)
|
||||
PATH := $(EPICS_BASE_TOOLS_BIN):$(PATH)
|
||||
|
||||
|
||||
@@ -25,3 +25,6 @@ ifndef HOME
|
||||
HOME = $(HOMEDRIVE)$(HOMEPATH)
|
||||
endif
|
||||
|
||||
# Needed to find dlls for base installed build tools (antelope,eflex,...)
|
||||
PATH := $(EPICS_BASE_TOOLS_BIN):$(PATH)
|
||||
|
||||
|
||||
@@ -91,9 +91,9 @@ STATIC_CFLAGS_YES= /MT$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL)
|
||||
STATIC_CFLAGS_NO= /MD$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL)
|
||||
|
||||
# OS vendor c preprocessor
|
||||
#CPP = cl /E
|
||||
CPP = cl /C /E
|
||||
#GNU c preprocessor
|
||||
CPP = gcc -x c -E
|
||||
#CPP = gcc -x c -E
|
||||
|
||||
# Configure OS vendor C++ compiler
|
||||
#
|
||||
@@ -215,7 +215,7 @@ DLL_DEF_FLAG = $(addprefix /def:,$(wildcard ../$(addsuffix .def,$*)))
|
||||
#
|
||||
LINK.shrlib = $(WINLINK) /nologo $(WIN32_DLLFLAGS) /implib:$*.lib /out:$*.dll $(DLL_DEF_FLAG)
|
||||
LINK.shrlib += $(LIBRARY_LD_OBJS) $(LIBRARY_LD_RESS) $(SHRLIB_LDLIBS)
|
||||
LDCMD = $(CCC) /Fo $@ $^
|
||||
MUNCH_CMD = $(CCC) /Fo $@ $^
|
||||
|
||||
|
||||
# adjust names of libraries to build
|
||||
|
||||
@@ -16,7 +16,7 @@ ARCH_Darwin = darwin-ppc
|
||||
ARCH_WIN32 = win32-x86
|
||||
ARCH_hp700 = hpux-parisc
|
||||
ARCH_alpha = osf-alpha
|
||||
ARCH_cygwin32 = win32-x86-cygwin
|
||||
ARCH_cygwin32 = cygwin-x86
|
||||
ARCH_Borland = win32-x86-borland
|
||||
|
||||
ifndef EPICS_HOST_ARCH
|
||||
|
||||
14
configure/os/CONFIG_SITE.Common.RTEMS
Normal file
14
configure/os/CONFIG_SITE.Common.RTEMS
Normal file
@@ -0,0 +1,14 @@
|
||||
#
|
||||
# Site-specific information for all RTEMS targets
|
||||
#
|
||||
|
||||
#
|
||||
# If you're not using BOOTP/DHCP to pick up your IOC network configuration
|
||||
# you may need to specify your Internet Domain Name here
|
||||
#
|
||||
OP_SYS_CFLAGS += -DRTEMS_NETWORK_CONFIG_DNS_DOMAINNAME=aps.anl.gov
|
||||
|
||||
#
|
||||
# Specify your desired command-line-input library
|
||||
#
|
||||
EPICSCOMMANDLINE_LIBRARY = READLINE
|
||||
@@ -9,5 +9,5 @@
|
||||
#
|
||||
# Other local options
|
||||
#
|
||||
#OP_SYS_CFLAGS += -g
|
||||
OP_SYS_CFLAGS += -g
|
||||
#COMMANDLINE_LIBRARY = READLINE
|
||||
|
||||
@@ -20,3 +20,4 @@
|
||||
# If readline is not installed comment the following line
|
||||
# to omit command-line editing and history support
|
||||
COMMANDLINE_LIBRARY = READLINE
|
||||
OP_SYS_CFLAGS += -g
|
||||
|
||||
@@ -8,5 +8,4 @@
|
||||
# If readline is installed uncomment the following macro definition
|
||||
# to include command-line editing and history support
|
||||
#
|
||||
#COMMANDLINE_LIBRARY = READLINE
|
||||
|
||||
COMMANDLINE_LIBRARY = READLINE
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# CONFIG_SITE.win32-x86-cygwin.Common
|
||||
# CONFIG_SITE.cygwin-x86.Common
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Site override definitions for win32-x86-cygwin host builds
|
||||
# Site override definitions for cygwin-x86 host builds
|
||||
#-------------------------------------------------------
|
||||
|
||||
CROSS_COMPILER_TARGET_ARCHS =
|
||||
@@ -1,9 +1,9 @@
|
||||
# CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin
|
||||
# CONFIG_SITE.cygwin-x86.cygwin-x86
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Site override definitions for win32-x86-cygwin host - win32-x86-cygwin target builds
|
||||
# Site override definitions for cygwin-x86 host - cygwin-x86 target builds
|
||||
#-------------------------------------------------------
|
||||
|
||||
##GNU_DIR=C:/cygwin
|
||||
@@ -9,3 +9,5 @@
|
||||
# JBA test override values
|
||||
#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040 solaris-sparc
|
||||
#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040
|
||||
#CROSS_COMPILER_TARGET_ARCHS = RTEMS-mvme2100
|
||||
|
||||
|
||||
@@ -7,3 +7,4 @@
|
||||
|
||||
#INSTALL_LOCATION = /home/phoebus/JBA/testBaseNew
|
||||
|
||||
#CROSS_COMPILER_TARGET_ARCHS += vxWorks-ppc604 vxWorks-ppc603 vxWorks-68040
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
|
||||
#Prepares the object code to collect data for profiling with prof.
|
||||
#PROFILE=YES
|
||||
|
||||
#Compiles for profiling with the gprof profiler.
|
||||
#GPROF=YES
|
||||
|
||||
# Removes -O optimization and adds -g compile option
|
||||
HOST_OPT=NO
|
||||
@@ -15,7 +15,7 @@ eval 'exec perl -S $0 ${1+"$@"}' # -*- Mode: perl -*-
|
||||
# Parse configure/RELEASE file(s) and generate a derived output file.
|
||||
#
|
||||
|
||||
use Cwd;
|
||||
use Cwd qw(cwd abs_path);
|
||||
use Getopt::Std;
|
||||
|
||||
$cwd = cwd();
|
||||
@@ -72,7 +72,7 @@ $outfile = $ARGV[0];
|
||||
|
||||
# Read the RELEASE file(s)
|
||||
$relfile = "$top/configure/RELEASE";
|
||||
die "Can't find configure/RELEASE file" unless (-r $relfile);
|
||||
die "Can't find $relfile" unless (-f $relfile);
|
||||
&readReleaseFiles($relfile, \%macros, \@apps);
|
||||
&expandRelease(\%macros, \@apps);
|
||||
|
||||
@@ -200,8 +200,6 @@ sub configAppInclude {
|
||||
# We can't just include TOP in the foreach list:
|
||||
# 1. The lib directory probably doesn't exist yet, and
|
||||
# 2. We need an abolute path but $(TOP_LIB) is relative
|
||||
$path = $macros{"TOP"};
|
||||
print OUT "SHRLIB_SEARCH_DIRS = $path/lib/$arch\n";
|
||||
foreach $app (@includes) {
|
||||
$path = $macros{$app};
|
||||
next unless (-d "$path/lib/$arch");
|
||||
@@ -233,7 +231,8 @@ sub rulesInclude {
|
||||
foreach $app (@includes) {
|
||||
$path = $macros{$app};
|
||||
next unless (-r "$path/configure/RULES_BUILD");
|
||||
print OUT "-include \$(strip \$($app))/configure/RULES_BUILD\n";
|
||||
print OUT "RULES_TOP:=\$($app)\n";
|
||||
print OUT "-include \$(strip \$(RULES_TOP))/configure/RULES_BUILD\n";
|
||||
}
|
||||
close OUT;
|
||||
}
|
||||
@@ -302,7 +301,8 @@ sub checkRelease {
|
||||
delete $check{TOP};
|
||||
|
||||
while (($parent, $ppath) = each %check) {
|
||||
if (exists $macros{$parent} && ($macros{$parent} ne $ppath)) {
|
||||
if (exists $macros{$parent} &&
|
||||
abs_path($macros{$parent}) ne abs_path($ppath)) {
|
||||
print "\n" unless ($status);
|
||||
print "Definition of $parent conflicts with $app support.\n";
|
||||
print "In this application configure/RELEASE defines\n";
|
||||
|
||||
21
configure/tools/cvsclean.pl
Executable file
21
configure/tools/cvsclean.pl
Executable file
@@ -0,0 +1,21 @@
|
||||
eval 'exec perl -S $0 ${1+"$@"}' # -*- Mode: perl -*-
|
||||
if $running_under_some_shell; # cvsclean.pl
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# This file is distributed subject to a Software License Agreement found
|
||||
# in the file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
|
||||
# $Id$
|
||||
#
|
||||
# Find and delete cvs .#* files in all dirs of directory tree
|
||||
|
||||
use File::Find;
|
||||
|
||||
@ARGV = ('.') unless @ARGV;
|
||||
|
||||
find sub { unlink if -f && m/^\.\#/ }, @ARGV;
|
||||
|
||||
@@ -20,10 +20,14 @@ foreach( @files ) {
|
||||
open(INPUT, "<$_");
|
||||
$backup = "$_.bak";
|
||||
rename( $_, $backup) || die "Unable to rename $_\n$!\n";
|
||||
# Make the output be binary so it won't convert /n back to /r/n
|
||||
binmode OUTPUT, ":raw";
|
||||
open(OUTPUT, ">$_");
|
||||
binmode OUTPUT, ":raw";
|
||||
while(<INPUT>) {
|
||||
s/\r\n/\n/;
|
||||
print OUTPUT;
|
||||
# Remove CR-LF sequences
|
||||
s/\r\n/\n/;
|
||||
print OUTPUT;
|
||||
}
|
||||
close INPUT;
|
||||
close OUTPUT;
|
||||
|
||||
10
configure/tools/fullPathName.pl
Executable file
10
configure/tools/fullPathName.pl
Executable file
@@ -0,0 +1,10 @@
|
||||
eval 'exec perl -S -w $0 ${1+"$@"}' # -*- Mode: perl -*-
|
||||
if 0;
|
||||
|
||||
use Cwd 'abs_path';
|
||||
my $dir;
|
||||
if( $ARGV[0] )
|
||||
{
|
||||
$dir = abs_path("$ARGV[0]");
|
||||
print "$dir\n";
|
||||
}
|
||||
43
configure/tools/makeIncludeDbd.pl
Normal file
43
configure/tools/makeIncludeDbd.pl
Normal file
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/perl
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
|
||||
use File::Basename;
|
||||
|
||||
sub Usage
|
||||
{
|
||||
my ($txt) = @_;
|
||||
|
||||
print "Usage:\n";
|
||||
print "\tmakeIncludeDbd.pl infile1 [ infile2 infile3 ...] outfile\n";
|
||||
print "\nError: $txt\n" if $txt;
|
||||
|
||||
exit 2;
|
||||
}
|
||||
|
||||
# need at least two args: ARGV[0] and ARGV[1]
|
||||
Usage("\"makeIncludeDbd.pl @ARGV\": No input files specified") if $#ARGV < 1;
|
||||
|
||||
$target=$ARGV[$#ARGV];
|
||||
@sources=@ARGV[0..$#ARGV-1];
|
||||
|
||||
open(OUT, "> $target") or die "Cannot create $target\n";;
|
||||
foreach $file ( @sources )
|
||||
{
|
||||
$base=basename($file);
|
||||
print OUT "include \"$base\"\n";
|
||||
}
|
||||
|
||||
close OUT;
|
||||
|
||||
# EOF makeIncludeDbd.pl
|
||||
|
||||
@@ -28,6 +28,12 @@ applications subject to the following restrictions:</p>
|
||||
Ultimately applications should be converted to use the new configure rules so
|
||||
that the OSI features are available.
|
||||
|
||||
<h3>Prerequisite for building R3.13 applications</h3>
|
||||
<p>The macro COMPAT_313 must be set to YES in base/configure/CONFIG_SITE
|
||||
before the base build. This will install vxWorks object files and perl
|
||||
scripts needed for building R3.13 ioc applications.
|
||||
</p>
|
||||
|
||||
<h3><b>Gnumake clean uninstall</b></h3>
|
||||
|
||||
<p>At the top of the application execute:</p>
|
||||
|
||||
@@ -17,12 +17,28 @@ EPICS R3.13 extensions have both a Makefile and a Makefile.Host in the build
|
||||
directories and the EPICS R3.13 extension tree has an extensions/config
|
||||
directory.</p>
|
||||
|
||||
<h3>Prerequisite for building R3.13 extensions</h3>
|
||||
|
||||
<blockquote>
|
||||
<ul>
|
||||
<li>The macro COMPAT_TOOLS_313 must be set to YES in base/configure/CONFIG_SITE
|
||||
before the base build. If it was not set, set it to YES and then do a gmake
|
||||
in the base/config/tools directory. This will install some perl scripts needed
|
||||
for building R3.13 extensions.
|
||||
</li>
|
||||
</ul>
|
||||
</blockquote>
|
||||
|
||||
<h3>Preliminary steps for all extensions</h3>
|
||||
|
||||
<blockquote>
|
||||
<ul>
|
||||
<li>Download the latest version of the extensions/config files,
|
||||
extensionsConfig.tar.gz, from the APS EPICS www page.</li>
|
||||
The extensions directory can have both the base/config (for extensions with
|
||||
R3.13 makefiles) and base/configure (for extensions with R3.14 makefiles)
|
||||
directories.
|
||||
</li>
|
||||
<li>Make certain that you have set the HOST_ARCH environment
|
||||
variable.</li>
|
||||
<li>Set EPICS_BASE in extensions/config/RELEASE to the full path location
|
||||
|
||||
@@ -10,12 +10,12 @@
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>Converting an EPICS R3.13 application to R3.14.4</h2>
|
||||
<h2>Converting an EPICS R3.13 application to R3.14</h2>
|
||||
</center>
|
||||
|
||||
<p><br>
|
||||
This document describes how to convert a R3.13 vxWorks application so that it
|
||||
builds with release R3.14.4. It describes procedures such that:</p>
|
||||
builds with release R3.14. It describes procedures such that:</p>
|
||||
<ul>
|
||||
<li>The application uses the configure rules which are new to R3.14.</li>
|
||||
</ul>
|
||||
@@ -50,7 +50,7 @@ If sequence programs (*.st or *.stt files) exist in your application, add the
|
||||
SNCSEQ location definition for the R3.14 seq external module</p>
|
||||
|
||||
<p><tt>SNCSEQ =<full path to seq module top></tt></p>
|
||||
The R3.14 seq module must exist and be built with EPICS base R3.14.4
|
||||
The R3.14 seq module must exist and be built with the same EPICS base R3.14 release.
|
||||
|
||||
<h3>Modify the Makefiles in <top>/*App directories.</h3>
|
||||
|
||||
@@ -300,10 +300,14 @@ function("mySubProcess")</pre>
|
||||
<p>Change " i<tt>nclude $(TOP)/config/CONFIG_APP" </tt>to "<tt>include
|
||||
$(TOP)/configure/CONFIG"</tt></p>
|
||||
|
||||
<p>Remove the line "<tt>DIRS += $(wildcard *ioc*"</tt></p>
|
||||
<p>If they do not already exist, add the lines
|
||||
<blockquote>
|
||||
<p><tt>DIRS += $(wildcard *ioc*)</tt></p>
|
||||
<p><tt>DIRS += $(wildcard as*)</tt></p>
|
||||
</blockquote>
|
||||
|
||||
<p>Change <tt>"include $(TOP)/config/RULES.iocBoot" </tt>to "i<tt>nclude
|
||||
$(TOP)/configure/RULES.iocBoot"</tt></p>
|
||||
$(TOP)/configure/RULES_DIRS"</tt></p>
|
||||
|
||||
<h3>Modify the Makefiles in <top>/iocBoot/ioc* directories.</h3>
|
||||
|
||||
|
||||
45
documentation/ConvertingR3.14.6AppsToR3.14.7.html
Normal file
45
documentation/ConvertingR3.14.6AppsToR3.14.7.html
Normal file
@@ -0,0 +1,45 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="jba">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>Converting an EPICS R3.14.6 application to R3.14.7</h2>
|
||||
</center>
|
||||
|
||||
<p>This document describes how to convert a R3.14.6 application so that it
|
||||
builds with release R3.14.7.</p>
|
||||
|
||||
|
||||
<h3>State Notation Compiler flags</h3>
|
||||
|
||||
<blockquote>
|
||||
To make the run-time code reentrant, thus allowing more than one
|
||||
instance of the state program to run on an IOC add the line
|
||||
<pre><name>_SNCFLAGS += +r"</pre> to the Makefile, replacing <name> with the
|
||||
state notation language code file name.
|
||||
</blockquote>
|
||||
|
||||
<h3>epicsExit</h3>
|
||||
<blockquote>
|
||||
Code that calls exit or atexit should change these calls to epicsExit
|
||||
and epicsAtExit. epicsAtExit was created because of problems on
|
||||
vxWorks and windows with the implementation of atexit,
|
||||
i.e. neither of these systems implements exit and atexit according to the POSIX standard.
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
Add the following lines
|
||||
<blockquote>
|
||||
<pre>
|
||||
#include "epicsExit.h"
|
||||
epicsExit(0);
|
||||
</pre>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
@@ -4,23 +4,14 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>No title</title>
|
||||
<title>Known Problems R3.14.x</title>
|
||||
<meta name="GENERATOR" content="amaya 5.1" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1 style="text-align: center">EPICS base R3.14.4: Known Problems</h1>
|
||||
<h1 style="text-align: center">EPICS Base R3.14.7: Known Problems</h1>
|
||||
|
||||
<h3>Known Bugs R3.14.4</h3>
|
||||
|
||||
<h4>exampleApp sequencer</h4>
|
||||
<p>The following must be added to exampleInclude.dbd</p>
|
||||
</pre>registrar(sncExampleRegistrar)</pre>
|
||||
<h4>mbboRecord</h4>
|
||||
<p>
|
||||
If a database link is made to an mbbo record with a request type of DBR_STRING then the DBR_STRING value is the numeric value of the VAL field converted to a string. It should be the appropriate choice string indexed by the VAL field.
|
||||
An example is the DOL link of a stringout record linked to an mbbo record.
|
||||
This bug has been in all releases since 3.13.6<p>
|
||||
<p>None yet.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -4,7 +4,7 @@ README.1st
|
||||
|
||||
EPICS base
|
||||
|
||||
Release 3.14.4
|
||||
Release 3.14.*
|
||||
|
||||
What is EPICS base?
|
||||
|
||||
@@ -20,10 +20,8 @@ What is EPICS base?
|
||||
|
||||
What is new in this release?
|
||||
|
||||
This version of EPICS base contains significant changes and offers
|
||||
major improvements in functionality over previous versions. Please
|
||||
check the RELEASE_NOTES file in the distribution for description of
|
||||
changes and release migration details.
|
||||
Please check the RELEASE_NOTES file in the distribution for description
|
||||
of changes and release migration details.
|
||||
|
||||
Copyright
|
||||
|
||||
@@ -35,7 +33,7 @@ Supported platforms
|
||||
Currently this version of EPICS base has been built on the following
|
||||
hosts for the following targets. If you are trying to build EPICS base on a
|
||||
different host or for a different target machine you must get the proper
|
||||
host/target cross compiler and header files and you will have to create
|
||||
host/target cross compiler and header files, and you will have to create
|
||||
and add the appropriate new configure files to the
|
||||
base/configure/os/directory. You can start by copying existing
|
||||
configuration files in the configure/os directory and then make changes
|
||||
@@ -44,26 +42,36 @@ Supported platforms
|
||||
Host platforms (operating system - architecture - <alternate c++
|
||||
compiler>)
|
||||
|
||||
aix-ppc
|
||||
aix-ppc-gnu
|
||||
cygwin-x86
|
||||
darwin-ppc (Mac OS X)
|
||||
hpux-parisc
|
||||
hpux-parisc-gnu
|
||||
linux-mpc82xx
|
||||
linux-x86
|
||||
lynxos-x86
|
||||
osf-alpha
|
||||
linux-x86-borland
|
||||
solaris-sparc
|
||||
solaris-sparc-gnu
|
||||
solaris-x86
|
||||
solaris-x86-gnu
|
||||
sun4-x86
|
||||
win32-x86
|
||||
win32-x86-borland
|
||||
|
||||
Debugging builds
|
||||
linux-x86-debug (GNU compiler with -g option for host builds)
|
||||
solaris-sparc-debug (sun compiler with -g option for host builds)
|
||||
win32-x86-debug (MS Visual C++ with debug option for host builds)
|
||||
|
||||
Cross compile target platforms (operating system - architecture)
|
||||
|
||||
linux-386 (linux-x86 host)
|
||||
linux-486 (linux-x86 host)
|
||||
linux-586 (linux-x86 host)
|
||||
linux-686 (linux-x86 host)
|
||||
linux-athlon (linux-x86 host)
|
||||
vxWorks-486
|
||||
vxWorks-68040
|
||||
vxWorks-68040-debug
|
||||
vxWorks-68040lc
|
||||
vxWorks-68060
|
||||
vxWorks-pentium
|
||||
@@ -71,7 +79,6 @@ Supported platforms
|
||||
vxWorks-ppc603_long
|
||||
vxWorks-ppc604
|
||||
vxWorks-ppc604_long
|
||||
vxWorks-pentium
|
||||
RTEMS-gen68360
|
||||
RTEMS-mcp750
|
||||
RTEMS-mvme167
|
||||
@@ -85,10 +92,8 @@ Supported compilers
|
||||
vendor's C and C++ compilers as well as the GNU gcc and g++
|
||||
compilers. The GNU cross-compilers have been used for all
|
||||
cross-compiled targets. You may need the host vendor's C++ compiler
|
||||
in your search path to do EPICS builds. Check definitions of ACC and
|
||||
CCC in base/configure/os/CONFIG.<host>.<host> or the definitions
|
||||
for GCC and G++ if ANSI=GCC and CPLUSPLUS=GCC are specified
|
||||
in CONFIG_SITE.
|
||||
in your search path to do EPICS builds. Check definitions of CC and
|
||||
CCC in base/configure/os/CONFIG.<host>.<host>.
|
||||
|
||||
Software requirements
|
||||
|
||||
@@ -114,14 +119,22 @@ Software requirements
|
||||
more board support packages. Consult the vxWorks documentation for
|
||||
details.
|
||||
|
||||
Optional GNU compiler requirement for solaris-sparc and win32-x86 hosts
|
||||
If you have state notation language source files (*.st files) which require
|
||||
c preprocessing before conversion to c source, gcc must be in your path.
|
||||
GNU readline or Tecla library
|
||||
GNU readline and Tecla librararies can be used by the IOC shell to
|
||||
provide command line editing and command line history recall and edit.
|
||||
GNU readline (or Tecla library) must be installed on your target system
|
||||
when COMMANDLINE_LIBRARY is set to READLINE (or TECLA) for that target.
|
||||
EPICS (EPICS shell) is the default specified in CONFIG_COMMON. A READLINE
|
||||
override is defined for linux-x86 in the EPICS distribution. Comment out
|
||||
COMMANDLINE_LIBRARY=READLINE in configure/os/CONFIG_SITE.Common.linux-x86
|
||||
if readline is not installed on linux-x86. Command-line editing and
|
||||
history will then be those supplied by the os. On vxWorks the ledLib
|
||||
command-line input libraries are used.
|
||||
|
||||
Host system storage requirements
|
||||
|
||||
The GNU zipped tar file is approximately 1.4 MB in size. The unzipped
|
||||
untarred distribution source tree is approximately 6 MB. The build
|
||||
untarred distribution source tree is approximately 7.3 MB. The build
|
||||
created files for each host take approximately 40 MB and the build
|
||||
created files for each target take approximately 10 MB.
|
||||
|
||||
@@ -145,17 +158,17 @@ WWW pages
|
||||
Additional information on EPICS can be found at the
|
||||
various other WWW links on the EPICS home page at APS.
|
||||
|
||||
Mailing Lists
|
||||
Mailing List
|
||||
|
||||
There is an EPICS mailing list called tech-talk which is hosted at
|
||||
APS, with a list repeater at BESSY. See The EPICS home page for
|
||||
APS, with a list repeater at BESSY. See the EPICS home page for
|
||||
subscription instructions.
|
||||
|
||||
Directory Structure
|
||||
|
||||
Distribution directory structure:
|
||||
|
||||
base Root directory of the base istribution
|
||||
base Root directory of the base distribution
|
||||
base/config R3.13 compatibility build configuration files
|
||||
base/config/tools Perl and shell scripts used in the R3.13 build
|
||||
base/configure Operating system independent build config files
|
||||
@@ -168,11 +181,13 @@ Directory Structure
|
||||
base/src/bpt Break point table
|
||||
base/src/ca Channel access
|
||||
base/src/cas Channel access server library and examples
|
||||
base/src/catools Channel access tools caget,cainfo,camonitor,caput
|
||||
base/src/db Database access
|
||||
base/src/db/test Database access tests
|
||||
base/src/dbStatic Static database access
|
||||
base/src/dbtools Database dbLoadTemplate tools
|
||||
base/src/dev Device support (softDev and testDev)
|
||||
base/src/excas Example channel access server
|
||||
base/src/gdd General data descriptor
|
||||
base/src/iocsh Ioc shell command interpreter
|
||||
base/src/libCom General purpose library code in subdirectories
|
||||
@@ -195,17 +210,16 @@ Directory Structure
|
||||
base/src/libCom/osi/os Operating system dependant code in subdirectories
|
||||
base/src/libCom/ring Methods for creating and using ring buffers
|
||||
base/src/libCom/taskwd Task watchdog
|
||||
base/src/libCom/test Test tools (timer, semBinary, semMutex,fdmgr, ?)
|
||||
base/src/libCom/test Test tools (timer, semBinary, semMutex,fdmgr,...)
|
||||
base/src/libCom/timer Timer
|
||||
base/src/libCom/tsDefs R3.13 time stamp definitions and routines
|
||||
base/src/libCom/ring ringPointer: First in first out circular buffers
|
||||
base/src/libCom/cppStd epicsList: Lists of pointers to objects
|
||||
base/src/makeBaseApp Perl tool+templates to create ioc app dvl tree
|
||||
base/src/makeBaseExt Perl tool+templates to create extension dvl tree
|
||||
base/src/misc Miscellaneous (coreRelease, iocInit, asSub*)
|
||||
base/src/rec Record support
|
||||
base/src/registry EPICS support function registry
|
||||
base/src/rsrv Channel access ioc resource server library
|
||||
base/src/softIoc Example softIoc
|
||||
base/src/toolsComm Code for the build tools antelope and e_flex
|
||||
base/src/util Utilities (ca_test, iocLogServer, startCArepeater)
|
||||
base/src/vxWorks R3.13 compatibility code specific to vxWorks
|
||||
@@ -226,26 +240,31 @@ Directory Structure
|
||||
Build related components
|
||||
|
||||
base/documentation/README* files
|
||||
|
||||
README.1st Instructions for setup and building epics base
|
||||
README.html (html version of README.1st)
|
||||
README.html html version of README.1st
|
||||
README.WIN32 Microsoft WIN32 specific instructions
|
||||
README.cxxTemplates Information about C++ templates in EPICS base
|
||||
README.niCpu030 NI cpu030 specific instructions
|
||||
README.darwin Installation notes for Mac OS X (Darwin)
|
||||
RELEASE_NOTES.html Notes on release changes.
|
||||
KnownProblems.html List of know problems and workarounds.
|
||||
Converting*To*.html Release specific conversion instructions.
|
||||
Building*With*.html Release specific build instructions.
|
||||
RELEASE_NOTES.html Notes on release changes
|
||||
KnownProblems.html List of known problems and workarounds
|
||||
Converting*To*.html Release specific conversion instructions
|
||||
Building*With*.html Release specific build instructions
|
||||
|
||||
base/startup directory - contains scripts to set environment and path
|
||||
|
||||
EpicsHostArch c shell script to set EPICS_HOST_ARCH env variable
|
||||
EpicsHostArch.pl perl script to set EPICS_HOST_ARCH env variable
|
||||
Site.profile bourne shell script to set path and env variables
|
||||
Site.cshrc c shell script to set path and env variables
|
||||
borland.bat WIN32 bat file to set path and env variables
|
||||
borland.bat WIN32 bat file to set borland path and env variables
|
||||
cygwin.bat WIN32 bat file to set cygwin path and env variables
|
||||
win32.bat WIN32 bat file to set path and env variables
|
||||
win32-debug.bat WIN32 bat file to set debug path and env variables
|
||||
|
||||
base/configure directory - contains build definitions and rules
|
||||
|
||||
CONFIG Includes configure files and allows variable overrides
|
||||
CONFIG.CrossCommon Cross build definitions
|
||||
CONFIG.gnuCommon Gnu compiler build definitions for all archs
|
||||
@@ -269,6 +288,7 @@ Build related components
|
||||
Sample.Makefile Sample makefile with comments
|
||||
|
||||
base/configure/os directory - contains os-arch specific definitions
|
||||
|
||||
CONFIG.<host>.<target> Specific host-target build definitions
|
||||
CONFIG.Common.<target> Specific target definitions for all hosts
|
||||
CONFIG.<host>.Common Specific host definitions for all targets
|
||||
@@ -281,18 +301,23 @@ Build related components
|
||||
CONFIG_SITE.<host>.Common Site specific host defs for all targets
|
||||
|
||||
base/configure/tools directory - contains Perl scripts used for the build
|
||||
|
||||
convertRelease.pl Performs consistancy checks on RELEASE files
|
||||
cp.pl This Perl script copies an existing file
|
||||
filterWarnings.pl Filters warning messages during HP builds.
|
||||
installEpics.pl Installs built files into install directories.
|
||||
cvsclean.pl Remove all .#* files in directory tree
|
||||
dos2unix.pl Converts text file from DOS CR/LF to unix ISO
|
||||
filterWarnings.pl Filters warning messages during HP builds
|
||||
fullpathName.pl Returns fullpath name of directory arg
|
||||
installEpics.pl Installs built files into install directories
|
||||
makeIncludeDbd.pl Creates *Include.dbd file from filename args
|
||||
makeMakefile.pl Creates a Makefile in O.<arch> dirs
|
||||
makeMakefileInclude.pl Creates file to be included by Makefile
|
||||
mkdir.pl Creates a directory (like Unix mkdir)
|
||||
mkmf.pl Generates dependencies from include stmnts
|
||||
munch.pl Creates a ctdt.c file for vxWorks targets
|
||||
mv.pl Renames an existing file.
|
||||
mv.pl Renames an existing file
|
||||
replaceVAR.pl Changes CapFast VAR(xxx) to $(xxx) notation
|
||||
rm.pl Quietly removes an existing file.
|
||||
rm.pl Quietly removes an existing file
|
||||
|
||||
Building EPICS base (Unix and Win32)
|
||||
|
||||
@@ -337,7 +362,7 @@ Building EPICS base (Unix and Win32)
|
||||
|
||||
Unix LD_LIBRARY_PATH
|
||||
It is no longer necessary to have LD_LIBRARY_PATH include
|
||||
EPICS directories on Unix type system. R3.14 shared libraries
|
||||
EPICS directories on a Unix type system. R3.14 shared libraries
|
||||
and executables will contain the full path name to libraries
|
||||
they require. However, if you move the EPICS directories
|
||||
from their build-time location then in order for libraries
|
||||
@@ -349,11 +374,11 @@ Building EPICS base (Unix and Win32)
|
||||
even if the R3.13 extensions are built with R3.14 base.
|
||||
|
||||
Win32 PATH
|
||||
On WIN32 systems, building shared libraries is the default
|
||||
setting and you will need to add fullpathname to
|
||||
$(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH) to your path.
|
||||
Building shared libraries is determined by the value of the
|
||||
macro SHARED_LIBRARIES in CONFIG_SITE (either YES or NO).
|
||||
On WIN32 systems, for R3.14.7 and later, it is no longer necessary
|
||||
to add fullpathname to $(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH)
|
||||
to your path for finding dlls during EPICS builds. The win32
|
||||
configure files in base now add this directory to the path
|
||||
definition.
|
||||
|
||||
|
||||
Do site-specific build configuration
|
||||
@@ -368,24 +393,24 @@ Building EPICS base (Unix and Win32)
|
||||
|
||||
Host configuration
|
||||
To configure each host system, you may override the default
|
||||
definitions by adding a new file with override definitions into
|
||||
the configure/os directory. The new file should have the
|
||||
definitions by adding a new file in the configure/os directory
|
||||
with override definitions. The new file should have the
|
||||
same name as the distribution file to be overridden except
|
||||
with CONFIG in the name changed to CONFIG_SITE.
|
||||
|
||||
configure/os/CONFIG.<host>.<host> - Host build settings
|
||||
configure/os/CONFIG.<host>.Common - Host cross build settings
|
||||
configure/os/CONFIG.<host>.<host> Host build settings
|
||||
configure/os/CONFIG.<host>.Common Host cross build settings
|
||||
|
||||
Target configuration
|
||||
To configure each target system, you may override the
|
||||
default definitions by adding a new file with override
|
||||
definitions into the configure/os directory. The new file
|
||||
default definitions by adding a new file into the configure/os
|
||||
directory with override definitions. The new file
|
||||
should have the same name as the distribution file to be
|
||||
overridden except with CONFIG in the name replaced by
|
||||
CONFIG_SITE.
|
||||
|
||||
configure/os/CONFIG.Common.<target> - Target cross settings
|
||||
configure/os/CONFIG.<host>.<target> - Host-target settings
|
||||
configure/os/CONFIG.Common.<target> Target cross settings
|
||||
configure/os/CONFIG.<host>.<target> Host-target settings
|
||||
|
||||
R3.13 compatibility configuration
|
||||
To configure EPICS base for building with R3.13 extensions
|
||||
|
||||
@@ -35,16 +35,18 @@ To build only for win32-x86 and not cross compile for IOC development type
|
||||
To compile EPICS on win32-x86, we need
|
||||
|
||||
WindRiver System's Tornado (used: 1.0) (not required if host only build)
|
||||
Microsoft's Visual C/C++ (used: 6.0) (borland C++ rumored to work also)
|
||||
Microsoft's Visual C/C++ (used: 6.0)
|
||||
or borland C++
|
||||
or Visual C++ toolkit 2003 with MS platform SDK
|
||||
|
||||
and some tools:
|
||||
|
||||
gnu make - www.gnu.org (we used 3.76)
|
||||
perl - www.perl.org (we used 5.003)
|
||||
|
||||
The perl interpreter and gnu make are available 'on the net'
|
||||
The gnu make and perl executables are downloadable from www.cygwin.com
|
||||
The perl interpreter and gnu make are also available 'on the net'
|
||||
as sources which compile with MS Visual C++.
|
||||
If you cannot/don't want to find them, contact me, please!
|
||||
|
||||
2) set environment variables
|
||||
|
||||
@@ -61,7 +63,7 @@ and the MS linker will accept "/" and this will result in less trouble.
|
||||
must be replaced with a "\\" (this is because GNU make treats
|
||||
all "\" characters as line continuation)
|
||||
|
||||
** Note that that each space in any file name or
|
||||
*and* Note that that each space in any file name or
|
||||
path name variable you set must be replaced with
|
||||
a "\ " (this is because GNU make treats all " " separated
|
||||
input as independent tokens in the input stream.
|
||||
@@ -107,8 +109,11 @@ MSDevDir=C:\MSDEV
|
||||
include=c:\msdev\include;c:\msdev\mfc\include
|
||||
lib=c:\msdev\lib;c:\msdev\mfc\lib
|
||||
|
||||
The EPICS build system requires EPICS_HOST_ARCH environment variable
|
||||
Select host arch to build:
|
||||
EPICS_HOST_ARCH=win32-x86 (used by the make system)
|
||||
EPICS_HOST_ARCH=win32-x86
|
||||
or
|
||||
EPICS_HOST_ARCH=win32-x86-borland (if using borland C++)
|
||||
|
||||
Set the "TMP" environment variable if you need to specify where
|
||||
temporary files are created.
|
||||
|
||||
@@ -130,7 +130,33 @@ Known Possible Problems
|
||||
application successfully, contact me.
|
||||
|
||||
|
||||
Please feel free to contact me if you encounter serious problems.
|
||||
Kernel Configuration
|
||||
--------------------
|
||||
|
||||
HP-UX 11 has a kernel configuration parameter that limits the number of
|
||||
threads that can be created within the context of a single process. This
|
||||
parameter has a default of 64.
|
||||
Channel Access creates two threads for each TCP connection it uses,
|
||||
where one TCP connection usually corresponds to one client-server
|
||||
pair. So a CA client program that connects to 30 different IOCs will use
|
||||
60 threads for the CA communication.
|
||||
|
||||
Obviously it is advisable to increase that value from 64 to something
|
||||
larger - any number higher than twice the maximum number of IOCs in your
|
||||
system should be enough for regular concole systems. At some point you
|
||||
will hit the limited number of kernel threads, which has to be larger
|
||||
than the number uf user threads.
|
||||
|
||||
You will find the parameter in SAM's Kernel Configuration / Configurable
|
||||
Parameters section, under the name max_thread_proc ("Max No. of Threads
|
||||
allowed in each process").
|
||||
|
||||
Note that this kernel configuration change requires a reboot of the
|
||||
machine.
|
||||
|
||||
|
||||
So much for this README - please feel free to contact me if you
|
||||
encounter serious problems.
|
||||
|
||||
Enjoy!
|
||||
Ralph
|
||||
|
||||
@@ -17,7 +17,7 @@ EPICS base</h2></center>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
Release 3.14.4</h2></center>
|
||||
Release 3.14.*</h2></center>
|
||||
|
||||
<h3>
|
||||
What is EPICS base?</h3>
|
||||
@@ -34,8 +34,7 @@ OPIs (operator interfaces) of various types.</blockquote>
|
||||
<h3>
|
||||
What is new in this release?</h3>
|
||||
|
||||
<blockquote>This version of EPICS base contains significant changes and
|
||||
offers major improvements in functionality over previous versions. Please
|
||||
<blockquote> Please
|
||||
check the RELEASE_NOTES file in the distribution for description of changes
|
||||
and release migration details.</blockquote>
|
||||
|
||||
@@ -51,29 +50,40 @@ Supported platforms</h3>
|
||||
<blockquote>Currently this version of EPICS base has been built on the
|
||||
following hosts for the following targets. If you are trying to build EPICS
|
||||
base on a different host or for a different target machine you must get
|
||||
the proper host/target cross compiler and header files and you will have
|
||||
the proper host/target cross compiler and header files, and you will have
|
||||
to create and add the appropriate new configure files to the base/configure/os/directory.
|
||||
You can start by copying existing configuration files in the configure/os
|
||||
directory and then make changes for your new platforms.</blockquote>
|
||||
|
||||
<blockquote><b>Host platforms (operating system - architecture - <alternate
|
||||
c++ compiler>)</b>
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<br><tt>aix-ppc</tt>
|
||||
<br><tt>aix-ppc-gnu</tt>
|
||||
<br><tt>cygwin-x86</tt>
|
||||
<br><tt>darwin-ppc (Mac OS X)</tt>
|
||||
<br><tt>hpux-parisc</tt>
|
||||
<br><tt>hpux-parisc-gnu</tt>
|
||||
<br><tt>linux-mpc82xx</tt>
|
||||
<br><tt>linux-x86</tt>
|
||||
<br><tt>lynxos-x86</tt>
|
||||
<br><tt>osf-alpha</tt>
|
||||
<br><tt>linux-x86-borland</tt>
|
||||
<br><tt>solaris-sparc</tt>
|
||||
<br><tt>solaris-sparc-gnu</tt>
|
||||
<br><tt>solaris-x86</tt>
|
||||
<br><tt>solaris-x86-gnu</tt>
|
||||
<br><tt>sun4-x86</tt>
|
||||
<br><tt>win32-x86</tt>
|
||||
<br><tt>win32-x86-borland</tt>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<blockquote><b>Debugging builds</b>
|
||||
|
||||
<blockquote>
|
||||
<br><tt>linux-x86-debug (GNU compiler with -g option for host builds)</tt>
|
||||
<br><tt>solaris-sparc-debug (sun compiler with -g option for host builds)</tt>
|
||||
<br><tt>win32-x86-debug (MS Visual C++ with debug option for host builds)</tt>
|
||||
</blockquote>
|
||||
|
||||
|
||||
</blockquote>
|
||||
@@ -85,8 +95,15 @@ Cross compile target platforms (operating system - architecture)</h4>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<blockquote><tt>vxWorks-486</tt>
|
||||
<blockquote>
|
||||
<br><tt>linux-386 (linux-x86 host)</tt>
|
||||
<br><tt>linux-486 (linux-x86 host)</tt>
|
||||
<br><tt>linux-586 (linux-x86 host)</tt>
|
||||
<br><tt>linux-686 (linux-x86 host)</tt>
|
||||
<br><tt>linux-althon (linux-x86 host)</tt>
|
||||
<br><tt>vxWorks-486</tt>
|
||||
<br><tt>vxWorks-68040</tt>
|
||||
<br><tt>vxWorks-68040-debug</tt>
|
||||
<br><tt>vxWorks-68040lc</tt>
|
||||
<br><tt>vxWorks-68060</tt>
|
||||
<br><tt>vxWorks-pentium</tt>
|
||||
@@ -94,12 +111,12 @@ Cross compile target platforms (operating system - architecture)</h4>
|
||||
<br><tt>vxWorks-ppc603_long</tt>
|
||||
<br><tt>vxWorks-ppc604</tt>
|
||||
<br><tt>vxWorks-ppc604_long</tt>
|
||||
<br><tt>vxWorks-pentium</tt>
|
||||
<br><tt>RTEMS-gen68360</tt>
|
||||
<br><tt>RTEMS-mcp750</tt>
|
||||
<br><tt>RTEMS-mvme167</tt>
|
||||
<br><tt>RTEMS-pc386</tt>
|
||||
<br><tt>RTEMS-psim</tt></blockquote>
|
||||
<br><tt>RTEMS-psim</tt>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
@@ -109,9 +126,8 @@ Supported compilers</h3>
|
||||
the host vendor's C and C++ compilers as well as the GNU gcc and g++ compilers.
|
||||
The GNU cross-compilers have been used for all cross-compiled targets.
|
||||
You may need the host vendor's C++ compiler in your search path to do EPICS
|
||||
builds. Check definitions of ACC and CCC in base/configure/os/CONFIG.<host>.<host>
|
||||
or the definitions for GCC and G++ if ANSI=GCC and CPLUSPLUS=GCC are specified
|
||||
in CONFIG_SITE.</blockquote>
|
||||
builds. Check definitions of CC and CCC in base/configure/os/CONFIG.<host>.<host>.
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
Software requirements</h3>
|
||||
@@ -135,17 +151,26 @@ to Tornado 2 should be specified in the base/configure/RELEASE or
|
||||
base/configure/RELEASE.<hostarch>
|
||||
file. You will also need one or more board support packages. Consult the
|
||||
vxWorks documentation for details.
|
||||
<p><b>Optional GNU compiler requirement for solaris-sparc and win32-x86
|
||||
hosts</b>
|
||||
<br>If you have state notation language source files (*.st files) which
|
||||
require c preprocessing before conversion to c source, gcc must be
|
||||
in your path.</blockquote>
|
||||
<p><b>GNU readline or Tecla library</b>
|
||||
<br>
|
||||
GNU readline and Tecla librararies can be used by the IOC shell to
|
||||
provide command line editing and command line history recall and edit.
|
||||
GNU readline (or Tecla library) must be installed on your target system
|
||||
when COMMANDLINE_LIBRARY is set to READLINE (or TECLA) for that target.
|
||||
EPICS (EPICS shell) is the default specified in CONFIG_COMMON. A READLINE
|
||||
override is defined for linux-x86 in the EPICS distribution. Comment out
|
||||
COMMANDLINE_LIBRARY=READLINE in configure/os/CONFIG_SITE.Common.linux-x86
|
||||
if readline is not installed on linux-x86. Command-line editing and
|
||||
history will then be those supplied by the os. On vxWorks the ledLib
|
||||
command-line input libraries are used.
|
||||
</blockquote>
|
||||
|
||||
|
||||
<h3>
|
||||
Host system storage requirements</h3>
|
||||
|
||||
<blockquote>The GNU zipped tar file is approximately 1.4 MB in size. The
|
||||
unzipped untarred distribution source tree is approximately 6 MB. The build
|
||||
unzipped untarred distribution source tree is approximately 7.3 MB. The build
|
||||
created files for each host take approximately 40 MB and the build created
|
||||
files for each target take approximately 10 MB.</blockquote>
|
||||
|
||||
@@ -153,9 +178,8 @@ files for each target take approximately 10 MB.</blockquote>
|
||||
Documentation</h3>
|
||||
|
||||
<blockquote>EPICS documentation is available on the WWW via the EPICS home
|
||||
page at APS: URL <a href="http://www.aps.anl.gov/epics">http://www.aps.anl.gov/epics</a></blockquote>
|
||||
page at APS: URL <a href="http://www.aps.anl.gov/epics">http://www.aps.anl.gov/epics</a>
|
||||
|
||||
<blockquote>This README.html file is in the base distribution and
|
||||
available on the IOC software, Base R3.14, release number, web page
|
||||
which can be accessed from the APS EPICS home page.</blockquote>
|
||||
|
||||
@@ -178,7 +202,7 @@ other WWW links on the EPICS home page at APS.</blockquote>
|
||||
Mailing List</h4>
|
||||
|
||||
<blockquote>There is an EPICS mailing list called tech-talk which is hosted at
|
||||
APS with a list repeater at BESSY. See The EPICS home page for subscription
|
||||
APS with a list repeater at BESSY. See the EPICS home page for subscription
|
||||
instructions.</blockquote> </blockquote>
|
||||
|
||||
<h3>
|
||||
@@ -186,7 +210,7 @@ Directory Structure</h3>
|
||||
|
||||
<blockquote>Distribution directory structure:</blockquote>
|
||||
<tt> base
|
||||
Root directory of the base istribution</tt>
|
||||
Root directory of the base distribution</tt>
|
||||
<br><tt> base/config
|
||||
R3.13 compatibility build configuration files</tt>
|
||||
<br><tt> base/config/tools
|
||||
@@ -197,6 +221,8 @@ Operating system independent build config files</tt>
|
||||
Operating system dependent build config files</tt>
|
||||
<br><tt> base/configure/tools
|
||||
Perl and shell scripts used in the build</tt>
|
||||
<br><tt> base/documentation
|
||||
Distributation documentation</tt>
|
||||
<br><tt> base/src
|
||||
All epics base source code in subdirectories</tt>
|
||||
<br><tt> base/src/RTEMS
|
||||
@@ -209,6 +235,8 @@ Break point table</tt>
|
||||
Channel access</tt>
|
||||
<br><tt> base/src/cas
|
||||
Channel access server library and examples</tt>
|
||||
<br><tt> base/src/catools
|
||||
Channel access tools caget, cainfo, camonitor, caput</tt>
|
||||
<br><tt> base/src/db
|
||||
Database access</tt>
|
||||
<br><tt> base/src/db/test
|
||||
@@ -219,14 +247,14 @@ Static database access</tt>
|
||||
Database dbLoadTemplate tools</tt>
|
||||
<br><tt> base/src/dev
|
||||
Device support (softDev and testDev)</tt>
|
||||
<br><tt> base/src/excas
|
||||
Example channel access server</tt>
|
||||
<br><tt> base/src/gdd
|
||||
General data descriptor</tt>
|
||||
<br><tt> base/src/iocsh
|
||||
Ioc shell command interpreter</tt>
|
||||
<br><tt> base/src/libCom
|
||||
General purpose library code in subdirectories</tt>
|
||||
<br><tt> base/src/libCom/RTEMS
|
||||
Code to configure RTEMS for EPICS</tt>
|
||||
<br><tt> base/src/libCom/bucketLib
|
||||
Hash bucket</tt>
|
||||
<br><tt> base/src/libCom/calc
|
||||
@@ -266,15 +294,11 @@ Methods for creating and using ring buffers</tt>
|
||||
<br><tt> base/src/libCom/taskwd
|
||||
Task watchdog</tt>
|
||||
<br><tt> base/src/libCom/test
|
||||
Test tools (timer, semBinary, semMutex,fdmgr, ?)</tt>
|
||||
Test tools (timer, semBinary, semMutex,fdmgr, ...)</tt>
|
||||
<br><tt> base/src/libCom/timer
|
||||
Timer</tt>
|
||||
<br><tt> base/src/libCom/tsDefs
|
||||
R3.13 time stamp definitions and routines</tt>
|
||||
<br><tt> base/src/libCom/ring
|
||||
ringPointer: First in first out circular buffers</tt>
|
||||
<br><tt> base/src/libCom/cppStd
|
||||
epicsList: Lists of pointers to objects</tt>
|
||||
<br><tt> base/src/makeBaseApp
|
||||
Perl tool+templates to create ioc app dvl tree</tt>
|
||||
<br><tt> base/src/makeBaseExt
|
||||
@@ -287,6 +311,8 @@ Record support</tt>
|
||||
EPICS support function registry</tt>
|
||||
<br><tt> base/src/rsrv
|
||||
Channel access ioc resource server library</tt>
|
||||
<br><tt> base/src/softIoc
|
||||
Example softIoc</tt>
|
||||
<br><tt> base/src/toolsComm
|
||||
Code for the build tools antelope and e_flex</tt>
|
||||
<br><tt> base/src/util
|
||||
@@ -301,14 +327,16 @@ build:
|
||||
Installed scripts and executables in subdirs</tt>
|
||||
<br><tt> base/db
|
||||
Installed data bases</tt>
|
||||
<br><tt> base/html
|
||||
Installed html documentation</tt>
|
||||
<br><tt> base/dbd
|
||||
Installed data base definitions</tt>
|
||||
<br><tt> base/html
|
||||
Installed html documentation</tt>
|
||||
<br><tt> base/include
|
||||
Installed header files</tt>
|
||||
<br><tt> base/include/os
|
||||
Installed os specific header files</tt>
|
||||
<br><tt> base/javalib
|
||||
Installed java class and jar files</tt>
|
||||
<br><tt> base/lib
|
||||
Installed libraries in arch subdirectories</tt>
|
||||
<br><tt> base/templates
|
||||
@@ -323,15 +351,20 @@ base/documentation/README* files</li>
|
||||
<br><tt>README.1st
|
||||
Instructions for setup and building epics base</tt>
|
||||
<br><tt>README.html
|
||||
(html version of README.1st</tt>
|
||||
html version of README.1st</tt>
|
||||
<br><tt>README.WIN32 Microsoft
|
||||
WIN32 specific instructions</tt>
|
||||
<br><tt>README.cxxTemplates Information about C++ templates in EPICS
|
||||
base</tt>
|
||||
<br><tt>README.niCpu030 NI cpu030 specific
|
||||
instructions</tt>
|
||||
<br><tt>README.darwin Installation notes
|
||||
<br><tt>README.darwin Installation notes
|
||||
for Mac OS X (Darwin)</tt>
|
||||
<br><tt>RELEASE_NOTES.html Notes on release changes</tt>
|
||||
<br><tt>KnownProblems.html List of known problems and workarounds</tt>
|
||||
<br><tt>Converting*To*.html Release specific conversion instructions</tt>
|
||||
<br><tt>Building*With*.html Release specific build instructions</tt>
|
||||
|
||||
<br>
|
||||
<li>
|
||||
base/startup directory - contains scripts to set environment and path</li>
|
||||
@@ -345,9 +378,13 @@ script to set path and env variables</tt>
|
||||
<br><tt>Site.cshrc
|
||||
c shell script to set path and env variables</tt>
|
||||
<br><tt>borland.bat WIN32
|
||||
bat file to set path and env variables</tt>
|
||||
bat file to set borland path and env variables</tt>
|
||||
<br><tt>cygwin.bat
|
||||
WIN32 bat file to set cygwin path and env variables</tt>
|
||||
<br><tt>win32.bat
|
||||
WIN32 bat file to set path and env variables</tt>
|
||||
<br><tt>win32-debug.bat
|
||||
WIN32 debug bat file to set debug path and env variables</tt>
|
||||
<br>
|
||||
<li>
|
||||
base/configure directory - contains build definitions and rules</li>
|
||||
@@ -379,6 +416,8 @@ Location of external products such as Tornado II</tt>
|
||||
Includes appropriate rules file</tt>
|
||||
<br><tt>RULES.Db
|
||||
Rules for database and database definition files</tt>
|
||||
<br><tt>RULES.ioc
|
||||
Rules for application iocBoot/ioc* directory</tt>
|
||||
<br><tt>RULES_ARCHS
|
||||
Definitions and rules for building architectures</tt>
|
||||
<br><tt>RULES_BUILD
|
||||
@@ -418,15 +457,23 @@ for all targets</tt>
|
||||
<li>
|
||||
base/configure/tools directory - contains Perl scripts used for the build</li>
|
||||
|
||||
<br><tt>MakeReleae
|
||||
Unix shell script to create a release tar file</tt>
|
||||
<br><tt>convertRelease.pl Performs
|
||||
consistancy checks on RELEASE files</tt>
|
||||
<br><tt>cp.pl
|
||||
This Perl script copies an existing file</tt>
|
||||
<br><tt>cvsclean.pl
|
||||
Remove all .#* files in directory tree</tt>
|
||||
<br><tt>dos2unix.pl
|
||||
|
||||
Converts text file from DOS CR/LF to unix ISO</tt>
|
||||
<br><tt>filterWarnings.pl
|
||||
Filters warning messages during HP builds</tt>
|
||||
<br><tt>fullpathName.pl
|
||||
Returns fullpath name of directory arg</tt>
|
||||
<br><tt>installEpics.pl
|
||||
Installs built files into install directories.</tt>
|
||||
<br><tt>makeDependsTargets.pl Creates targets of include dependency
|
||||
Installs built files into install directories</tt>
|
||||
<br><tt>makeIncludeDbd.pl
|
||||
Creates *Include.dbd file from filename args</tt>
|
||||
files</tt>
|
||||
<br><tt>makeMakefile.pl
|
||||
Creates a Makefile in O.<arch> dirs</tt>
|
||||
@@ -442,7 +489,7 @@ Renames an existing file.</tt>
|
||||
<br><tt>replaceVAR.pl
|
||||
Changes CapFast VAR(xxx) to $(xxx) notation</tt>
|
||||
<br><tt>rm.pl
|
||||
Quietly removes an existing file.</tt></blockquote>
|
||||
Quietly removes an existing file</tt></blockquote>
|
||||
|
||||
<h3>
|
||||
Building EPICS base (Unix and Win32)</h3>
|
||||
@@ -482,15 +529,15 @@ variable PERLLIB be set to <perl directory location>.
|
||||
As already mentioned, you must have the perl executable and you may
|
||||
need C and C++ compilers in your search path. For building base you also
|
||||
must have echo in your search path. For Unix host builds you also need
|
||||
touch, cpp, cp, rm, mv, and mkdir in your search path and /bin/chmod must
|
||||
ln, cpp, cp, rm, mv, and mkdir in your search path and /bin/chmod must
|
||||
exist. On some Unix systems you may also need ar and ranlib in your path,
|
||||
and the c compiler may require ld in your path. On solaris systems you
|
||||
and the c compiler may require as and ld in your path. On solaris systems you
|
||||
need uname in your path.
|
||||
|
||||
<p><b>LD_LIBRARY_PATH</b>
|
||||
<br>
|
||||
It is no longer necessary to have LD_LIBRARY_PATH include
|
||||
EPICS directories on Unix type system. R3.14 shared libraries
|
||||
EPICS directories on a Unix type system. R3.14 shared libraries
|
||||
and executables will contain the full path name to libraries
|
||||
they require. However, if you move the EPICS directories
|
||||
from their build-time location then in order for libraries
|
||||
@@ -503,10 +550,11 @@ even if the R3.13 extensions are built with R3.14 base.
|
||||
|
||||
<p><b>Win32 PATH</b>
|
||||
<br>
|
||||
On WIN32 systems, building shared libraries is the default setting
|
||||
and you will need to add fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH)
|
||||
to your path. Building shared libraries is determined by the value of the
|
||||
macro SHARED_LIBRARIES in CONFIG_SITE (either YES or NO).
|
||||
On WIN32 systems, for R3.14.7 and later, it is no longer necessary
|
||||
to add fullpathname to $(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH)
|
||||
to your path for finding dlls during EPICS builds. The win32
|
||||
configure files in base now add this directory to the path
|
||||
definition.
|
||||
|
||||
|
||||
</blockquote>
|
||||
@@ -515,29 +563,33 @@ macro SHARED_LIBRARIES in CONFIG_SITE (either YES or NO).
|
||||
<blockquote><b>Site configuration</b>
|
||||
<br>To configure EPICS, you may want to modify the default definitions
|
||||
in the following files:
|
||||
<blockquote><tt>configure/CONFIG_SITE </tt>Build
|
||||
choices. Specify target archs.
|
||||
<br><tt>configure/CONFIG_SITE_ENV </tt>Environment variable defaults
|
||||
<br><tt>configure/RELEASE </tt>TORNADO
|
||||
2 full path location</blockquote>
|
||||
<blockquote>
|
||||
<tt>configure/CONFIG_SITE </tt>
|
||||
Build choices. Specify target archs.
|
||||
<tt>configure/CONFIG_SITE_ENV </tt>
|
||||
Environment variable defaults
|
||||
<tt>configure/RELEASE </tt>
|
||||
TORNADO 2 full path location
|
||||
</blockquote>
|
||||
<b>Host configuration</b>
|
||||
<br>To configure each host system, you may override the default definitions
|
||||
by adding a new file with override definitions into the configure/os directory.
|
||||
by adding a new file in the configure/os directory with override definitions.
|
||||
The new file should have the same name as the distribution file to be overridden
|
||||
except with CONFIG in the name changed to CONFIG_SITE.
|
||||
<blockquote><tt>configure/os/CONFIG.<host>.<host></tt>
|
||||
- Host build settings
|
||||
Host build settings
|
||||
<br><tt>configure/os/CONFIG.<host>.Common</tt>
|
||||
- Host cross build settings</blockquote>
|
||||
Host cross build settings</blockquote>
|
||||
<b>Target configuration</b>
|
||||
<br>To configure each target system, you may override the default definitions
|
||||
by adding a new file with override definitions into the configure/os directory.
|
||||
by adding a new file in the configure/os directory with override definitions.
|
||||
The new file should have the same name as the distribution file to be overridden
|
||||
except with CONFIG in the name replaced by CONFIG_SITE.
|
||||
<blockquote><tt>configure/os/CONFIG.Common.<target></tt>
|
||||
- Target cross settings
|
||||
<br><tt>configure/os/CONFIG.<host>.<target> </tt> - Host-target
|
||||
settings</blockquote>
|
||||
Target cross settings
|
||||
<br><tt>configure/os/CONFIG.<host>.<target> </tt>
|
||||
Host-target settings
|
||||
</blockquote>
|
||||
<b>R3.13 compatibility configuration</b>
|
||||
<br>To configure EPICS base for building with R3.13 extensions and ioc
|
||||
applications , you must modify the default definitions in the base/config/CONFIG_SITE*
|
||||
@@ -568,7 +620,7 @@ host systems and for multiple cross target systems. The intermediate and
|
||||
binary files generated by the build will be created in separate subdirectories
|
||||
and installed into the appropriate separate host/target install directories.
|
||||
EPICS executables and perl scripts are installed into the <tt>$(INSTALL_LOCATION)/bin/<arch></tt>
|
||||
directories. Libraries are installed into $<tt><font size=+1>(INSTALL_LOCATION)/lib/<arch></font></tt>.
|
||||
directories. Libraries are installed into $<tt>(INSTALL_LOCATION)/lib/<arch></tt>.
|
||||
The default definition for <tt>$(INSTALL_LOCATION)</tt> is <tt>$(TOP)</tt>
|
||||
which is the root directory in the distribution directory structure, base.
|
||||
Created object files are stored in O.<arch> source subdirectories, This
|
||||
|
||||
@@ -7,11 +7,397 @@
|
||||
</head>
|
||||
|
||||
<body lang="en">
|
||||
<h1 align="center">EPICS Base Release 3.14.7<br>
|
||||
7 December 2004</h1>
|
||||
|
||||
<h1 align='center'>EPICS Base Release 3.14.5<br>
|
||||
4 February 2004</h1>
|
||||
<h2 align="center">Changes since 3.14.6</h2>
|
||||
|
||||
<h2 align='center'>Changes since 3.14.4</h2>
|
||||
|
||||
<h4>selRecord</h4>
|
||||
<p>The select record type has for a long time made use of a coule of magic
|
||||
numbers (1e+30 and -1e+30) to mean "not a real value", which prevents the record
|
||||
from working properly if one or other of these appears as an actual data value.
|
||||
These have been changed to use +Inf and -Inf or NaN instead, so +/-1e+30 may be
|
||||
used as a data value.</p>
|
||||
|
||||
<h4>ai, ao, dfanout and subroutine Records</h4>
|
||||
<p>These record types have been modified to respond better to NaN values as
|
||||
follows: if the VAL field contains a NaN value, the UDF field will be set and an
|
||||
undefined value alarm will be triggered.</p>
|
||||
|
||||
<h4>epicsStdlib.h/epicsStrtod()</h4>
|
||||
<p>epicsStdlib.h declares epicsStrtod() which provides a version of
|
||||
strtod which handles NAN/INF on all architectures. All uses of strtod() in
|
||||
base have been converted to use epicsStrtod().</p>
|
||||
<p>epicsStdlib.h also declares epicsScanFloat() and epicsScanDouble() which
|
||||
replace calls to sscanf with routines which handle NAN/INF on all architectures.</p>
|
||||
|
||||
<h4>epicsThreadCreate Stacksize Posix</h4>
|
||||
<p>The posix implementation of epicsThreadCreate now makes pthread
|
||||
calls to set the stack size. The sizes for (small,medium,large) stack
|
||||
sizes are (128K,256K,512K). This is used for at least the following:
|
||||
linux, solaris, HPUX, Darwin). Doing this allows creation of many more
|
||||
threads os most systems.</p>
|
||||
|
||||
<h4>dbNotify</h4>
|
||||
<p>dbNotifyCancel now waits if the userCallback is active when dbNotifyCancel
|
||||
is called. Previously it just returned. NOTE CAREFULLY. This means
|
||||
that the userCallback must not free the putNotify structure.</p>
|
||||
|
||||
<h4>CA commandline tools</h4>
|
||||
<p>caget and camonitor now have an additional "-s" option to explicitly
|
||||
request server-side string conversion, which - in case of the regular CA
|
||||
server - leads to "precision" info (e.g. the PREC field of an EPICS
|
||||
record) being honoured.</p>
|
||||
|
||||
<h4>POSIX signals</h4>
|
||||
<p>Signals are blocked in all but the main thread. Applications/drivers
|
||||
which require signal delivery to a subthread will need to be modified.</p>
|
||||
|
||||
<h4>epicsExit</h4>
|
||||
Three new functions are implemented: <span
|
||||
style="font-family: courier">epicsExit</span>, <span
|
||||
style="font-family: courier">epicsExitCallAtExits</span>, and <span
|
||||
style="font-family: courier">epicsAtExit</span>. These are similar to <span
|
||||
style="font-family: courier">exit</span> and <span
|
||||
style="font-family: courier">atexit</span>, i.e. they provide the ability to
|
||||
register a function to be called when the process exits. They are provided
|
||||
becase neither vxWorks or win32 properly implement <span
|
||||
style="font-family: courier">exit</span> and <span
|
||||
style="font-family: courier">atexit</span>. Note that they apply to an IOC
|
||||
stopping NOT to a thread exiting.
|
||||
|
||||
<h4>epicsStdio and epicsStdioRedirect</h4>
|
||||
|
||||
<p>In order to support iocsh redirection of <span
|
||||
style="font-family: courier">stdin</span>, <span
|
||||
style="font-family: courier">stdout</span>, and <span
|
||||
style="font-family: courier">stderr</span>, <span
|
||||
style="font-family: courier">epicsStdio.h</span> defines the following new
|
||||
functions: <span style="font-family: courier">epicsGetStdin</span>, <span
|
||||
style="font-family: courier">epicsGetStdout</span>, <span
|
||||
style="font-family: courier">epicsGetStderr</span>, <span
|
||||
style="font-family: courier">epicsSetStdin</span>, <span
|
||||
style="font-family: courier">epicsSetStdout</span>, <span
|
||||
style="font-family: courier">epicsSetStderr</span>, and <span
|
||||
style="font-family: courier">epicsStdoutPrintf</span>. <span
|
||||
style="font-family: courier">epicsStdioRedirect.h</span> defines macros that
|
||||
redefine <span style="font-family: courier">stdin</span>, <span
|
||||
style="font-family: courier">stdout</span>, <span
|
||||
style="font-family: courier">stderr</span>, and <span
|
||||
style="font-family: courier">printf</span>.</p>
|
||||
|
||||
<p>Any code that includes <span
|
||||
style="font-family: courier">epicsStdioRedirect.h</span> will automatically
|
||||
have it's stdio redirected. It has been added to many files in base. If code
|
||||
called by dbior wants it's output redirected, it must also include this
|
||||
file.</p>
|
||||
|
||||
<h4>IOC Test Facilities</h4>
|
||||
|
||||
<p>Any command that previously had an argument for a report file name no
|
||||
longer has the argument. The new iocsh redirection capability is now used.
|
||||
For example the former command:</p>
|
||||
<pre> dbl "0" reportName</pre>
|
||||
<pre>Is now:</pre>
|
||||
<pre> dbl > reportName</pre>
|
||||
Note that this does NOT work on the vxWorks shell only on iocsh. On the
|
||||
vxWorks shell the following command can be given:
|
||||
<pre> iocshCmd("dbl > reportName")</pre>
|
||||
|
||||
<h4>errlog</h4>
|
||||
|
||||
<p>errlog now calls <span style="font-family: courier">epicsAtExit</span> and
|
||||
releases all resources when <span
|
||||
style="font-family: courier">epicsExitCallAtExits</span> is callled..</p>
|
||||
|
||||
<h4>libCom</h4>
|
||||
<p>epicsStrGlobMatch() routine added.</p>
|
||||
|
||||
<h4>iocsh</h4>
|
||||
|
||||
<p>Input/output redirection added.</p>
|
||||
<p>iocshCmd routine added (callable from vxWorks shell).</p>
|
||||
<p>help command uses globbing.</p>
|
||||
|
||||
<h4>calcoutRecord</h4>
|
||||
|
||||
<p>The ODLY (Output Delay) was not handled properly. This is fixed.</p>
|
||||
|
||||
<h4>compressRecord</h4>
|
||||
|
||||
<p>make sure reset gets called when size of INP array changes.</p>
|
||||
|
||||
<h4>dbAccess DBR_ENUM_STRS for field DTYP</h4>
|
||||
|
||||
<p>Data Base Request Option DBR_ENUM_STRS for the DTYP field of soft records
|
||||
can cause an IOC to crash.</p?<h2align="center"></p>
|
||||
|
||||
<h4>RTEMS</h4>
|
||||
<p>RTEMS implementation of epicsMessageQueuePending() now works.</p>
|
||||
<p>Added support for MVME2100 BSP.</p>
|
||||
<p>Added support for building RTEMS bootable images.</p>
|
||||
|
||||
<h4>iocBoot/ioc* build change</h4>
|
||||
|
||||
<p>The cdCommands and envPaths files are now created in ioc* directory only
|
||||
when the ARCH defined in the ioc*/Makefile is present in BUILD_ARCHS for the
|
||||
build.</p>
|
||||
|
||||
|
||||
<h2 align="center">Changes since 3.14.5</h2>
|
||||
|
||||
<h4>CA command line tools complete</h4>
|
||||
|
||||
<p>The complete set of Channel Access command line tools (caget, caput,
|
||||
camonitor, cainfo) is available as announced during the May 2004 Collab.
|
||||
meeting. Documentation is part of the CA Reference Manual. Be aware of
|
||||
possible name conflicts with existing local tools.</p>
|
||||
|
||||
<h4>IOC template file configure/RULES.iocBoot removed</h4>
|
||||
|
||||
<p>The directory name wildcards that were defined here have been moved to
|
||||
iocBoot/Makefile, which as a result is no longer unique in having its own
|
||||
configure/RULES file.</p>
|
||||
|
||||
<h4>APS Virtual Linac template removed</h4>
|
||||
|
||||
<p>This is really a demo and a complete EPICS IOC application, not a
|
||||
template. It will be made available separately.</p>
|
||||
|
||||
<h4>EPICS_HOST_ARCH win32-x86-cygwin renamed to cygwin-x86</h4>
|
||||
|
||||
<p>The EPICS_HOST_ARCH win32-x86-cygwin was renamed cygwin-x86 to avoid
|
||||
confusion about what OS interfaces are used on Windows: native win32 or
|
||||
cygwin's emulation of POSIX. Now we have</p>
|
||||
<ul>
|
||||
<li>win32-x86 Uses native win32 interfaces with MS compiler.</li>
|
||||
<li>win32-x86-borland Uses native win32 interfaces with borland
|
||||
compiler.</li>
|
||||
<li>win32-x86-gnu Uses native win32 interfaces with cygwin gnu compiler.
|
||||
(Not implemented yet.)</li>
|
||||
<li>cygwin-x86 Uses cygwin POSIX interfaces with cygwin gnu compiler.</li>
|
||||
</ul>
|
||||
|
||||
<h4>EPICS_TS_NTP_INET</h4>
|
||||
|
||||
<p>The time server's IP address used by the vxWorks clock routines was not
|
||||
reading the default value from the generated envData.c file but going
|
||||
straight to the boot host if no environment variable by that name was set.</p>
|
||||
|
||||
<h4>CONFIG_ENV and CONFIG_SITE_ENV</h4>
|
||||
|
||||
<p>These files are now parsed by a program that recognizes and ignores
|
||||
comment lines. Previous versions of this parser would extract settings from
|
||||
these files even if they appear on a line starting with a '#' character, so
|
||||
the last line containing a setting for any variable would give the value used
|
||||
as the default. This was first noticed in R3.14.5 where a commented-out
|
||||
setting for the <code>EPICS_TIMEZONE</code> parameter was added
|
||||
<em>after</em> the uncommented version.</p>
|
||||
|
||||
<h4>db test shell commands</h4>
|
||||
|
||||
<p>Many of the commands crashed if given no arguments. They are now more
|
||||
crash proof.</p>
|
||||
|
||||
<h4>db_access - conversion of double to float</h4>
|
||||
|
||||
<p>When a CA user asked for display or control limits as a float a 0 value
|
||||
was returned as -1.17549435E-38. This is now fixed.</p>
|
||||
|
||||
<h4>New DBD rule</h4>
|
||||
|
||||
<p>A new dbd rule will create a <name>Include.dbd from files specified
|
||||
in a <name>_DBD macro definition. An include line will be placed in the
|
||||
<name>Include.dbd for each file specified in the <name>_DBD
|
||||
definition. If a Makefile contains</p>
|
||||
<pre> DBD=xxx.dbd
|
||||
xxx_DBD = f1.dbd f2.dbd f3.dbd </pre>
|
||||
|
||||
<p>an xxxInclude.dbd file will be created containing the lines</p>
|
||||
<pre> include "f1.dbd"
|
||||
include "f2.dbd"
|
||||
include "f1.dbd"</pre>
|
||||
|
||||
<p>and dbExpand will be invoked to create the xxx.dbd file from the
|
||||
xxxInclude.dbd.</p>
|
||||
|
||||
<h4>Solaris Builds</h4>
|
||||
|
||||
<p>Old solaris 6 specific compiler options have been removed.</p>
|
||||
|
||||
<h4>New make targets cvsclean and archclean</h4>
|
||||
|
||||
<p>The new top level Makefile only target, cvsclean, removes cvs .#* files in
|
||||
all dirs of the top directory tree.</p>
|
||||
|
||||
<p>The new archclean target is like the clean target except that O.Common
|
||||
directories are not removed.</p>
|
||||
|
||||
<h4>epicsString</h4>
|
||||
|
||||
<p>Add epicsSnStrPrintEscaped.</p>
|
||||
|
||||
<h4>epicsExport</h4>
|
||||
|
||||
<p>epicsExportAddress(typ,obj) now generates an extern named pvar_typ_obj and
|
||||
epicsExportRegistrar(func) an extern named pvar_func_obj. Previously both
|
||||
just named the variable pobj.</p>
|
||||
|
||||
<p>epicsRegisterFunction(name) in conjunction with the dbd 'function' keyword
|
||||
can be used to register functions referred to by record subroutine name
|
||||
fields.</p>
|
||||
|
||||
<h4>Access Security</h4>
|
||||
|
||||
<p>The access security configuration rules now accept quoted strings where
|
||||
just names were allowed previously.</p>
|
||||
|
||||
<p>All dump routines now have FP version.</p>
|
||||
|
||||
<p>A new shell command "ascar(int level)" is now available. It produces a
|
||||
report of the INP channel access connections. Level (0,1,2) produces (a
|
||||
summary report, summary plus unconnected channels, summary plus report of all
|
||||
channels)</p>
|
||||
|
||||
<h4>Channel Access Client Library</h4>
|
||||
<ul>
|
||||
<li>Fixed "subscription updates intermittently do not resume when
|
||||
unresponsive circuit reconnects" bug
|
||||
<ul>
|
||||
<li>Scope:
|
||||
<p>This bug was introduced in R3.14.5 and does not exist in any other
|
||||
release.</p>
|
||||
</li>
|
||||
<li>Symptom:
|
||||
<p>Subscription updates intermittently do not resume depending on
|
||||
circumstances when unresponsive circuit reconnects</p>
|
||||
</li>
|
||||
<li>Additional Information:
|
||||
<p>A decision was made to add a change to EPICS R3.14.5 so that when
|
||||
a TCP circuit is temporarily unresponsive the channel, but not the
|
||||
circuit, is immediately disconnected. This change was determined to
|
||||
be necessary to improve overall system robustness in the face of IOC
|
||||
or network overload. Unfortunately, an error was made when installing
|
||||
these changes. I am sorry about any inconvenience that this has
|
||||
caused. Thanks to Ken Evans at the APS for discovering this
|
||||
problem.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Fixed "ca_replace_access_rights_event() fails if passed a nill function
|
||||
pointer" bug
|
||||
<ul>
|
||||
<li>Scope:
|
||||
<p>This bug probably exists in all R3.14 releases.</p>
|
||||
</li>
|
||||
<li>Symptom:
|
||||
<p>Passing a nill function pointer to
|
||||
ca_replace_access_rights_event() should install a noop handler, but
|
||||
this currently causes a failure.</p>
|
||||
</li>
|
||||
<li>Additional information:
|
||||
<p>Regression tests have been installed to detect this mistake.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Fixed "CA client library crash when clear channel request occurs in get
|
||||
callback handler" bug
|
||||
<ul>
|
||||
<li>Scope:
|
||||
<p>This bug was introduced in R3.14.5 and does not exist in any other
|
||||
release.</p>
|
||||
</li>
|
||||
<li>Symptom:
|
||||
<p>CA client library crash when clear channel request occurs in get
|
||||
callback handler</p>
|
||||
</li>
|
||||
<li>Additional information:
|
||||
<p>When testing the striptool application, Ken Evans, discovered a
|
||||
bug in the CA client library occurring when a clear channel request
|
||||
occurs in get callback handler. Regression tests have been updated so
|
||||
that this mistake will not slip through testing undetected in a
|
||||
future release.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Fixed "Double server subscription install when subscription request
|
||||
occurs in connection callback handler" bug
|
||||
<ul>
|
||||
<li>Scope:
|
||||
<p>This bug was introduced in R3.14.5 and does not exist in any other
|
||||
release. Subscription request must be made from within connection
|
||||
callback handler</p>
|
||||
</li>
|
||||
<li>Symptom:
|
||||
<p>It has been discovered (by Ken Evans while testing the gateway)
|
||||
that certain subscription requests were persisting in the gateway
|
||||
after clients had deleted them. This bug causes additional resources
|
||||
to be consumed, but does not result in a crash.</p>
|
||||
</li>
|
||||
<li>Additional information
|
||||
<p>Additional debugging has revealed that the CA client library in
|
||||
this situation inadvertently made the subscription request twice:
|
||||
once at the users’ request, and later on again when the
|
||||
library auto installed subscriptions for disconnected channels.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Fixed "failure when deleting channel in get callback handler" bug
|
||||
<ul>
|
||||
<li>Scope:
|
||||
<p>Probably introduced in a previous R3.14 release.</p>
|
||||
</li>
|
||||
<li>Symptom:
|
||||
<p>An intermittent C++ exceptions during regression testing.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Behavior Changes
|
||||
<ul>
|
||||
<li>Process blocks attempting to exit if the application does not call
|
||||
ca_context_destroy()
|
||||
<p>In EPICS release R3.14 the CA client library is implemented using
|
||||
axillary threads. If the application does not call
|
||||
ca_context_destroy() these threads will still be running, and
|
||||
depending on operating system conventions the process may
|
||||
<em>not</em> exit if the main thread exits, but axillary threads are
|
||||
still running. Note that ca_context_destroy() is functionally
|
||||
equivalent to the deprecated call ca_task_exit().</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4>Channel Access Portable Server (used by the CA gateway and others)</h4>
|
||||
<ul>
|
||||
<li>Fixed "assert fail when writing string through Portable CA Server" bug
|
||||
<ul>
|
||||
<li>Scope:
|
||||
<p>This bug is only present in the portable CA server and so it does
|
||||
<em>not</em> impact IOC based applications. The bug is present in the
|
||||
CA gateway and any portable CA server based application. This problem
|
||||
may have been recently introduced when GDD was patched to properly
|
||||
handle fixed sized strings.</p>
|
||||
</li>
|
||||
<li>Symptom:
|
||||
<p>Failure, when writing large string through the portable CA server.
|
||||
There appears to be a possibility of the wrong string being written
|
||||
when a smaller string is used. You may see the following message.</p>
|
||||
<p>A call to "assert (! this->pValue->unreference ())" failed
|
||||
in ..\..\..\..\include\smartGDDPointer.h line 88.</p>
|
||||
</li>
|
||||
<li>Additional Information:
|
||||
<p>Thanks to Stephanie Alison at SLAC for discovering the bug and to
|
||||
Ken Evans at the APS for reminding me to fix it.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 align="center">Changes since 3.14.4</h2>
|
||||
|
||||
<h4>dbtr</h4>
|
||||
|
||||
@@ -71,7 +457,7 @@ to experiment with other CA client tools.</p>
|
||||
<h4>Stringin record time-stamp soft device support</h4>
|
||||
Add simple device support for converting time to nicely-formatted string
|
||||
using INP field as epicsTimeToStrftime format string:
|
||||
<pre>record(stringin, "$(user):now")
|
||||
<pre>record(stringin, "$(user)now")
|
||||
{
|
||||
field(DESC, "Current time and date")
|
||||
field(DTYP, "Soft Timestamp")
|
||||
@@ -88,7 +474,7 @@ using INP field as epicsTimeToStrftime format string:
|
||||
production CA gateway at the APS.</li>
|
||||
</ul>
|
||||
|
||||
<h4>Channel Access Original Server (used in IOC) </h4>
|
||||
<h4>Channel Access Original Server (used in IOC)</h4>
|
||||
<ul>
|
||||
<li>A bug causing the server threads to become stuck in a state where they
|
||||
process requests, but no longer send responses, if in the past the system
|
||||
@@ -133,6 +519,10 @@ using INP field as epicsTimeToStrftime format string:
|
||||
channels in these situations at 2 seconds but due to the above bug the
|
||||
delay was more like 64mS. This bug appears only in earlier versions of
|
||||
EPICS R3.14.</li>
|
||||
<li>A bug has been found in the CA repeater supplied with EPICS R3.14.2
|
||||
through R3.14.4 (inclusive). The symptom will be clients running for more
|
||||
than a few minuites do not connect to a newly introduced server. Fixed in
|
||||
R3.14.5.</li>
|
||||
</ul>
|
||||
|
||||
<h4>dbCa</h4>
|
||||
@@ -453,7 +843,7 @@ bad news is that it does mean changes for existing 3.14.1 applications.
|
||||
Please see:</p>
|
||||
|
||||
<p><a
|
||||
href="ConvertingR3.14.1AppsToR3.14.2.html">ConvertingR3.14.1AppsToR3.14.2</a></p>
|
||||
href="../2-docs/ConvertingR3.14.1AppsToR3.14.2.html">ConvertingR3.14.1AppsToR3.14.2</a></p>
|
||||
|
||||
<p>for details. If you are using the <strong>function</strong> DBD keyword it
|
||||
no longer exists. Please read this conversion document for details.</p>
|
||||
|
||||
@@ -41,7 +41,7 @@ have been responsible for specific tasks in the past:</p>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Marty Kraimer</td>
|
||||
<td>Release Manager</td>
|
||||
<td>Email all developers about the upcoming release and ask for a list
|
||||
of remaining jobs that must be finished.</td>
|
||||
</tr>
|
||||
@@ -54,7 +54,7 @@ have been responsible for specific tasks in the past:</p>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Marty Kraimer</td>
|
||||
<td>Release Manager</td>
|
||||
<td>Set a date by which all CVS commits must be done, after which
|
||||
commits should only be to fix problems that show up during Final
|
||||
Testing.</td>
|
||||
@@ -104,6 +104,18 @@ have been responsible for specific tasks in the past:</p>
|
||||
<td>Run the CA client side regression tests on all available host
|
||||
platforms.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Release Manager</td>
|
||||
<td>Check that the documentation has been updated:
|
||||
<ul>
|
||||
<li>Application Developers Guide</li>
|
||||
<li>Release Notes</li>
|
||||
<li>Known Problems (hopefully empty)</li>
|
||||
<li>Other documents (converting...)</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>?</td>
|
||||
|
||||
@@ -16,6 +16,10 @@ SRCS += rtems_netconfig.c
|
||||
SRCS += rtems_util.c
|
||||
SRCS += rtems_dummyreg.c
|
||||
|
||||
SRCS_RTEMS-mvme2100 += setBootConfigFromPPCBUGNVRAM.c
|
||||
SRCS_RTEMS-mvme5500 += setBootConfigFromMOTLOADNVRAM.c
|
||||
SRCS += $(SRCS_$(T_A))
|
||||
|
||||
LIBRARY_RTEMS = rtemsCom
|
||||
LIBRARY_SRCS = $(SRCS) $(BUILD_ARCHS)
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
* RTEMS configuration for EPICS
|
||||
* $Id$
|
||||
* Author: W. Eric Norum
|
||||
* eric@cls.usask.ca
|
||||
* (306) 966-6055
|
||||
* norume@aps.anl.gov
|
||||
* (630) 252-4793
|
||||
*/
|
||||
|
||||
#include <rtems.h>
|
||||
@@ -29,8 +29,9 @@
|
||||
#define CONFIGURE_MAXIMUM_TIMERS rtems_resource_unlimited(20)
|
||||
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES rtems_resource_unlimited(5)
|
||||
|
||||
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 50
|
||||
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 100
|
||||
#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
|
||||
#define CONFIGURE_MAXIMUM_DRIVERS 8
|
||||
|
||||
#define CONFIGURE_MICROSECONDS_PER_TICK 20000
|
||||
|
||||
@@ -47,5 +48,8 @@ rtems_task Init (rtems_task_argument argument);
|
||||
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
#ifndef __mc68040__ /* MVME167 doesn't have RTC code 'yet' */
|
||||
#define CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
|
||||
#endif
|
||||
|
||||
#include <confdefs.h>
|
||||
#include <rtems/confdefs.h>
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
#include <rtems/error.h>
|
||||
#include <rtems/stackchk.h>
|
||||
#include <rtems/rtems_bsdnet.h>
|
||||
#include <rtems/tftp.h>
|
||||
|
||||
#include <epicsThread.h>
|
||||
#include <errlog.h>
|
||||
@@ -151,30 +150,114 @@ LogNetFatal (const char *msg, int err)
|
||||
delayedPanic (msg);
|
||||
}
|
||||
|
||||
void *
|
||||
mustMalloc(int size, const char *msg)
|
||||
{
|
||||
void *p;
|
||||
|
||||
if ((p = malloc (size)) == NULL)
|
||||
LogFatal ("Can't allocate space for %s.\n");
|
||||
return p;
|
||||
}
|
||||
|
||||
/*
|
||||
***********************************************************************
|
||||
* REMOTE FILE ACCESS *
|
||||
***********************************************************************
|
||||
*/
|
||||
/*
|
||||
* Add TFTP server and target prefix to pathnames
|
||||
*/
|
||||
#ifdef OMIT_NFS_SUPPORT
|
||||
# include <rtems/tftp.h>
|
||||
#endif
|
||||
|
||||
static void
|
||||
rtems_set_directory (void)
|
||||
initialize_remote_filesystem(const char **argv)
|
||||
{
|
||||
#ifdef OMIT_NFS_SUPPORT
|
||||
char *path;
|
||||
int pathsize = 200;
|
||||
int l;
|
||||
|
||||
if ((path = malloc (pathsize)) == NULL)
|
||||
LogFatal ("Can't create TFTP path name -- no memory.\n");
|
||||
printf ("***** Initializing TFTP *****\n");
|
||||
rtems_bsdnet_initialize_tftp_filesystem ();
|
||||
|
||||
path = mustMalloc(pathsize, "Command path name ");
|
||||
strcpy (path, "/TFTP/BOOTP_HOST/epics/");
|
||||
l = strlen (path);
|
||||
if (gethostname (&path[l], pathsize - l - 2) || (path[l] == '\0'))
|
||||
if (gethostname (&path[l], pathsize - l - 10) || (path[l] == '\0'))
|
||||
LogFatal ("Can't get host name");
|
||||
strcat (path, "/");
|
||||
if (chdir (path) < 0)
|
||||
LogFatal ("Can't set initial TFTP directory");
|
||||
strcat (path, "/st.cmd");
|
||||
argv[1] = path;
|
||||
#else
|
||||
char *server_path;
|
||||
char *mount_point;
|
||||
char *cp;
|
||||
int l = 0;
|
||||
|
||||
printf ("***** Initializing NFS *****\n");
|
||||
rpcUdpInit();
|
||||
nfsInit(0,0);
|
||||
/*
|
||||
* Use first component of nvram/bootp command line pathname
|
||||
* to set up initial NFS mount. A "/tftpboot/" is prepended
|
||||
* if the pathname does not begin with a '/'. This allows
|
||||
* NFS and TFTP to have a similar view of the remote system.
|
||||
*/
|
||||
if (rtems_bsdnet_bootp_cmdline[0] == '/')
|
||||
cp = rtems_bsdnet_bootp_cmdline + 1;
|
||||
else
|
||||
cp = rtems_bsdnet_bootp_cmdline;
|
||||
cp = strchr(cp, '/');
|
||||
if ((cp == NULL)
|
||||
|| ((l = cp - rtems_bsdnet_bootp_cmdline) == 0))
|
||||
LogFatal("\"%s\" is not a valid command pathname.\n", rtems_bsdnet_bootp_cmdline);
|
||||
cp = mustMalloc(l + 20, "NFS mount paths");
|
||||
server_path = cp;
|
||||
if (rtems_bsdnet_bootp_cmdline[0] == '/') {
|
||||
mount_point = server_path;
|
||||
strncpy(mount_point, rtems_bsdnet_bootp_cmdline, l);
|
||||
mount_point[l] = '\0';
|
||||
argv[1] = rtems_bsdnet_bootp_cmdline;
|
||||
}
|
||||
else {
|
||||
char *abspath = mustMalloc(strlen(rtems_bsdnet_bootp_cmdline)+2,"Absolute command path");
|
||||
strcpy(server_path, "/tftpboot/");
|
||||
mount_point = server_path + strlen(server_path);
|
||||
strncpy(mount_point, rtems_bsdnet_bootp_cmdline, l);
|
||||
mount_point[l] = '\0';
|
||||
mount_point--;
|
||||
strcpy(abspath, "/");
|
||||
strcat(abspath, rtems_bsdnet_bootp_cmdline);
|
||||
argv[1] = abspath;
|
||||
}
|
||||
nfsMount(rtems_bsdnet_bootp_server_name, server_path, mount_point);
|
||||
free(cp);
|
||||
#endif
|
||||
argv[0] = rtems_bsdnet_bootp_boot_file_name;
|
||||
}
|
||||
|
||||
/*
|
||||
* Get to the startup script directory
|
||||
* The TFTP filesystem requires a trailing '/' on chdir arguments.
|
||||
*/
|
||||
static void
|
||||
set_directory (const char *commandline)
|
||||
{
|
||||
const char *cp;
|
||||
char *directoryPath;
|
||||
int l;
|
||||
|
||||
cp = strrchr(commandline, '/');
|
||||
if (cp == NULL)
|
||||
l = strlen(commandline);
|
||||
else
|
||||
l = cp - commandline;
|
||||
directoryPath = mustMalloc(l + 2, "Command path directory ");
|
||||
strncpy(directoryPath, commandline, l);
|
||||
directoryPath[l] = '/';
|
||||
directoryPath[l+1] = '\0';
|
||||
if (chdir (directoryPath) < 0)
|
||||
LogFatal ("Can't set initial directory(%s): %s\n", directoryPath, strerror(errno));
|
||||
free(directoryPath);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -208,12 +291,26 @@ static void netStatCallFunc(const iocshArgBuf *args)
|
||||
{
|
||||
rtems_netstat(args[0].ival);
|
||||
}
|
||||
|
||||
static const iocshFuncDef stackCheckFuncDef = {"stackCheck",0,NULL};
|
||||
static void stackCheckCallFunc(const iocshArgBuf *args)
|
||||
{
|
||||
Stack_check_Dump_usage ();
|
||||
}
|
||||
|
||||
#ifndef OMIT_NFS_SUPPORT
|
||||
static const iocshArg nfsMountArg0 = { "[uid.gid@]host",iocshArgString};
|
||||
static const iocshArg nfsMountArg1 = { "server path",iocshArgString};
|
||||
static const iocshArg nfsMountArg2 = { "mount point",iocshArgString};
|
||||
static const iocshArg * const nfsMountArgs[3] = {&nfsMountArg0,&nfsMountArg1,
|
||||
&nfsMountArg2};
|
||||
static const iocshFuncDef nfsMountFuncDef = {"nfsMount",3,nfsMountArgs};
|
||||
static void nfsMountCallFunc(const iocshArgBuf *args)
|
||||
{
|
||||
nfsMount(args[0].sval, args[1].sval, args[2].sval);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Register RTEMS-specific commands
|
||||
*/
|
||||
@@ -221,6 +318,9 @@ static void iocshRegisterRTEMS (void)
|
||||
{
|
||||
iocshRegister(&netStatFuncDef, netStatCallFunc);
|
||||
iocshRegister(&stackCheckFuncDef, stackCheckCallFunc);
|
||||
#ifndef OMIT_NFS_SUPPORT
|
||||
iocshRegister(&nfsMountFuncDef, nfsMountCallFunc);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -260,11 +360,11 @@ rtems_task
|
||||
Init (rtems_task_argument ignored)
|
||||
{
|
||||
int i;
|
||||
char arg0[] = "RTEMS_IOC";
|
||||
char arg1[] = "st.cmd";
|
||||
char *argv[3] = { arg0, arg1, NULL };
|
||||
const char *argv[3] = { NULL, NULL, NULL };
|
||||
rtems_interval ticksPerSecond;
|
||||
rtems_task_priority newpri;
|
||||
rtems_status_code sc;
|
||||
rtems_time_of_day now;
|
||||
|
||||
/*
|
||||
* Get configuration
|
||||
@@ -277,6 +377,18 @@ Init (rtems_task_argument ignored)
|
||||
#if defined(__i386__)
|
||||
initRemoteGdb(ticksPerSecond);
|
||||
#endif
|
||||
#if defined(HAVE_PPCBUG)
|
||||
{
|
||||
extern void setBootConfigFromPPCBUGNVRAM(void);
|
||||
setBootConfigFromPPCBUGNVRAM();
|
||||
}
|
||||
#endif
|
||||
#if defined(HAVE_MOTLOAD)
|
||||
{
|
||||
extern void setBootConfigFromMOTLOADNVRAM(void);
|
||||
setBootConfigFromMOTLOADNVRAM();
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Override RTEMS configuration
|
||||
@@ -303,32 +415,35 @@ Init (rtems_task_argument ignored)
|
||||
== epicsThreadBooleanStatusSuccess)
|
||||
rtems_bsdnet_config.network_task_priority = epicsThreadGetOssPriorityValue(p);
|
||||
}
|
||||
printf ("***** Initializing network *****\n");
|
||||
printf ("\n***** Initializing network *****\n");
|
||||
rtems_bsdnet_initialize_network ();
|
||||
printf ("***** Initializing TFTP *****\n");
|
||||
rtems_bsdnet_initialize_tftp_filesystem ();
|
||||
for (i = 0 ; ; i++) {
|
||||
printf ("***** Initializing NTP *****\n");
|
||||
if (rtems_bsdnet_synchronize_ntp (0, 0) >= 0)
|
||||
break;
|
||||
rtems_task_wake_after (5*ticksPerSecond);
|
||||
if (i >= 12) {
|
||||
rtems_status_code sc;
|
||||
rtems_time_of_day now;
|
||||
printf (" *************** WARNING ***************\n");
|
||||
printf (" ***** NO RESPONSE FROM NTP SERVER *****\n");
|
||||
printf (" ***** TIME SET TO DEFAULT VALUE *****\n");
|
||||
printf (" ***************************************\n");
|
||||
now.year = 2001;
|
||||
now.month = 1;
|
||||
now.day = 1;
|
||||
now.hour = 0;
|
||||
now.minute = 0;
|
||||
now.second = 0;
|
||||
now.ticks = 0;
|
||||
if ((sc = rtems_clock_set (&now)) != RTEMS_SUCCESSFUL)
|
||||
printf ("***** Can't set time: %s\n", rtems_status_text (sc));
|
||||
break;
|
||||
initialize_remote_filesystem (argv);
|
||||
|
||||
/*
|
||||
* Use BSP-supplied time of day if available
|
||||
*/
|
||||
if (rtems_clock_get(RTEMS_CLOCK_GET_TOD,&now) != RTEMS_SUCCESSFUL) {
|
||||
for (i = 0 ; ; i++) {
|
||||
printf ("***** Initializing NTP *****\n");
|
||||
if (rtems_bsdnet_synchronize_ntp (0, 0) >= 0)
|
||||
break;
|
||||
rtems_task_wake_after (5*ticksPerSecond);
|
||||
if (i >= 12) {
|
||||
printf (" *************** WARNING ***************\n");
|
||||
printf (" ***** NO RESPONSE FROM NTP SERVER *****\n");
|
||||
printf (" ***** TIME SET TO DEFAULT VALUE *****\n");
|
||||
printf (" ***************************************\n");
|
||||
now.year = 2001;
|
||||
now.month = 1;
|
||||
now.day = 1;
|
||||
now.hour = 0;
|
||||
now.minute = 0;
|
||||
now.second = 0;
|
||||
now.ticks = 0;
|
||||
if ((sc = rtems_clock_set (&now)) != RTEMS_SUCCESSFUL)
|
||||
printf ("***** Can't set time: %s\n", rtems_status_text (sc));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -337,7 +452,7 @@ Init (rtems_task_argument ignored)
|
||||
*/
|
||||
printf ("***** Starting EPICS application *****\n");
|
||||
iocshRegisterRTEMS ();
|
||||
rtems_set_directory ();
|
||||
set_directory (argv[1]);
|
||||
i = main ((sizeof argv / sizeof argv[0]) - 1, argv);
|
||||
printf ("***** IOC application terminating *****\n");
|
||||
exit (i);
|
||||
|
||||
@@ -38,7 +38,6 @@ static struct rtems_bsdnet_ifconfig loopback_config = {
|
||||
* application directory and make the appropriate changes.
|
||||
*/
|
||||
#if defined(__i386__)
|
||||
|
||||
extern int rtems_fxp_attach (struct rtems_bsdnet_ifconfig *, int);
|
||||
static struct rtems_bsdnet_ifconfig fxp_driver_config = {
|
||||
"fxp1", /* name */
|
||||
@@ -52,17 +51,20 @@ static struct rtems_bsdnet_ifconfig e3c509_driver_config = {
|
||||
&fxp_driver_config, /* link to next interface */
|
||||
};
|
||||
#define FIRST_DRIVER_CONFIG &e3c509_driver_config
|
||||
|
||||
#else
|
||||
|
||||
/*
|
||||
* FIXME: This really belongs in the mcp750 BSP
|
||||
*/
|
||||
#if defined(__PPC) && defined(mpc750) && !defined(RTEMS_BSP_NETWORK_DRIVER_NAME) && !defined(RTEMS_BSP_NETWORK_DRIVER_ATTACH)
|
||||
# define RTEMS_BSP_NETWORK_DRIVER_NAME "dc1"
|
||||
# define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_dec21140_driver_attach
|
||||
extern int rtems_dec21140_driver_attach();
|
||||
#endif
|
||||
# if defined(__PPC)
|
||||
/*
|
||||
* FIXME: This really belongs in the BSP
|
||||
*/
|
||||
# ifndef RTEMS_BSP_NETWORK_DRIVER_NAME
|
||||
# define RTEMS_BSP_NETWORK_DRIVER_NAME "dc1"
|
||||
# endif
|
||||
# ifndef RTEMS_BSP_NETWORK_DRIVER_ATTACH
|
||||
# define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_dec21140_driver_attach
|
||||
extern int rtems_dec21140_driver_attach();
|
||||
# endif
|
||||
# endif
|
||||
|
||||
static struct rtems_bsdnet_ifconfig bsp_driver_config = {
|
||||
RTEMS_BSP_NETWORK_DRIVER_NAME, /* name */
|
||||
@@ -73,14 +75,37 @@ static struct rtems_bsdnet_ifconfig bsp_driver_config = {
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Allow configure/os/CONFIG_SITE.Common.RTEMS to provide domain name
|
||||
*/
|
||||
#ifdef RTEMS_NETWORK_CONFIG_DNS_DOMAINNAME
|
||||
# define XSTR(x) STR(x)
|
||||
# define STR(x) #x
|
||||
# define MY_DOMAINNAME XSTR(RTEMS_NETWORK_CONFIG_DNS_DOMAINNAME)
|
||||
#else
|
||||
# define MY_DOMAINNAME NULL
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Allow non-BOOTP network configuration
|
||||
*/
|
||||
#ifndef MY_DO_BOOTP
|
||||
# define MY_DO_BOOTP rtems_bsdnet_do_bootp
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Network configuration
|
||||
*/
|
||||
struct rtems_bsdnet_config rtems_bsdnet_config = {
|
||||
FIRST_DRIVER_CONFIG, /* Link to next interface */
|
||||
rtems_bsdnet_do_bootp, /* Use BOOTP to get network configuration */
|
||||
0, /* If 0 then the network daemons will run at a */
|
||||
MY_DO_BOOTP, /* How to find network config */
|
||||
10, /* If 0 then the network daemons will run at a */
|
||||
/* priority just less than the lowest-priority */
|
||||
/* EPICS scan thread. */
|
||||
/* If non-zero then the network daemons will run */
|
||||
/* at this *RTEMS* priority */
|
||||
180*1024, /* MBUF space */
|
||||
350*1024, /* MBUF cluster space */
|
||||
NULL, /* Host name */
|
||||
MY_DOMAINNAME, /* Domain name */
|
||||
};
|
||||
|
||||
105
src/RTEMS/base/setBootConfigFromMOTLOADNVRAM.c
Normal file
105
src/RTEMS/base/setBootConfigFromMOTLOADNVRAM.c
Normal file
@@ -0,0 +1,105 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <netinet/in.h>
|
||||
#include <rtems/rtems_bsdnet.h>
|
||||
#include <bsp.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
|
||||
static char *
|
||||
gev(const char *parm)
|
||||
{
|
||||
volatile char *nvp = (volatile unsigned char *)(GT64260_DEV1_BASE + 0x10000 + 0x70F8);
|
||||
const char *val;
|
||||
const char *name;
|
||||
char *ret;
|
||||
char c;
|
||||
|
||||
for (;;) {
|
||||
if (*nvp == '\0')
|
||||
return NULL;
|
||||
name = parm;
|
||||
while ((c = *nvp++) != '\0') {
|
||||
if ((c == '=') && (*name == '\0')) {
|
||||
val = (char *)nvp;
|
||||
while (*nvp++ != '\0')
|
||||
continue;
|
||||
ret = malloc(nvp - val);
|
||||
if (ret == NULL)
|
||||
return NULL;
|
||||
strcpy(ret, val);
|
||||
return ret;
|
||||
}
|
||||
if (c != *name++) {
|
||||
while (*nvp++ != '\0')
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static char *
|
||||
motScriptParm(const char *mot_script_boot, char parm)
|
||||
{
|
||||
const char *cp;
|
||||
char *ret;
|
||||
int l;
|
||||
|
||||
while (*mot_script_boot != '\0') {
|
||||
if (isspace(*mot_script_boot)
|
||||
&& (*(mot_script_boot+1) == '-')
|
||||
&& (*(mot_script_boot+2) == parm)) {
|
||||
mot_script_boot += 3;
|
||||
cp = mot_script_boot;
|
||||
while ((*mot_script_boot != '\0') && !isspace(*mot_script_boot))
|
||||
mot_script_boot++;
|
||||
l = mot_script_boot - cp;
|
||||
ret = malloc(l+1);
|
||||
if (ret == NULL)
|
||||
return NULL;
|
||||
strncpy(ret, cp, l);
|
||||
*(ret+l) = '\0';
|
||||
return ret;
|
||||
}
|
||||
mot_script_boot++;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void
|
||||
setBootConfigFromMOTLOADNVRAM(void)
|
||||
{
|
||||
char *cp;
|
||||
const char *mot_script_boot;
|
||||
|
||||
if (rtems_bsdnet_config.bootp != NULL)
|
||||
return;
|
||||
mot_script_boot = gev("mot-script-boot");
|
||||
if ((rtems_bsdnet_bootp_server_name = gev("mot-/dev/enet0-sipa")) == NULL)
|
||||
rtems_bsdnet_bootp_server_name = motScriptParm(mot_script_boot, 's');
|
||||
if ((rtems_bsdnet_config.gateway = gev("mot-/dev/enet0-gipa")) == NULL)
|
||||
rtems_bsdnet_config.gateway = motScriptParm(mot_script_boot, 'g');
|
||||
if ((rtems_bsdnet_config.ifconfig->ip_netmask = gev("mot-/dev/enet0-snma")) == NULL)
|
||||
rtems_bsdnet_config.ifconfig->ip_netmask = motScriptParm(mot_script_boot, 'm');
|
||||
|
||||
rtems_bsdnet_config.name_server[0] = gev("rtems-dns-server");
|
||||
if (rtems_bsdnet_config.name_server[0] == NULL)
|
||||
rtems_bsdnet_config.name_server[0] = rtems_bsdnet_bootp_server_name;
|
||||
rtems_bsdnet_config.log_host = rtems_bsdnet_bootp_server_name;
|
||||
cp = gev("rtems-dns-domainname");
|
||||
if (cp)
|
||||
rtems_bsdnet_config.domainname = cp;
|
||||
|
||||
if ((rtems_bsdnet_config.ifconfig->ip_address = gev("mot-/dev/enet0-cipa")) == NULL)
|
||||
rtems_bsdnet_config.ifconfig->ip_address = motScriptParm(mot_script_boot, 'c');
|
||||
rtems_bsdnet_config.hostname = gev("rtems-client-name");
|
||||
if (rtems_bsdnet_config.hostname == NULL)
|
||||
rtems_bsdnet_config.hostname = rtems_bsdnet_config.ifconfig->ip_address;
|
||||
|
||||
if ((rtems_bsdnet_bootp_boot_file_name = gev("mot-/dev/enet0-file")) == NULL)
|
||||
rtems_bsdnet_bootp_boot_file_name = motScriptParm(mot_script_boot, 'f');
|
||||
rtems_bsdnet_bootp_cmdline = gev("epics-script");
|
||||
}
|
||||
83
src/RTEMS/base/setBootConfigFromPPCBUGNVRAM.c
Normal file
83
src/RTEMS/base/setBootConfigFromPPCBUGNVRAM.c
Normal file
@@ -0,0 +1,83 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <netinet/in.h>
|
||||
#include <rtems/rtems_bsdnet.h>
|
||||
|
||||
struct ppcbug_nvram {
|
||||
rtems_unsigned32 PacketVersionIdentifier;
|
||||
rtems_unsigned32 NodeControlMemoryAddress;
|
||||
rtems_unsigned32 BootFileLoadAddress;
|
||||
rtems_unsigned32 BootFileExecutionAddress;
|
||||
rtems_unsigned32 BootFileExecutionDelay;
|
||||
rtems_unsigned32 BootFileLength;
|
||||
rtems_unsigned32 BootFileByteOffset;
|
||||
rtems_unsigned32 TraceBufferAddress;
|
||||
rtems_unsigned32 ClientIPAddress;
|
||||
rtems_unsigned32 ServerIPAddress;
|
||||
rtems_unsigned32 SubnetIPAddressMask;
|
||||
rtems_unsigned32 BroadcastIPAddressMask;
|
||||
rtems_unsigned32 GatewayIPAddress;
|
||||
rtems_unsigned8 BootpRarpRetry;
|
||||
rtems_unsigned8 TftpRarpRetry;
|
||||
rtems_unsigned8 BootpRarpControl;
|
||||
rtems_unsigned8 UpdateControl;
|
||||
char BootFilenameString[64];
|
||||
char ArgumentFilenameString[64];
|
||||
};
|
||||
|
||||
static char *addr(char *cbuf, rtems_unsigned32 addr)
|
||||
{
|
||||
struct in_addr a;
|
||||
if ((a.s_addr = addr) == 0)
|
||||
return NULL;
|
||||
return (char *)inet_ntop(AF_INET, &a, cbuf, INET_ADDRSTRLEN);
|
||||
}
|
||||
|
||||
void
|
||||
setBootConfigFromPPCBUGNVRAM(void)
|
||||
{
|
||||
static struct ppcbug_nvram nvram;
|
||||
static char ip_address[INET_ADDRSTRLEN];
|
||||
static char ip_netmask[INET_ADDRSTRLEN];
|
||||
static char server[INET_ADDRSTRLEN];
|
||||
static char gateway[INET_ADDRSTRLEN];
|
||||
|
||||
if (rtems_bsdnet_config.bootp != NULL)
|
||||
return;
|
||||
|
||||
/*
|
||||
* Get network configuation from PPCBUG.
|
||||
* The 'correct' way to do this would be to issue a .NETCFIG PPCBUG
|
||||
* system call. Unfortunately it is very difficult to issue such a
|
||||
* call once RTEMS is up and running so we just copy from the 'known'
|
||||
* location of the network configuration parameters.
|
||||
* Care must be taken to access the NVRAM a byte at a time.
|
||||
*/
|
||||
{
|
||||
volatile char *s = (volatile char *)0xFFE81000;
|
||||
char *d = (char *)&nvram;
|
||||
|
||||
while (d < ((char *)&nvram + sizeof nvram))
|
||||
*d++ = *s++;
|
||||
}
|
||||
|
||||
/*
|
||||
* Assume that the boot server is also the name server and log server!
|
||||
*/
|
||||
rtems_bsdnet_config.name_server[0] =
|
||||
rtems_bsdnet_bootp_server_name =
|
||||
rtems_bsdnet_config.log_host = addr(server, nvram.ServerIPAddress);
|
||||
rtems_bsdnet_bootp_server_address.s_addr = nvram.ServerIPAddress;
|
||||
|
||||
/*
|
||||
* Nothing better to use as host name!
|
||||
*/
|
||||
rtems_bsdnet_config.ifconfig->ip_address =
|
||||
rtems_bsdnet_config.hostname = addr(ip_address, nvram.ClientIPAddress);
|
||||
|
||||
rtems_bsdnet_config.gateway = addr(gateway, nvram.GatewayIPAddress);
|
||||
rtems_bsdnet_config.ifconfig->ip_netmask = addr(ip_netmask, nvram.SubnetIPAddressMask);
|
||||
rtems_bsdnet_bootp_boot_file_name = nvram.BootFilenameString;
|
||||
rtems_bsdnet_bootp_cmdline = nvram.ArgumentFilenameString;
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
/*asCa.c*/
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
@@ -7,8 +8,6 @@
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
/* share/src/as/asCa.c */
|
||||
/* share/src/as $Id$ */
|
||||
/* Author: Marty Kraimer Date: 10-15-93 */
|
||||
|
||||
/*This module is separate from asDbLib because CA uses old database access*/
|
||||
@@ -31,13 +30,15 @@
|
||||
#include "caerr.h"
|
||||
#include "caeventmask.h"
|
||||
#include "alarm.h"
|
||||
#include "epicsStdioRedirect.h"
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "epicsExport.h"
|
||||
#include "asLib.h"
|
||||
#include "asDbLib.h"
|
||||
#include "asCa.h"
|
||||
|
||||
epicsShareDef int asCaDebug = 0;
|
||||
int asCaDebug = 0;
|
||||
epicsExportAddress(int,asCaDebug);
|
||||
LOCAL int firstTime = TRUE;
|
||||
LOCAL epicsThreadId threadid=0;
|
||||
LOCAL int caInitializing=FALSE;
|
||||
@@ -259,3 +260,46 @@ void epicsShareAPI asCaStop(void)
|
||||
if(asCaDebug) printf("asCaStop done\n");
|
||||
epicsMutexUnlock(asCaTaskLock);
|
||||
}
|
||||
|
||||
int epicsShareAPI ascar(int level) { return ascarFP(stdout,level);}
|
||||
|
||||
int epicsShareAPI ascarFP(FILE *fp,int level)
|
||||
{
|
||||
ASG *pasg;
|
||||
int n=0,nbad=0;
|
||||
enum channel_state state;
|
||||
|
||||
if(!pasbase) {
|
||||
fprintf(fp,"access security not started\n");
|
||||
return(0);
|
||||
}
|
||||
pasg = (ASG *)ellFirst(&pasbase->asgList);
|
||||
while(pasg) {
|
||||
ASGINP *pasginp;
|
||||
pasginp = (ASGINP *)ellFirst(&pasg->inpList);
|
||||
while(pasginp) {
|
||||
CAPVT *pcapvt = (CAPVT *)pasginp->capvt;
|
||||
chid chid = pcapvt->chid;
|
||||
pcapvt = pasginp->capvt;
|
||||
++n;
|
||||
state = ca_state(chid);
|
||||
if(state!=cs_conn) ++nbad;
|
||||
if(level>1 || (level==1 && state!=cs_conn)) {
|
||||
fprintf(fp,"connected:");
|
||||
if(state==cs_never_conn) fprintf(fp,"never ");
|
||||
else if(state==cs_prev_conn) fprintf(fp,"prev ");
|
||||
else if(state==cs_conn) fprintf(fp,"yes ");
|
||||
else if(state==cs_closed) fprintf(fp,"closed");
|
||||
else fprintf(fp,"unknown");
|
||||
fprintf(fp," read:%s write:%s",
|
||||
(ca_read_access(chid) ? "yes" : "no "),
|
||||
(ca_write_access(chid) ? "yes" : "no "));
|
||||
fprintf(fp," %s %s\n", ca_name(chid),ca_host_name(chid));
|
||||
}
|
||||
pasginp = (ASGINP *)ellNext((ELLNODE *)pasginp);
|
||||
}
|
||||
pasg = (ASG *)ellNext((ELLNODE *)pasg);
|
||||
}
|
||||
fprintf(fp,"%d channels %d not connected\n",n,nbad);
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -20,7 +20,8 @@ extern "C" {
|
||||
|
||||
epicsShareFunc void epicsShareAPI asCaStart(void);
|
||||
epicsShareFunc void epicsShareAPI asCaStop(void);
|
||||
epicsShareExtern int asCaDebug;
|
||||
epicsShareFunc int epicsShareAPI ascar(int level);
|
||||
epicsShareFunc int epicsShareAPI ascarFP(FILE *fp, int level);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/* share/src/as/asDbLib.c */
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
@@ -7,8 +8,6 @@
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
/* share/src/as/asDbLib.c */
|
||||
/* share/src/as $Id$ */
|
||||
/* Author: Marty Kraimer Date: 02-11-94*/
|
||||
|
||||
#include <stdlib.h>
|
||||
@@ -16,6 +15,7 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "epicsStdioRedirect.h"
|
||||
#include "dbDefs.h"
|
||||
#include "cantProceed.h"
|
||||
#include "epicsThread.h"
|
||||
@@ -67,7 +67,7 @@ static long asDbAddRecords(void)
|
||||
return(0);
|
||||
}
|
||||
|
||||
int epicsShareAPI asSetFilename(char *acf)
|
||||
int epicsShareAPI asSetFilename(const char *acf)
|
||||
{
|
||||
if(pacf) free ((void *)pacf);
|
||||
if(acf) {
|
||||
@@ -83,7 +83,7 @@ int epicsShareAPI asSetFilename(char *acf)
|
||||
return(0);
|
||||
}
|
||||
|
||||
int epicsShareAPI asSetSubstitutions(char *substitutions)
|
||||
int epicsShareAPI asSetSubstitutions(const char *substitutions)
|
||||
{
|
||||
if(psubstitutions) free ((void *)psubstitutions);
|
||||
if(substitutions) {
|
||||
@@ -223,7 +223,7 @@ static void astacCallback(ASCLIENTPVT clientPvt,asClientStatus status)
|
||||
(asCheckPut(clientPvt) ? "Yes" : "No"));
|
||||
}
|
||||
|
||||
int epicsShareAPI astac(char *pname,char *user,char *location)
|
||||
int epicsShareAPI astac(const char *pname,const char *user,const char *location)
|
||||
{
|
||||
DBADDR *paddr;
|
||||
long status;
|
||||
@@ -259,41 +259,71 @@ int epicsShareAPI astac(char *pname,char *user,char *location)
|
||||
return(0);
|
||||
}
|
||||
|
||||
static void myMemberCallback(ASMEMBERPVT memPvt)
|
||||
static void myMemberCallback(ASMEMBERPVT memPvt,FILE *fp)
|
||||
{
|
||||
dbCommon *precord;
|
||||
|
||||
precord = asGetMemberPvt(memPvt);
|
||||
if(precord) printf(" Record:%s",precord->name);
|
||||
if(precord) fprintf(fp," Record:%s",precord->name);
|
||||
}
|
||||
|
||||
int epicsShareAPI asdbdump(void)
|
||||
{
|
||||
asDump(myMemberCallback,NULL,1);
|
||||
asDumpFP(stdout,myMemberCallback,NULL,1);
|
||||
return(0);
|
||||
}
|
||||
|
||||
int epicsShareAPI aspuag(char *uagname)
|
||||
int epicsShareAPI asdbdumpFP(FILE *fp)
|
||||
{
|
||||
asDumpFP(fp,myMemberCallback,NULL,1);
|
||||
return(0);
|
||||
}
|
||||
|
||||
int epicsShareAPI aspuag(const char *uagname)
|
||||
{
|
||||
asDumpUagFP(stdout,uagname);
|
||||
return(0);
|
||||
}
|
||||
|
||||
int epicsShareAPI aspuagFP(FILE *fp,const char *uagname)
|
||||
{
|
||||
|
||||
asDumpUag(uagname);
|
||||
asDumpUagFP(fp,uagname);
|
||||
return(0);
|
||||
}
|
||||
|
||||
int epicsShareAPI asphag(char *hagname)
|
||||
int epicsShareAPI asphag(const char *hagname)
|
||||
{
|
||||
asDumpHag(hagname);
|
||||
asDumpHagFP(stdout,hagname);
|
||||
return(0);
|
||||
}
|
||||
|
||||
int epicsShareAPI asprules(char *asgname)
|
||||
int epicsShareAPI asphagFP(FILE *fp,const char *hagname)
|
||||
{
|
||||
asDumpRules(asgname);
|
||||
asDumpHagFP(fp,hagname);
|
||||
return(0);
|
||||
}
|
||||
|
||||
int epicsShareAPI aspmem(char *asgname,int clients)
|
||||
int epicsShareAPI asprules(const char *asgname)
|
||||
{
|
||||
asDumpMem(asgname,myMemberCallback,clients);
|
||||
asDumpRulesFP(stdout,asgname);
|
||||
return(0);
|
||||
}
|
||||
|
||||
int epicsShareAPI asprulesFP(FILE *fp,const char *asgname)
|
||||
{
|
||||
asDumpRulesFP(fp,asgname);
|
||||
return(0);
|
||||
}
|
||||
|
||||
int epicsShareAPI aspmem(const char *asgname,int clients)
|
||||
{
|
||||
asDumpMemFP(stdout,asgname,myMemberCallback,clients);
|
||||
return(0);
|
||||
}
|
||||
|
||||
int epicsShareAPI aspmemFP(FILE *fp,const char *asgname,int clients)
|
||||
{
|
||||
asDumpMemFP(fp,asgname,myMemberCallback,clients);
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -26,19 +26,25 @@ typedef struct {
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
epicsShareFunc int epicsShareAPI asSetFilename(char *acf);
|
||||
epicsShareFunc int epicsShareAPI asSetSubstitutions(char *substitutions);
|
||||
epicsShareFunc int epicsShareAPI asSetFilename(const char *acf);
|
||||
epicsShareFunc int epicsShareAPI asSetSubstitutions(const char *substitutions);
|
||||
epicsShareFunc int epicsShareAPI asInit(void);
|
||||
epicsShareFunc int epicsShareAPI asInitAsyn(ASDBCALLBACK *pcallback);
|
||||
epicsShareFunc int epicsShareAPI asDbGetAsl( void *paddr);
|
||||
epicsShareFunc void * epicsShareAPI asDbGetMemberPvt( void *paddr);
|
||||
epicsShareFunc int epicsShareAPI asdbdump( void);
|
||||
epicsShareFunc int epicsShareAPI aspuag(char *uagname);
|
||||
epicsShareFunc int epicsShareAPI asphag(char *hagname);
|
||||
epicsShareFunc int epicsShareAPI asprules(char *asgname);
|
||||
epicsShareFunc int epicsShareAPI aspmem(char *asgname,int clients);
|
||||
epicsShareFunc int epicsShareAPI asdbdump(void);
|
||||
epicsShareFunc int epicsShareAPI asdbdumpFP(FILE *fp);
|
||||
epicsShareFunc int epicsShareAPI aspuag(const char *uagname);
|
||||
epicsShareFunc int epicsShareAPI aspuagFP(FILE *fp,const char *uagname);
|
||||
epicsShareFunc int epicsShareAPI asphag(const char *hagname);
|
||||
epicsShareFunc int epicsShareAPI asphagFP(FILE *fp,const char *hagname);
|
||||
epicsShareFunc int epicsShareAPI asprules(const char *asgname);
|
||||
epicsShareFunc int epicsShareAPI asprulesFP(FILE *fp,const char *asgname);
|
||||
epicsShareFunc int epicsShareAPI aspmem(const char *asgname,int clients);
|
||||
epicsShareFunc int epicsShareAPI aspmemFP(
|
||||
FILE *fp,const char *asgname,int clients);
|
||||
epicsShareFunc int epicsShareAPI astac(
|
||||
char *recordname,char *user,char *location);
|
||||
const char *recordname,const char *user,const char *location);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user