Compare commits
516 Commits
R3.14.0-be
...
PSI-3.13
| Author | SHA1 | Date | |
|---|---|---|---|
| 89dbcc1ccc | |||
| 3915c844ef | |||
| b8f2e72469 | |||
| 208dde05ed | |||
| e7b0e072ce | |||
| 75aa484a28 | |||
| afea9794a3 | |||
| 911045f381 | |||
| f5df23b41f | |||
| 7198988be9 | |||
| a536645042 | |||
| 542e9a79cf | |||
| bfc70acdee | |||
| 6fcdcb625e | |||
| 3e11de6700 | |||
| 8add5e6d99 | |||
|
|
25eb8981d1 | ||
|
|
cdbeac4c8c | ||
|
|
72fdd8bc2e | ||
|
|
414cb8d62c | ||
|
|
e0106fd010 | ||
|
|
0d0aa7de73 | ||
|
|
6285f33fda | ||
|
|
e22fbab104 | ||
|
|
a184041ea0 | ||
|
|
37c1049e47 | ||
|
|
ec9686d945 | ||
|
|
7009ea2784 | ||
|
|
b307ef1746 | ||
|
|
e5461a72b0 | ||
|
|
e54a016e9c | ||
|
|
5dc8213385 | ||
|
|
6ce3e959ee | ||
|
|
731e413fe6 | ||
|
|
f3086ac02f | ||
|
|
bcaa5e05c3 | ||
|
|
43028c644e | ||
|
|
5eabcef78c | ||
|
|
168e33b7b4 | ||
|
|
51a1314f31 | ||
|
|
9fc20984ec | ||
|
|
565ec952fe | ||
|
|
5bbf333ad3 | ||
|
|
9a99e447a8 | ||
|
|
f3dfc7f4e9 | ||
|
|
265597698e | ||
|
|
64d9557d17 | ||
|
|
fcc317ccdf | ||
|
|
15072fb71c | ||
|
|
8828487ee7 | ||
|
|
7304b138a2 | ||
|
|
bff391d85c | ||
|
|
2619a00eee | ||
|
|
459cfe4cc6 | ||
|
|
0dfef26c23 | ||
|
|
eaaeb78f3d | ||
|
|
6f8ff1ea68 | ||
|
|
5942ff01c5 | ||
|
|
13b19bade4 | ||
|
|
57a87ac96d | ||
|
|
0b2771c5f4 | ||
|
|
5f2e18a009 | ||
|
|
16ac672973 | ||
|
|
797f2ae524 | ||
|
|
8004aeb729 | ||
|
|
9835753cb6 | ||
|
|
4e1fd091ea | ||
|
|
7ad5347f7f | ||
|
|
74824c5ff2 | ||
|
|
1bda6aff08 | ||
|
|
461cac2e1d | ||
|
|
081a96160f | ||
|
|
886759cffa | ||
|
|
4abc96759d | ||
|
|
e083f41963 | ||
|
|
04998e378b | ||
|
|
a97876092e | ||
|
|
56c7e2401f | ||
|
|
a1cbc57cc0 | ||
|
|
2a5a175196 | ||
|
|
319328d6fe | ||
|
|
fd16d1bb65 | ||
|
|
21ff7e5613 | ||
|
|
0940a35086 | ||
|
|
f8f2b44c6c | ||
|
|
0e182d8c1a | ||
|
|
4f659b6581 | ||
|
|
bc03c1cca9 | ||
|
|
39cfb6b05a | ||
|
|
9cd9257c4a | ||
|
|
71d1b80224 | ||
|
|
0e47da7e57 | ||
|
|
092746d36a | ||
|
|
d55d54d235 | ||
|
|
2d08f5abac | ||
|
|
54cc4cec31 | ||
|
|
0e0c2c7ac3 | ||
|
|
9d1e7f7da4 | ||
|
|
5a5a0fd0cc | ||
|
|
9805e6a8e9 | ||
|
|
fe55b04449 | ||
|
|
09733655f8 | ||
|
|
9cbf577382 | ||
|
|
94b408425b | ||
|
|
7347132973 | ||
|
|
87c3103022 | ||
|
|
b11d547699 | ||
|
|
73c303192d | ||
|
|
4cb08f797a | ||
|
|
459cdc0829 | ||
|
|
551e87f15d | ||
|
|
e628e95d2c | ||
|
|
68120ccb74 | ||
|
|
47b044d257 | ||
|
|
78ad1feec8 | ||
|
|
ba6b7f6e21 | ||
|
|
5c162ad7c3 | ||
|
|
64fc54cbaa | ||
|
|
a570a5c17f | ||
|
|
0048405ec0 | ||
|
|
c7c74a8aab | ||
|
|
e1bfd021c1 | ||
|
|
ec827cb25f | ||
|
|
b1dc7d2848 | ||
|
|
1994e47492 | ||
|
|
ef610d2784 | ||
|
|
7a85d0f66c | ||
|
|
432d454e28 | ||
|
|
ebfd8538bc | ||
|
|
d6be272269 | ||
|
|
f3ee15a96b | ||
|
|
f690464dc0 | ||
|
|
3b1c83ed6b | ||
|
|
70d8342312 | ||
|
|
71e3ea1a07 | ||
|
|
1450bdd32d | ||
|
|
92b552bf52 | ||
|
|
948d3e5f15 | ||
|
|
5547db3bf0 | ||
|
|
91755f9cfd | ||
|
|
95670b8dc5 | ||
|
|
b8ceff8342 | ||
|
|
0e268963b7 | ||
|
|
2c9f78350a | ||
|
|
b18f2118f2 | ||
|
|
9794d68fcb | ||
|
|
f33b1d6989 | ||
|
|
a335ff38a2 | ||
|
|
c4f2c23246 | ||
|
|
34b24889cc | ||
|
|
4f383d1bca | ||
|
|
9257e2b295 | ||
|
|
c66e10e725 | ||
|
|
5b2af16fad | ||
|
|
fd289990db | ||
|
|
5600501e7b | ||
|
|
01f16118ac | ||
|
|
e68384b7e2 | ||
|
|
325548b80f | ||
|
|
b8600aab3e | ||
|
|
fc39d4f879 | ||
|
|
9800be7c04 | ||
|
|
7b250b9ec9 | ||
|
|
7aa6a39955 | ||
|
|
1a59789871 | ||
|
|
522e46036d | ||
|
|
053cfb39df | ||
|
|
8195098e49 | ||
|
|
2ad833fd1f | ||
|
|
69d504a657 | ||
|
|
d5c5baad83 | ||
|
|
795cb4c46d | ||
|
|
5d8742632b | ||
|
|
979ce1be90 | ||
|
|
5c3da28b5e | ||
|
|
e3f52845d0 | ||
|
|
2bd00b3e41 | ||
|
|
06a0fa1708 | ||
|
|
3c76d41b70 | ||
|
|
ad81dee1a1 | ||
|
|
a4ca46b051 | ||
|
|
b94329db3f | ||
|
|
6d427b7b8b | ||
|
|
5aff3b2d44 | ||
|
|
9ada9d9630 | ||
|
|
2cbee21119 | ||
|
|
cd6f33ef27 | ||
|
|
4434ba4d6e | ||
|
|
69ffb18e7a | ||
|
|
347fed2bad | ||
|
|
365243a2b0 | ||
|
|
355d2b0f42 | ||
|
|
6a663c83c5 | ||
|
|
57476bb56a | ||
|
|
b99c4d2f6c | ||
|
|
ca76aa0524 | ||
|
|
dcf48cea38 | ||
|
|
a2fad6e62e | ||
|
|
2054e9299a | ||
|
|
6a3ddb3076 | ||
|
|
094a79fcd0 | ||
|
|
a29cf1b411 | ||
|
|
36a977becd | ||
|
|
73f35c8167 | ||
|
|
47bbac99ce | ||
|
|
e6850d62db | ||
|
|
567b220ea7 | ||
|
|
ab090ce4ea | ||
|
|
b8553b00d8 | ||
|
|
27f82a6284 | ||
|
|
af570b2b23 | ||
|
|
87bfe60ee7 | ||
|
|
a778863602 | ||
|
|
3916d4e459 | ||
|
|
aecaf46c53 | ||
|
|
a33f03c6ea | ||
|
|
866a410f23 | ||
|
|
f67bdb4668 | ||
|
|
8973bbdc3a | ||
|
|
0fb4075a62 | ||
|
|
bedbab8965 | ||
|
|
a82f4c4c43 | ||
|
|
3ee0ea750a | ||
|
|
717384dbdb | ||
|
|
a06a26bf2d | ||
|
|
34e5e5432b | ||
|
|
cc5791cbbd | ||
|
|
fb22efdc54 | ||
|
|
b74047a296 | ||
|
|
e573033c7e | ||
|
|
d121fb00a7 | ||
|
|
b9b5e7f826 | ||
|
|
2582f37da0 | ||
|
|
e1c108b14a | ||
|
|
fbf3e7630a | ||
|
|
2d298e60c2 | ||
|
|
fbabce651f | ||
|
|
ea1d5039e8 | ||
|
|
64cbf3ce00 | ||
|
|
9a99bb114f | ||
|
|
a6a395861e | ||
|
|
804f240d05 | ||
|
|
8a477f7f95 | ||
|
|
8a93905515 | ||
|
|
d401dcdfab | ||
|
|
d56ca7f02e | ||
|
|
b1725b380b | ||
|
|
70d0303f78 | ||
|
|
5a83c766e8 | ||
|
|
f3b833912f | ||
|
|
bdc546a8c3 | ||
|
|
c02d807a3d | ||
|
|
5cba098b1b | ||
|
|
ed5d521400 | ||
|
|
360fca950d | ||
|
|
511e0f3ed6 | ||
|
|
1959f42c41 | ||
|
|
f1d8472118 | ||
|
|
8d4adef787 | ||
|
|
560e9d5bf2 | ||
|
|
3eaa0b0e9c | ||
|
|
c78c305dde | ||
|
|
def5fcf7c2 | ||
|
|
c4a14a940d | ||
|
|
9d4540bf96 | ||
|
|
55422049a5 | ||
|
|
41263e4136 | ||
|
|
631f522d75 | ||
|
|
006c7eda64 | ||
|
|
83420814a0 | ||
|
|
ef15667182 | ||
|
|
405fff7f58 | ||
|
|
54fee9f016 | ||
|
|
9e451e8f32 | ||
|
|
11fb4abef3 | ||
|
|
6a8ad88933 | ||
|
|
7e9882e62d | ||
|
|
50e67354ce | ||
|
|
bfb770040e | ||
|
|
a7cbe6320c | ||
|
|
930f5d64ec | ||
|
|
adb2d574a3 | ||
|
|
9875370d92 | ||
|
|
558e7a3947 | ||
|
|
3a74d55e6c | ||
|
|
cd0cf5f214 | ||
|
|
4aa81c5344 | ||
|
|
55a9e3b202 | ||
|
|
cf08dffbe3 | ||
|
|
83e5824c82 | ||
|
|
b4a3060bcc | ||
|
|
359cac2a7a | ||
|
|
932ee82378 | ||
|
|
54f8c4b16e | ||
|
|
c869181371 | ||
|
|
e9a73b4672 | ||
|
|
4810331f30 | ||
|
|
a45cccca31 | ||
|
|
dec31ae490 | ||
|
|
af758921ca | ||
|
|
f26211bc90 | ||
|
|
4c4eeee2d1 | ||
|
|
ff21da6b48 | ||
|
|
743edfea17 | ||
|
|
d030dc6c79 | ||
|
|
602510cef7 | ||
|
|
f04f56750a | ||
|
|
9b6d834852 | ||
|
|
443228c030 | ||
|
|
1782f96fdf | ||
|
|
ecfc4209a5 | ||
|
|
9392890198 | ||
|
|
07d184b7cf | ||
|
|
703c3a838f | ||
|
|
1fca6cb348 | ||
|
|
983ec9605c | ||
|
|
8289ea132c | ||
|
|
5d19a030a8 | ||
|
|
105f1107f1 | ||
|
|
c83434b82a | ||
|
|
a1d0bfda5a | ||
|
|
d0f57e2c5b | ||
|
|
e0444c15cf | ||
|
|
20b4796d5b | ||
|
|
1c546579c0 | ||
|
|
97e0200a96 | ||
|
|
bfead72b3f | ||
|
|
a8cef4a3f3 | ||
|
|
c07663f336 | ||
|
|
d26b946bcd | ||
|
|
2bbd8e82f0 | ||
|
|
01b9401694 | ||
|
|
d8707e17d7 | ||
|
|
ee118b800e | ||
|
|
08b3fba1d2 | ||
|
|
da1359e352 | ||
|
|
357a58a976 | ||
|
|
4dfcfb92d3 | ||
|
|
d387f10f98 | ||
|
|
0ec95fe1d7 | ||
|
|
a25736f934 | ||
|
|
489cda3f4a | ||
|
|
cc04722d6f | ||
|
|
5f8f321cba | ||
|
|
67da742a41 | ||
|
|
18dbd6153f | ||
|
|
67c073dd50 | ||
|
|
07793f462b | ||
|
|
e12e6c5511 | ||
|
|
12bd694be3 | ||
|
|
3a833feb34 | ||
|
|
c2096fee0f | ||
|
|
368eb29e24 | ||
|
|
59252092fc | ||
|
|
466cdaf012 | ||
|
|
7948ab440f | ||
|
|
177224595a | ||
|
|
5b61fb0a92 | ||
|
|
32f6dc1070 | ||
|
|
871a0d2f5b | ||
|
|
8f1b6b071b | ||
|
|
2ea7efe2ea | ||
|
|
789ad68afd | ||
|
|
cfc8647108 | ||
|
|
5ed27edaa3 | ||
|
|
1adff7f6c7 | ||
|
|
c71cbc4f36 | ||
|
|
c8029c6597 | ||
|
|
15ba66a654 | ||
|
|
ebc676aea6 | ||
|
|
e8a396074c | ||
|
|
335fc3aaee | ||
|
|
77049dd60d | ||
|
|
903c568990 | ||
|
|
21f9ce34ff | ||
|
|
ce0f7e1fc3 | ||
|
|
6421264b9e | ||
|
|
4d04a3bda1 | ||
|
|
b2da4eed3e | ||
|
|
2853eb9066 | ||
|
|
af7ae9694f | ||
|
|
a2df5adfae | ||
|
|
e49648170e | ||
|
|
6272f98eef | ||
|
|
b520b21015 | ||
|
|
0cace42008 | ||
|
|
dedc7c00a0 | ||
|
|
9caa93a5aa | ||
|
|
67ba2be514 | ||
|
|
0e9a80746b | ||
|
|
840cb1154d | ||
|
|
b41c25c31a | ||
|
|
5c084c6ca7 | ||
|
|
3eca7fcc87 | ||
|
|
065a7eb4e7 | ||
|
|
64eb66f6d8 | ||
|
|
9c5f9df16b | ||
|
|
5b33376c9f | ||
|
|
1287657634 | ||
|
|
0697f3d609 | ||
|
|
3ef5dd4365 | ||
|
|
022d8cbef2 | ||
|
|
a8905acdaf | ||
|
|
96f1563b75 | ||
|
|
0457e9fb20 | ||
|
|
af2f551e58 | ||
|
|
004854183e | ||
|
|
d8117bc035 | ||
|
|
bc9ab2acb3 | ||
|
|
1f972cfa3d | ||
|
|
09931eaec6 | ||
|
|
0caf235b4a | ||
|
|
280b396b51 | ||
|
|
e5ecba33cf | ||
|
|
71a3df9d04 | ||
|
|
ebd17b7918 | ||
|
|
b9b7da40ac | ||
|
|
99e36b6dd1 | ||
|
|
ee9d4a4d0d | ||
|
|
3435e0c38a | ||
|
|
6d851ae852 | ||
|
|
37ad0c3445 | ||
|
|
cac8d1f5bf | ||
|
|
9e67db7af0 | ||
|
|
e56b154b4c | ||
|
|
a686a5bd8c | ||
|
|
77cc55e4f9 | ||
|
|
8955a3c1c7 | ||
|
|
6324cbf82c | ||
|
|
104ba85ebc | ||
|
|
9b5fbf099a | ||
|
|
63e9665e8d | ||
|
|
df5ae40387 | ||
|
|
b48f5f410e | ||
|
|
d7dfd29cc6 | ||
|
|
d6ba9f1bc7 | ||
|
|
ea7582b20f | ||
|
|
51847ba684 | ||
|
|
3eaee4daca | ||
|
|
d6ee79d742 | ||
|
|
894f9a53ec | ||
|
|
425f1bab9f | ||
|
|
5c4143d3fe | ||
|
|
65f755a5e2 | ||
|
|
9f346cf216 | ||
|
|
8cf0e35e80 | ||
|
|
2183d4bc98 | ||
|
|
d83d6bc033 | ||
|
|
3a8d557e4c | ||
|
|
5437eb4cfc | ||
|
|
06b4e4b151 | ||
|
|
7110b36b77 | ||
|
|
524cf39786 | ||
|
|
b2a69aeb07 | ||
|
|
7a9dbe8730 | ||
|
|
cf8edbd069 | ||
|
|
de014e8e9b | ||
|
|
3fb42aaeb1 | ||
|
|
5db26d6537 | ||
|
|
ad0526e5c1 | ||
|
|
4b650b296c | ||
|
|
d32907b8c8 | ||
|
|
171e63d7fa | ||
|
|
52809fa559 | ||
|
|
c4c0d30095 | ||
|
|
41a8c83eb4 | ||
|
|
0636b2e7ac | ||
|
|
ced94a4998 | ||
|
|
e55317a334 | ||
|
|
5c20a5182c | ||
|
|
40450af3c9 | ||
|
|
36ca2234bc | ||
|
|
89d52c190f | ||
|
|
28a2cbb289 | ||
|
|
2724d25016 | ||
|
|
0166de83da | ||
|
|
7811c1fc08 | ||
|
|
cc56524957 | ||
|
|
7cd173d2f7 | ||
|
|
4a960b4a68 | ||
|
|
cc04d07a18 | ||
|
|
7ca6a58ccb | ||
|
|
2cb1f213f0 | ||
|
|
f9589b7b66 | ||
|
|
868519a8c0 | ||
|
|
de7bca98f3 | ||
|
|
b06d31de70 | ||
|
|
7bcee16fe9 | ||
|
|
18fdef33f4 | ||
|
|
d8ac98888d | ||
|
|
ff0a29c7c8 | ||
|
|
fc4633a085 | ||
|
|
7585e7492c | ||
|
|
96ab0192ae | ||
|
|
137abe0fa9 | ||
|
|
d2d09a48f0 | ||
|
|
0a18a0ccea | ||
|
|
95f88e2ad1 | ||
|
|
6ff3c930ad | ||
|
|
74e548968f | ||
|
|
7f35cd0050 | ||
|
|
db6fe79dac | ||
|
|
a001aa24d8 | ||
|
|
cb0209f493 | ||
|
|
57a1ebfa50 | ||
|
|
7d649345c2 | ||
|
|
ffb229e321 | ||
|
|
ee9a42638a | ||
|
|
680d138809 | ||
|
|
2718646d11 | ||
|
|
0ba0aa26cd | ||
|
|
806be5e259 | ||
|
|
446621f87a | ||
|
|
41228df369 | ||
|
|
0d43a37b85 | ||
|
|
0ceb42cc74 |
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
O.*
|
||||
bin
|
||||
dbd
|
||||
include
|
||||
lib
|
||||
man
|
||||
templates
|
||||
84
LICENSE
Normal file
84
LICENSE
Normal file
@@ -0,0 +1,84 @@
|
||||
Copyright (c) 1991-2004 University of Chicago and The Regents of the
|
||||
University of California. All rights reserved.
|
||||
|
||||
EPICS BASE is distributed subject to the following license conditions:
|
||||
|
||||
SOFTWARE LICENSE AGREEMENT
|
||||
Software: EPICS BASE
|
||||
Versions: 3.13.7 and higher
|
||||
|
||||
1. The "Software", below, refers to EPICS BASE (in either source code, or
|
||||
binary form and accompanying documentation). Each licensee is
|
||||
addressed as "you" or "Licensee."
|
||||
|
||||
2. The copyright holders shown above and their third-party licensors
|
||||
hereby grant Licensee a royalty-free nonexclusive license, subject to
|
||||
the limitations stated herein and U.S. Government license rights.
|
||||
|
||||
3. You may modify and make a copy or copies of the Software for use
|
||||
within your organization, if you meet the following conditions:
|
||||
a. Copies in source code must include the copyright notice and this
|
||||
Software License Agreement.
|
||||
b. Copies in binary form must include the copyright notice and this
|
||||
Software License Agreement in the documentation and/or other
|
||||
materials provided with the copy.
|
||||
|
||||
4. You may modify a copy or copies of the Software or any portion of it,
|
||||
thus forming a work based on the Software, and distribute copies of
|
||||
such work outside your organization, if you meet all of the following
|
||||
conditions:
|
||||
a. Copies in source code must include the copyright notice and this
|
||||
Software License Agreement;
|
||||
b. Copies in binary form must include the copyright notice and this
|
||||
Software License Agreement in the documentation and/or other
|
||||
materials provided with the copy;
|
||||
c. Modified copies and works based on the Software must carry
|
||||
prominent notices stating that you changed specified portions of
|
||||
the Software.
|
||||
|
||||
5. Portions of the Software resulted from work developed under a U.S.
|
||||
Government contract and are subject to the following license: the
|
||||
Government is granted for itself and others acting on its behalf a
|
||||
paid-up, nonexclusive, irrevocable worldwide license in this computer
|
||||
software to reproduce, prepare derivative works, and perform publicly
|
||||
and display publicly.
|
||||
|
||||
6. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND. THE COPYRIGHT HOLDERS, THEIR THIRD PARTY LICENSORS, THE
|
||||
UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND THEIR
|
||||
EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
|
||||
BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT, (2) DO NOT ASSUME
|
||||
ANY LEGAL LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS,
|
||||
OR USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF THE
|
||||
SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4) DO NOT WARRANT
|
||||
THAT THE SOFTWARE WILL FUNCTION UNINTERRUPTED, THAT IT IS ERROR-FREE
|
||||
OR THAT ANY ERRORS WILL BE CORRECTED.
|
||||
|
||||
7. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT HOLDERS, THEIR
|
||||
THIRD PARTY LICENSORS, THE UNITED STATES, THE UNITED STATES DEPARTMENT
|
||||
OF ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
|
||||
CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF ANY KIND OR NATURE,
|
||||
INCLUDING BUT NOT LIMITED TO LOSS OF PROFITS OR LOSS OF DATA, FOR ANY
|
||||
REASON WHATSOEVER, WHETHER SUCH LIABILITY IS ASSERTED ON THE BASIS OF
|
||||
CONTRACT, TORT (INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR
|
||||
OTHERWISE, EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE
|
||||
POSSIBILITY OF SUCH LOSS OR DAMAGES.
|
||||
|
||||
________________________________________________________________________
|
||||
|
||||
This software is in part copyrighted by the BERLINER SPEICHERRING
|
||||
GESELLSCHAFT FUER SYNCHROTRONSTRAHLUNG M.B.H. (BESSY), BERLIN, GERMANY.
|
||||
|
||||
In no event shall BESSY be liable to any party for direct, indirect,
|
||||
special, incidental, or consequential damages arising out of the use of
|
||||
this software, its documentation, or any derivatives thereof, even if
|
||||
BESSY has been advised of the possibility of such damage.
|
||||
|
||||
BESSY specifically disclaims any warranties, including, but not limited
|
||||
to, the implied warranties of merchantability, fitness for a particular
|
||||
purpose, and non-infringement. This software is provided on an "as is"
|
||||
basis, and BESSY has no obligation to provide maintenance, support,
|
||||
updates, enhancements, or modifications.
|
||||
________________________________________________________________________
|
||||
|
||||
@@ -9,78 +9,6 @@
|
||||
#
|
||||
# [-b] - For fully built release
|
||||
#
|
||||
# $Log$
|
||||
# Revision 1.12 1997/07/23 14:46:55 jba
|
||||
# Added *bat files.
|
||||
#
|
||||
# Revision 1.11 1997/07/01 18:29:17 jba
|
||||
# Changed Tar to tar in output filename.
|
||||
#
|
||||
# Revision 1.10 1997/01/17 19:59:37 jba
|
||||
# Use config/CONFIG_BASE_VERSION to get version info.
|
||||
#
|
||||
# Revision 1.9 1996/09/04 21:41:36 jba
|
||||
# Top level dir no longer passed to MakeRelease
|
||||
#
|
||||
# Revision 1.8 1996/07/02 13:45:09 jba
|
||||
# Added dbd and base/config dirs. Removed epics/config and base/rec.
|
||||
#
|
||||
# Revision 1.7 1996/06/25 21:54:42 jba
|
||||
# Command line parm now base dir
|
||||
#
|
||||
# Revision 1.6 1996/06/07 19:19:10 jba
|
||||
# MakeRelease is now in release tar file.
|
||||
#
|
||||
# Revision 1.5 1996/03/04 21:03:48 jba
|
||||
# epicsVersion.h now in src/include.
|
||||
#
|
||||
# Revision 1.4 1996/02/20 21:03:53 jba
|
||||
# Updated README files to reflect directory changes and new installEpics.
|
||||
#
|
||||
# Revision 1.3 1995/10/03 15:42:26 jba
|
||||
# Added *COPYRIGHT* files to release tar file.
|
||||
#
|
||||
# Revision 1.2 1995/08/28 15:49:54 jba
|
||||
# Added startup directory to release tar file
|
||||
#
|
||||
# Revision 1.1 1995/08/17 20:14:56 jba
|
||||
# Added base/tools scripts functionality to base/Makefile, removed scripts
|
||||
# Moved base/tools/MakeRelease to base dir.
|
||||
#
|
||||
# Revision 1.14 1994/12/19 18:42:08 tang
|
||||
# Make the args length compatible for HP and SUN.
|
||||
#
|
||||
# Revision 1.13 1994/12/15 19:19:18 tang
|
||||
# Replace -I opt by cat and xargs for tar for HP compatibility.
|
||||
#
|
||||
# Revision 1.12 1994/12/14 23:57:55 tang
|
||||
# Take out \< and \> pair for hp compatible
|
||||
#
|
||||
# Revision 1.11 1994/10/31 21:44:17 jba
|
||||
# Moved print stmnt, added cd $(EPICS)
|
||||
#
|
||||
# Revision 1.10 1994/10/05 18:29:34 jba
|
||||
# Renamed version.h to epicsVersion.h
|
||||
#
|
||||
# Revision 1.9 1994/09/22 01:41:47 mcn
|
||||
# MakeRelease - MAJOR bug fix. GetVar / MakeDirs - minor fix.
|
||||
#
|
||||
# Revision 1.8 1994/09/07 20:59:15 mcn
|
||||
# Revamped GetVar, modified scripts for new GetVar.
|
||||
#
|
||||
# Revision 1.7 1994/09/02 20:58:00 mcn
|
||||
# minor change.
|
||||
#
|
||||
# Revision 1.6 1994/08/21 00:56:41 mcn
|
||||
# New Stuff
|
||||
#
|
||||
# Revision 1.5 1994/08/02 18:36:29 mcn
|
||||
# Support new configuration.
|
||||
#
|
||||
# Revision 1.4 1994/07/14 22:13:32 mcn
|
||||
# Now include SDR Makefile/Headers
|
||||
#
|
||||
#
|
||||
|
||||
|
||||
if [ ! -d src ]; then
|
||||
53
Makefile
53
Makefile
@@ -1,19 +1,54 @@
|
||||
#*************************************************************************
|
||||
# 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.
|
||||
#*************************************************************************
|
||||
#
|
||||
# Top Level EPICS Makefile
|
||||
# by Matthew Needes and Mike Bordua
|
||||
#
|
||||
# Notes:
|
||||
# The build, clean, install, and depends "commands" do not have
|
||||
# their own dependency lists; they are instead handled by
|
||||
# the build.%, clean.%, etc. dependencies.
|
||||
#
|
||||
# However, the release dependencies DOES require a complete
|
||||
# install because the release.% syntax is illegal.
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
TOP = .
|
||||
include $(TOP)/configure/CONFIG
|
||||
TOP=.
|
||||
include $(TOP)/config/CONFIG_BASE
|
||||
|
||||
DIRS += config configure src
|
||||
DIRS = src config
|
||||
|
||||
include $(TOP)/configure/RULES_TOP
|
||||
INSTALL_BIN = $(INSTALL_LOCATION)/bin/$(HOST_ARCH)
|
||||
|
||||
release::
|
||||
#
|
||||
# this bootstraps in makeMakefile.pl (and others) so that it can
|
||||
# be used to create the first O.xxxx/Makefile
|
||||
#
|
||||
PERL_BOOTSTRAP_SCRIPTS = $(notdir $(wildcard $(TOP)/src/tools/*.pl))
|
||||
PERL_BOOTSTRAP_SCRIPTS_INSTALL = $(PERL_BOOTSTRAP_SCRIPTS:%=$(INSTALL_BIN)/%)
|
||||
all host cross inc rebuild clean depends buildInstall :: $(PERL_BOOTSTRAP_SCRIPTS_INSTALL)
|
||||
|
||||
RMDIR=$(PERL) $(TOP)/src/tools/rm.pl -rf
|
||||
|
||||
include $(TOP)/config/RULES_TOP
|
||||
|
||||
release:
|
||||
@echo TOP: Creating Release...
|
||||
@$(TOOLS)/MakeRelease
|
||||
@./MakeRelease
|
||||
|
||||
built_release::
|
||||
built_release:
|
||||
@echo TOP: Creating Fully Built Release...
|
||||
@$(TOOLS)/MakeRelease -b $(INSTALL_LOCATION)
|
||||
|
||||
@./MakeRelease -b $(INSTALL_LOCATION)
|
||||
|
||||
$(INSTALL_BIN)/%.pl: $(TOP)/src/tools/%.pl
|
||||
$(PERL) $(TOP)/src/tools/installEpics.pl -d -m 555 $< $(INSTALL_BIN)
|
||||
|
||||
|
||||
698
README
698
README
@@ -1,414 +1,290 @@
|
||||
README
|
||||
|
||||
Installation Instructions
|
||||
|
||||
EPICS base
|
||||
|
||||
Release 3.14.0beta1
|
||||
|
||||
What is EPICS base?
|
||||
|
||||
The Experimental Physics and Industrial Control Systems (EPICS) is
|
||||
an extensible set of software components and tools with which
|
||||
application developers can create a control system. This control system
|
||||
can be used to control accelerators, detectors, telescopes, or other
|
||||
scientific experimental equipment. EPICS base is the set of core
|
||||
software, i.e. the components of EPICS without which EPICS would not
|
||||
function. EPICS base allows an arbitrary number of target systems,
|
||||
IOCs (input/output controllers), and host systems, OPIs (operator
|
||||
interfaces) of various types.
|
||||
|
||||
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.
|
||||
$Id$
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
3.13 EPICS BASE Notes and Build Instructions.
|
||||
- By Matthew Needes
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
Copyright
|
||||
|
||||
Please review the COPYRIGHT* files included in the distribution for
|
||||
legal terms of usage.
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
Host platforms (operating system - architecture - <alternate c++
|
||||
compiler>)
|
||||
|
||||
solaris-sparc
|
||||
solaris-sparc-gnu
|
||||
linux-x86
|
||||
win32-x86
|
||||
win32-x86-borland
|
||||
|
||||
Cross compile target platforms (operating system - architecture)
|
||||
|
||||
vxWorks-486
|
||||
vxWorks-68040
|
||||
vxWorks-68040lc
|
||||
vxWorks-68060
|
||||
vxWorks-ppc603
|
||||
vxWorks-ppc604
|
||||
vxWorks-pentium
|
||||
RTEMS-gen68360
|
||||
RTEMS-mvme167
|
||||
RTEMS-pc386
|
||||
|
||||
Supported compilers
|
||||
|
||||
This version of EPICS base has been built and tested using 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.
|
||||
|
||||
Software requirements
|
||||
|
||||
GNU make
|
||||
You must use GNU make, gnumake, for any EPICS builds. Set your
|
||||
path so that a gnumake version 3.70 or later is available.
|
||||
|
||||
Perl
|
||||
You must have perl version 5.0 or later installed. The configure files do
|
||||
not specify the perl full pathname. You need the perl executable in
|
||||
your search path.
|
||||
|
||||
Unzip and tar (Winzip on WIN32 systems)
|
||||
You must have tools available to unzip and untar the EPICS base
|
||||
distribution file.
|
||||
|
||||
Tornado 2.0
|
||||
You must have Tornado 2.0 installed if any of your target systems are
|
||||
vxWorks systems. Tornado 2.0 provides the cross-compiler and header
|
||||
files needed to build for these target systems. The full path location to
|
||||
Tornado 2.0 must 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.
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
created files for each host take approximately 40 MB and the build
|
||||
created files for each target take approximately 10 MB.
|
||||
|
||||
Documentation
|
||||
|
||||
EPICS documentation is available on the WWW via the EPICS home
|
||||
page at APS: URL http://www.aps.anl.gov/Epics
|
||||
|
||||
This README.htm is in the base distribution file and will be available
|
||||
on the IOC software R3.14 EPICS WWW page which can be accessed
|
||||
from the APS EPICS home page.
|
||||
|
||||
WWW pages
|
||||
|
||||
EPICS home page at APS
|
||||
|
||||
http://www.aps.anl.gov/epics
|
||||
|
||||
Other WWW sites
|
||||
|
||||
Additional information on EPICS can be found at the
|
||||
various other WWW links on the EPICS home page at APS.
|
||||
|
||||
Mailing Lists
|
||||
|
||||
There are five EPICS mailing lists provided by APS. See The
|
||||
EPICS home page for subscription instructions.
|
||||
|
||||
Directory Structure
|
||||
|
||||
Distribution directory structure:
|
||||
|
||||
base Root directory of the base istribution
|
||||
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
|
||||
base/configure/os Operating system dependent build config files
|
||||
base/configure/tools Perl and shell scripts used in the build
|
||||
base/copyright Text files describing software copyrights
|
||||
base/src All epics base source code in subdirectories
|
||||
base/src/as Access security
|
||||
base/src/bpt Break point table
|
||||
base/src/ca Channel access
|
||||
base/src/cas Channel access server
|
||||
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/gdd General data descriptor
|
||||
base/src/iocsh Ioc shell command interpreter
|
||||
base/src/libCom General purpose library code in subdirectories
|
||||
base/src/libCom/bucketLib Hash bucket
|
||||
base/src/libCom/calc Algebraic expression interpreter
|
||||
base/src/libCom/cvtFast Fast number to string conversion
|
||||
base/src/libCom/cxxTemplates C++ templates and templates tests
|
||||
base/src/libCom/dbmf Memory management for frequent alloc/free
|
||||
base/src/libCom/ellLib EPICS double linked list
|
||||
base/src/libCom/env Default EPICS environment settings
|
||||
base/src/libCom/error Error handling definitions and routines
|
||||
base/src/libCom/fdmgr File descriptor manager
|
||||
base/src/libCom/freeList Memory management using free lists
|
||||
base/src/libCom/gpHash General purpose hash table
|
||||
base/src/libCom/logClient Logging client
|
||||
base/src/libCom/macLib Macro substitution handler
|
||||
base/src/libCom/misc Miscellaneous utilities
|
||||
base/src/libCom/osi Operating system independent code
|
||||
base/src/libCom/osi/os Operating system dependant code in subdirectories
|
||||
base/src/libCom/taskwd Task watchdog
|
||||
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/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
|
||||
base/startup Scripts for setting up path and environment
|
||||
|
||||
Install directories created by the build:
|
||||
|
||||
base/bin Installed scripts and executables in subdirs
|
||||
base/lib Installed libraries in arch subdirectories
|
||||
base/dbd Installed data base definitions
|
||||
base/include Installed header files
|
||||
base/include/os Installed os specific header files
|
||||
base/templates Installed templates
|
||||
|
||||
Build related components
|
||||
|
||||
base/README* files
|
||||
README.htm Instructions for setup and building epics base
|
||||
(i.e. this document)
|
||||
README.WIN32 Microsoft WIN32 specific instructions
|
||||
README.cxxTemplates Information about C++ templates in EPICS base
|
||||
README.niCpu030 NI cpu030 specific 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
|
||||
win32.bat WIN32 bat file to set path and env variables
|
||||
|
||||
base/configure directory - contains build definitions and rules
|
||||
CONFIG.CrossCommon Cross build definitions
|
||||
CONFIG.gnuCommon Gnu compiler build definitions for all archs
|
||||
CONFIG_ADDONS Definitions for <osclass> and DEFAULT options
|
||||
CONFIG_BASE EPICS base tool and location definitions
|
||||
CONFIG_BASE_VERSION Definitions for EPICS base version number
|
||||
CONFIG_COMMON Definitions common to all builds
|
||||
CONFIG_ENV Definitions of EPICS environment variables
|
||||
CONFIG_SITE Site specific make defintions
|
||||
CONFIG_SITE_ENV Site defaults for EPICS environment variables
|
||||
CONFIG Includes configure files and allows variable overrides
|
||||
RELEASE Location of external products such as Tornado II
|
||||
RULES Includes appropriate rules file
|
||||
RULES.Db Rules for database and database definition files
|
||||
RULES_ARCHS Definitions and rules for building architectures
|
||||
RULES_BUILD Build and install rules and definitions
|
||||
RULES_DIRS Definitions and rules for building subdirectories
|
||||
RULES_JAVA Definitions and rules for java jars and classes
|
||||
RULES_TOP Rules specific to a <top> dir (uninstall and tar)
|
||||
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
|
||||
CONFIG.UnixCommon.Common Definitions for Unix hosts and all target
|
||||
CONFIG.<host>.vxWorksCommon Specific host definitions for all vx targets
|
||||
CONFIG_COMPAT R3.13 arch compatibility definitions
|
||||
CONFIG_SITE.<host>.<target> Site specific host-target definitions
|
||||
CONFIG_SITE.Common.<target> Site specific target defs for all hosts
|
||||
CONFIG_SITE.<host>.Common Site specific host defs for all targets
|
||||
|
||||
base/configure/tools directory - contains Perl scripts used for the build
|
||||
MakeReleae Unix shell script to create a release tar file
|
||||
convertRelease.pl Performs consistancy checks on RELEASE files
|
||||
cp.pl This Perl script copies an existing file
|
||||
installEpics.pl Installs built files into install directories.
|
||||
makeDependsTargets.pl Creates targets of include dependency files
|
||||
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.
|
||||
replaceVAR.pl Changes CapFast VAR(xxx) to $(xxx) notation
|
||||
rm.pl Quietly removes an existing file.
|
||||
|
||||
Building EPICS base (Unix and Win32)
|
||||
|
||||
Unpack file
|
||||
|
||||
Unzip and untar the distribution file. Use WinZip on
|
||||
Windows systems.
|
||||
|
||||
Set environment variable
|
||||
|
||||
Files in the base/startup directory have been provided to help
|
||||
set required path and other environment variables .
|
||||
|
||||
EPICS_HOST_ARCH
|
||||
Before you can build or use EPICS R3.14, the environment
|
||||
variable EPICS_HOST_ARCH must be defined. A perl
|
||||
script EpicsHostArch.pl in the base/startup directory has
|
||||
been provided to help set EPICS_HOST_ARCH. You should
|
||||
have EPICS_HOST_ARCH set to your host operating
|
||||
system followed by a dash and then your host architecture,
|
||||
e.g. solaris-sparc. If you are not using the OS vendor's
|
||||
c/c++ compiler for host builds, you will need another dash
|
||||
followed by the alternate compiler name (e.g. "-gnu" for GNU
|
||||
c/c++ compilers on a solaris host or "-borland" for Borland
|
||||
c/c++ compilers on a WIN32 host) . See configure/CONFIG_SITE
|
||||
for a list of supported EPICS_HOST_ARCH values.
|
||||
|
||||
PERLLIB
|
||||
On WIN32, some versions of Perl require that the
|
||||
environment variable PERLLIB be set to <perl directory
|
||||
location>.
|
||||
|
||||
PATH
|
||||
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
|
||||
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.
|
||||
|
||||
Unix LD_LIBRARY_PATH
|
||||
If you plan to build EPICS base shared libraries instead of
|
||||
archive libraries, on Unix systems you will need to add
|
||||
fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) to
|
||||
your LD_LIBRARY_PATH environment variable.
|
||||
|
||||
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).
|
||||
|
||||
|
||||
Do site-specific build configuration
|
||||
|
||||
Site configuration
|
||||
To configure EPICS, you may want to modify the default
|
||||
definitions in the following files:
|
||||
|
||||
configure/CONFIG_SITE Build choices. Specify target archs.
|
||||
configure/CONFIG_SITE_ENV Environment variable defaults
|
||||
configure/RELEASE TORNADO 2 full path location
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
R3.13 compatibility configuration
|
||||
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* files to agree with definitions
|
||||
you made in base/configure and base/configure/os files.
|
||||
|
||||
Build EPICS base
|
||||
|
||||
After configuring the build you should be able to build
|
||||
EPICS base by issuing the following commands in the
|
||||
distribution's root directory (base)
|
||||
|
||||
gnumake clean uninstall
|
||||
gnumake
|
||||
|
||||
The command "gnumake clean uninstall" will remove all
|
||||
files and directories generated by a previous build. The
|
||||
command "gnumake" will build and install everything for
|
||||
the configured host and targets.
|
||||
It is recommended that you do a "gnumake clean uninstall"
|
||||
at the root directory of an EPICS directory structure before
|
||||
each complete rebuild to ensure that all components will be
|
||||
rebuilt.
|
||||
|
||||
Multiple host platforms
|
||||
|
||||
You can build using a single EPICS directory structure on multiple 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 $(INSTALL_LOCATION)/bin/<arch> directories. Libraries are
|
||||
installed into $(INSTALL_LOCATION)/lib/<arch>. The default
|
||||
definition for $(INSTALL_LOCATION) is $(TOP) which is the root
|
||||
directory in the distribution directory structure, base. Created object
|
||||
files are stored in O.<arch> source subdirectories, This allows objects
|
||||
for multiple cross target architectures to be maintained at the same
|
||||
time. To build EPICS base for a specific host/target combination you
|
||||
must have the proper host/target c/c++ cross compiler and target header
|
||||
files and the base/configure/os directory must have the appropriate
|
||||
configure files.
|
||||
|
||||
Example application and extension
|
||||
|
||||
A perl tool, makeBaseApp.pl is included in the distribution file. This
|
||||
script will create a sample application that can be built and then
|
||||
executed to try out this release of base. Also, a perl script,
|
||||
makeBaseExt.pl, is included in the distribution file. This script will
|
||||
create a sample extension that can be built and executed. The
|
||||
makeBaseApp.pl and makeBaseExt.pl scripts are installed into the
|
||||
install location bin/<hostarch> directory during the base build.
|
||||
|
||||
Instructions for building and executing the 3.14 example application
|
||||
can be found in the section "Example Application" of Chapter 2, "New
|
||||
Features for 3.14", in the "IOC Application Developer's Guide
|
||||
R3.14.0beta1". The "Example Application" section briefly explains
|
||||
how to create and build an example application in a user created <top>
|
||||
directory. It also explains how to run the example application on a
|
||||
vxWorks ioc or a host system and run an example channel access client
|
||||
on the host system.
|
||||
Notes:
|
||||
|
||||
1. Before you can build or use EPICS, the environemnt variable HOST_ARCH
|
||||
must be set. The base/startup/HostArch script file has been provided
|
||||
to set HOST_ARCH.
|
||||
|
||||
2. You must use GNU make (which is now THE supported make utility) for
|
||||
the build, gnumake. Set your path so that a recent version (e.g.
|
||||
V3.70) of gnumake is available.
|
||||
|
||||
3. You must have perl installed. See the README.Perl in this directory. The
|
||||
config files specify the perl full pathname as /usr/bin/perl for
|
||||
unix builds and C:\Perl\bin\perl for WIN95/NT builds. You can override
|
||||
these specifications with a CONFIG_SITE_HOST_ARCH.<host_arch> file.
|
||||
|
||||
4. You may need vendors C and C++ compilers in your search path. (Check
|
||||
the definitions of ACC and CCC in CONFIG.Host.<host_arch> or gnu GCC
|
||||
and G++ if ANSI=GCC and CPLUSPLUS=GCC are specified in CONFIG_SITE).
|
||||
|
||||
4. For building base you must have echo in your search path. For unix host
|
||||
builds you must also have ar, cp, rm, mv, ranlib, and mkdir in your search
|
||||
path and /bin/chmod must exist.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
Part 1 - Configuring and Building EPICS Base
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
1.1 To configure EPICS, edit the following file:
|
||||
|
||||
config/CONFIG_SITE - Build choices/HOST_ARCH/Vx location.
|
||||
config/CONFIG_SITE_ENV - For site-specific environment settings
|
||||
|
||||
For a specific host architecture you may want to edit the following file
|
||||
config/CONFIG_SITE.Host.<arch> - Override Host build settings for a host arch
|
||||
config/CONFIG_SITE.Vx.<arch> - Override Vx build settings for a host arch
|
||||
config/CONFIG_SITE_HOST_ARCH.<arch> - Override build settings for a host arch
|
||||
|
||||
Optionally you may want to edit the following files
|
||||
config/CONFIG_SITE.Host - Override Host build settings for all host archs.
|
||||
config/CONFIG_SITE.Vx - Override Vx build settings for all host archs.
|
||||
config/CONFIG - Override build settings for all host archs.
|
||||
|
||||
1.2 To add a target architecture to EPICS:
|
||||
|
||||
cd base/config
|
||||
cp CONFIG.Vx.mv167 CONFIG.Vx.YOUR_ARCH
|
||||
edit CONFIG.Vx.YOUR_ARCH - For compiler flags / etc.
|
||||
|
||||
edit CONFIG_SITE - Add architecture to CROSS_COMPILER_TARGET_ARCHS list.
|
||||
|
||||
1.3 To build EPICS:
|
||||
|
||||
cd epics/base
|
||||
gnumake - To install include files, build and install EPICS.
|
||||
(Same as "gnumake inc install")
|
||||
gnumake all - Same as "gnumake"
|
||||
gnumake clean - To clean temporary object files. Top level
|
||||
clean will remove the O.ARCH dirs specified
|
||||
in BUILD_ARCHS.
|
||||
gnumake uninstall - Only available at the top level directory.
|
||||
Cleans directories created by the install.
|
||||
gnumake rebuild - Same as "gnumake clean all"
|
||||
|
||||
1.4 "Partial" build commands:
|
||||
|
||||
The complete set of targets now supported are:
|
||||
|
||||
action
|
||||
arch
|
||||
action.arch
|
||||
dir
|
||||
dir.action
|
||||
dir.arch
|
||||
dir.action.arch
|
||||
|
||||
where:
|
||||
action can be clean, inc, install, depends, or build
|
||||
action can also be uninstall or rebuild at top level only
|
||||
dir is the name of a subdirectory.
|
||||
arch can be host, cross, sun4, solaris, mv167, ...
|
||||
|
||||
Examples are:
|
||||
|
||||
gnumake inc - To install include files
|
||||
gnumake install.host - To build and install EPICS for host arch.
|
||||
gnumake install.cross - To build and install EPICS for Vx archs.
|
||||
gnumake clean.sun4 - Cleans sun4 binaries in O.sun4 dirs only.
|
||||
gnumake install.sun4 - Builds sun4 only.
|
||||
gnumake install.mv167 - Builds mv167 only (a HOST_ARCH build must
|
||||
be complete before this can be issued).
|
||||
|
||||
NOTES:
|
||||
|
||||
1. EPICS binaries and shell scripts are installed into the directory
|
||||
$(INSTALL_LOCATION)/bin/ARCH.
|
||||
|
||||
2. EPICS libraries are installed into the $(INSTALL_LOCATION)/lib/ARCH
|
||||
directory.
|
||||
|
||||
3. During a normal build (a "make" or "make install"), the "depends"
|
||||
dependency will NOT be invoked. Only if "make depends" is run
|
||||
explicitly, or a "make built_release" is performed will dependencies
|
||||
be generated automatically.
|
||||
|
||||
4. Temporary objects are stored in src/DIR/O.ARCH, This allows objects
|
||||
for multiple architectures to be maintained at the same time.
|
||||
While developing source for EPICS, merely cd src/DIR/O.ARCH, and
|
||||
invoke "make":
|
||||
|
||||
cd epics/base/src/db/O.mv167
|
||||
make dbAccess.o
|
||||
|
||||
The above example instructs make to build dbAccess.o for the
|
||||
mv167 target.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
Part 2 --- Configuration Files in epics/base/config
|
||||
----------------------------------------------------------------------------
|
||||
CONFIG - This file is meant to be included in the low-level EPICS Makefiles.
|
||||
It includes the other EPICS makefiles, and allows individual developers
|
||||
and the EPICS system manager to override specific variables in the rest of
|
||||
the configuration.
|
||||
----------------------------------------------------------------------------
|
||||
CONFIG_SITE - This file is meant to be changed only by the EPICS system
|
||||
manager. It specifies:
|
||||
|
||||
HOST_ARCH: The system's host architecture (sun4/hp700/etc).
|
||||
This now come from an environment variable.
|
||||
CROSS_COMPILER_HOST_ARCHS: List of unix architectures with cross_compilers.
|
||||
CROSS_COMPILER_TARGET_ARCHS: List of architectures to build epics for.
|
||||
VX_DIR: Location of vxWorks.
|
||||
STATIC_BUILD: Whether or not to build clients statically.
|
||||
etc.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
CONFIG.Host.ARCH - This file defines a particular host architecture. It
|
||||
contains the following variables:
|
||||
|
||||
ARCH_CLASS: solaris / sun4 / hp700 / etc.
|
||||
Host architecture OS vendor C and C++ complier variables.
|
||||
Architecture dependent build flags. The flag names / contents
|
||||
depend on your architecture class.
|
||||
----------------------------------------------------------------------------
|
||||
CONFIG_HOST_ARCH.ARCH - This file contains the following variable:
|
||||
|
||||
WIND_HOST_TYPE: sun4-solaris2 / sun4-sunos4 / x86-win32 / etc.
|
||||
----------------------------------------------------------------------------
|
||||
----------------------------------------------------------------------------
|
||||
CONFIG.Vx.ARCH - This file defines a particular target architecture. It
|
||||
contains the following variables:
|
||||
|
||||
ARCH_CLASS: 68k / sun4 / hp700 / etc.
|
||||
Architecture dependent build flags. The flag names / contents
|
||||
depend on your architecture class.
|
||||
CMPLR_SUFFIX: Vx GNU cross compiler suffix definition.
|
||||
----------------------------------------------------------------------------
|
||||
----------------------------------------------------------------------------
|
||||
CONFIG_SITE.BUILD_TYPE.ARCH - Contains site specific definitions pertaining to a
|
||||
particular architecture and build type. This file's primary usefulness is to
|
||||
define site specific compile and link flags.
|
||||
----------------------------------------------------------------------------
|
||||
CONFIG_COMMON - Contains definitions describing the layout of base
|
||||
and definitions common to all builds.
|
||||
----------------------------------------------------------------------------
|
||||
CONFIG.Host.UnixCommon - Contains host definitions common to all Unix archs.
|
||||
----------------------------------------------------------------------------
|
||||
CONFIG_BASE - Defines what subdirectories get built by default under base.
|
||||
----------------------------------------------------------------------------
|
||||
CONFIG_BASE_VERSION - Defines the version of base.
|
||||
----------------------------------------------------------------------------
|
||||
CONFIG_ENV - EPICS Environment Parameter configuration file.
|
||||
----------------------------------------------------------------------------
|
||||
CONFIG_SITE_ENV - EPICS Environment Parameter Site configuration file
|
||||
----------------------------------------------------------------------------
|
||||
RULES.Vx - Rules for building with Makefile.Vx makefiles.
|
||||
----------------------------------------------------------------------------
|
||||
RULES.Host - Rules for building with Makefile.Host makefiles.
|
||||
----------------------------------------------------------------------------
|
||||
RULES_TOP - Top level rules for building.
|
||||
----------------------------------------------------------------------------
|
||||
RULES_ARCHS
|
||||
RULES_DIRS - Allows top-level type command syntax in low-level directories.
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
Table of files to change when building and adding architectures.
|
||||
etc.
|
||||
|
||||
Filename SYS_MGR ADD_VX_ARCH ADD_UNIX_ARCH DEVELOPER
|
||||
|
||||
CONFIG m - - m
|
||||
CONFIG_SITE m m m -
|
||||
CONFIG_SITE_ENV m - - -
|
||||
CONFIG.Host.ARCH - c c -
|
||||
CONFIG_HOST_ARCH.ARCH - c c -
|
||||
CONFIG_SITE.Host.ARCH - - - -
|
||||
CONFIG.Vx.ARCH - c c -
|
||||
CONFIG_SITE.ARCH - c c -
|
||||
CONFIG.Vx.ARCH_CLASS - c* - -
|
||||
RULES.Vx - - - -
|
||||
RULES.Host - - - -
|
||||
CONFIG_BASE - - - -
|
||||
CONFIG_BASE_VERSION - - - -
|
||||
CONFIG_COMMON - - - -
|
||||
CONFIG_ENV - - - -
|
||||
RULES_ARCHS - - - -
|
||||
RULES_DIRS - - - -
|
||||
RULES_TOP - - - -
|
||||
|
||||
m - Modify an existing file.
|
||||
c - Create a new file.
|
||||
|
||||
* - Create an ARCH_CLASS file only if you are adding a
|
||||
fundamentally new architecture, such as hp700 or
|
||||
a SPARC VME board. If your board is 68k based,
|
||||
you will not need to create CONFIG.Vx.68k,
|
||||
since it already exists !
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
Part 3 --- Configuration File Inclusion Tree Examples
|
||||
----------------------------------------------------------------------------
|
||||
---------------------------- hkv2f example --------------------------------
|
||||
(files are numbered in the order of their inclusion)
|
||||
|
||||
src/db/Makefile.Vx (An example EPICS makefile)
|
||||
^ ^
|
||||
| +--- 2. RULES.Vx
|
||||
| Default rules.
|
||||
+----1. CONFIG_BASE
|
||||
^
|
||||
|
|
||||
+ 1. CONFIG
|
||||
^^^^^^^
|
||||
||||||+- 1. CONFIG_COMMON
|
||||
|||||| General info about base.
|
||||
|||||+-- 2. CONFIG_BASE_VERSION
|
||||
||||| Base version.
|
||||
||||+--- 3. CONFIG_SITE
|
||||
|||| HOST_ARCH = sun4
|
||||
|||| CROSS_COMPILER_TARGET_ARCHS = mv167 hkv2f
|
||||
|||| VX_DIR = /vxworks
|
||||
|||| More.
|
||||
|||+---- 4. CONFIG_HOST_ARCH.sun4
|
||||
||| WIND_HOST_TYPE = sun4-sunos4
|
||||
||+----- 5. CONFIG.Vx
|
||||
|| Definitions for Vx builds
|
||||
|+------ 6. CONFIG.Vx.hkv2f
|
||||
| ARCH_CLASS = 68k
|
||||
| Arch Specific Compiler Flag Setup
|
||||
| Vx GNU cross compiler suffix
|
||||
+------- 7. CONFIG_SITE.Vx.hkv2f
|
||||
Site Specific setup
|
||||
|
||||
---------------------------- sun4 example --------------------------------
|
||||
(files are numbered in the order of their inclusion)
|
||||
|
||||
src/db/Makefile.Unix (An example EPICS makefile)
|
||||
^ ^
|
||||
| +--- 2. RULES.Vx
|
||||
| Default rules.
|
||||
+----1. CONFIG_BASE
|
||||
^
|
||||
|
|
||||
+ 1. CONFIG
|
||||
^^^^^
|
||||
|||||+- 1. CONFIG_COMMON
|
||||
||||| General info about base.
|
||||
||||+-- 2. CONFIG_BASE_VERSION
|
||||
|||| Base version.
|
||||
|||+--- 3. CONFIG_SITE
|
||||
||| HOST_ARCH = sun4
|
||||
||| CROSS_COMPILER_TARGET_ARCHS = mv167 hkv2f
|
||||
||| VX_DIR = /vxworks
|
||||
||| More.
|
||||
||+---- 4. CONFIG_HOST_ARCH.sun4
|
||||
|| WIND_HOST_TYPE = sun4-sunos4
|
||||
|+----- 5. CONFIG.Host.sun4
|
||||
| ARCH_CLASS = sun4
|
||||
| Arch Specific Compiler Flag Setup
|
||||
| Vx GNU cross compiler suffix
|
||||
+------ 6. CONFIG_SITE.Host.sun4
|
||||
Site Specific setup
|
||||
|
||||
|
||||
|
||||
17
README.Linux
Normal file
17
README.Linux
Normal file
@@ -0,0 +1,17 @@
|
||||
Special Notes on Linux
|
||||
|
||||
At this point, support for Linux only involves channel access
|
||||
clients. Since Vxworks is not available for Linux, you must
|
||||
use other platforms for developing server side code.
|
||||
|
||||
You MUST start caRepeater by hand before running a client.
|
||||
Prior to running a client, you must run:
|
||||
|
||||
caRepeater &
|
||||
|
||||
---
|
||||
jpq@nwu.edu
|
||||
|
||||
|
||||
|
||||
|
||||
44
README.Perl
Normal file
44
README.Perl
Normal file
@@ -0,0 +1,44 @@
|
||||
Perl
|
||||
====
|
||||
|
||||
A number of shell scripts are now Perl scripts,
|
||||
most important:
|
||||
|
||||
tools/installEpics.pl
|
||||
include/makeEpicsVersion.pl
|
||||
libCom/bldEnvData.pl
|
||||
libCom/makeStatTbl.pl
|
||||
sequencer/makeVersion.pl
|
||||
|
||||
WIN32 also uses
|
||||
tools/cp.pl, mv.pl, rm.pl, mkdir.pl
|
||||
which should behave like the UNIX cp, mv, rm, rmdir.
|
||||
All systems could use the Perl versions but that seems
|
||||
to be overkill for UNIX.
|
||||
|
||||
Advantages:
|
||||
* no need for ls, date, basename, grep, awk, sed, ...,
|
||||
which made the make UNIX-specific.
|
||||
* Perl is currently available for Unix, OS/2, WIN32, VMS
|
||||
and the scripts should work on all those systems
|
||||
|
||||
Disadvantage:
|
||||
* You have to get Perl, look e.g. at http://www.perl.com
|
||||
* Perl version 5.003_02 works, we don't know about earlier versions.
|
||||
|
||||
|
||||
Compile Perl:
|
||||
No big deal,
|
||||
* on UNIX say 'configure' and 'gnumake',
|
||||
* on Windows use MX Visual C++,
|
||||
use File/Open Workspace to open the Makefile {PERL}/perl5i.mak,
|
||||
use Build/Batch build to select eiher the Release or Debug targets.
|
||||
|
||||
You can do the same with the Makefile {Perl}/Ext/WIN32/win32.mak
|
||||
- nice tools but not necessary for EPICS.
|
||||
|
||||
Then call {PERL}/bin/perlw32-install.bat
|
||||
|
||||
In any case, read the texts that come with perl!
|
||||
|
||||
|
||||
83
README.WIN32
83
README.WIN32
@@ -1,8 +1,8 @@
|
||||
|
||||
Compiling EPICS and Building IOC Applications on win32-x86 (Windows95/NT)
|
||||
Compiling EPICS and Building IOC Applications on WIN32 (Windows95/NT)
|
||||
---------------------------------------------------------------------
|
||||
|
||||
Original port of EPICS base build system to WIN32 (Windows95/NT)
|
||||
Original port of EPICS base to WIN32 (Windows95/NT)
|
||||
was done by Kay-Uwe Kasemir 11/96
|
||||
|
||||
please mail questions, comments, corrections, additional examples, etc
|
||||
@@ -11,9 +11,9 @@ please mail questions, comments, corrections, additional examples, etc
|
||||
0) what you will get
|
||||
--------------------
|
||||
|
||||
Right now this port of EPICS to win32-x86 should allow you to
|
||||
Right now this port of EPICS to WIN32 should allow you to
|
||||
|
||||
* compile all of EPICS base using {Tornado, MS Visual C, perl,
|
||||
* compile almost all of EPICS base using {Tornado, MS Visual C, perl,
|
||||
GNU make} (only {MS Visual C, perl, GNU make} if you prefer
|
||||
to compile only the host portions of EPICS base).
|
||||
* load EPICS on an IOC (486, pentium, 68k, ...),
|
||||
@@ -23,19 +23,15 @@ Right now this port of EPICS to win32-x86 should allow you to
|
||||
* build and use ca.dll on NT or Win95 to access all IOCs,
|
||||
as well as the Com-library, gdd-library, cas-library,
|
||||
and all other EPICS base libraries as DLLs.
|
||||
* build gdd, cas and a demo of the new portable CA server on win32-x86.
|
||||
|
||||
To build only for win32-x86 and not cross compile for IOC development type
|
||||
"make win32-x86" or in your configure/CONFIG_SITE file set
|
||||
"CROSS_COMPILER_HOST_ARCHS="
|
||||
* build gdd, cas and a demo of the new portable CA server on WIN32.
|
||||
|
||||
1) see what you have
|
||||
--------------------
|
||||
|
||||
To compile EPICS on win32-x86, we need
|
||||
To compile EPICS on WIN32, 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: 4.0) (borland C++ rumored to work also)
|
||||
|
||||
and some tools:
|
||||
|
||||
@@ -51,31 +47,22 @@ If you cannot/don't want to find them, contact me, please!
|
||||
(Setting env. vars. is different: for NT, use Settings/System,
|
||||
for Win95 use autoexec.bat)
|
||||
|
||||
When setting paths in the EPICS CONFIG files for win32-x86 the following
|
||||
are hints in case you have trouble. You should not need to worry about
|
||||
this unless you type a path into one of the EPICS config files that
|
||||
includes a "\". In most situations gnu make, windows NT, the MS compiler,
|
||||
and the MS linker will accept "/" and this will result in less trouble.
|
||||
When setting paths in the EPICS CONFIG files for WIN32:
|
||||
|
||||
** Note that that each "\" in any path variables you set
|
||||
** Note that that each "\" in any path variables
|
||||
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
|
||||
path name variable you set must be replaced with
|
||||
path name variable must be replaced with
|
||||
a "\ " (this is because GNU make treats all " " separated
|
||||
input as independent tokens in the input stream.
|
||||
|
||||
** win32-x86 will generally allow "/" and "\" interchangeably in file paths,
|
||||
but the DOS shell only accepts "\".
|
||||
|
||||
** Certain command line utilities such as the MS linker are known to in rare
|
||||
situations confuse "/" in a path with command line options, and it may
|
||||
be necessary to replace a "/" in a path that configured with "\\", but
|
||||
the bulk of our experience indicates that this is not the necessary.
|
||||
** WIN32 will generally allow "/" and "\" interchangeably in file paths,
|
||||
but the DOS shell appears to only accept "\".
|
||||
|
||||
Your path should include:
|
||||
- The EPICS-binaries that we are about to build in <EPICS>base/bin/win32-x86
|
||||
- The EPICS-binaries that we are about to build in <EPICS>base/bin/WIN32
|
||||
- The System (for me it's in NT40...)
|
||||
- The MS Visual C compiler binaries
|
||||
|
||||
@@ -108,7 +95,7 @@ include=c:\msdev\include;c:\msdev\mfc\include
|
||||
lib=c:\msdev\lib;c:\msdev\mfc\lib
|
||||
|
||||
Select host arch to build:
|
||||
EPICS_HOST_ARCH=win32-x86 (used by the make system)
|
||||
HOST_ARCH=WIN32 (used by the make system)
|
||||
|
||||
Set the "TMP" environment variable if you need to specify where
|
||||
temporary files are created.
|
||||
@@ -139,7 +126,7 @@ Prepare apx. 2 ltr. Tee and type:
|
||||
Watch for errors and send them to me.
|
||||
|
||||
Known problems:
|
||||
* gnumake seems to be faster than win32-x86 sometimes
|
||||
* gnumake seems to be faster than WIN32 sometimes
|
||||
which results in warnings/errors like
|
||||
"file has modification date in the future"
|
||||
for newly created things.
|
||||
@@ -150,7 +137,7 @@ Known problems:
|
||||
WIN32 is WIN32, not win32. Gnumake fails
|
||||
if e.g. base/src/include/os/WIN32 is ...win32.
|
||||
|
||||
4) Creating EPICS IOC applications under win32-x86
|
||||
4) Creating EPICS IOC applications under WIN32
|
||||
|
||||
o create application development folder
|
||||
|
||||
@@ -182,37 +169,13 @@ style project. This allows EPICS programs to be developed directly inside of
|
||||
the visual C++ environment. To do this create a "makefile" project and place your
|
||||
gnu make command in the build configuration (accessed from the project/settings menu).
|
||||
You will also need to add GNU make and <EPICS>/bin/win32 into the Visual C++
|
||||
executable search path (from the tools/options menu).
|
||||
In visual C++ it is possible to double click on the compiler
|
||||
executable search path (from the tools/options menu). I have not so far determined
|
||||
how to configure visual C++ so that it is possible to double click on the compiler
|
||||
error messages generated within an EPICS "makefile" style project and have visual
|
||||
C++ immediately position the cursor on the corresponding line in the source. I
|
||||
have found that this works correctly with Makefile projects if the project is in a
|
||||
directory just below the source code. The following build command works well
|
||||
in a visual C++ make file project: "kill caRepeater.exe&make -C ..". Be careful
|
||||
not to introduce additional spaces around the &. The kill.exe command is in the
|
||||
NT resource kit.
|
||||
C++ immediately position the cursor on the corresponding line in the source (as is
|
||||
normally the case in the visual C++ environment). If you solve this problem please
|
||||
forward the details to johill@lanl.gov.
|
||||
|
||||
6) Issues that you should be aware of if you are building code that
|
||||
calls EPICS, but you are not using the EPICS build system.
|
||||
Good luck !
|
||||
|
||||
6a) You will need to include header files from the following paths.
|
||||
<epics>\base\include
|
||||
<epics>\base\include\os\win32
|
||||
6b) You will need to link with the following path in effect.
|
||||
<epics>\base\lib\win32-x86.
|
||||
6c) If the visual C++ /Za option is not used then you will also need to define
|
||||
__STDC__ to be zero on the command line so that EPICS headers will know that
|
||||
a ANSI standard C compiler is in use.
|
||||
6d) If you link with EPICS object libraries then specify /MT or /MTd
|
||||
depending on whether EPICS base and your code are built for debugging.
|
||||
This specifies the multithreaded operating environment required by EPICS.
|
||||
This will also not define _DLL and therefore the EPICS header files will
|
||||
not specify that sharable libraries are being called. EPICS object library
|
||||
names follow the convention "xxxObj.lib".
|
||||
6e) If you link with EPICS shareable libraries (with DLLs) then you must
|
||||
use /MDd or /MD depending on whether EPICS base and your code are
|
||||
built for debugging. This specifies the multithreaded operating environment
|
||||
required by EPICS. This will also define _DLL and therefore the EPICS header
|
||||
files will specify an optimized calling convention for shareable libraries.
|
||||
EPICS shareable libraries (DLL) names follow the convention "xxx.lib"
|
||||
and "xxx.dll".
|
||||
-Kay
|
||||
|
||||
46
README.cxxTemplates
Normal file
46
README.cxxTemplates
Normal file
@@ -0,0 +1,46 @@
|
||||
|
||||
The C++ templates supplied with EPICS base are in
|
||||
"$(EPICS)/base/src/cxxTemplates".
|
||||
|
||||
In Stroustrups's "The C++ Programming Language" Appendix A: r.14.9
|
||||
(ANSI/ISO resolutions) a mechanism is described for the explicit
|
||||
instantiation of template member functions (that are not inline).
|
||||
At this time some compilers do not support this mechanism (and use
|
||||
a template database snd/or smart linker instead). Other compilers
|
||||
(such as g++) provide only limited support for other forms of
|
||||
instantiation (g++ does not yet provide a template database or
|
||||
a smart linker for templates).
|
||||
|
||||
Since there is no defacto standard mechanism for instatiating
|
||||
templates at this time we are defining the preprocessor flag
|
||||
EXPL_TEMPL in the build system when the compiler supports
|
||||
explicit instantiation and the compiler does not support
|
||||
automatic instantiation via a smart linker and/or template
|
||||
database (currently this is only g++).
|
||||
|
||||
EPICS codes that use templates may need to include a code block
|
||||
as follow that instantiates the template only once into each
|
||||
program.
|
||||
|
||||
#include <classXYZ.h>
|
||||
#include <templXXX.h>
|
||||
|
||||
//
|
||||
// if the compiler supports explicit instantiation of
|
||||
// template member functions
|
||||
//
|
||||
#if defined(EXPL_TEMPL)
|
||||
//
|
||||
// From Stroustrups's "The C++ Programming Language"
|
||||
// Appendix A: r.14.9
|
||||
//
|
||||
// This explicitly instantiates the template class's member
|
||||
// functions into "templInst.o"
|
||||
//
|
||||
template class templXXX <classXYZ>;
|
||||
#endif
|
||||
|
||||
Jeff Hill 3-6-97
|
||||
johill@lanl.gov
|
||||
|
||||
|
||||
54
README.cygwin32
Normal file
54
README.cygwin32
Normal file
@@ -0,0 +1,54 @@
|
||||
Compiling EPICS on cygwin32 (Windows95/NT)
|
||||
------------------------------------------
|
||||
|
||||
Right now this port of EPICS base to cygwin32 R1.3.3 fails
|
||||
because cygwin does not yet support point-to-point interfaces.
|
||||
|
||||
To build EPICS on Win95 or NT using cygwin32, we need
|
||||
|
||||
EPICS base distribution, R3.12.0.beta12 or later, available
|
||||
from http://aps.anl.gov/...
|
||||
The latest cygwin distribution, available from
|
||||
http://www.cygwin.com
|
||||
|
||||
BUILD INSTRUCTIONS
|
||||
------------------
|
||||
|
||||
|
||||
1) Install the cygwin binary release
|
||||
------------------------------------
|
||||
|
||||
2) Install the epics base distribution
|
||||
--------------------------------------
|
||||
cp <dirname>\<basereleasename>.tar.gz .
|
||||
gunzip -d <basereleasename>.tar.gz
|
||||
tar xvf <basereleasename>.tar
|
||||
chmod +w -R *
|
||||
cd <epicsBaseDir>
|
||||
|
||||
3) Set environment variables and path using cygwin32.bat
|
||||
-------------------------------------------------------------
|
||||
<edit <epicsBaseDir>/startup/cygwin32.bat changing paths if necessary>
|
||||
cd <epicsBaseDir>\startup
|
||||
edit cygwin32.bat
|
||||
<execute cygwin32.bat>
|
||||
cygwin
|
||||
|
||||
4) Set site specific parms in epics config files
|
||||
------------------------------------------------
|
||||
cd <epicsBaseDir>\config
|
||||
<edit CONFIG_SITE* files>
|
||||
|
||||
5) Build epics base
|
||||
-------------------
|
||||
cd <epicsBaseDir>
|
||||
make
|
||||
|
||||
6) Create an example EPICS application (<epicsBaseDir> needs drive letter)
|
||||
--------------------------------------------------------------------------
|
||||
mkdir <epicsappdir>
|
||||
cd <epicsappdir>
|
||||
perl <epicsBaseDir>\bin\cygwin32\makeBaseApp.pl -l
|
||||
perl <epicsBaseDir>\bin\cygwin32\makeBaseApp.pl -t example example
|
||||
make
|
||||
|
||||
28
README.hp700_alpha
Normal file
28
README.hp700_alpha
Normal file
@@ -0,0 +1,28 @@
|
||||
#
|
||||
# supplement README for HP700
|
||||
#
|
||||
# Johnny Tang 5-29-97
|
||||
#
|
||||
|
||||
1. VxWorks 5.2 for HP-UX
|
||||
|
||||
- Make sure that you have set VX_DIR and VX_GNU to your
|
||||
VxWorks root directory.
|
||||
|
||||
- Under $(VX_DIR), create a soft link:
|
||||
hp700.68k -> hp9700.68k
|
||||
|
||||
2. Modify base/config/CONFIG_SITE file
|
||||
|
||||
- ANSI=HPACC
|
||||
- STANDARD=HPCC
|
||||
- CPLUSPLUS=G++
|
||||
|
||||
3. HP native c++ compiler has problem to handle the head files
|
||||
in which a inline function is used in conjuction with template
|
||||
|
||||
base/src/cas, the portable CA server can't be compiled successfully
|
||||
because of the above limitation.
|
||||
|
||||
This problem can be resolved by spliting the function declarations
|
||||
from the inline code in the files in base/src/cxxTemplates.
|
||||
538
README.htm
538
README.htm
@@ -1,538 +0,0 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="jba">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
|
||||
</head>
|
||||
<body>
|
||||
README.htm
|
||||
<center>
|
||||
<h1>
|
||||
Installation Instructions</h1></center>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
EPICS base</h2></center>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
Release 3.14.0beta1</h2></center>
|
||||
|
||||
<h3>
|
||||
What is EPICS base?</h3>
|
||||
|
||||
<blockquote>The Experimental Physics and Industrial Control Systems (EPICS)
|
||||
is an extensible set of software components and tools with which application
|
||||
developers can create a control system. This control system can be used
|
||||
to control accelerators, detectors, telescopes, or other scientific experimental
|
||||
equipment. EPICS base is the set of core software, i.e. the components
|
||||
of EPICS without which EPICS would not function. EPICS base allows an arbitrary
|
||||
number of target systems, IOCs (input/output controllers), and host systems,
|
||||
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
|
||||
check the RELEASE_NOTES file in the distribution for description of changes
|
||||
and release migration details.</blockquote>
|
||||
|
||||
<h3>
|
||||
Copyright</h3>
|
||||
|
||||
<blockquote>Please review the COPYRIGHT* files included in the distribution
|
||||
for legal terms of usage.</blockquote>
|
||||
|
||||
<h3>
|
||||
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
|
||||
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><tt>solaris-sparc</tt>
|
||||
<br><tt>solaris-sparc-gnu</tt>
|
||||
<br><tt>linux-x86</tt>
|
||||
<br><tt>win32-x86</tt>
|
||||
<br><tt>win32-x86-borland</tt></blockquote>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<h4>
|
||||
Cross compile target platforms (operating system - architecture)</h4>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<blockquote><tt>vxWorks-486</tt>
|
||||
<br><tt>vxWorks-68040</tt>
|
||||
<br><tt>vxWorks-68040lc</tt>
|
||||
<br><tt>vxWorks-68060</tt>
|
||||
<br><tt>vxWorks-ppc603</tt>
|
||||
<br><tt>vxWorks-ppc604</tt>
|
||||
<br><tt>vxWorks-pentium</tt>
|
||||
<br><tt>RTEMS-gen68360</tt>
|
||||
<br><tt>RTEMS-mvme167</tt>
|
||||
<br><tt>RTEMS-pc386</tt></blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
Supported compilers</h3>
|
||||
|
||||
<blockquote>This version of EPICS base has been built and tested using
|
||||
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>
|
||||
|
||||
<h3>
|
||||
Software requirements</h3>
|
||||
|
||||
<blockquote><b>GNU make</b>
|
||||
<br>You must use GNU make, gnumake, for any EPICS builds. Set your
|
||||
path so that a gnumake version 3.70 or later is available.
|
||||
<p><b>Perl</b>
|
||||
<br>You must have perl version 5.0 or later installed. The configure files
|
||||
do not specify the perl full pathname. You need the perl executable
|
||||
in your search path.
|
||||
<p><b>Unzip and tar (Winzip on WIN32 systems)</b>
|
||||
<br>You must have tools available to unzip and untar the EPICS base distribution
|
||||
file.
|
||||
<p><b>Tornado 2.0</b>
|
||||
<br>You must have Tornado 2.0 installed if any of your target systems are
|
||||
vxWorks systems. Tornado 2.0 provides the cross-compiler and header
|
||||
files needed to build for these target systems. The full path location
|
||||
to Tornado 2.0 must 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>
|
||||
|
||||
<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
|
||||
created files for each host take approximately 40 MB and the build created
|
||||
files for each target take approximately 10 MB.</blockquote>
|
||||
|
||||
<h3>
|
||||
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>
|
||||
|
||||
<blockquote>This README.htm is in the base distribution file and will be
|
||||
available on the IOC software R3.14 EPICS WWW page which can be accessed
|
||||
from the APS EPICS home page.</blockquote>
|
||||
|
||||
<h3>
|
||||
WWW pages</h3>
|
||||
|
||||
<blockquote>
|
||||
<h4>
|
||||
EPICS home page at APS</h4>
|
||||
|
||||
<blockquote><a href="http://www.aps.anl.gov/Epics">http://www.aps.anl.gov/epics</a></blockquote>
|
||||
|
||||
<h4>
|
||||
Other WWW sites</h4>
|
||||
|
||||
<blockquote>Additional information on EPICS can be found at the various
|
||||
other WWW links on the EPICS home page at APS.</blockquote>
|
||||
|
||||
<h4>
|
||||
Mailing Lists</h4>
|
||||
|
||||
<blockquote>There are five EPICS mailing lists provided by APS. See The
|
||||
EPICS home page for subscription instructions.</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
Directory Structure</h3>
|
||||
|
||||
<blockquote>Distribution directory structure:</blockquote>
|
||||
<tt> base
|
||||
Root directory of the base istribution</tt>
|
||||
<br><tt> base/config
|
||||
R3.13 compatibility build configuration files</tt>
|
||||
<br><tt> base/config/tools
|
||||
Perl and shell scripts used in the R3.13 build</tt>
|
||||
<br><tt> base/configure
|
||||
Operating system independent build config files</tt>
|
||||
<br><tt> base/configure/os
|
||||
Operating system dependent build config files</tt>
|
||||
<br><tt> base/configure/tools
|
||||
Perl and shell scripts used in the build</tt>
|
||||
<br><tt> base/copyright
|
||||
Text files describing software copyrights</tt>
|
||||
<br><tt> base/src
|
||||
All epics base source code in subdirectories</tt>
|
||||
<br><tt> base/src/as
|
||||
Access security</tt>
|
||||
<br><tt> base/src/bpt
|
||||
Break point table</tt>
|
||||
<br><tt> base/src/ca
|
||||
Channel access</tt>
|
||||
<br><tt> base/src/cas
|
||||
Channel access server</tt>
|
||||
<br><tt> base/src/db
|
||||
Database access</tt>
|
||||
<br><tt> base/src/db/test
|
||||
Database access tests</tt>
|
||||
<br><tt> base/src/dbStatic
|
||||
Static database access</tt>
|
||||
<br><tt> base/src/dbtools
|
||||
Database dbLoadTemplate tools</tt>
|
||||
<br><tt> base/src/dev
|
||||
Device support (softDev and testDev)</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/bucketLib
|
||||
Hash bucket</tt>
|
||||
<br><tt> base/src/libCom/calc
|
||||
Algebraic expression interpreter</tt>
|
||||
<br><tt> base/src/libCom/cvtFast
|
||||
Fast number to string conversion</tt>
|
||||
<br><tt> base/src/libCom/cxxTemplates C++ templates
|
||||
and templates tests</tt>
|
||||
<br><tt> base/src/libCom/dbmf
|
||||
Memory management for frequent alloc/free</tt>
|
||||
<br><tt> base/src/libCom/ellLib
|
||||
EPICS double linked list</tt>
|
||||
<br><tt> base/src/libCom/env
|
||||
Default EPICS environment settings</tt>
|
||||
<br><tt> base/src/libCom/error
|
||||
Error handling definitions and routines</tt>
|
||||
<br><tt> base/src/libCom/fdmgr
|
||||
File descriptor manager</tt>
|
||||
<br><tt> base/src/libCom/freeList
|
||||
Memory management using free lists</tt>
|
||||
<br><tt> base/src/libCom/gpHash
|
||||
General purpose hash table</tt>
|
||||
<br><tt> base/src/libCom/logClient
|
||||
Logging client</tt>
|
||||
<br><tt> base/src/libCom/macLib
|
||||
Macro substitution handler</tt>
|
||||
<br><tt> base/src/libCom/misc
|
||||
Miscellaneous utilities</tt>
|
||||
<br><tt> base/src/libCom/osi
|
||||
Operating system independent code</tt>
|
||||
<br><tt> base/src/libCom/osi/os
|
||||
Operating system dependant code in subdirectories</tt>
|
||||
<br><tt> base/src/libCom/taskwd
|
||||
Task watchdog</tt>
|
||||
<br><tt> base/src/libCom/test
|
||||
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
|
||||
Perl tool+templates to create extension dvl tree</tt>
|
||||
<br><tt> base/src/misc
|
||||
Miscellaneous (coreRelease, iocInit, asSub*)</tt>
|
||||
<br><tt> base/src/rec
|
||||
Record support</tt>
|
||||
<br><tt> base/src/registry
|
||||
EPICS support function registry</tt>
|
||||
<br><tt> base/src/rsrv
|
||||
Channel access ioc resource server library</tt>
|
||||
<br><tt> base/src/toolsComm
|
||||
Code for the build tools antelope and e_flex</tt>
|
||||
<br><tt> base/src/util
|
||||
Utilities (ca_test, iocLogServer, startCArepeater)</tt>
|
||||
<br><tt> base/src/vxWorks
|
||||
R3.13 compatibility code specific to vxWorks</tt>
|
||||
<br><tt> base/startup
|
||||
Scripts for setting up path and environment</tt>
|
||||
<p><tt> </tt>Install directories created by the
|
||||
build:
|
||||
<p><tt> base/bin
|
||||
Installed scripts and executables in subdirs</tt>
|
||||
<br><tt> base/lib
|
||||
Installed libraries in arch subdirectories</tt>
|
||||
<br><tt> base/dbd
|
||||
Installed data base definitions</tt>
|
||||
<br><tt> base/include
|
||||
Installed header files</tt>
|
||||
<br><tt> base/include/os
|
||||
Installed os specific header files</tt>
|
||||
<br><tt> base/templates
|
||||
Installed templates</tt>
|
||||
<h3>
|
||||
Build related components</h3>
|
||||
|
||||
<blockquote>
|
||||
<li>
|
||||
base/README* files</li>
|
||||
|
||||
<br><tt>README.htm
|
||||
Instructions for setup and building epics base</tt>
|
||||
<br><tt>
|
||||
(i.e. this document)</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>
|
||||
<li>
|
||||
base/startup directory - contains scripts to set environment and path</li>
|
||||
|
||||
<br><tt>EpicsHostArch c shell script
|
||||
to set EPICS_HOST_ARCH env variable</tt>
|
||||
<br><tt>EpicsHostArch.pl perl script to set EPICS_HOST_ARCH
|
||||
env variable</tt>
|
||||
<br><tt>Site.profile bourne shell
|
||||
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>
|
||||
<br><tt>win32.bat
|
||||
WIN32 bat file to set path and env variables</tt>
|
||||
<br>
|
||||
<li>
|
||||
base/configure directory - contains build definitions and rules</li>
|
||||
|
||||
<br><tt>CONFIG.CrossCommon Cross build definitions</tt>
|
||||
<br><tt>CONFIG.gnuCommon Gnu compiler build
|
||||
definitions for all archs</tt>
|
||||
<br><tt>CONFIG_ADDONS Definitions
|
||||
for <osclass> and DEFAULT options</tt>
|
||||
<br><tt>CONFIG_BASE
|
||||
EPICS base tool and location definitions</tt>
|
||||
<br><tt>CONFIG_BASE_VERSION Definitions for EPICS base version
|
||||
number</tt>
|
||||
<br><tt>CONFIG_COMMON Definitions
|
||||
common to all builds</tt>
|
||||
<br><tt>CONFIG_ENV
|
||||
Definitions of EPICS environment variables</tt>
|
||||
<br><tt>CONFIG_SITE
|
||||
Site specific make defintions</tt>
|
||||
<br><tt>CONFIG_SITE_ENV Site defaults
|
||||
for EPICS environment variables</tt>
|
||||
<br><tt>CONFIG
|
||||
Includes configure files and allows variable overrides</tt>
|
||||
<br><tt>RELEASE
|
||||
Location of external products such as Tornado II</tt>
|
||||
<br><tt>RULES
|
||||
Includes appropriate rules file</tt>
|
||||
<br><tt>RULES.Db
|
||||
Rules for database and database definition files</tt>
|
||||
<br><tt>RULES_ARCHS
|
||||
Definitions and rules for building architectures</tt>
|
||||
<br><tt>RULES_BUILD
|
||||
Build and install rules and definitions</tt>
|
||||
<br><tt>RULES_DIRS
|
||||
Definitions and rules for building subdirectories</tt>
|
||||
<br><tt>RULES_JAVA
|
||||
Definitions and rules for java jars and classes</tt>
|
||||
<br><tt>RULES_TOP
|
||||
Rules specific to a <top> dir (uninstall and tar)</tt>
|
||||
<br><tt>Sample.Makefile Sample makefile
|
||||
with comments</tt>
|
||||
<br>
|
||||
<li>
|
||||
base/configure/os directory - contains os-arch specific definitions</li>
|
||||
|
||||
<br><tt>CONFIG.<host>.<target> Specific
|
||||
host-target build definitions</tt>
|
||||
<br><tt>CONFIG.Common.<target> Specific
|
||||
target definitions for all hosts</tt>
|
||||
<br><tt>CONFIG.<host>.Common
|
||||
Specific host definitions for all targets</tt>
|
||||
<br><tt>CONFIG.UnixCommon.Common Definitions for Unix
|
||||
hosts and all target</tt>
|
||||
<br><tt>CONFIG.<host>.vxWorksCommon Specific host definitions for all
|
||||
vx targets</tt>
|
||||
<br><tt>CONFIG_COMPAT
|
||||
R3.13 arch compatibility definitions</tt>
|
||||
<br><tt>CONFIG_SITE.<host>.<target> Site specific host-target definitions</tt>
|
||||
<br><tt>CONFIG_SITE.Common.<target> Site specific target defs for all
|
||||
hosts</tt>
|
||||
<br><tt>CONFIG_SITE.<host>.Common Site specific host defs
|
||||
for all targets</tt>
|
||||
<br>
|
||||
<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>installEpics.pl
|
||||
Installs built files into install directories.</tt>
|
||||
<br><tt>makeDependsTargets.pl Creates targets of include dependency
|
||||
files</tt>
|
||||
<br><tt>makeMakefile.pl
|
||||
Creates a Makefile in O.<arch> dirs</tt>
|
||||
<br><tt>makeMakefileInclude.pl Creates file to be included by Makefile</tt>
|
||||
<br><tt>mkdir.pl
|
||||
Creates a directory (like Unix mkdir)</tt>
|
||||
<br><tt>mkmf.pl
|
||||
Generates dependencies from include stmnts</tt>
|
||||
<br><tt>munch.pl
|
||||
Creates a ctdt.c file for vxWorks targets</tt>
|
||||
<br><tt>mv.pl
|
||||
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>
|
||||
|
||||
<h3>
|
||||
Building EPICS base (Unix and Win32)</h3>
|
||||
|
||||
<blockquote><b>Unpack file</b>
|
||||
<blockquote>Unzip and untar the distribution file. Use WinZip on Windows
|
||||
systems.</blockquote>
|
||||
S<b>et environment variables</b>
|
||||
<blockquote>Files in the base/startup directory have been provided to help
|
||||
set required path and other environment variables .
|
||||
<p><b>EPICS_HOST_ARCH</b>
|
||||
<br>Before you can build or use EPICS R3.14, the environment variable EPICS_HOST_ARCH
|
||||
must be defined. A perl script EpicsHostArch.pl in the base/startup directory
|
||||
has been provided to help set EPICS_HOST_ARCH. You should have EPICS_HOST_ARCH
|
||||
set to your host operating system followed by a dash and then your host
|
||||
architecture, e.g. solaris-sparc. If you are not using the OS vendor's
|
||||
c/c++ compiler for host
|
||||
<br>builds, you will need another dash followed by the alternate compiler
|
||||
name (e.g. "-gnu" for GNU c/c++ compilers on a solaris host or "-borland"
|
||||
for Borland c/c++ compilers on a WIN32 host) . See configure/CONFIG_SITE
|
||||
for a list of supported EPICS_HOST_ARCH values.
|
||||
<p><b>PERLLIB</b>
|
||||
<br>On WIN32, some versions of Perl require that the environment
|
||||
variable PERLLIB be set to <perl directory location>.</blockquote>
|
||||
|
||||
<blockquote><b>PATH</b>
|
||||
<br>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
|
||||
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.
|
||||
<p><b>LD_LIBRARY_PATH</b>
|
||||
<br>If you plan to build EPICS base shared libraries instead of archive
|
||||
libraries, on Unix systems you will need to add fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH)
|
||||
to your LD_LIBRARY_PATH environment variable.
|
||||
<p><b>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).
|
||||
<br> </blockquote>
|
||||
<b>Do site-specific build configuration</b>
|
||||
<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>
|
||||
<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.
|
||||
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
|
||||
<br><tt>configure/os/CONFIG.<host>.Common</tt>
|
||||
- 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.
|
||||
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>
|
||||
<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*
|
||||
files to agree with definitions you made in base/configure and base/configure/os
|
||||
files.</blockquote>
|
||||
|
||||
<h4>
|
||||
<b>Build EPICS base</b></h4>
|
||||
|
||||
<blockquote>After configuring the build you should be able to build EPICS
|
||||
base by issuing the following commands in the distribution's root directory
|
||||
(base)
|
||||
<blockquote><tt>gnumake clean uninstall</tt>
|
||||
<br><tt>gnumake</tt></blockquote>
|
||||
The command "gnumake clean uninstall" will remove all files and directories
|
||||
generated by a previous build. The command "gnumake" will build and install
|
||||
everything for the configured host and targets.
|
||||
<br>It is recommended that you do a "gnumake clean uninstall" at the root
|
||||
directory of an EPICS directory structure before each complete rebuild
|
||||
to ensure that all components will be rebuilt.</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
Multiple host platforms</h3>
|
||||
|
||||
<blockquote>You can build using a single EPICS directory structure on multiple
|
||||
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>.
|
||||
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
|
||||
allows objects for multiple cross target architectures to be maintained
|
||||
at the same time. To build EPICS base for a specific host/target combination
|
||||
you must have the proper host/target c/c++ cross compiler and target header
|
||||
files and the base/configure/os directory must have the appropriate configure
|
||||
files.</blockquote>
|
||||
|
||||
<h3>
|
||||
Example application and extension</h3>
|
||||
|
||||
<blockquote>A perl tool, makeBaseApp.pl is included in the distribution
|
||||
file. This script will create a sample application that can be built and
|
||||
then executed to try out this release of base. Also, a perl script, makeBaseExt.pl,
|
||||
is included in the distribution file. This script will create a sample
|
||||
extension that can be built and executed. The makeBaseApp.pl and makeBaseExt.pl
|
||||
scripts are installed into the install location bin/<hostarch> directory
|
||||
during the base build.</blockquote>
|
||||
|
||||
<blockquote>Instructions for building and executing the 3.14 example application
|
||||
can be found in the section "Example Application" of Chapter 2, "New Features
|
||||
for 3.14", in the "IOC Application Developer's Guide R3.14.0beta1".
|
||||
The "Example Application" section briefly explains how to create and build
|
||||
an example application in a user created <top> directory. It also explains
|
||||
how to run the example application on a vxWorks ioc or a host system and
|
||||
run an example channel access client on the host system.</blockquote>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
25
README.solaris
Normal file
25
README.solaris
Normal file
@@ -0,0 +1,25 @@
|
||||
----------------------------------------------------------------------------
|
||||
EPICS Notes for Solaris
|
||||
- By Andrew Johnson
|
||||
|
||||
updated 12-16-96 by Jeff Hill
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
Notes:
|
||||
|
||||
1. In order to build EPICS under Solaris 2, you must ensure that the
|
||||
solaris directory /usr/ccs/bin is in your search path.
|
||||
|
||||
2. It is now possible to compile EPICS under Solaris 2 using either the
|
||||
GNU gcc compiler or the Sun SPARCworks ANSI C compiler. The g++/
|
||||
Sun SPARCworks ANSI C compiler combination has compiled and linked
|
||||
without errors but has not been extensively tested.
|
||||
|
||||
3. EPICS under Solaris 2 no longer uses the UCB compatability libraries.
|
||||
In order to ensure that the /usr/ucblib files are not inherited, you
|
||||
should ensure that your LD_LIBRARY_PATH environment variable does not
|
||||
include /usr/ucblib when you build any of the host tools.
|
||||
|
||||
--
|
||||
anj@ast.cam.ac.uk
|
||||
@@ -1,298 +0,0 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="ProgId" content="Word.Document">
|
||||
<meta name="Generator" content="Microsoft Word 9">
|
||||
<meta name="Originator" content="Microsoft Word 9">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
|
||||
<title>Instruction on building existing R3</title>
|
||||
<link rel=File-List href="./READMEbuildingR3.13AppsWithR3.14_files/filelist.xml">
|
||||
<!--[if gte mso 9]><xml>
|
||||
<o:DocumentProperties>
|
||||
<o:LastAuthor>Jba</o:LastAuthor>
|
||||
<o:Revision>3</o:Revision>
|
||||
<o:TotalTime>4</o:TotalTime>
|
||||
<o:Created>2000-10-25T19:43:00Z</o:Created>
|
||||
<o:LastSaved>2000-10-25T19:47:00Z</o:LastSaved>
|
||||
<o:Pages>1</o:Pages>
|
||||
<o:Company>Argonne National Laboratory</o:Company>
|
||||
<o:Lines>1</o:Lines>
|
||||
<o:Paragraphs>1</o:Paragraphs>
|
||||
<o:Version>9.2720</o:Version>
|
||||
</o:DocumentProperties>
|
||||
</xml><![endif]-->
|
||||
<!--[if gte mso 9]><xml>
|
||||
<w:WordDocument>
|
||||
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
|
||||
<w:DisplayVerticalDrawingGridEvery>0</w:DisplayVerticalDrawingGridEvery>
|
||||
<w:UseMarginsForDrawingGridOrigin/>
|
||||
<w:Compatibility>
|
||||
<w:FootnoteLayoutLikeWW8/>
|
||||
<w:ShapeLayoutLikeWW8/>
|
||||
<w:AlignTablesRowByRow/>
|
||||
<w:ForgetLastTabAlignment/>
|
||||
<w:LayoutRawTableWidth/>
|
||||
<w:LayoutTableRowsApart/>
|
||||
</w:Compatibility>
|
||||
</w:WordDocument>
|
||||
</xml><![endif]-->
|
||||
<style>
|
||||
<!--
|
||||
/* Font Definitions */
|
||||
@font-face
|
||||
{font-family:"MS Mincho";
|
||||
panose-1:2 2 6 9 4 2 5 8 3 4;
|
||||
mso-font-alt:"\FF2D\FF33 \660E\671D";
|
||||
mso-font-charset:128;
|
||||
mso-generic-font-family:roman;
|
||||
mso-font-pitch:fixed;
|
||||
mso-font-signature:-1610612033 1757936891 16 0 131231 0;}
|
||||
@font-face
|
||||
{font-family:"\@MS Mincho";
|
||||
mso-font-charset:128;
|
||||
mso-generic-font-family:roman;
|
||||
mso-font-pitch:fixed;
|
||||
mso-font-signature:1 134676480 16 0 131072 0;}
|
||||
/* Style Definitions */
|
||||
p.MsoNormal, li.MsoNormal, div.MsoNormal
|
||||
{mso-style-parent:"";
|
||||
margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
mso-pagination:widow-orphan;
|
||||
font-size:10.0pt;
|
||||
font-family:"Times New Roman";
|
||||
mso-fareast-font-family:"Times New Roman";}
|
||||
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
|
||||
{margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
mso-pagination:widow-orphan;
|
||||
font-size:10.0pt;
|
||||
font-family:"Courier New";
|
||||
mso-fareast-font-family:"Times New Roman";}
|
||||
@page Section1
|
||||
{size:8.5in 11.0in;
|
||||
margin:1.0in 66.0pt 1.0in 66.0pt;
|
||||
mso-header-margin:.5in;
|
||||
mso-footer-margin:.5in;
|
||||
mso-paper-source:0;}
|
||||
div.Section1
|
||||
{page:Section1;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body lang="EN-US" style="tab-interval:.5in">
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
Building EPICS R3.13 applications with R3.14.0beta1 base</h2></center>
|
||||
|
||||
<p><br>This document describes how to modify a R3.13 vxWorks application
|
||||
so that it builds with release R3.14.0beta1. It describes an easy
|
||||
way to modify applications subject to the following restrictions:
|
||||
<ul>
|
||||
<li>
|
||||
The application still uses config rules rather than the configure rules
|
||||
which are new to release 3.14.</li>
|
||||
|
||||
<li>
|
||||
The OSI (Operating System Independent) features of R3.14 are not available,
|
||||
i.e. iocCore products can only be build for vxWorks.</li>
|
||||
|
||||
<li>
|
||||
Once the application is changed to build with base R3.14, it will not build
|
||||
with earlier base releases.</li>
|
||||
</ul>
|
||||
Ultimately applications should be converted to use the new configure rules
|
||||
so that the OSI features are available.
|
||||
<h3>
|
||||
<b>Gnumake clean uninstall</b></h3>
|
||||
|
||||
<blockquote>At the top of the application execute:
|
||||
<pre>"<tt>gnumake clean uninstall</tt>"</pre>
|
||||
to remove all files and directories created by earlier builds.</blockquote>
|
||||
|
||||
<h3>
|
||||
Update RELEASE</h3>
|
||||
|
||||
<blockquote>Change the <tt>EPICS_BASE</tt> definition to point to
|
||||
the R3.14 base release. All hardware support and some soft support is now
|
||||
unbundled. For example the sequencer is unbundled. You must obtain and
|
||||
build all required unbundled products before you can build the application.
|
||||
The location of each unbundled product must be specified in <top>/config/RELEASE.</blockquote>
|
||||
|
||||
<h3>
|
||||
Update target arch definitions</h3>
|
||||
|
||||
<blockquote>Change any target arch specification in config/CONFIG to new
|
||||
R3.14 target arch specification. Look in the R3.14 base/bin directory to
|
||||
see the target arch names.
|
||||
<p>For example, in config/CONFIG change
|
||||
<pre>CROSS_COMPILER_TARGET_ARCHS = mv167</pre>
|
||||
to
|
||||
<pre>CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040</pre>
|
||||
In the iocBoot/*/Makefile files, change
|
||||
<pre>ARCH=<old arch name></pre>
|
||||
to
|
||||
<pre>ARCH=<new arch name></pre>
|
||||
and do a "<tt>gnumake"</tt> in the iocBoot directory to update the cdCommands
|
||||
files.</blockquote>
|
||||
|
||||
<h3>
|
||||
State Notation Language changes</h3>
|
||||
|
||||
<blockquote>snc is no longer in base. If snc is used in your application,
|
||||
you must download and build the seq module with baseR3.14.0beta1. See the
|
||||
Application Developer's Guide to see how to build sequence programs.</blockquote>
|
||||
|
||||
<blockquote>Change
|
||||
<pre>INSTALLS=seq</pre>
|
||||
to
|
||||
<pre>LIBOBJS += $(SEQ_BIN)/seqLibrary.o</pre>
|
||||
|
||||
<p><br>in application src/Makefile.Vx files to link seq library into your
|
||||
application library,.
|
||||
<br>Also add
|
||||
<pre>SEQ=<full path to seq module directory></pre>
|
||||
to config/RELEASE.
|
||||
<br>Also remove
|
||||
<pre>ld < seq</pre>
|
||||
from the st.cmd files in the iocBoot subdirectories.</blockquote>
|
||||
|
||||
<h3>
|
||||
iocCore changes</h3>
|
||||
|
||||
<blockquote>iocCore has been renamed to iocCoreLibrary.o.
|
||||
<br>Change
|
||||
<pre>INSTALLS=iocCore</pre>
|
||||
to
|
||||
<pre>LIBOBJS += $(EPICS_BASE_BIN)/iocCoreLibrary.o</pre>
|
||||
in your application src/Makefile.Vx files .
|
||||
<br>Also remove
|
||||
<pre>ld < iocCore</pre>
|
||||
from the st.cmd files in the iocBoot subdirectories.</blockquote>
|
||||
|
||||
<h3>
|
||||
Library db changes</h3>
|
||||
|
||||
<blockquote>The Db library name was changed to dbStaticHost for host builds
|
||||
and dbStaticIoc for ioc builds.
|
||||
<br>Change
|
||||
<pre>PROD_LIBS+=Db</pre>
|
||||
to
|
||||
<pre>PROD_LIBS+=dbStaticHost</pre>
|
||||
and
|
||||
<pre>Db_DIR=$(EPICS_BASE_LIB)</pre>
|
||||
to
|
||||
<pre>dbStaticHost_DIR=$(EPICS_BASE_LIB)</pre>
|
||||
in your application src/Makefile.Host files.</blockquote>
|
||||
|
||||
<h3>
|
||||
VxWorks C++ munched libraries and object files</h3>
|
||||
|
||||
<blockquote>Since R3.14 contains C++ code, the build rules were changed
|
||||
to create a corresponding munched file for every vx object file built.
|
||||
The objects files can be combined to form libraries but the munched files
|
||||
must be loaded into vxWorks. In all st.cmd files add the suffix "<tt>.munch</tt>"
|
||||
to the ld lines where object files were previously loaded. For example
|
||||
change
|
||||
<pre>ld < exampleLib</pre>
|
||||
to
|
||||
<pre>ld < exampleLibrary.munch</pre>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
recGbl calls</h3>
|
||||
|
||||
<blockquote>You may need to add the line "<tt>#include "recGbl.h</tt>"
|
||||
to any source files that have recGbl* calls so that the file will compile
|
||||
without errors.</blockquote>
|
||||
|
||||
<h3>
|
||||
Record support changes</h3>
|
||||
|
||||
<blockquote>The steppermotor, scan, and pid records are no longer in base.
|
||||
If your application does not use these record types, comment out or remove
|
||||
references to them in base.dbd and baseLIBOBJS. If these record types are
|
||||
used by your application you must download and build the modules with R3.14
|
||||
base, add appropriate module definitions to your application's config/RELEASE
|
||||
fileand change the <tt>LIBOBJS</tt> definitions. For example
|
||||
<br>add
|
||||
<pre>PID=<full path to modules directory>/pid</pre>
|
||||
to config/RELEASE.
|
||||
<br>Remove
|
||||
<pre>LIBOBJS += $(EPICS_BASE_BIN)/pidRecord.o</pre>
|
||||
from baseLIBOBJS,
|
||||
<br>and add
|
||||
<pre>LIBOBJS += $(PID_BIN)/pidRecord.o</pre>
|
||||
to your application src/Makefile.
|
||||
<p>You should consider changing any existing old steppermotor records to
|
||||
the new EPICS <a href="http://www.aps.anl.gov/upd/people/sluiter/epics/modules/mechanism/motor/index.html">motor
|
||||
record</a> module supported by Beamline Controls and Data Acquisition
|
||||
at APS.</blockquote>
|
||||
|
||||
<h3>
|
||||
RecDynLink.o and devPtSoft changes</h3>
|
||||
|
||||
<blockquote>recDynLink.o and devPtSoft.o are no longer in base. Remove
|
||||
references to them in base.dbd and baseLIBOBJS if they are not used in
|
||||
application.</blockquote>
|
||||
|
||||
<h3>
|
||||
Hardware support changes</h3>
|
||||
|
||||
<blockquote>All hardware support (dev, drv and dbd files) has been unbundled
|
||||
from base R3.14. This support includes the files <tt>symb, symb.dbd, drvHp1404a.o,
|
||||
drvEpvxiMsg.o, and drvEpvxi.o</tt>. If they are not used in your
|
||||
application, comment out references to these files in base.dbd and baseLIBOBJS.
|
||||
<p>Hardware support files now exist as separate modules available for download
|
||||
from the <a href="http://www.aps.anl.gov/epics/">EPICS www home page at
|
||||
ANL</a>. You must now download all the hardware support modules needed
|
||||
for your application, build the modules with R3.14 base, add the
|
||||
appropriate module full path definitions to your application config/RELEASE
|
||||
file, and change <tt>LIBOBJS</tt> location definition <tt>$(EPICS_BASE_BIN)</tt>
|
||||
to the module definition bin directory in your application src directory
|
||||
files.
|
||||
<p>For example, remove
|
||||
<pre>LIBOBJS+=$(EPICS_BASE_BIN)/symb</pre>
|
||||
from baseLIBOBJS and add
|
||||
<pre>LIBOBJS+=$(SYMB_BIN)/symb</pre>
|
||||
to your application src/Makefile,
|
||||
<br>and add the line
|
||||
<pre>SYMB=<full path definition for the built module SYMB></pre>
|
||||
into your application config/RELEASE file .
|
||||
<p>After a gnumake in the symb module followed by a gnumake in the application
|
||||
config directory, the definitions <tt>SYMB_BIN</tt> and <tt>SYMB_LIB</tt>
|
||||
will be created, the directory $(SYMB)/include will be added to the
|
||||
include directories on the compiler command lines (in the <tt>INSTALL_INCLUDES</tt>
|
||||
definition) and the directory $(SYMB)/dbd will be added to the dbd
|
||||
search directories on the dbExpand command lines (in the <tt>INSTALL_DBDFLAGS</tt>
|
||||
definition).</blockquote>
|
||||
|
||||
<h3>
|
||||
dbLoadtemplate tool changes</h3>
|
||||
|
||||
<blockquote>The host tool dbLoadTemplate has been replaced by a new extension,
|
||||
msi. dbLoadTemplate is still supported on iocs. Build the msi extension
|
||||
with base R3.14 and change the following definitions in your application
|
||||
files.
|
||||
<p>In config/RULES.Db replace the line
|
||||
<pre>DBLOADTEMPLATE=$(EPICS_BASE_HOST_BIN)/dbLoadTemplate$(EXE)</pre>
|
||||
with
|
||||
<pre>MSI = $(firstword $(wildcard $(EPICS_EXTENSIONS_HOST_BIN)/msi$(HOSTEXE) \
|
||||
(EPICS_EXTENSIONS)/bin/$(HOST_OS_CLASS)/msi$(HOSTEXE)) msi$(HOSTEXE))</pre>
|
||||
and change line:
|
||||
<pre>@$(DBLOADTEMPLATE) $< > $@</pre>
|
||||
to
|
||||
<pre>@$(MSI) $< > $@</pre>
|
||||
Also, if dbLoadTemplate was used by your application, add the definition
|
||||
<blockquote>
|
||||
<pre>EPICS_EXTENSIONS=<full path name to epics extensions directory></pre>
|
||||
</blockquote>
|
||||
to your application config/RELEASE file.</blockquote>
|
||||
depends changes
|
||||
<p> Remove any SRCS.c and SRCS.cc definitions in
|
||||
your application src/Makefile..*files. The depends rule no longer uses
|
||||
these definitions.
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,132 +0,0 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="jba">
|
||||
<meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
Building EPICS R3.13 extensions with R3.14 base</h2></center>
|
||||
|
||||
<p><br>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.
|
||||
<h3>
|
||||
Preliminary steps for all extensions</h3>
|
||||
|
||||
<blockquote>
|
||||
<li>
|
||||
Download the latest version (10/25/00) of the extensions/config files,
|
||||
extensionsConfig.tar.gz, from the APS EPICS www page.</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 of
|
||||
a built R3.14 base.</li>
|
||||
|
||||
<li>
|
||||
BASE_3_14 is now defined in the base/config/CONFIG_BASE_VERSION.
|
||||
The commented BASE_3_14 definition can be removed from extensions/config/RELEASE.</li>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
Building downloaded APS distribution extensions with base R3.14</h3>
|
||||
|
||||
<blockquote>
|
||||
<li>
|
||||
Download the latest version (10/25/00) of extensions distributed from the
|
||||
APS EPICS www page. The latest versions of the extensions should build
|
||||
with both R3.13 and R3.14. Note that the order of building extensions is
|
||||
important, i.e. some extensions depend on other extensions being built
|
||||
first. The extensions/config/CONFIG_EXTENSIONS file contains notes on extension
|
||||
dependancies and contains a definition of DIRS (used by extensions/src/Makefile)
|
||||
with the proper order for building the APS distributed extensions.</li>
|
||||
|
||||
<li>
|
||||
Executing gnumake at the root level of the extensions tree or in the src
|
||||
directory should build the APS extensions in the proper order.</li>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
Building your extensions with base R3.14</h3>
|
||||
|
||||
<blockquote>
|
||||
<li>
|
||||
<b>Library Db renamed</b></li>
|
||||
|
||||
<br>Library Db has been renamed to dbStaticHost in EPICS base R3.14. In
|
||||
some extensions lib Db is not used and Db can be removed from the USR_LIBS
|
||||
(or PROD_LIBS) line. If the library is needed ( you get unresolved items
|
||||
after removing Db), the following lines should be added to Makefile.Host.
|
||||
<blockquote><tt>ifdef BASE_3_14</tt>
|
||||
<br><tt>USR_LIBS += dbStaticHost</tt>
|
||||
<br><tt>dbStaticHost_DIR = $(EPICS_BASE_LIB)</tt>
|
||||
<br><tt>else</tt>
|
||||
<br><tt>USR_LIBS += Db</tt>
|
||||
<br><tt>Db_DIR = $(EPICS_BASE_LIB)</tt>
|
||||
<br><tt>endif</tt></blockquote>
|
||||
|
||||
<li>
|
||||
<b>Target architecture specifications changed</b></li>
|
||||
|
||||
<br>Since target architecture specifications have been changed (solaris
|
||||
to solaris-sparc, win32 to win32-x86, ...) Makefile.Host references to
|
||||
and tests on T_A have to be changed. In most cases T_A can be replaced
|
||||
by OS_CLASS. Since HOST_ARCH will eventually be phased out, it would
|
||||
be a good idea to change any Makefile.Host references to HOST_ARCH to OS_CLASS
|
||||
if possible.
|
||||
<br>For example change
|
||||
<blockquote><tt>ifeq ($(T_A),solaris)</tt>
|
||||
<br><tt>RPCFLAGS = -K -1</tt>
|
||||
<br><tt>endif</tt></blockquote>
|
||||
to
|
||||
<blockquote><tt>ifeq ($(OS_CLASS),solaris)</tt>
|
||||
<br><tt>RPCFLAGS = -K -1</tt>
|
||||
<br><tt>endif</tt></blockquote>
|
||||
|
||||
<li>
|
||||
<b>New ca_set_puser</b></li>
|
||||
|
||||
<br>Statements of the form: <tt>ca_puser(chid) = xyz</tt>; should to be
|
||||
changed to: <tt>ca_set_puser(chid,xyz)</tt>;
|
||||
<br>
|
||||
<li>
|
||||
<b>Extern C around includes</b></li>
|
||||
|
||||
<br>Remove any extern "C" braces around #includes of EPICS base header
|
||||
files.
|
||||
<br>For example change
|
||||
<blockquote><tt>extern "C" {</tt>
|
||||
<br><tt>#include "cadefs.h"</tt>
|
||||
<br><tt>} /* end extern C */</tt></blockquote>
|
||||
to
|
||||
<blockquote><tt>#include "cadefs.h"</tt></blockquote>
|
||||
|
||||
<li>
|
||||
<b>Infrequently used R3.13 timestamp functions unbundled from base</b></li>
|
||||
|
||||
<br>Some infrequently used R3.13 timestamp functions and macro definitions
|
||||
have been removed from EPICS base and now exist in a library, ts, created
|
||||
and installed in the ar extension. The only ANL distributed extension
|
||||
that uses these unbundled functions and macros is cau. The two R3.13
|
||||
functions tsStampToText and tsLocalTime along with the definitions TS_TEXT_MONDDYYYY
|
||||
and TS_TEXT_MMDDYY have been retained in R3.14 for extension compatibility
|
||||
purposes.
|
||||
<br>If your extension gets undefines for TS_* usage and ts* function calls
|
||||
when built with R3.14, you must obtain and build the ar extension. Add
|
||||
an #include for tsSubr.h to your extension source code and add library
|
||||
ts to PROD_LIBS or USR_LIBS in your Makefile.Host as follows:
|
||||
<blockquote><tt>#include "tsSubr.h"</tt>
|
||||
<p><tt>ifdef BASE_3_14</tt>
|
||||
<br><tt>PROD_LIBS += ts</tt>
|
||||
<br><tt>ts_DIR = $(EPICS_EXTENSIONS_LIB)</tt>
|
||||
<br><tt>endif</tt></blockquote>
|
||||
</blockquote>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,302 +0,0 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="jba">
|
||||
<meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
Converting an EPICS R3.13 application to R3.14.0alpha3</h2></center>
|
||||
|
||||
<p><br>This document describes how to convert a R3.13 vxWorks application
|
||||
so that it builds with release R3.14.0alpha3. It describes procedures
|
||||
such that:
|
||||
<ul>
|
||||
<li>
|
||||
The application uses the configure rules which are new to R3.14.</li>
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
The OSI (Operating System Independent) features of R3.14 are available,
|
||||
i.e. iocCore products can be build for vxWorks as well as other platforms,
|
||||
e.g. solaris and linux.</li>
|
||||
</ul>
|
||||
|
||||
<h3>
|
||||
Gnumake clean uninstall</h3>
|
||||
|
||||
<blockquote>First do a gnumake clean uninstall in the application's root
|
||||
directory to remove all files created by earlier builds.</blockquote>
|
||||
|
||||
<h3>
|
||||
Create a new R3.14 application</h3>
|
||||
|
||||
<blockquote><tt>mkdir <top></tt>
|
||||
<br><tt>cd <top></tt>
|
||||
<br><tt><full path to R3.14.0alpha3 base>/bin/<host_arch>/makeBaseApp.pl
|
||||
-t example example</tt></blockquote>
|
||||
|
||||
<h3>
|
||||
Copy all *App and iocBoot directories and files to the new <top> directory</h3>
|
||||
|
||||
<blockquote><tt>cd <oldtop></tt>
|
||||
<br><tt>find *App iocBoot -print | cpio -pvmd <fullpath name to new
|
||||
top></tt></blockquote>
|
||||
|
||||
<h3>
|
||||
Modify <top>/configure/RELEASE</h3>
|
||||
|
||||
<blockquote>Copy definitions of external modules excluding EPICS_BASE and
|
||||
TEMPLATES_TOP from old application RELEASE file.
|
||||
<br>If sequence programs (*.st or *.stt files) exist in your application,
|
||||
add the SNCSEQ location definition for the R3.14 seq external module
|
||||
<blockquote><tt>SNCSEQ =<full path to seq module top></tt></blockquote>
|
||||
The R3.14 seq module must exist and be built with EPICS base R3.14.0alpha3.</blockquote>
|
||||
|
||||
<h3>
|
||||
Modify the Makefiles in <top>/*App directories.</h3>
|
||||
|
||||
<blockquote>Change <tt>include $(TOP)/config/CONFIG_APP</tt>
|
||||
<br>to <tt>include $(TOP)/configure/CONFIG</tt>
|
||||
<p>Change i<tt>nclude $(TOP)/config/RULES_DIRS</tt>
|
||||
<br>to <tt>include $(TOP)/configure/RULES_DIRS</tt></blockquote>
|
||||
|
||||
<h3>
|
||||
Modify the Makefiles in <top>/*App/*Db directories.</h3>
|
||||
|
||||
<blockquote>Remove existing Makefile
|
||||
<br>Rename Makefile.Host to Makefile
|
||||
<br>Modify Makefile as follows:
|
||||
<p>Change <tt>TOP=../../..</tt>
|
||||
<br>to <tt>TOP=../..</tt>
|
||||
<p>Change i<tt>nclude $(TOP)/config/CONFIG_APP</tt>
|
||||
<br>to <tt>include $(TOP)/configure/CONFIG</tt>
|
||||
<p>Change <tt>include $(TOP)/config/RULES.Db</tt>
|
||||
<br>to <tt>include $(TOP)/configure/RULES</tt>
|
||||
<p>Place all definitions between the include lines.
|
||||
<p>Place any rules after the last include line.</blockquote>
|
||||
|
||||
<h3>
|
||||
Modify the Makefiles in <top>/*App/src directories.</h3>
|
||||
|
||||
<blockquote>Remove existing Makefile
|
||||
<br>Rename Makefile.Host to Makefile
|
||||
<br>Modify Makefile as follows:
|
||||
<p>Change <tt>TOP=../../..</tt>
|
||||
<br>to <tt>TOP=../..</tt>
|
||||
<p>Change <tt>include $(TOP)/config/CONFIG_APP</tt>
|
||||
<br>to <tt>include $(TOP)/configure/CONFIG</tt>
|
||||
<p>Change i<tt>nclude $(TOP)/config/RULES.Host</tt>
|
||||
<br>to <tt>include $(TOP)/configure/RULES</tt>
|
||||
<p>Change <tt>PROD_LIBS = <name></tt>
|
||||
<br>to <tt> <prod name>_LIBS = dbStaticHost</tt>
|
||||
<br>where <tt><prod name></tt> is a specifified product to be
|
||||
built.
|
||||
<p>Change library name <tt>Db</tt> to <tt>dbStaticHost.</tt>
|
||||
<br>Change<tt> PROD_LIBS = Db</tt>
|
||||
<br>to <tt> <prodname>_LIBS += dbStaticHost</tt>
|
||||
<br>and <tt>Db_DIR = $(EPICS_BASE_LIB)</tt>
|
||||
<br>to <tt>dbStaticHost_DIR = $(EPICS_BASE_LIB)</tt>
|
||||
<p>Change <tt>USER_DBDFLAGS</tt>
|
||||
<br>to <tt>USR_DBDFLAGS</tt>
|
||||
<p>Change <tt>RECTYPES += xxxRecord.h</tt>
|
||||
<br>to <tt>DBDINC += xxxRecord</tt>
|
||||
<p>Change <tt>DBDNAME = <name>App.dbd</tt>
|
||||
<br>to <tt>DBD += <name>.dbd</tt>
|
||||
<p>Remove all <tt>DBDEXPAND</tt> lines.
|
||||
<p>Change <tt>PROD = <prodname></tt>
|
||||
<br>to <tt>PROD_HOST = <prodname></tt>
|
||||
<p>Change <tt>SRCS.c += <name></tt>
|
||||
<br>to <tt><prodname>_SRCS += <name></tt>
|
||||
<br>or<tt> <libname>_SRCS += <name></tt>
|
||||
<p>Add the contents of Makefile.Vx to Makefile removing the include lines
|
||||
and the TOP definition.</blockquote>
|
||||
|
||||
<blockquote>Change <tt>LIBNAME = <libname>Lib</tt>
|
||||
<br>to <tt>PROD_vxWorks = <libname></tt><tt></tt>
|
||||
<p>Remove line <tt> -include ../baseLIBOBJS</tt>
|
||||
<p>Remove line <tt>INSTALLS = iocCore seq</tt><tt></tt>
|
||||
<p>Change all <tt>SRCS.c += ../<name>.c </tt>lines
|
||||
<br>to <font face="Arial,Helvetica"><prodname>_SRCS += <name>.c</font>
|
||||
<br>if the source files exist in the current directory.<tt></tt>
|
||||
<p>Change all <tt>*OBJS += <name>.o</tt>
|
||||
lines
|
||||
<br>to <font face="Arial,Helvetica"><prodname>_SRCS += <name>.c</font>
|
||||
<br>or <font face="Arial,Helvetica"> <prodname>_SRCS += <name>.cc</font>
|
||||
<br>if the c/c++ source files exist in the current directory.
|
||||
<p>Change <tt>LIBOBJS += <seq_program_name>.o</tt>
|
||||
lines
|
||||
<br>to <tt><prodname>_SRCS += <seq_program_name>.stt</tt>
|
||||
<br>or <tt><prodname>_SRCS += <seq_program_name>.st</tt><tt></tt>
|
||||
<p>Add the lines
|
||||
<blockquote><tt>#<name>_LIBS += seq</tt>
|
||||
<br><tt>#<name>_LIBS += pv</tt>
|
||||
<br><tt>#seq_DIR = $(SNCSEQ_LIB)</tt>
|
||||
<br><tt>#pv_DIR = $(SNCSEQ_LIB)</tt><tt></tt>
|
||||
<p><tt><name>_LIBS += recIoc</tt>
|
||||
<br><tt><name>_LIBS += softDevIoc</tt>
|
||||
<br><tt><name>_LIBS += testDevIoc</tt>
|
||||
<br><tt><name>_LIBS += iocsh</tt>
|
||||
<br><tt><name>_LIBS += miscIoc</tt>
|
||||
<br><tt><name>_LIBS += rsrvIoc</tt>
|
||||
<br><tt><name>_LIBS += dbtoolsIoc</tt>
|
||||
<br><tt><name>_LIBS += asIoc</tt>
|
||||
<br><tt><name>_LIBS += dbIoc</tt>
|
||||
<br><tt><name>_LIBS += registryIoc</tt>
|
||||
<br><tt><name>_LIBS += dbStaticIoc</tt>
|
||||
<br><tt><name>_LIBS += ca</tt>
|
||||
<br><tt><name>_LIBS += Com</tt></blockquote>
|
||||
where <tt><name></tt> is the name in the <tt>PROD_vxWorks</tt>
|
||||
definition, and uncomment the first four lines if you have sequence programs
|
||||
(.st or .stt files) in the current directory.
|
||||
<p>Place all macro definitions between the include lines.
|
||||
<p>Place any rules after the last include line.</blockquote>
|
||||
|
||||
<h3>
|
||||
Modify the Makefiles in <top>/iocBoot directory.</h3>
|
||||
|
||||
<blockquote>Change i<tt>nclude $(TOP)/config/CONFIG_APP</tt>
|
||||
<br>to <tt>include $(TOP)/configure/CONFIG</tt>
|
||||
<p>Remove the line <tt>DIRS += $(wildcard *ioc*)</tt>
|
||||
<p>Change <tt>include $(TOP)/config/RULES.iocBoot</tt>
|
||||
<br>to i<tt>nclude $(TOP)/configure/RULES.iocBoot</tt></blockquote>
|
||||
|
||||
<h3>
|
||||
Modify the Makefiles in <top>/iocBoot/ioc* directories.</h3>
|
||||
|
||||
<blockquote>Change <tt>include $(TOP)/config/CONFIG_APP</tt>
|
||||
<br>to <tt>include $(TOP)/configure/CONFIG</tt>
|
||||
<p>Change <tt>include ARCH = <old arch specification e.g. mv167></tt>
|
||||
<br>to <tt>include ARCH = <new arch specificatio
|
||||
e.g. vxWorks-68040></tt><tt></tt>
|
||||
<p>Change <tt>include $(TOP)/config/RULES.ioc</tt>
|
||||
<br>to <tt>include $(TOP)/configure/RULES.ioc</tt>
|
||||
<p>Add the following rule at the end of the Makefile.
|
||||
<blockquote><tt>buildInstall: cdCommands</tt></blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
Modify st.cmd in <top>/iocBoot/ioc* directories.</h3>
|
||||
|
||||
<blockquote>Remove the lines</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<blockquote>
|
||||
<pre>ld < seq</pre>
|
||||
|
||||
<pre>ld < iocCore</pre>
|
||||
</blockquote>
|
||||
Change <tt>ld < <libname>Lib</tt>
|
||||
<br>to <tt>ld < <libname>.munch</tt>
|
||||
<p>Change load statements for db and dbd files from
|
||||
<blockquote><tt>cd startup</tt>
|
||||
<br><tt>dbLoadDatabase("../../dbd/exampleApp.dbd")</tt>
|
||||
<br><tt>dbLoadRecords("../../db/dbExample1.db","user=jba")</tt>
|
||||
<br><tt>dbLoadRecords("../../db/dbExample2.db")</tt></blockquote>
|
||||
to
|
||||
<blockquote><tt>cd top</tt>
|
||||
<br><tt>dbLoadDatabase("dbd/example.dbd")</tt>
|
||||
<br><tt>registerRecordDeviceDriver(pdbbase)</tt>
|
||||
<br><tt>dbLoadRecords("db/dbExample1.db","user=jba")</tt>
|
||||
<br><tt>dbLoadRecords("db/dbExample2.db")</tt></blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
Record support changes</h3>
|
||||
|
||||
<blockquote>The steppermotor, scan, and pid records are no longer in base.
|
||||
If these records are not used in your application, comment out references
|
||||
to them in base.dbd. If these record types are used at your site, they
|
||||
should be downloaded and built with base R3.14 by your EPICS administrator.
|
||||
To update the R3.14 location of these record types in your application
|
||||
you must add appropriate module definitions to your application's
|
||||
config/RELEASE file and change the <tt>LIBOBJS</tt> definitions.
|
||||
<p>For example add</blockquote>
|
||||
|
||||
<blockquote> <tt>PID=<full
|
||||
path to modules directory>/pid</tt>
|
||||
<p>to config/RELEASE.
|
||||
<br>Remove</blockquote>
|
||||
|
||||
<blockquote> <tt>LIBOBJS
|
||||
+= $(EPICS_BASE_BIN)/pidRecord.o</tt>
|
||||
<p>from baseLIBOBJS, and add</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<blockquote><tt>LIBOBJS += $(PID_BIN)/pidRecord.o</tt></blockquote>
|
||||
to your application src/Makefile.</blockquote>
|
||||
|
||||
<blockquote>You should consider changing any existing old steppermotor
|
||||
records to the new EPICS motor record module supported by Beamline
|
||||
Controls and Data Acquisition at APS.</blockquote>
|
||||
|
||||
<h3>
|
||||
RecDynLink.o and devPtSoft changes</h3>
|
||||
|
||||
<blockquote>recDynLink.o and devPtSoft.o are no longer in EPICS base and
|
||||
now exist as separate EPICS modules.You must now add the appropriate module
|
||||
full path definitions to your application config/RELEASE file, and change
|
||||
<tt>LIBOBJS</tt>
|
||||
location definition <tt>$(EPICS_BASE_BIN)</tt> to the module definition
|
||||
bin directory in your application src directory files. See "Hardware
|
||||
support changes" below for instructions.</blockquote>
|
||||
|
||||
<h3>
|
||||
Hardware support changes</h3>
|
||||
|
||||
<blockquote>All hardware support (dev, drv and dbd files) except soft support
|
||||
has been unbundled from base R3.14. This support includes the files symb.dbd,
|
||||
drvHp1404a.o, drvEpvxiMsg.o, and drvEpvxi.o. If these are not used by your
|
||||
application, comment out references to them in base.dbd.</blockquote>
|
||||
|
||||
<blockquote>Hardware support now exists as separate EPICS modules. The
|
||||
hardware support for your site should be downloaded and built with base
|
||||
R3.14 by your EPICS administrator. You must now add the appropriate module
|
||||
full path definitions to your application config/RELEASE file, and change
|
||||
<tt>LIBOBJS</tt>
|
||||
location from <tt>$(EPICS_BASE_BIN) </tt>to the module bin directory
|
||||
in your application src directory files.
|
||||
<p>For example, remove</blockquote>
|
||||
|
||||
<blockquote> <tt>LIBOBJS+=$(EPICS_BASE_BIN)/symb</tt></blockquote>
|
||||
|
||||
<blockquote>from baseLIBOBJS and add</blockquote>
|
||||
|
||||
<blockquote> <tt>LIBOBJS+=$(SYMB_BIN)/symb</tt></blockquote>
|
||||
|
||||
<blockquote>to your application src/Makefile,
|
||||
<br>and add the line</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<blockquote><tt>SYMB=<full path definition for the built module SYMB></tt></blockquote>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>into your application config/RELEASE file .</blockquote>
|
||||
|
||||
<h3>
|
||||
dbLoadtemplate tool changes</h3>
|
||||
|
||||
<blockquote>The host tool dbLoadTemplate has been replace by a new EPICS
|
||||
extension, msi, which should be downloaded and built with base R3.14 by
|
||||
your EPICS administrator. dbLoadTemplate is still supported on iocs.
|
||||
If, in your application, db files are created from template and substitution
|
||||
files you should add the definition
|
||||
<p> <tt>EPICS_EXTENSIONS=<full
|
||||
path name to epics extensions directory></tt>
|
||||
<p>to your application config/RELEASE file.</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<blockquote> </blockquote>
|
||||
|
||||
<blockquote>
|
||||
<pre></pre>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,145 +0,0 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="jba">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
Converting an EPICS R3.14.0 alpha2 application to beta1</h2></center>
|
||||
|
||||
<p><br>This document describes how to convert a R3.14.0alpha2 application
|
||||
so that it builds with release R3.14.0beta1.
|
||||
<h3>
|
||||
Gnumake clean uninstall</h3>
|
||||
|
||||
<blockquote>First do a "<tt>gnumake clean uninstall"</tt> in the application's
|
||||
root directory to remove all files created by earlier builds.</blockquote>
|
||||
|
||||
<h3>
|
||||
Replace configure/RULES.ioc and configure/Makefile</h3>
|
||||
|
||||
<blockquote>The rules defined in RULES.ioc have changed slightly, and new
|
||||
applications are now given a wrapper version which just includes $(EPICS_BASE)/configureRULES.ioc.
|
||||
The new configure/Makefile contains an additional macro that causes the
|
||||
contents of the configure/RELEASE file to be checked at build time for
|
||||
consistency with all the support applications that it references. These
|
||||
files should be replaced with copies of the new versions from <base>/templates/makeBaseApp/top/configure</blockquote>
|
||||
|
||||
<h3>
|
||||
Remove baseLIBOBJS</h3>
|
||||
|
||||
<blockquote>Record and device support from base now exists in archive libraries
|
||||
so baseLIBOBJS is no longer needed and the file and references to it in
|
||||
the Makefile can be deleted. e.g. remove
|
||||
<blockquote><tt>-include ../baseLIBOBJS</tt></blockquote>
|
||||
and the file baseLIBOBJS. If there are no LIBOBJS definitions in the Makefile,
|
||||
also remove
|
||||
<blockquote><tt>example_OBJS += $(LIBOBJS)</tt></blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
Libraries recIoc, softDevIoc, and testDevIoc</h3>
|
||||
|
||||
<blockquote>Add the new record and dev support libraries to <name>App/src/Makefile,
|
||||
i.e. add the lines
|
||||
<blockquote><tt>example_LIBS += recIoc</tt>
|
||||
<br><tt>example_LIBS += softDevIoc</tt>
|
||||
<br><tt>example_LIBS += testDevIoc</tt></blockquote>
|
||||
and remove any references to iocLibrary, e.g. remove the line
|
||||
<blockquote><tt>example_OBJS_vxWorks += $(EPICS_BASE_BIN)/iocCoreLibrary</tt></blockquote>
|
||||
The order of references to base libraries is important so place recIoc
|
||||
and softDevIoc before the the other base library references.
|
||||
<p>If you are building on a WIN32 host add the following lines instead:
|
||||
<blockquote><tt># Use win32 object libs for registered support</tt>
|
||||
<br><tt>example_LIBS_win32 += recIocObj</tt>
|
||||
<br><tt>example_LIBS_win32 += softDevIocObj</tt>
|
||||
<br><tt>example_LIBS_win32 += testDevIocObj</tt>
|
||||
<br><tt>example_LIBS_DEFAULT += recIoc</tt>
|
||||
<br><tt>example_LIBS_DEFAULT += softDevIoc</tt>
|
||||
<br><tt>example_LIBS_DEFAULT += testDevIoc</tt></blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
iocrf renamed to iocsh</h3>
|
||||
|
||||
<blockquote>Change all references to ioccrf in your application src directories
|
||||
to iocsh e.g.
|
||||
<p>change <tt>#include "ioccrf.h"</tt>
|
||||
<br>to <tt>#include "iocsh.h"</tt>
|
||||
<p>change<tt> ioccrf(argv[1]);</tt>
|
||||
<br>to <tt> iocsh(argv[1]);</tt>
|
||||
<p>and change <tt> ioccrf(NULL);</tt>
|
||||
<br>to <tt>iocsh(NULL)</tt>;
|
||||
<p>in <name>App/src/exampleMain.c.</blockquote>
|
||||
|
||||
<h3>
|
||||
PROD changes</h3>
|
||||
|
||||
<blockquote>PROD targets will now be built for all target architectures.
|
||||
If a product should be built only for host architectures change PROD to
|
||||
PROD_HOST .e.g. in your application src Makefiles
|
||||
<blockquote>change <tt>PROD += caExample</tt>
|
||||
<br>to <tt>PROD_HOST += caExample</tt>
|
||||
<br>and
|
||||
<br>change <tt>PROD = sncExample</tt>
|
||||
<br>to <tt>PROD_HOST += sncExample</tt></blockquote>
|
||||
</blockquote>
|
||||
<b>LIBRARY and PROD changes</b>
|
||||
<blockquote>The meaning of LIBRARY and PROD have now changed. For vxWorks,
|
||||
LIBRARY now means an archive library, OBJLIB is now a combined object file
|
||||
(only needed for R3.13 compatibility) and PROD is now a combined object
|
||||
file with library references resolved and will have a corresponding .munch
|
||||
file created. Thus, in your application src Makefiles,
|
||||
<blockquote>change <tt>LIBRARY_vxWorks = <name></tt>
|
||||
<br>to <tt>PROD_vxWorks = <name></tt>
|
||||
<br>or
|
||||
<br>remove the lines <tt>LIBRARY_vxWorks = <name></tt>
|
||||
<br>and <tt>PROD_RTEMS = <name></tt>
|
||||
<br>and change <tt>PROD = <name></tt>
|
||||
<br>to <tt>PROD_IOC = <name></tt>.</blockquote>
|
||||
In the iocBoot/ioc<name>/st.cmd files,
|
||||
<blockquote>change <tt>ld < <name>Library.munch</tt>
|
||||
<br>to <tt>ld < <name>.munch</tt></blockquote>
|
||||
A SRCS definition is now required for every PROD and LIBRARY source
|
||||
file to determine correct header file dependancies. This is true even if
|
||||
there is only one source file for the PROD or LIBRARY . Thus, for the PROD
|
||||
caExample in your src Makefile, add the line
|
||||
<blockquote> caExample_SRCS += caExample.c</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
registerRecordDeviceDriver changes</h3>
|
||||
|
||||
<blockquote>The created file registerRecordDeviceDriver.cpp is now used
|
||||
for all target architectures. Thus in your application src Makefiles
|
||||
<blockquote>change <tt>example_SRCS_DEFAULT += example_registerRecordDeviceDriver.cpp</tt>
|
||||
<br>to <tt>example_SRCS += example_registerRecordDeviceDriver.cpp</tt>
|
||||
<br><tt></tt> </blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
RTEMS-specific pathname changes</h3>
|
||||
|
||||
<blockquote>1. The RTEMS TFTP remote filesystem no longer ignores leading
|
||||
`../' components in path names. All st.cmd file lines with path names
|
||||
of the form <tt>dbLoadRecords("../../db/dbExample1.db","user=norume")</tt>
|
||||
<br>must be changed to
|
||||
<br><tt>dbLoadRecords("db/dbExample1.db","user=norume")</tt><tt></tt>
|
||||
<p>The makeBaseApp.pl script distributed with R3.14-beta1 creates st.cmd
|
||||
scripts with the proper path names.
|
||||
<p>2. The RTEMS TFTP remote filesystem supports a limited set of chdir
|
||||
operations.
|
||||
<br>All paths passed to chdir (or to the IOC shell `cd' command) must end
|
||||
in a `/'
|
||||
<br>character.</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<blockquote> </blockquote>
|
||||
</blockquote>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
2548
RELEASE_NOTES.html
2548
RELEASE_NOTES.html
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
BUILD_TYPE = Vx
|
||||
|
||||
DIRS = src/as src/ca src/db src/dev src/devOpt src/drv \
|
||||
src/libCom src/libvxWorks src/rec src/rsrv \
|
||||
src/sequencer src/util src/dbtools src/misc .
|
||||
@@ -1,5 +0,0 @@
|
||||
BUILD_TYPE = Vx
|
||||
|
||||
DIRS = src/as src/ca src/db src/dev src/devOpt src/drv \
|
||||
src/libCom src/libvxWorks src/rec src/rsrv \
|
||||
src/sequencer src/util src/dbtools src/misc .
|
||||
@@ -1,5 +0,0 @@
|
||||
BUILD_TYPE = Vx
|
||||
|
||||
DIRS = src/as src/ca src/db src/dev src/devOpt src/drv \
|
||||
src/libCom src/libvxWorks src/rec src/rsrv \
|
||||
src/sequencer src/util src/dbtools src/misc .
|
||||
@@ -1,13 +0,0 @@
|
||||
BUILD_TYPE = Unix
|
||||
DIRS = src/libCom \
|
||||
src/db \
|
||||
src/ca \
|
||||
src/toolsComm/antelope \
|
||||
src/toolsComm/flex \
|
||||
src/as \
|
||||
src/bld \
|
||||
src/dct \
|
||||
src/util \
|
||||
src/sequencer \
|
||||
src/dbtools \
|
||||
rec
|
||||
@@ -1,3 +1,12 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
#
|
||||
|
||||
@@ -2,9 +2,6 @@
|
||||
# This file is maintained by the EPICS community.
|
||||
# Sites may override these definitions in CONFIG_SITE.Borland
|
||||
|
||||
# Use std path variables from ms
|
||||
HOME = $(HOMEDRIVE)$(HOMEPATH)
|
||||
|
||||
BORLAND_LIB = $(BORLAND)\\lib
|
||||
BORLAND_INC = $(BORLAND)\\include
|
||||
BORLAND_BIN = $(BORLAND)\\bin
|
||||
@@ -236,7 +233,7 @@ USR_DEPLIBS = $(foreach lib,$(USR_LIBS),$(firstword $(wildcard $($(lib)_DIR)/$(l
|
||||
|
||||
# by default the libraries used when linking the DLL are just
|
||||
# PROD_LIBS ans SYS_PROD_LIBS minus the DLL name
|
||||
DLL_LIBS = $(subst $(LIBRARY),, $(PROD_LIBS))
|
||||
DLL_LIBS = $(patsubst $(LIBRARY),, $(PROD_LIBS))
|
||||
|
||||
#
|
||||
# EPICS libs that we need to link the DLL with
|
||||
|
||||
@@ -26,7 +26,7 @@ ACC_WARN_YES = -Wall
|
||||
ACC_WARN_NO = -w
|
||||
ACC_OPT_YES = -O
|
||||
ACC_OPT_NO = -g
|
||||
ACC_SFLAGS_YES = -Bstatic
|
||||
ACC_SFLAGS_YES = -static
|
||||
ACC_SFLAGS_NO=
|
||||
ACC_SLIBS_YES =
|
||||
ACC_SLIBS_NO=
|
||||
@@ -43,7 +43,7 @@ CCC_WARN_YES = -Wall
|
||||
CCC_WARN_NO =
|
||||
CCC_OPT_YES = -O
|
||||
CCC_OPT_NO = -g
|
||||
CCC_SFLAGS_YES = -Bstatic
|
||||
CCC_SFLAGS_YES = -static
|
||||
CCC_SFLAGS_NO=
|
||||
CCC_SLIBS_YES =
|
||||
CCC_SLIBS_NO=
|
||||
@@ -59,8 +59,8 @@ G++_STRICT = $(G++) -Wtraditional
|
||||
|
||||
|
||||
#ARCH_DEP_CFLAGS = -D_X86_ -Dlinux -D_USE_BSD
|
||||
ARCH_DEP_CFLAGS = -D_X86_ -Dlinux
|
||||
ARCH_DEP_LDFLAGS += -lpthread -lreadline -lcurses -lrt
|
||||
ARCH_DEP_CFLAGS = -D_X86_ -Dlinux -m32
|
||||
ARCH_DEP_LDFLAGS =
|
||||
|
||||
#glibc FAQ
|
||||
# "_GNU_SOURCE: glibc does not make the GNU extensions available
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
# 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
|
||||
@@ -3,9 +3,6 @@
|
||||
# This file is maintained by the EPICS community.
|
||||
# Sites may override these definitions in CONFIG_SITE.WIN32
|
||||
|
||||
# Use std path variables from ms
|
||||
HOME = $(HOMEDRIVE)$(HOMEPATH)
|
||||
|
||||
#
|
||||
# You currently get Visual C++ even if you ask for GNU.
|
||||
#
|
||||
@@ -236,7 +233,7 @@ USR_DEPLIBS = $(foreach lib,$(USR_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_L
|
||||
|
||||
# by default the libraries used when linking the DLL are just
|
||||
# PROD_LIBS ans SYS_PROD_LIBS minus the DLL name
|
||||
DLL_LIBS = $(subst $(LIBRARY),, $(PROD_LIBS))
|
||||
DLL_LIBS = $(patsubst $(LIBRARY),, $(PROD_LIBS))
|
||||
|
||||
#
|
||||
# EPICS libs that we need to link the DLL with
|
||||
|
||||
@@ -53,8 +53,8 @@ HPCC_DEP_CFLAGS=+DAportable
|
||||
#New HP C++ compiler
|
||||
CCC = aCC
|
||||
# avoid treating "future errors" as actual errors
|
||||
CCC_NORMAL = $(CCC) +W302 +W829 +W818 +W392 +W469 +W495 +W749 +W667 +W392 +W684
|
||||
CCC_STRICT = $(CCC) +p
|
||||
CCC_NORMAL = $(CCC) -AA -Aa +W302 +W829 +W818 +W392 +W469 +W495 +W749 +W667 +W392 +W684
|
||||
CCC_STRICT = $(CCC) -AA -Aa +p
|
||||
CCC_TEMPL_INST_FLAG =
|
||||
CCC_WARN_YES = +w
|
||||
CCC_WARN_NO =
|
||||
@@ -73,8 +73,11 @@ CCC_DEP_CFLAGS=+DAportable
|
||||
|
||||
# +DAportable causes portable object code to be created for execution
|
||||
# on different PA-Risc machines
|
||||
|
||||
empty:=
|
||||
space:= $(empty) $(empty)
|
||||
|
||||
ARCH_DEP_CFLAGS = -D_HPUX_SOURCE -DHP_UX
|
||||
ARCH_DEP_CXXFLAGS = -D_HPUX_SOURCE -DHP_UX
|
||||
ARCH_DEP_LDLIBS =
|
||||
ARCH_DEP_LDFLAGS = -Wl,+b$(DEFAULT_SHRLIB_SEARCH_PATH),+s
|
||||
|
||||
ARCH_DEP_LDFLAGS = -Wl,+b,$(subst $(space),:,$(DEFAULT_SHRLIB_SEARCH_PATH)),+s
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# linux-x86 is the new name for linux
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.Linux
|
||||
@@ -23,17 +23,18 @@ SPARCWORKS = /opt/SUNWspro
|
||||
|
||||
# Configure OS vendor C compiler
|
||||
ACC = $(SPARCWORKS)/bin/cc
|
||||
ACC_ANSI = $(ACC) -Xa -v
|
||||
ACC_ANSI = $(ACC) -Xa
|
||||
ACC_STRICT = $(ACC) -Xc -v
|
||||
ACC_TRAD = $(ACC) -Xs
|
||||
ACC_DEP_CFLAGS = -KPIC -D_REENTRANT
|
||||
ACC_DEP_CFLAGS = -KPIC -D_REENTRANT
|
||||
|
||||
ACC_WARN_YES =
|
||||
ACC_WARN_NO = -w
|
||||
ACC_OPT_YES = -O
|
||||
ACC_OPT_NO = -g
|
||||
ACC_SFLAGS_YES= -Bstatic
|
||||
ACC_SFLAGS_NO=
|
||||
ACC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX
|
||||
ACC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic
|
||||
ACC_SLIBS_NO=
|
||||
ACC_SHRLIB_CFLAGS_YES =
|
||||
ACC_SHRLIB_LDFLAGS_YES = -G -h $@
|
||||
@@ -42,7 +43,7 @@ ACC_SHRLIB_LDFLAGS_YES = -G -h $@
|
||||
CCC = $(SPARCWORKS)/bin/CC
|
||||
CCC_NORMAL = $(CCC) +p
|
||||
CCC_STRICT = $(CCC) +p
|
||||
CCC_DEP_CFLAGS = -KPIC -D_REENTRANT
|
||||
CCC_DEP_CFLAGS = -KPIC -D_REENTRANT
|
||||
CCC_TEMPL_INST_FLAG =
|
||||
CCC_WARN_YES = +w
|
||||
CCC_WARN_NO =
|
||||
@@ -50,15 +51,16 @@ CCC_OPT_YES = -O
|
||||
CCC_OPT_NO = -g
|
||||
CCC_SFLAGS_YES= -Bstatic
|
||||
CCC_SFLAGS_NO=
|
||||
CCC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX
|
||||
CCC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic
|
||||
CCC_SLIBS_NO=
|
||||
CCC_DEPENDS_FLAG = -xM1
|
||||
CCC_SHRLIB_CFLAGS_YES =
|
||||
CCC_SHRLIB_LDFLAGS_YES = -G -h $@
|
||||
|
||||
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
|
||||
ARCH_DEP_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
|
||||
POSIX_CPPFLAGS_YES += -D__EXTENSIONS__
|
||||
|
||||
ARCH_DEP_CFLAGS = -DSOLARIS
|
||||
# socket and nsl needed by libca.a
|
||||
ARCH_DEP_LDLIBS = -lsocket -lnsl
|
||||
ARCH_DEP_LDLIBS += -lposix4 -lpthread -lthread
|
||||
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# solaris-sparc is the new name for solaris
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.solaris
|
||||
@@ -1,8 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# solaris-sparc is the new name for solaris
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.solaris
|
||||
|
||||
ANSI=GCC
|
||||
CPLUSPLUS=G++
|
||||
|
||||
@@ -3,64 +3,8 @@
|
||||
# This file is maintained by the EPICS community.
|
||||
# Sites may override these definitions in CONFIG_SITE.Host.solaris-x86
|
||||
|
||||
ARCH_CLASS = solaris
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
|
||||
|
||||
#
|
||||
# required by sun's C++ compiler
|
||||
#
|
||||
AR = ar
|
||||
_AR = $(AR) $(ARFLAGS)
|
||||
G++_AR = $(_AR)
|
||||
CCC_AR = $(CCC) -xar -o
|
||||
ARCMD = $($(CPLUSPLUS)_AR) $@
|
||||
|
||||
RANLIB =
|
||||
|
||||
SPARCWORKS = /opt/SUNWspro
|
||||
|
||||
# Configure OS vendor C compiler
|
||||
ACC = $(SPARCWORKS)/bin/cc
|
||||
ACC_ANSI = $(ACC) -Xa
|
||||
ACC_STRICT = $(ACC) -Xc -v
|
||||
ACC_TRAD = $(ACC) -Xs
|
||||
ACC_DEP_CFLAGS = -KPIC -D_REENTRANT
|
||||
ACC_WARN_YES =
|
||||
ACC_WARN_NO = -w
|
||||
ACC_OPT_YES = -O
|
||||
ACC_OPT_NO = -g
|
||||
ACC_SFLAGS_YES= -Bstatic
|
||||
ACC_SFLAGS_NO=
|
||||
ACC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX
|
||||
ACC_SLIBS_NO=
|
||||
ACC_SHRLIB_CFLAGS_YES =
|
||||
ACC_SHRLIB_LDFLAGS_YES = -G -h $@
|
||||
|
||||
# Configure OS vendor C++ compiler
|
||||
CCC = $(SPARCWORKS)/bin/CC
|
||||
CCC_NORMAL = $(CCC) +p
|
||||
CCC_STRICT = $(CCC) +p
|
||||
CCC_DEP_CFLAGS = -KPIC -D_REENTRANT
|
||||
CCC_TEMPL_INST_FLAG =
|
||||
CCC_WARN_YES = +w
|
||||
CCC_WARN_NO =
|
||||
CCC_OPT_YES = -O
|
||||
CCC_OPT_NO = -g
|
||||
CCC_SFLAGS_YES= -Bstatic
|
||||
CCC_SFLAGS_NO=
|
||||
CCC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX
|
||||
CCC_SLIBS_NO=
|
||||
CCC_DEPENDS_FLAG = -xM1
|
||||
CCC_SHRLIB_CFLAGS_YES =
|
||||
CCC_SHRLIB_LDFLAGS_YES = -G -h $@
|
||||
|
||||
GCC = gcc
|
||||
G++ = g++
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.solaris
|
||||
|
||||
# Solaris on x86
|
||||
ARCH_DEP_CFLAGS = -DSOLARIS -D_X86_
|
||||
# socket and nsl needed by libca.a
|
||||
ARCH_DEP_LDLIBS = -lsocket -lnsl
|
||||
ARCH_DEP_CPPFLAGS += -D_X86_
|
||||
|
||||
|
||||
29
config/CONFIG.Host.solarisGnu
Normal file
29
config/CONFIG.Host.solarisGnu
Normal file
@@ -0,0 +1,29 @@
|
||||
# CONFIG.Host.solarisGnu
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
# Sites may override these definitions in CONFIG_SITE.Host.solarisGnu
|
||||
|
||||
ARCH_CLASS = solaris
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
|
||||
|
||||
AR = ar
|
||||
_AR = $(AR) $(ARFLAGS)
|
||||
G++_AR = $(_AR)
|
||||
CCC_AR = $(CCC) -xar -o
|
||||
ARCMD = $($(CPLUSPLUS)_AR) $@
|
||||
RANLIB =
|
||||
|
||||
#==========================
|
||||
# These are overrides of ANSI and CPLUSPLUS values in CONFIG_SITE
|
||||
ANSI=GCC
|
||||
CPLUSPLUS=G++
|
||||
#==========================
|
||||
|
||||
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
|
||||
ARCH_DEP_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
|
||||
|
||||
# socket and nsl needed by libca.a
|
||||
ARCH_DEP_LDLIBS += -lsocket -lnsl
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# win32-x86 is the new name for WIN32
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.WIN32
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
#*************************************************************************
|
||||
# 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
|
||||
@@ -20,7 +29,6 @@ CXX = g++
|
||||
# the override definitions.
|
||||
|
||||
# Tornado directory definitions
|
||||
VX_CONFIG_DIR_YES =
|
||||
VX_INCLUDE_YES =
|
||||
VX_GNU_YES =
|
||||
VX_GNU_BIN_YES =
|
||||
@@ -28,14 +36,12 @@ VX_GNU_LIB_YES =
|
||||
|
||||
|
||||
# pre Torando directory definitions
|
||||
VX_CONFIG_DIR_NO =
|
||||
VX_INCLUDE_NO =
|
||||
VX_GNU_NO =
|
||||
VX_GNU_BIN_NO =
|
||||
|
||||
# directory definitions
|
||||
VX_DIR =
|
||||
VX_CONFIG_DIR =
|
||||
VX_INCLUDE =
|
||||
VX_GNU =
|
||||
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
#*************************************************************************
|
||||
# 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
|
||||
@@ -11,25 +20,22 @@ 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
|
||||
VX_CONFIG_DIR_YES = $(VX_DIR)/target/config
|
||||
VX_INCLUDE_YES = $(VX_DIR)/target/h
|
||||
VX_GNU_YES = $(VX_DIR)/host/$(WIND_HOST_TYPE)
|
||||
VX_GNU_BIN_YES = $(VX_GNU)/bin
|
||||
VX_GNU_LIB_YES = $(VX_GNU)/lib
|
||||
|
||||
# pre Torando directory definitions
|
||||
VX_CONFIG_DIR_NO = $(VX_DIR)/config
|
||||
VX_INCLUDE_NO = $(VX_DIR)/h
|
||||
VX_GNU_BIN_NO = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
VX_GNU_LIB_NO = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/lib
|
||||
|
||||
# directory definitions
|
||||
VX_DIR = $(VX_DIR_$(TORNADO))
|
||||
VX_CONFIG_DIR = $(VX_CONFIG_DIR_$(TORNADO))
|
||||
VX_INCLUDE = $(VX_INCLUDE_$(TORNADO))
|
||||
VX_GNU = $(VX_GNU_$(TORNADO))
|
||||
GNU_BIN = $(VX_GNU_BIN_$(TORNADO))
|
||||
@@ -52,7 +58,8 @@ LD = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r
|
||||
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)$(HOSTEXE)
|
||||
NM = $(GNU_BIN)/nm$(CMPLR_SUFFIX)
|
||||
MUNCH = $(GNU_BIN)/munch
|
||||
|
||||
#--------------------------------------------------
|
||||
# Pre Tornado C++ crosscompiler definitions
|
||||
@@ -129,16 +136,3 @@ WARN_CXXFLAGS = $($(CPLUSPLUS)_WARN_$(VX_WARN))
|
||||
LINK.c = $(LD) $(LDFLAGS) -o
|
||||
LINK.cc = $(LD_CXX) $(LDFLAGS) -o
|
||||
|
||||
|
||||
#--------------------------------------------------
|
||||
# Munch definitions
|
||||
MUNCH_SUFFIX=.munch
|
||||
MUNCHNAME = $(LIBNAME:%=%$(MUNCH_SUFFIX))
|
||||
|
||||
#--------------------------------------------------
|
||||
# The follow 2 exports prevent gnu cross-compiler
|
||||
# from finding wrong assembler (as).
|
||||
export WIND_BASE = $(VX_DIR)
|
||||
export WIND_HOST_TYPE
|
||||
|
||||
|
||||
|
||||
18
config/CONFIG.Vx.T2-ppc604
Normal file
18
config/CONFIG.Vx.T2-ppc604
Normal file
@@ -0,0 +1,18 @@
|
||||
# CONFIG.Vx.ppc604_long,v 1.1.2.1 2002/12/05 20:44:26 jba Exp
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = ppc
|
||||
|
||||
# For Vx directories of form:
|
||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
ARCH_CLASS = ppc
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -mcpu=604 -D_GNU_TOOL -DTRUE=1
|
||||
ARCH_DEP_CFLAGS = --no-builtin -mstrict-align -mlongcall
|
||||
ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS)
|
||||
|
||||
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c
|
||||
|
||||
17
config/CONFIG.Vx.V69-ppc604
Normal file
17
config/CONFIG.Vx.V69-ppc604
Normal file
@@ -0,0 +1,17 @@
|
||||
# CONFIG.Vx.ppc604_long,v 1.1.2.1 2002/12/05 20:44:26 jba Exp
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
|
||||
GCC_OPT_YES = -O2
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = ppc
|
||||
|
||||
# For Vx directories of form:
|
||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
ARCH_CLASS = ppc
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -mcpu=604 -DCPU=PPC604 -D_VXWORKS_COMPATIBILITY_MODE -DBSD=44
|
||||
ARCH_DEP_CFLAGS = -mstrict-align -mlongcall -fno-implicit-fp -fno-strict-aliasing -fno-section-anchors
|
||||
VENDOR_DEP_CFLAGS = -std=c99
|
||||
@@ -1,16 +0,0 @@
|
||||
|
||||
# $Id$
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = 68k
|
||||
|
||||
# For Vx directories of form:
|
||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
ARCH_CLASS = 68k
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68060 -DCPU_FAMILY=MC680X0
|
||||
ARCH_DEP_CFLAGS = -m68040
|
||||
|
||||
@@ -13,5 +13,5 @@ ARCH_CLASS = pc486
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=I80486 -DCPU_FAMILY=I80x86 -D_X86_
|
||||
ARCH_DEP_CFLAGS = -m486
|
||||
ARCH_DEP_CXXFLAGS += -x 'c++'
|
||||
ARCH_DEP_CFLAGS += -fno-defer-pop
|
||||
ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop
|
||||
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
|
||||
# CONFIG.Vx.pentium
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = 386
|
||||
|
||||
# For Vx directories of form:
|
||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
ARCH_CLASS = pcPentium
|
||||
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PENTIUM -D_X86_
|
||||
ARCH_DEP_CFLAGS = -mpentium
|
||||
ARCH_DEP_CXXFLAGS += -x 'c++'
|
||||
ARCH_DEP_CFLAGS += -fno-defer-pop
|
||||
|
||||
@@ -13,4 +13,4 @@ ARCH_CLASS = ppc
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC603 -DTRUE=1
|
||||
ARCH_DEP_CFLAGS = -mcpu=603 --no-builtin -mstrict-align
|
||||
|
||||
# ARCH_DEP_CFLAGS== -fsigned-char #May need for calcPerform.c
|
||||
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c
|
||||
|
||||
16
config/CONFIG.Vx.ppc603_long
Normal file
16
config/CONFIG.Vx.ppc603_long
Normal file
@@ -0,0 +1,16 @@
|
||||
# $Id$
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = ppc
|
||||
|
||||
# For Vx directories of form:
|
||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
ARCH_CLASS = ppc
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC603 -DTRUE=1
|
||||
ARCH_DEP_CFLAGS = -mcpu=603 --no-builtin -mstrict-align -mlongcall
|
||||
|
||||
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c
|
||||
@@ -13,5 +13,5 @@ ARCH_CLASS = ppc
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC604 -D_GNU_TOOL -DTRUE=1
|
||||
ARCH_DEP_CFLAGS = -mcpu=604 --no-builtin -mstrict-align
|
||||
|
||||
# ARCH_DEP_CFLAGS== -fsigned-char #May need for calcPerform.c
|
||||
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c
|
||||
|
||||
|
||||
17
config/CONFIG.Vx.ppc604_long
Normal file
17
config/CONFIG.Vx.ppc604_long
Normal file
@@ -0,0 +1,17 @@
|
||||
# $Id$
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = ppc
|
||||
|
||||
# For Vx directories of form:
|
||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
ARCH_CLASS = ppc
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC604 -D_GNU_TOOL -DTRUE=1
|
||||
ARCH_DEP_CFLAGS = -mcpu=604 --no-builtin -mstrict-align -mlongcall
|
||||
|
||||
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c
|
||||
|
||||
16
config/CONFIG.Vx.sbs_pc6
Normal file
16
config/CONFIG.Vx.sbs_pc6
Normal file
@@ -0,0 +1,16 @@
|
||||
# Created by Korobov for SBS PC6
|
||||
# CONFIG.Vx.sbs_pc6
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = 386
|
||||
|
||||
# For Vx directories of form:
|
||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
ARCH_CLASS = sbs_pc6
|
||||
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PENTIUM -DCPU_VARIANT=PENTIUM -D_X86_
|
||||
ARCH_DEP_CFLAGS = -mpentium
|
||||
ARCH_DEP_CXXFLAGS += -x 'c++'
|
||||
ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop
|
||||
@@ -1,21 +0,0 @@
|
||||
|
||||
# CONFIG.Vx.simpc
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = simpc
|
||||
|
||||
# For Vx directories of form:
|
||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
ARCH_CLASS = simpc
|
||||
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=SIMNT -DCPU_FAMILY=SIMNT -D_X86_
|
||||
ARCH_DEP_CFLAGS = -mpentium
|
||||
ARCH_DEP_CXXFLAGS += -x 'c++'
|
||||
ARCH_DEP_CFLAGS += -fno-defer-pop -DRW_MULTI_THREAD -D_REENTRANT -nostdlib
|
||||
|
||||
#
|
||||
# no drivers on the Tornado II simulator
|
||||
#
|
||||
DIRS = $(filter-out drv dev devOpt, $(DIRS))
|
||||
@@ -1,4 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# vxWorks-486 is the new R3.14 name for pc486
|
||||
include $(EPICS_BASE)/config/CONFIG.Vx.pc486
|
||||
@@ -1,4 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# vxWorks-68040 is the new R3.14 name for mv167
|
||||
include $(EPICS_BASE)/config/CONFIG.Vx.mv167
|
||||
@@ -1,4 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# vxWorks-68040lc is the new R3.14 name for mv162lc
|
||||
include $(EPICS_BASE)/config/CONFIG.Vx.mv162lc
|
||||
@@ -1,4 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# vxWorks-68060 is the new R3.14 name for mv177
|
||||
include $(EPICS_BASE)/config/CONFIG.Vx.mv177
|
||||
@@ -1,4 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# vxWorks-ppc604 is the new R3.14 name for ppc604
|
||||
include $(EPICS_BASE)/config/CONFIG.Vx.ppc604
|
||||
@@ -13,5 +13,5 @@ ARCH_CLASS = pc486
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=I80486 -DCPU_FAMILY=I80x86 -D_X86_
|
||||
ARCH_DEP_CFLAGS = -m486
|
||||
ARCH_DEP_CXXFLAGS += -x 'c++'
|
||||
ARCH_DEP_CFLAGS += -fno-defer-pop
|
||||
ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop
|
||||
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
#
|
||||
@@ -27,16 +36,19 @@ DIRS += dbtools
|
||||
DIRS += rsrv
|
||||
DIRS += rec
|
||||
DIRS += as
|
||||
DIRS += drv
|
||||
DIRS += dev
|
||||
DIRS += devOpt
|
||||
#DIRS += drv
|
||||
#DIRS += dev
|
||||
DIRS += dev/softDev
|
||||
DIRS += dev/symbDev
|
||||
DIRS += dev/testDev
|
||||
#DIRS += devOpt
|
||||
DIRS += iocCore
|
||||
|
||||
#
|
||||
# if CPLUSPLUS isnt empty then include C++ src codes
|
||||
#
|
||||
DIRS += $(patsubst %,gdd,$(strip $(CPLUSPLUS)))
|
||||
DIRS += $(patsubst %,cas,$(strip $(CPLUSPLUS)))
|
||||
#DIRS += $(patsubst %,gdd,$(strip $(CPLUSPLUS)))
|
||||
#DIRS += $(patsubst %,cas,$(strip $(CPLUSPLUS)))
|
||||
|
||||
EPICS_BASE = $(TOP)
|
||||
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
#
|
||||
@@ -8,19 +17,15 @@
|
||||
#
|
||||
|
||||
EPICS_VERSION=3
|
||||
EPICS_REVISION=14
|
||||
EPICS_MODIFICATION=0
|
||||
EPICS_UPDATE_NAME=beta
|
||||
EPICS_UPDATE_LEVEL=1
|
||||
EPICS_REVISION=13
|
||||
EPICS_MODIFICATION=10
|
||||
EPICS_UPDATE_NAME=
|
||||
EPICS_UPDATE_LEVEL=0
|
||||
|
||||
EPICS_LOCAL_NAME=B
|
||||
EPICS_LOCAL_VERSION=0
|
||||
|
||||
CVS_DATE="\$$Date$$"
|
||||
CVS_TAG="\$$Name$$"
|
||||
|
||||
EPICS_VERSION_STRING="EPICS Version ${EPICS_VERSION}.${EPICS_REVISION}.${EPICS_MODIFICATION}.${EPICS_UPDATE_NAME}${EPICS_UPDATE_LEVEL}.$(EPICS_LOCAL_NAME)$(EPICS_LOCAL_VERSION)"
|
||||
|
||||
CVS_DATE="\$$Date$$"
|
||||
|
||||
BASE_3_14=YES
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
#
|
||||
@@ -60,8 +69,8 @@ INSTALL_LIBRARY = $(INSTALL)
|
||||
|
||||
# dbtools from EPICS
|
||||
|
||||
# state notation language compiler (removed from base for R3.14)
|
||||
SNC = $(SEQ)/bin/$(HOST_ARCH)/snc$(EXE)
|
||||
# state notation language compiler (installed from base/src/sequencer)
|
||||
SNC = $(EPICS_BASE_HOST_BIN)/snc$(EXE)
|
||||
|
||||
ifdef T_A
|
||||
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Convert old HOST_ARCH environment variable
|
||||
|
||||
#Syntax:
|
||||
# ARCH_<host_arch> = <epics_host_arch>
|
||||
ARCH_solaris = solaris-sparc
|
||||
ARCH_sun4 = sun4-sparc
|
||||
ARCH_Linux = linux-x86
|
||||
ARCH_WIN32 = win32-x86
|
||||
ARCH_hp700 = hpux-m68k
|
||||
ARCH_hp700 = osf-alpha
|
||||
ARCH_Borland = win32-x86-borland
|
||||
|
||||
ifndef EPICS_HOST_ARCH
|
||||
ifdef HOST_ARCH
|
||||
EPICS_HOST_ARCH = $(firstword $(ARCH_$(HOST_ARCH)) $(HOST_ARCH))
|
||||
else
|
||||
EPICS_HOST_ARCH = unsupported
|
||||
endif
|
||||
endif
|
||||
|
||||
HOST_ARCH := $(EPICS_HOST_ARCH)
|
||||
|
||||
# Note:
|
||||
# The EPICS_HOST_ARCH solaris-sparc-gnu is new for base release R3.14
|
||||
# so existing R3.13 applications, when HOST_ARCH is set to solaris and
|
||||
# when built with R3.14, will look for base solaris-sparc directories
|
||||
# and not solaris-sparc-gnu. If you plan to build R3.13 applications
|
||||
# against a solaris-sparc-gnu built R3.14 base, you should set
|
||||
# ANSI=GCC and CPLUSPLUS=G++ in base/config/CONFIG_SITE.Host.solaris
|
||||
# and change ARCH_solaris=solaris-sparc to ARCH_solaris=solaris-sparc-gnu
|
||||
# in base/config/CONFIG_COMPAT.
|
||||
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
# Author: Andrew Johnson
|
||||
# Date: 20 April 1995
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#
|
||||
|
||||
EXE=.exe
|
||||
HOSTEXE=.exe
|
||||
|
||||
CP =$(PERL) $(EPICS_BASE_HOST_BIN)/cp.pl
|
||||
MV =$(PERL) $(EPICS_BASE_HOST_BIN)/mv.pl
|
||||
@@ -15,6 +14,9 @@ ECHO=echo
|
||||
|
||||
WIND_HOST_TYPE = x86-win32
|
||||
|
||||
# Use std path variables from ms
|
||||
# Does not work if using cygwin make
|
||||
# because HOME is always defined
|
||||
ifndef HOME
|
||||
HOME = $(HOMEDRIVE)$(HOMEPATH)
|
||||
endif
|
||||
|
||||
|
||||
@@ -5,5 +5,5 @@
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||
|
||||
WIND_HOST_TYPE = i386-linux2
|
||||
WIND_HOST_TYPE = x86-linux
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#
|
||||
|
||||
EXE=.exe
|
||||
HOSTEXE=.exe
|
||||
|
||||
CP =$(PERL) $(EPICS_BASE_HOST_BIN)/cp.pl
|
||||
MV =$(PERL) $(EPICS_BASE_HOST_BIN)/mv.pl
|
||||
@@ -14,6 +13,9 @@ ECHO=echo
|
||||
|
||||
WIND_HOST_TYPE = x86-win32
|
||||
|
||||
# Use std path variables from ms
|
||||
# Does not work if using cygwin make
|
||||
# because HOME is always defined
|
||||
ifndef HOME
|
||||
HOME = $(HOMEDRIVE)$(HOMEPATH)
|
||||
endif
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||
|
||||
EXE=.exe
|
||||
HOSTEXE=.exe
|
||||
|
||||
TORNADO=YES
|
||||
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# linux-x86 is the new name for linux
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.Linux
|
||||
@@ -1,4 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# solaris-sparc is the new name for solaris
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.solaris
|
||||
@@ -1,4 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.solaris
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# CONFIG_HOST_ARCH.LynxOS
|
||||
# CONFIG_HOST_ARCH.solarisGnu
|
||||
#
|
||||
# Override values in CONFIG.LynxOS
|
||||
# Override values in CONFIG.Vx
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||
|
||||
WIND_HOST_TYPE = LynxOS
|
||||
WIND_HOST_TYPE = sun4-solaris2
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# win32-x86 is the new name for WIN32
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.WIN32
|
||||
@@ -8,6 +8,7 @@
|
||||
# only.
|
||||
#
|
||||
|
||||
INSTALL_LOCATION=/usr/local/epics/base-3.13.10
|
||||
|
||||
# The host architecture performing the build,
|
||||
# i.e.: the arch running DCT/getrel/etc.
|
||||
@@ -21,6 +22,7 @@
|
||||
# hp700
|
||||
# sgi
|
||||
# solaris
|
||||
# solarisGnu (GNU compiler)
|
||||
# solaris-x86
|
||||
# sun4
|
||||
#
|
||||
@@ -46,10 +48,14 @@ endif
|
||||
# mv2700
|
||||
# niCpu030
|
||||
# pc486
|
||||
# ppc603
|
||||
# ppc604
|
||||
# ppc603_long (over 32MB)
|
||||
# ppc604_long (over 32MB)
|
||||
# sbs_pc6
|
||||
# vxipc
|
||||
#
|
||||
CROSS_COMPILER_TARGET_ARCHS=vxWorks-68040 vxWorks-ppc604
|
||||
CROSS_COMPILER_TARGET_ARCHS=T2-ppc604 V69-ppc604
|
||||
|
||||
|
||||
# If only a subset of the host architectures perform
|
||||
@@ -65,8 +71,8 @@ TORNADO=YES
|
||||
|
||||
# VxWorks directory for TORNADO=YES
|
||||
#VX_DIR_YES=c:\\Tornado
|
||||
#VX_DIR_YES = /usr/local/vw/tornado101
|
||||
VX_DIR_YES = /usr/local/vw/tornado202
|
||||
VX_DIR_YES = /usr/local/vw/tornado202p1
|
||||
|
||||
|
||||
# VxWorks directory for TORNADO=NO
|
||||
#VX_DIR_NO=$(VW)
|
||||
@@ -164,4 +170,3 @@ E2DB_FLAGS =
|
||||
#dbst
|
||||
DBST = $(EPICS_EXTENSIONS)/bin/$(HOST_ARCH)/dbst
|
||||
|
||||
include $(EPICS_BASE)/config/CONFIG_COMPAT
|
||||
|
||||
@@ -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++
|
||||
@@ -8,7 +8,7 @@
|
||||
SHARED_LIBRARIES=YES
|
||||
|
||||
# where we expect to find shared libraries if not found elsewhere
|
||||
# DEFAULT_SHRLIB_SEARCH_PATH = /home/controls/epics/cdev/lib/hpux-10.20:/home/controls/epics/cdev/lib/hpux-10.XX:/opt/TclTk/lib:/opt/xpm/lib/X11:/usr/lib/pa1.1:/usr/lib:/lib:/opt/csr/installed/HP-UX/lib::/opt/OPI/GUI/lib/hp700:/opt/OPI/MapperApplications/lib/hp700:/opt/OPI/cdevAppl/lib/hp700:/opt/OPI/cmlog/lib/hp700:/opt/OPI/models/lib/hp700:/opt/OPI/sddsAppl/lib/hp700
|
||||
#DEFAULT_SHRLIB_SEARCH_PATH = /opt/epics/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)/support/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)/lib/hp700
|
||||
DEFAULT_SHRLIB_SEARCH_PATH = /cs/lib/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION).$(EPICS_UPDATE_NAME)$(EPICS_UPDATE_LEVEL):$(INSTALL_LIB)
|
||||
|
||||
#No special action should be required to build or use shared libraries.
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# linux-x86 is the new name for linux
|
||||
-include $(EPICS_BASE)/config/CONFIG_SITE.Host.Linux
|
||||
|
||||
SHARED_LIBRARY=YES
|
||||
@@ -6,6 +6,6 @@
|
||||
|
||||
# APS overrides of definitions
|
||||
|
||||
GCC = /opt/gnu/bin/gcc
|
||||
G++ = /opt/gnu/bin/g++
|
||||
#GCC = /opt/gnu/bin/gcc
|
||||
#G++ = /opt/gnu/bin/g++
|
||||
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# solaris-sparc is the new name for solaris
|
||||
-include $(EPICS_BASE)/config/CONFIG_SITE.Host.solaris
|
||||
@@ -1,4 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# solaris-sparc is the new name for solaris
|
||||
-include $(EPICS_BASE)/config/CONFIG_SITE.Host.solaris
|
||||
@@ -1,5 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
# win32-x86 is the new name for WIN32
|
||||
-include $(EPICS_BASE)/config/CONFIG_SITE.Host.WIN32
|
||||
|
||||
@@ -7,4 +7,22 @@
|
||||
# combinations by creating a CONFIG_SITE.Vx.Linux.<T_A>
|
||||
# file with the override definitions.
|
||||
|
||||
## ---- jba overrides for cross compiler
|
||||
## VX_DIR needed for "export WIND_BASE = $(VX_DIR)"
|
||||
#VX_DIR_YES = /home/phoebus/JBA/gnu
|
||||
#VX_GNU_YES = $(VX_DIR)
|
||||
#VX_INCLUDE_YES = $(VX_GNU)/$(GNU_TARGET)/include
|
||||
#
|
||||
#CMPLR_PREFIX= $(GNU_TARGET)-
|
||||
#CMPLR_SUFFIX=
|
||||
#GCC = $(GNU_BIN)/$(CMPLR_PREFIX)gcc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
|
||||
#AR = $(GNU_BIN)/$(CMPLR_PREFIX)ar$(CMPLR_SUFFIX)
|
||||
#CPP = $(GNU_BIN)/$(CMPLR_PREFIX)gcc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc -x c -E
|
||||
#RANLIB = $(GNU_BIN)/$(CMPLR_PREFIX)ranlib$(CMPLR_SUFFIX)
|
||||
#LD = $(GNU_BIN)/$(CMPLR_PREFIX)ld$(CMPLR_SUFFIX) -r
|
||||
#G++ = $(GNU_BIN)/$(CMPLR_PREFIX)g++$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
|
||||
#LD_G++ = $(GNU_BIN)/$(CMPLR_PREFIX)ld$(CMPLR_SUFFIX) -r
|
||||
#NM = $(GNU_BIN)/$(CMPLR_PREFIX)nm$(CMPLR_SUFFIX)
|
||||
## ---- end jba overrides
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG_SITE.$(BUILD_TYPE).$(HOST_ARCH).$(T_A)
|
||||
|
||||
@@ -2,9 +2,12 @@
|
||||
#
|
||||
# This file contains overrides for Vx builds
|
||||
|
||||
## ---- jba overrides for cross compiler
|
||||
#GNU_TARGET=m68k-wrs-vxworks
|
||||
## ---- end jba overrides
|
||||
|
||||
# ORNL SNS overrides for cross compilers
|
||||
#VX_DIR_YES = /opt/tornado20/
|
||||
#VX_CONFIG_DIR_YES = $(VX_DIR)/target/config
|
||||
#VX_INCLUDE_YES = /usr/local/crossgcc/m68k/m68k-wrs-vxworks/sys-include
|
||||
#VX_GNU_YES = /usr/local/crossgcc/m68k/
|
||||
#VX_GNU_BIN_YES = $(VX_GNU)/bin
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
|
||||
# ORNL SNS overrides for cross compilers
|
||||
#VX_DIR_YES = /opt/tornado20/
|
||||
#VX_CONFIG_DIR_YES = $(VX_DIR)/target/config
|
||||
#VX_INCLUDE_YES = /usr/local/crossgcc/ppc/powerpc-wrs-vxworks/sys-include
|
||||
#VX_GNU_YES = /usr/local/crossgcc/ppc/
|
||||
#VX_GNU_BIN_YES = $(VX_GNU)/bin
|
||||
|
||||
9
config/CONFIG_SITE.Vx.T2-ppc604
Normal file
9
config/CONFIG_SITE.Vx.T2-ppc604
Normal file
@@ -0,0 +1,9 @@
|
||||
VX_DIR = /afs/psi.ch/project/vxworks/Tornado2.2
|
||||
|
||||
GCC = $(GNU_BIN)/cc$(CMPLR_SUFFIX)
|
||||
CPP = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -x c -E
|
||||
G++ = $(GNU_BIN)/cc$(CMPLR_SUFFIX)
|
||||
|
||||
# Compiler bug: Optimization corrupts floating point calculations
|
||||
VX_OPT = NO
|
||||
GCC_OPT_NO =
|
||||
20
config/CONFIG_SITE.Vx.V69-ppc604
Normal file
20
config/CONFIG_SITE.Vx.V69-ppc604
Normal file
@@ -0,0 +1,20 @@
|
||||
VXWORKS_VERSION = 6.9
|
||||
VXWORKS_MAJOR_VERSION = 6
|
||||
|
||||
WIND_HOST_TYPE = x86-linux2
|
||||
WIND_BASE=/afs/psi.ch/project/vxworks/VxWorks$(VXWORKS_VERSION)
|
||||
LD_LIBRARY_PATH+=:$(WIND_BASE)/lmapi-5.0/$(WIND_HOST_TYPE)/lib
|
||||
export WIND_BASE LD_LIBRARY_PATH
|
||||
|
||||
VX_DIR = $(WIND_BASE)/vxworks-$(VXWORKS_VERSION)
|
||||
OP_SYS_INCLUDES += -I$(VX_DIR)/target/h/wrn/coreip
|
||||
|
||||
GNU_DIR := $(wildcard $(WIND_BASE)/gnu/*-vxworks-*/$(WIND_HOST_TYPE))
|
||||
GNU_BIN = $(GNU_DIR)/bin
|
||||
GCC_EXEC_PREFIX = $(GNU_DIR)/libexec/gcc
|
||||
|
||||
GCC = $(GNU_BIN)/cc$(CMPLR_SUFFIX)
|
||||
CPP = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -x c -E
|
||||
G++ = $(GNU_BIN)/cc$(CMPLR_SUFFIX)
|
||||
|
||||
NM = $(VX_DIR)/host/binutils/$(WIND_HOST_TYPE)/bin/nm$(CMPLR_SUFFIX)
|
||||
@@ -1,18 +1,19 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
#
|
||||
|
||||
TOP=..
|
||||
|
||||
include $(TOP)/configure/CONFIG
|
||||
include $(TOP)/config/CONFIG_BASE
|
||||
|
||||
INSTALL_CONFIG = $(INSTALL_LOCATION)/config
|
||||
|
||||
CONFIGS += $(subst ../,,$(wildcard ../CONFIG*))
|
||||
CONFIGS += $(subst ../,,$(wildcard ../RULES*))
|
||||
|
||||
SCRIPTS_HOST += $(wildcard ../tools/*.pl)
|
||||
SCRIPTS_HOST += ../tools/installEpics
|
||||
|
||||
include $(TOP)/configure/RULES
|
||||
include $(TOP)/config/RULES_ARCHS
|
||||
|
||||
|
||||
43
config/Makefile.Host
Normal file
43
config/Makefile.Host
Normal file
@@ -0,0 +1,43 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
#
|
||||
|
||||
TOP = ../..
|
||||
include $(TOP)/config/CONFIG_BASE
|
||||
|
||||
CONFIGS += CONFIG
|
||||
CONFIGS += CONFIG_BASE
|
||||
CONFIGS += CONFIG_BASE_VERSION
|
||||
CONFIGS += CONFIG_COMMON
|
||||
CONFIGS += CONFIG_ENV
|
||||
|
||||
CONFIGS += CONFIG.Host.$(HOST_ARCH)
|
||||
CONFIGS += CONFIG_HOST_ARCH.$(HOST_ARCH)
|
||||
CONFIGS += CONFIG.Host.UnixCommon
|
||||
CONFIGS += CONFIG_HOST_ARCH.UnixCommon
|
||||
|
||||
CONFIGS += CONFIG.Vx
|
||||
CONFIGS += $(CROSS_COMPILER_TARGET_ARCHS:%=CONFIG.Vx.%)
|
||||
|
||||
CONFIGS += CONFIG_SITE
|
||||
CONFIGS += CONFIG_SITE_ENV
|
||||
CONFIGS += $(subst ../,,$(wildcard ../CONFIG_SITE*))
|
||||
|
||||
CONFIGS += RULES.Host
|
||||
CONFIGS += RULES.Unix
|
||||
CONFIGS += RULES.Vx
|
||||
CONFIGS += RULES_ARCHS
|
||||
CONFIGS += RULES_DIRS
|
||||
CONFIGS += RULES_TOP
|
||||
|
||||
include $(TOP)/config/RULES.Host
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
#
|
||||
# Rules for making things specified in Makefile.Host
|
||||
@@ -31,6 +40,7 @@ vpath %.c $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
|
||||
vpath %.cc $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
|
||||
vpath %.cpp $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
|
||||
vpath %.rc $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
|
||||
vpath %.jar $(USER_VPATH) ..
|
||||
|
||||
# check for add-on CFLAGS and CXXFLAGS
|
||||
#
|
||||
@@ -225,7 +235,7 @@ endif
|
||||
# (convenience for extensions and applications)
|
||||
ifneq ($(EPICS_BASE),$(TOP))
|
||||
ifneq ($(EPICS_BASE),$(INSTALL_LOCATION))
|
||||
EPICS_INCLUDES += -I$(EPICS_BASE_INCLUDE) -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS)
|
||||
EPICS_INCLUDES += -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS) -I$(EPICS_BASE_INCLUDE)
|
||||
EPICS_DBDFLAGS += -I $(EPICS_BASE)/dbd
|
||||
endif
|
||||
endif
|
||||
@@ -354,7 +364,7 @@ buildInstall :: build $(TARGETS) \
|
||||
clean::
|
||||
@echo "Cleaning"
|
||||
@$(RM) *.i *$(OBJ) *.a $(PROD) $(TESTPROD) $(LIBNAME) $(SHRLIBNAME) $(INC) \
|
||||
*$(RES) $(TARGETS) $(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS)
|
||||
*$(RES) $(TARGETS) *.dbd $(MENUS) $(RECTYPES) $(BPTS)
|
||||
ifdef DBDEXPAND
|
||||
@$(RM) $(DBDNAME)
|
||||
endif
|
||||
@@ -379,6 +389,14 @@ PRODNAME_SRCS += $(PRODNAME_SRCS_DEFAULT)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(PRODNAME_OBJS_$(ARCH_CLASS))),)
|
||||
PRODNAME_OBJS += $(subst -nil-,,$(PRODNAME_OBJS_$(ARCH_CLASS)))
|
||||
else
|
||||
ifdef PRODNAME_OBJS_DEFAULT
|
||||
PRODNAME_OBJS += $(PRODNAME_OBJS_DEFAULT)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(PRODNAME_RCS_$(ARCH_CLASS))),)
|
||||
PRODNAME_RCS += $(subst -nil-,,$(PRODNAME_RCS_$(ARCH_CLASS)))
|
||||
else
|
||||
@@ -397,10 +415,10 @@ else
|
||||
PRODNAME_LINKER = $(LINK.c)
|
||||
endif
|
||||
|
||||
PRODNAME_OBJS=$(addsuffix $(OBJ), $(basename $(PRODNAME_SRCS)))
|
||||
PRODNAME_RESS=$(addsuffix $(RES), $(basename $(PRODNAME_RCS)))
|
||||
PRODNAME_OBJS+=$(addsuffix $(OBJ), $(basename $(PRODNAME_SRCS)))
|
||||
PRODNAME_RESS+=$(addsuffix $(RES), $(basename $(PRODNAME_RCS)))
|
||||
|
||||
ifeq ($(HOST_ARCH),Borland)
|
||||
ifdef BORLANDC
|
||||
$(PRODNAME): $(PRODNAME_OBJS) $(PRODNAME_RESS)
|
||||
@$(RM) $@
|
||||
$(PRODNAME_LINKER) $(PRODNAME_OBJS) , $@ ,,$(LINKLIBS) $(subst /,\\,$(LDLIBS)),, $(PRODNAME_RESS)
|
||||
@@ -445,10 +463,12 @@ endif #ifdef PROD
|
||||
# Java classes and packages
|
||||
#
|
||||
|
||||
ifdef JAVA
|
||||
DIRECTORY_TARGETS += $(INSTALL_JAVA)
|
||||
ifdef PACKAGE
|
||||
DIRECTORY_TARGETS += $(INSTALL_JAVA)/$(PACKAGE)
|
||||
endif
|
||||
endif
|
||||
|
||||
vpath %.class $(INSTALL_JAVA)/$(PACKAGE)
|
||||
|
||||
@@ -457,32 +477,47 @@ TESTCLASSES += $(subst .java,.class,$(TESTJAVA))
|
||||
INSTALL_CLASSES =$(CLASSES:%=$(INSTALL_JAVA)/$(PACKAGE)/%)
|
||||
INSTALL_JAR =$(JAR:%=$(INSTALL_JAVA)/%)
|
||||
|
||||
ifeq ($(strip $(JAVADOC)),YES)
|
||||
DIRECTORY_TARGETS += $(INSTALL_HTML)
|
||||
INSTALL_JAVADOC = $(CLASSES:%.class=$(INSTALL_HTML)/%.html)
|
||||
ifdef PACKAGE
|
||||
DIRECTORY_TARGETS += $(INSTALL_HTML)/$(PACKAGE)
|
||||
INSTALL_JAVADOC = $(CLASSES:%.class=$(INSTALL_HTML)/$(PACKAGE)/$(PACKAGE)/%.html)
|
||||
endif
|
||||
endif
|
||||
|
||||
JAR_OPTIONS = cvf
|
||||
ifdef MANIFEST
|
||||
JAR_OPTIONS = cvmf
|
||||
endif
|
||||
JAR_DEPFILES += $(wildcard $(JAR_INPUT) $(addsuffix /*,$(JAR_INPUT)))
|
||||
#JAR_DEPFILES += $(wildcard $(JAR_INPUT) $(addsuffix /*,$(JAR_INPUT)))
|
||||
JAR_DEPFILES += $(JAR_INPUT)
|
||||
|
||||
$(DIRECTORY_TARGETS) :
|
||||
$(MKDIR) $@
|
||||
|
||||
build:: $(TESTCLASSES) $(JAR)
|
||||
|
||||
buildInstall :: $(DIRECTORY_TARGETS) $(INSTALL_CLASSES) $(INSTALL_JAR)
|
||||
buildInstall :: $(DIRECTORY_TARGETS) $(INSTALL_CLASSES) $(INSTALL_JAR) $(INSTALL_JAVADOC)
|
||||
|
||||
clean::
|
||||
@$(RM) $(TESTCLASSES) $(JAR)
|
||||
@$(RM) $(TESTCLASSES) $(JAR) $(INSTALL_CLASSES) $(INSTALL_JAVADOC)
|
||||
|
||||
%.class:%.java
|
||||
@echo Creating java class file $@
|
||||
$(RM) $@
|
||||
$(JAVACCMD) $<
|
||||
|
||||
$(INSTALL_JAVA)/$(PACKAGE)/%.class:%.java
|
||||
$(INSTALL_JAVA)/$(PACKAGE)/%.class:%.java
|
||||
@echo Creating java class file $@
|
||||
@$(RM) $@
|
||||
$(JAVACCMD) -d $(INSTALL_JAVA) $<
|
||||
|
||||
$(INSTALL_JAVADOC):$(JAVA)
|
||||
@echo Creating javadoc html files $@
|
||||
@$(RM) $@
|
||||
$(JAVADOCCMD) -d $(INSTALL_HTML)/$(PACKAGE) $(PACKAGE)
|
||||
|
||||
$(JAR):%.jar: $(JAR_DEPFILES)
|
||||
@echo Creating java jar file $@
|
||||
@$(RM) $@
|
||||
@@ -490,12 +525,12 @@ $(JAR):%.jar: $(JAR_DEPFILES)
|
||||
|
||||
$(INSTALL_JAVA)/%.jar: %.jar
|
||||
@echo "Installing jar file $@"
|
||||
$(INSTALL) -d -m 644 $< $(@D)
|
||||
@$(INSTALL) -d -m 644 $< $(@D)
|
||||
|
||||
$(PACKAGE)_%.h:$(INSTALL_JAVA)/$(PACKAGE)/%.class
|
||||
$(JAVAHCMD) $(PACKAGE).$*
|
||||
|
||||
.PRECIOUS: $(INSTALL_CLASSES)
|
||||
.PRECIOUS: $(INSTALL_CLASSES) $(INSTALL_JAVADOC)
|
||||
|
||||
#---------------------------------------------------------------
|
||||
#---------------------------------------------------------------
|
||||
@@ -519,7 +554,7 @@ ifneq ($(strip $(LIBSRCS) $(SRCS) $(COND_PROD_SRCS) $(SRCS.c) $(SRCS.cc)),)
|
||||
$(DEPENDS_RULE)
|
||||
endif
|
||||
|
||||
ifeq ($(HOST_ARCH),Borland)
|
||||
ifdef BORLANDC
|
||||
%$(EXE): %.c
|
||||
@$(RM) $@
|
||||
$(COMPILE.c) $<
|
||||
@@ -615,8 +650,8 @@ endif
|
||||
@$(RM) $@
|
||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
|
||||
|
||||
%.c: %.stt
|
||||
@echo "converting $<
|
||||
%.c: ../%.stt
|
||||
@echo "converting $<"
|
||||
ln -s $< $*.st
|
||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.st
|
||||
@$(RM) $*.st
|
||||
@@ -656,29 +691,29 @@ $(INSTALL_DBD)/%: ../%
|
||||
|
||||
%Record.h: %Record.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
|
||||
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
|
||||
$(DBDFLAGS) $<
|
||||
|
||||
%Record.h: ../%Record.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
|
||||
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
|
||||
$(DBDFLAGS) $<
|
||||
|
||||
menu%.h: menu%.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
|
||||
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
|
||||
|
||||
menu%.h: ../menu%.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
|
||||
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
|
||||
|
||||
bpt%.dbd: bpt%.data
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
|
||||
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
|
||||
|
||||
bpt%.dbd: ../bpt%.data
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
|
||||
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
|
||||
|
||||
# Patch for old applications
|
||||
ifdef USER_DBDFLAGS
|
||||
@@ -688,15 +723,16 @@ endif
|
||||
ifdef DBDEXPAND
|
||||
$(DBDNAME): ../$(DBDEXPAND)
|
||||
@echo Expanding dbd
|
||||
@$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand$(EXE) $(DBDFLAGS) $< > $@
|
||||
@$(RM) $@ $@-new
|
||||
$(EPICS_BASE_HOST_BIN)/dbExpand$(EXE) $(DBDFLAGS) $< > $@-new
|
||||
@$(MV) $@-new $@
|
||||
|
||||
ifneq (,$(wildcard ../base.dbd))
|
||||
$(DBDNAME): ../base.dbd
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(HOST_ARCH),Borland)
|
||||
ifdef BORLANDC
|
||||
$(DLL_LINK_LIBNAME) $(SHRLIBNAME): $(LIBOBJS) $(LIBNAME_RESS)
|
||||
$(LINK.shrlib) $(LIBOBJS) , $@ ,,$(LINKLIBS) $(subst /,\\,$(DLL_LDLIBS)), $(DLL_DEF_FLAG), $(LIBNAME_RESS)
|
||||
|
||||
@@ -705,7 +741,7 @@ $(DLL_LINK_LIBNAME) $(SHRLIBNAME): $(LIBOBJS) $(LIBNAME_RESS)
|
||||
$(LINK.shrlib) $(LIBOBJS) $(DLL_LDLIBS) $(LIBNAME_RESS)
|
||||
|
||||
endif
|
||||
ifeq ($(HOST_ARCH),Borland)
|
||||
ifdef BORLANDC
|
||||
# rule for lib (archive of object files) creation
|
||||
$(LIBNAME): $(LIBOBJS)
|
||||
$(RM) $@
|
||||
@@ -747,10 +783,10 @@ $(INSTALL_LIB)/%.lib: %.lib
|
||||
|
||||
$(INSTALL_SHRLIB)/lib%: lib%
|
||||
@echo "Installing library $@"
|
||||
@$(INSTALL) -d -m 555 $< $(INSTALL_SHRLIB)
|
||||
@$(INSTALL_LIBRARY) -d -m 555 $< $(INSTALL_SHRLIB)
|
||||
ifdef SHRLIB_VERSION
|
||||
@$(RM) $(@:%.$(SHRLIB_VERSION)=%)
|
||||
ln -s $< $(@:%.$(SHRLIB_VERSION)=%)
|
||||
$(RM) $(subst .$(SHRLIB_VERSION),,$@)
|
||||
ln -s $< $(subst .$(SHRLIB_VERSION),,$@)
|
||||
endif # SHRLIB_VERSION
|
||||
|
||||
$(INSTALL_TCLLIB)/%: %
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
|
||||
INCREC +=$(RECTYPES) $(MENUS)
|
||||
@@ -139,8 +148,8 @@ $(TARGETS) $(PROD): $(DEPLIBS)
|
||||
@$(RM) $@
|
||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
|
||||
|
||||
%.c: %.stt
|
||||
@echo "converting $<
|
||||
%.c: ../%.stt
|
||||
@echo "converting $<"
|
||||
@$(RM) $@
|
||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $<
|
||||
|
||||
@@ -179,29 +188,29 @@ $(INSTALL_DBD)/%: ../%
|
||||
|
||||
%Record.h: %Record.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \
|
||||
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH \
|
||||
$(DBDFLAGS) $<
|
||||
|
||||
%Record.h: ../%Record.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \
|
||||
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH \
|
||||
$(DBDFLAGS) $<
|
||||
|
||||
menu%.h: menu%.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH $<
|
||||
$(EPICS_BASE_HOST_BIN)/dbToMenuH $<
|
||||
|
||||
menu%.h: ../menu%.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH $<
|
||||
$(EPICS_BASE_HOST_BIN)/dbToMenuH $<
|
||||
|
||||
bpt%.dbd: bpt%.data
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt $<
|
||||
$(EPICS_BASE_HOST_BIN)/makeBpt $<
|
||||
|
||||
bpt%.dbd: ../bpt%.data
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt $<
|
||||
$(EPICS_BASE_HOST_BIN)/makeBpt $<
|
||||
|
||||
# Patch for old applications
|
||||
ifdef USER_DBDFLAGS
|
||||
@@ -211,8 +220,9 @@ endif
|
||||
ifdef DBDEXPAND
|
||||
$(DBDNAME): ../$(DBDEXPAND)
|
||||
@echo expanding dbd
|
||||
@$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand $(DBDFLAGS) $< > $@
|
||||
@$(RM) $@ $@-new
|
||||
$(EPICS_BASE_HOST_BIN)/dbExpand $(DBDFLAGS) $< > $@-new
|
||||
@$(MV) $@-new $@
|
||||
|
||||
ifneq (,$(wildcard ../base.dbd))
|
||||
$(DBDNAME): ../base.dbd
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
|
||||
ifneq ($(strip $(LIBOBJS_$(ARCH_CLASS))),)
|
||||
@@ -11,7 +20,6 @@ endif
|
||||
INCREC +=$(RECTYPES) $(MENUS)
|
||||
INSTALL_PROD = $(PROD:%= $(INSTALL_BIN)/%)
|
||||
INSTALL_LIBS = $(LIBNAME:%= $(INSTALL_BIN)/%)
|
||||
INSTALL_MUNCHES = $(MUNCHNAME:%= $(INSTALL_BIN)/%)
|
||||
INSTALL_LIBS_CXX = $(LIBNAME_CXX:%= $(INSTALL_BIN)/%)
|
||||
INSTALL_INC = $(INC:%= $(INSTALL_INCLUDE)/%)
|
||||
INSTALL_OSINCLUDE = $(INSTALL_INCLUDE)/os/vxWorks
|
||||
@@ -53,7 +61,7 @@ rebuild:: clean install
|
||||
pre_build::
|
||||
|
||||
build:: pre_build $(MENUS) $(RECTYPES) $(BPTS)\
|
||||
$(LIBNAME) $(LIBNAME_CXX) $(MUNCHNAME) $(TARGETS) $(PROD)
|
||||
$(LIBNAME) $(LIBNAME_CXX) $(TARGETS) $(PROD)
|
||||
ifdef DBDEXPAND
|
||||
build:: $(DBDNAME)
|
||||
endif
|
||||
@@ -63,7 +71,7 @@ inc:: $(INSTALL_INC) $(INSTALL_OSINC)
|
||||
install:: buildInstall
|
||||
|
||||
buildInstall :: build $(INSTALL_INCREC)\
|
||||
$(INSTALL_LIBS) $(INSTALL_LIBS_CXX) $(INSTALL_MUNCHES) \
|
||||
$(INSTALL_LIBS) $(INSTALL_LIBS_CXX) \
|
||||
$(TARGETS) $(INSTALL_PROD) \
|
||||
$(INSTALL_MANS) $(INSTALL_DOCS) \
|
||||
$(INSTALL_HTMLS) \
|
||||
@@ -84,10 +92,7 @@ endif
|
||||
clean::
|
||||
@echo "Cleaning"
|
||||
@$(RM) *.i *.o *.a *.out $(TARGETS) $(PROD) $(LIBNAME) $(INC) \
|
||||
$(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME)
|
||||
ifdef MUNCH
|
||||
@$(RM) $(MUNCHNAME) ctdt.c ctdt.o nm.out
|
||||
endif
|
||||
$(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME) *.c
|
||||
|
||||
# The order of the following dependencies is
|
||||
# VERY IMPORTANT !!!!
|
||||
@@ -118,19 +123,11 @@ endif
|
||||
|
||||
# C++ munching
|
||||
%.out : %.o
|
||||
@ $(RM) ctct.o ctdt.c nm.out
|
||||
$(NM) $< > nm.out
|
||||
$(PERL) $(EPICS_BASE)/bin/$(HOST_ARCH)/munch.pl < nm.out > ctdt.c
|
||||
@ $(RM) ctct.o ctdt.c
|
||||
$(NM) $< | $(MUNCH) > ctdt.c
|
||||
$(COMPILE.c) -traditional ctdt.c
|
||||
$(LINK.cc) $@ $< ctdt.o
|
||||
|
||||
# C++ munching for VxWorks
|
||||
$(MUNCHNAME):%.munch : %
|
||||
@ $(RM) ctct.o ctdt.c nm.out
|
||||
$(NM) $< > nm.out
|
||||
$(PERL) $(EPICS_BASE)/bin/$(HOST_ARCH)/munch.pl < nm.out > ctdt.c
|
||||
$(COMPILE.c) -traditional ctdt.c
|
||||
$(LINK.cc) $@ $(LDFLAGS) $< ctdt.o
|
||||
$(LINK.c) $@ $< ctdt.o
|
||||
@ $(RM) ctdt.c ctdt.o
|
||||
|
||||
#
|
||||
# rename the y.tab.h file only if we
|
||||
@@ -162,11 +159,13 @@ endif
|
||||
@$(RM) $@
|
||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
|
||||
|
||||
%.c: %.stt
|
||||
@echo "converting $<
|
||||
ln -s $< $*.st
|
||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.st
|
||||
@$(RM) $*.st
|
||||
%.c: ../%.stt
|
||||
@echo "preprocessing $*.stt"
|
||||
@$(RM) $*.i
|
||||
$(CPP) $(CPPFLAGS) $(CPPSNCFLAGS) $< > $*.i
|
||||
@echo "converting $*.i"
|
||||
@$(RM) $@
|
||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
|
||||
|
||||
# Capfast Rules:
|
||||
%.db: %.edf
|
||||
@@ -206,29 +205,29 @@ $(INSTALL_DBD)/%: ../%
|
||||
|
||||
%Record.h: %Record.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
|
||||
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
|
||||
$(DBDFLAGS) $<
|
||||
|
||||
%Record.h: ../%Record.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
|
||||
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
|
||||
$(DBDFLAGS) $<
|
||||
|
||||
menu%.h: menu%.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
|
||||
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
|
||||
|
||||
menu%.h: ../menu%.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
|
||||
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
|
||||
|
||||
bpt%.dbd: bpt%.data
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
|
||||
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
|
||||
|
||||
bpt%.dbd: ../bpt%.data
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
|
||||
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
|
||||
|
||||
# Patch for old applications
|
||||
ifdef USER_DBDFLAGS
|
||||
@@ -238,8 +237,9 @@ endif
|
||||
ifdef DBDEXPAND
|
||||
$(DBDNAME): ../$(DBDEXPAND)
|
||||
@echo Expanding dbd
|
||||
@$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand$(EXE) $(DBDFLAGS) $< > $@
|
||||
@$(RM) $@ $@-new
|
||||
$(EPICS_BASE_HOST_BIN)/dbExpand$(EXE) $(DBDFLAGS) $< > $@-new
|
||||
@$(MV) $@-new $@
|
||||
endif
|
||||
|
||||
$(LIBNAME): $(LIBOBJS)
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
#
|
||||
@@ -13,7 +22,6 @@ ACTIONS += install
|
||||
ACTIONS += buildInstall
|
||||
ACTIONS += depends
|
||||
ACTIONS += rebuild
|
||||
ACTIONS += browse
|
||||
|
||||
actionPart = $(word 1, $(subst $(DIVIDER), ,$@))
|
||||
archPart = $(word 2, $(subst $(DIVIDER), ,$@))
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
#
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
#
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
#*************************************************************************
|
||||
# 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.
|
||||
#*************************************************************************
|
||||
# Makefile.Host for base/src/sample
|
||||
#
|
||||
#
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
#
|
||||
# UNIX-cp in Perl
|
||||
|
||||
use File::Copy;
|
||||
use File::Basename;
|
||||
|
||||
sub Usage
|
||||
{
|
||||
my ($txt) = @_;
|
||||
|
||||
print "Usage:\n";
|
||||
print "\tcp file1 file2\n";
|
||||
print "\tcp file [ file2 file3 ...] directory\n";
|
||||
print "\nError: $txt\n" if $txt;
|
||||
|
||||
exit 2;
|
||||
}
|
||||
|
||||
# need at least two args: ARGV[0] and ARGV[1]
|
||||
Usage("need more args") if $#ARGV < 1;
|
||||
|
||||
$target=$ARGV[$#ARGV];
|
||||
@sources=@ARGV[0..$#ARGV-1];
|
||||
|
||||
if (-d $target)
|
||||
{
|
||||
foreach $file ( @sources )
|
||||
{
|
||||
$base=basename($file);
|
||||
copy ($file, "$target/$base");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Usage("Cannot copy more than one source into a single target")
|
||||
if ($#sources != 0);
|
||||
copy ($sources[0], $target);
|
||||
}
|
||||
|
||||
# EOF cp.pl
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use Cwd;
|
||||
|
||||
$dir=cwd();
|
||||
# make sure $dir ends with '/'
|
||||
#
|
||||
$dir="$dir/" unless ($dir =~ m'/$');
|
||||
|
||||
if ($dir =~ m'(.*(/|\\)base)(/|\\)')
|
||||
{
|
||||
print "$1";
|
||||
}
|
||||
@@ -1,109 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
#
|
||||
# InstallEpics.pl
|
||||
#
|
||||
# InstallEpics is used within makefiles to copy new versions of
|
||||
# files into a destination directory.
|
||||
# Based on installEpics shell script.
|
||||
#
|
||||
# 2-4-97 -kuk-
|
||||
#
|
||||
##########################################################
|
||||
|
||||
use Getopt::Std;
|
||||
use File::Path;
|
||||
use File::Copy;
|
||||
|
||||
$tool=$0;
|
||||
$tool=~ s'.*[/\\].+''; # basename
|
||||
$mode=0755;
|
||||
|
||||
# get command line options
|
||||
getopt "m";
|
||||
$mode = oct ($opt_m) if ($opt_m);
|
||||
|
||||
# Complain about obsolete options:
|
||||
Usage("unknown option given") if ($opt_g or $opt_o or $opt_c or $opt_s);
|
||||
|
||||
$num_files = $#ARGV;
|
||||
# at least two args required
|
||||
Usage ("Nothing to install") if ($num_files < 1);
|
||||
|
||||
# split args in file1 ... fileN target_dir:
|
||||
@files=@ARGV[0..$num_files-1];
|
||||
$install_dir=$ARGV[$num_files];
|
||||
$install_dir =~ s[\\][/]g; # maybe fix DOS-style path
|
||||
$install_dir =~ s[/$][]; # remove trailing '/'
|
||||
$install_dir =~ s[//][/]g; # replace '//' by '/'
|
||||
|
||||
# Do we have to create the directory?
|
||||
unless ( (-d $install_dir) || (-l $install_dir) )
|
||||
{
|
||||
# Create dir only if -d option given
|
||||
Usage ("$install_dir does not exist") unless ($opt_d);
|
||||
|
||||
# Create all the subdirs that lead to $install_dir
|
||||
mkpath ($install_dir, 1, 0777);
|
||||
}
|
||||
|
||||
foreach $source ( @files )
|
||||
{
|
||||
Usage ("Can't find file '$source'") unless -f $source;
|
||||
|
||||
$basename=$source;
|
||||
$basename=~s'.*[/\\]'';
|
||||
$target = "$install_dir/$basename";
|
||||
|
||||
# The Win32 filesystem seems to be 'slow',
|
||||
# i.e. $target may look like 'up to date'
|
||||
# unless you wait an hour.
|
||||
# -> skip this test on WIN32 ?
|
||||
#if (-f $target and $^O ne "MSWin32")
|
||||
if (-f $target)
|
||||
{
|
||||
if (-M $target < -M $source and
|
||||
-C $target < -C $source)
|
||||
{
|
||||
print "$target is up to date\n";
|
||||
next;
|
||||
}
|
||||
else
|
||||
{
|
||||
# remove old target, make sure it is deletable:
|
||||
chmod 0777, $target;
|
||||
unlink $target;
|
||||
}
|
||||
}
|
||||
|
||||
# print "Installing $source into $install_dir\n";
|
||||
copy ($source, $target) or die "Copy failed";
|
||||
|
||||
# chmod 0555 <read-only> DOES work on WIN32, but:
|
||||
# Another chmod 0777 to make it write- and deletable
|
||||
# will then fail.
|
||||
# -> you have to use Win32::SetFileAttributes
|
||||
# to get rid of those files from within Perl.
|
||||
# Because the chmod is not really needed on WIN32,
|
||||
# just skip it!
|
||||
chmod $mode, $target unless ($^O eq "MSWin32");
|
||||
}
|
||||
|
||||
sub Usage
|
||||
{
|
||||
my ($txt) = @_;
|
||||
|
||||
print "Usage:\n";
|
||||
print "\t$tool [ -m mode ] file ... directory\n";
|
||||
print "\n";
|
||||
print "\t-d Create non-exising directories\n";
|
||||
print "\t-m mode Set the mode for the installed file";
|
||||
print " (0755 by default)\n";
|
||||
print "\tfile Name of file\n";
|
||||
print "\tdirectory Destination directory\n";
|
||||
|
||||
print "$txt\n" if $txt;
|
||||
|
||||
exit 2;
|
||||
}
|
||||
|
||||
# EOF installEpics.pl
|
||||
@@ -1,31 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
#
|
||||
# makeMakefile.pl
|
||||
#
|
||||
# called from RULES_ARCHS
|
||||
#
|
||||
#
|
||||
# Usage: perl makeMakefile.pl O.*-dir Makefile-Type
|
||||
|
||||
$dir = $ARGV[0];
|
||||
$type= $ARGV[1];
|
||||
$makefile="$dir/Makefile";
|
||||
|
||||
if ($dir =~ m'O.(.+)')
|
||||
{
|
||||
$t_a = $1;
|
||||
}
|
||||
else
|
||||
{
|
||||
die "Cannot extract T_A from $dir";
|
||||
}
|
||||
|
||||
mkdir ($dir, 0777) unless -d $dir;
|
||||
|
||||
open OUT, "> $makefile" or die "Cannot create $makefile";
|
||||
print OUT "T_A=$t_a\n";
|
||||
print OUT "BUILD_TYPE=$type\n";
|
||||
print OUT "include ../Makefile.$type\n";
|
||||
close OUT;
|
||||
|
||||
# EOF makeMakefile.pl
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
#
|
||||
# UNIX-mkdir in Perl
|
||||
#
|
||||
# -p option generates full path to given dir
|
||||
|
||||
use File::Path;
|
||||
use Getopt::Std;
|
||||
getopt "";
|
||||
|
||||
foreach $dir ( @ARGV )
|
||||
{
|
||||
if ($opt_p)
|
||||
{
|
||||
mkpath ($dir) or die "Cannot make directory $dir";
|
||||
}
|
||||
else
|
||||
{
|
||||
mkdir ($dir, 0777) or die "Cannot make directory $dir";
|
||||
}
|
||||
}
|
||||
|
||||
# EOF mkdir.pl
|
||||
@@ -1,57 +0,0 @@
|
||||
eval 'exec perl -S $0 ${1+"$@"}' # -*- Mode: perl -*-
|
||||
if $running_under_some_shell; # makeConfigAppInclude.pl
|
||||
|
||||
# Creates a ctdt.c file of c++ static constructors and destructors.
|
||||
# $Id$
|
||||
|
||||
@ctorlist = ();
|
||||
@dtorlist = ();
|
||||
|
||||
while ($line = <STDIN>)
|
||||
{
|
||||
next if ($line =~ /__?GLOBAL_.F.+/);
|
||||
next if ($line =~ /__?GLOBAL_.I._GLOBAL_.D.+/);
|
||||
if ($line =~ /__?GLOBAL_.D.+/) {
|
||||
($adr,$type,$name) = split ' ',$line,3;
|
||||
chop $name;
|
||||
$name =~ s/^__/_/;
|
||||
next if ( $name =~ /^__?GLOBAL_.D.*.\.cpp/ );
|
||||
next if ( $name =~ /^__?GLOBAL_.D.\.\./ );
|
||||
@dtorlist = (@dtorlist,$name);
|
||||
};
|
||||
if ($line =~ /__?GLOBAL_.I.+/) {
|
||||
($adr,$type,$name) = split ' ',$line,3;
|
||||
chop $name;
|
||||
$name =~ s/^__/_/;
|
||||
next if ( $name =~ /^__?GLOBAL_.I.*.\.cpp/ );
|
||||
next if ( $name =~ /^__?GLOBAL_.I.\.\./ );
|
||||
@ctorlist = (@ctorlist,$name);
|
||||
};
|
||||
}
|
||||
|
||||
foreach $ctor (@ctorlist)
|
||||
{
|
||||
printf "void %s();\n",$ctor;
|
||||
}
|
||||
|
||||
print "extern void (*_ctors[])();\n";
|
||||
print "void (*_ctors[])() = {\n";
|
||||
foreach $ctor (@ctorlist)
|
||||
{
|
||||
printf " %s,\n",$ctor;
|
||||
}
|
||||
print " 0};\n";
|
||||
|
||||
|
||||
foreach $dtor (@dtorlist)
|
||||
{
|
||||
printf "void %s();\n",$dtor;
|
||||
}
|
||||
|
||||
print "extern void (*_ctors[])();\n";
|
||||
print "void (*_dtors[])() = {\n";
|
||||
foreach $dtor (@dtorlist)
|
||||
{
|
||||
printf " %s,\n",$dtor;
|
||||
}
|
||||
print " 0};\n";
|
||||
@@ -1,36 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
#
|
||||
# UNIX-rm in Perl
|
||||
|
||||
use File::Path;
|
||||
use File::Find;
|
||||
use Getopt::Std;
|
||||
|
||||
getopt "";
|
||||
|
||||
foreach $arg ( @ARGV )
|
||||
{
|
||||
next unless -e $arg;
|
||||
|
||||
if (-d $arg)
|
||||
{
|
||||
if ($opt_r and $opt_f)
|
||||
{
|
||||
rmtree $arg;
|
||||
}
|
||||
else
|
||||
{
|
||||
rmdir ($arg) or die "Cannot delete $arg";
|
||||
}
|
||||
if (-d $arg)
|
||||
{
|
||||
die "Failed to delete $arg";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
unlink ($arg) or die "Cannot delete $arg";
|
||||
}
|
||||
}
|
||||
|
||||
# EOF rm.pl
|
||||
@@ -1,99 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# The developer may edit this file.
|
||||
# assume T_A is the host arch if not specified
|
||||
|
||||
#
|
||||
# Common build definitions
|
||||
#
|
||||
|
||||
ifndef CONFIG
|
||||
CONFIG = $(TOP)/configure
|
||||
endif
|
||||
|
||||
-include $(CONFIG)/os/CONFIG_COMPAT
|
||||
|
||||
-include $(CONFIG)/RELEASE
|
||||
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH)
|
||||
|
||||
include $(CONFIG)/CONFIG_COMMON
|
||||
|
||||
# EPICS-specific build options
|
||||
#
|
||||
include $(CONFIG)/CONFIG_BASE
|
||||
include $(CONFIG)/CONFIG_BASE_VERSION
|
||||
|
||||
# Site-specific build options
|
||||
#
|
||||
include $(CONFIG)/CONFIG_SITE
|
||||
|
||||
# Host architecture specific definitions
|
||||
#
|
||||
include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).Common
|
||||
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).Common
|
||||
|
||||
|
||||
ifdef T_A
|
||||
|
||||
# Cross compile specific definitions
|
||||
#
|
||||
ifneq ($(EPICS_HOST_ARCH),$(T_A))
|
||||
include $(CONFIG)/CONFIG.CrossCommon
|
||||
endif
|
||||
|
||||
# Target architecture specific definitions
|
||||
#
|
||||
-include $(CONFIG)/os/CONFIG.Common.$(T_A)
|
||||
|
||||
# Host-Target architecture specific definitions
|
||||
#
|
||||
-include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).$(T_A)
|
||||
|
||||
# Site specific target and host-target definitions
|
||||
#
|
||||
-include $(CONFIG)/os/CONFIG_SITE.Common.$(T_A)
|
||||
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
|
||||
|
||||
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
|
||||
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)
|
||||
endif
|
||||
|
||||
# All options
|
||||
# may be overridden here.
|
||||
#
|
||||
# EXAMPLES
|
||||
# --------
|
||||
# Build client objects statically ? must be either YES or NO
|
||||
#STATIC_BUILD=NO
|
||||
# Host build optimization, must be either YES or NO
|
||||
#HOST_OPT=YES
|
||||
# Cross build optimization, must be either YES or NO
|
||||
#CROSS_OPT=YES
|
||||
# Generate Verbose Compiler Warnings for host build, must be either YES or NO
|
||||
#HOST_WARN=YES
|
||||
# Generate Verbose Compiler Warnings for cross compile builds, must be either YES or NO
|
||||
#CROSS_WARN=YES
|
||||
#etc.
|
||||
|
||||
#CROSS_COMPILER_TARGET_ARCHS=vxWorks-68040
|
||||
#CMPLR=STRICT
|
||||
#CXXCMPLR=STRICT
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user