Compare commits
298 Commits
R3.14.8
...
R3.14.9-pr
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
44ef13d8b2 | ||
|
|
e9c984ff06 | ||
|
|
e100e141a6 | ||
|
|
26f27b3a69 | ||
|
|
52896cc78a | ||
|
|
52584a53e0 | ||
|
|
8fd5f456ce | ||
|
|
db3407a3ab | ||
|
|
945182eac9 | ||
|
|
b9acd32dfa | ||
|
|
60d6328016 | ||
|
|
de6ce2f679 | ||
|
|
ffb5e239f2 | ||
|
|
4bf25982fa | ||
|
|
e308021980 | ||
|
|
b0e5ae5a58 | ||
|
|
01f39d3e47 | ||
|
|
7b461161fc | ||
|
|
d2404e93a5 | ||
|
|
e9a208a78f | ||
|
|
a8ed82801f | ||
|
|
f3f56fb2bc | ||
|
|
a6d8cf0cec | ||
|
|
2fdf182a5d | ||
|
|
2988a11e25 | ||
|
|
4195457cdd | ||
|
|
4aa661f418 | ||
|
|
e03effe257 | ||
|
|
8a255f913e | ||
|
|
962e36768e | ||
|
|
dde131368d | ||
|
|
3b481d69c2 | ||
|
|
6f361280c3 | ||
|
|
0f75477dfa | ||
|
|
e68859beee | ||
|
|
83569ffcbc | ||
|
|
533b4696ea | ||
|
|
e1e6ae787d | ||
|
|
bc9fab6417 | ||
|
|
291e5b89cf | ||
|
|
7ee4842463 | ||
|
|
0f3461a808 | ||
|
|
1ad998c0d6 | ||
|
|
0f200c25c8 | ||
|
|
c3e3f6be37 | ||
|
|
a2739882f2 | ||
|
|
b7bad20900 | ||
|
|
34316144bd | ||
|
|
207171d336 | ||
|
|
ae4199eb82 | ||
|
|
1dfdf98f87 | ||
|
|
6217ec86af | ||
|
|
cfefdbf067 | ||
|
|
60c8cbbb7b | ||
|
|
ada4b680b2 | ||
|
|
b6d618cf5d | ||
|
|
1995c7cd5e | ||
|
|
ecac0269dd | ||
|
|
27fcfac8b8 | ||
|
|
ad7f71d41c | ||
|
|
a4948d15fd | ||
|
|
6cbcb67e56 | ||
|
|
e48d957906 | ||
|
|
ad1f8f9925 | ||
|
|
6911c54755 | ||
|
|
c89bfe8cf1 | ||
|
|
31547e98f5 | ||
|
|
4ad9f05421 | ||
|
|
2998cff567 | ||
|
|
20ede98a35 | ||
|
|
e661027615 | ||
|
|
d58e5e2a77 | ||
|
|
cbedb32d50 | ||
|
|
7b7bdb82a6 | ||
|
|
fc0fd6ec0d | ||
|
|
343efa2028 | ||
|
|
4ca2bc86e5 | ||
|
|
e66768314f | ||
|
|
2c23952b9c | ||
|
|
db0d1f1156 | ||
|
|
52b7171576 | ||
|
|
de29cb834f | ||
|
|
242a7b9027 | ||
|
|
62963c7d5d | ||
|
|
6c19051727 | ||
|
|
d8b9856252 | ||
|
|
6536905f85 | ||
|
|
8c8b77d767 | ||
|
|
e91873e3f6 | ||
|
|
927951ec18 | ||
|
|
d7d3bf4a13 | ||
|
|
23a8c76db2 | ||
|
|
dac306887d | ||
|
|
333c97ee23 | ||
|
|
2d136ebc29 | ||
|
|
eca624545b | ||
|
|
5d62cd2b5b | ||
|
|
0563bebee0 | ||
|
|
39a8d90553 | ||
|
|
f046ff86be | ||
|
|
fd81d5f7ca | ||
|
|
8f5c1bb7a3 | ||
|
|
6c10ea0ad4 | ||
|
|
a1e28f3dec | ||
|
|
20d6352d66 | ||
|
|
5a561ca613 | ||
|
|
5ee8b58411 | ||
|
|
54ad02986b | ||
|
|
5dd24b7ad2 | ||
|
|
594a28d221 | ||
|
|
a16bc712d8 | ||
|
|
c2755088e6 | ||
|
|
8264714ea7 | ||
|
|
7dc2eec5aa | ||
|
|
5c7fa0e3be | ||
|
|
b75bdb1930 | ||
|
|
394222ac72 | ||
|
|
e98b305246 | ||
|
|
3725609bc8 | ||
|
|
e4a80f2350 | ||
|
|
eeac94ca3b | ||
|
|
7001736104 | ||
|
|
ad55de7aa4 | ||
|
|
3c9b4d761e | ||
|
|
2d96451345 | ||
|
|
4bc1aabc0f | ||
|
|
2c914b5183 | ||
|
|
f0f6716352 | ||
|
|
61600b730a | ||
|
|
54c09890dd | ||
|
|
e01a41c418 | ||
|
|
db3ba46ab0 | ||
|
|
67ff3dfb6a | ||
|
|
952731fdd9 | ||
|
|
178f8e9008 | ||
|
|
622f3333e0 | ||
|
|
e768a7b7c6 | ||
|
|
ca95134827 | ||
|
|
bbd210d626 | ||
|
|
641bbb29a0 | ||
|
|
a1a8b1a7e7 | ||
|
|
e44add07df | ||
|
|
d359e6629d | ||
|
|
26938a98ed | ||
|
|
2db98a08fe | ||
|
|
b874c0afaa | ||
|
|
7dcd682f7d | ||
|
|
b3ff995884 | ||
|
|
eff6f305c8 | ||
|
|
3d06949492 | ||
|
|
61239a7be6 | ||
|
|
d6deb6920b | ||
|
|
b64d58145c | ||
|
|
ee7c2ed829 | ||
|
|
70a15c335d | ||
|
|
7b8c42ec38 | ||
|
|
b2012ebf80 | ||
|
|
82513dfcc6 | ||
|
|
402d22eac6 | ||
|
|
2bed5dd8bf | ||
|
|
0e4f45dac5 | ||
|
|
679d754891 | ||
|
|
ad093ea6a2 | ||
|
|
a3e0f538f7 | ||
|
|
73e3411beb | ||
|
|
bf45ed3869 | ||
|
|
d432014104 | ||
|
|
6a830abc9d | ||
|
|
5b54b481e8 | ||
|
|
e1ca1a907a | ||
|
|
cad78cca41 | ||
|
|
cd0a488fad | ||
|
|
0aa4a34c2a | ||
|
|
fa34d5c8f3 | ||
|
|
d077e5cbf5 | ||
|
|
d20b063cb2 | ||
|
|
d7e9b9738e | ||
|
|
1faaada240 | ||
|
|
6ca51a8f52 | ||
|
|
abfd3f0186 | ||
|
|
d7016a007c | ||
|
|
4d67f3596a | ||
|
|
97a5aa16a0 | ||
|
|
e9e4e34fdf | ||
|
|
62dee96808 | ||
|
|
8496fae43c | ||
|
|
ffc6368931 | ||
|
|
3caf5e10c4 | ||
|
|
93bab7d518 | ||
|
|
3162d19551 | ||
|
|
3431eb4a08 | ||
|
|
ef3e27625c | ||
|
|
055c451ab9 | ||
|
|
5c8b48e8f0 | ||
|
|
30b0520b78 | ||
|
|
2ae9d6ac55 | ||
|
|
12f8a7bf2a | ||
|
|
e477be1e94 | ||
|
|
85399c435c | ||
|
|
6bb604313d | ||
|
|
6b43fe312e | ||
|
|
8823924561 | ||
|
|
daf8f033fa | ||
|
|
cd3806e189 | ||
|
|
976febd1ac | ||
|
|
d29a589bff | ||
|
|
c0a6adb516 | ||
|
|
8774f97acd | ||
|
|
e1018e3edf | ||
|
|
ae8b8295a6 | ||
|
|
3ee2785894 | ||
|
|
d43342f06f | ||
|
|
e7f78a7d69 | ||
|
|
51018ac066 | ||
|
|
f648ab5f09 | ||
|
|
db49484d32 | ||
|
|
097e551f43 | ||
|
|
fc2e1fd651 | ||
|
|
cf231b5af3 | ||
|
|
4ee5d5130e | ||
|
|
8e9e846c34 | ||
|
|
f4068d6a49 | ||
|
|
a49961afe6 | ||
|
|
88e7ae91b0 | ||
|
|
233d65ea0d | ||
|
|
0a5f63db7b | ||
|
|
f83e11167d | ||
|
|
034936e8a9 | ||
|
|
99d1b3dd04 | ||
|
|
b1b5bbab0e | ||
|
|
d208fdf7cf | ||
|
|
7e841f73fe | ||
|
|
45fae9aeac | ||
|
|
c035a50677 | ||
|
|
319ab854d7 | ||
|
|
0fb9b9feda | ||
|
|
13ce4feb1b | ||
|
|
1ea5b179d5 | ||
|
|
7d6f60121a | ||
|
|
ea23dcabb9 | ||
|
|
df07bfc9e9 | ||
|
|
c542b4f4d1 | ||
|
|
edd2499824 | ||
|
|
a4a3ddfcdf | ||
|
|
14ad2c5055 | ||
|
|
6e2049d678 | ||
|
|
3fb500856d | ||
|
|
a57f10fb90 | ||
|
|
0f4acafeae | ||
|
|
7b383a18b4 | ||
|
|
b55729875d | ||
|
|
a5b4cb0766 | ||
|
|
dd63c3177d | ||
|
|
ceb11f1fb4 | ||
|
|
85eacf584c | ||
|
|
d6b6955903 | ||
|
|
4074b45a30 | ||
|
|
ba9499c786 | ||
|
|
dbac42746c | ||
|
|
7fe5335da7 | ||
|
|
6347d8f065 | ||
|
|
9516692138 | ||
|
|
a0dd3c1a9d | ||
|
|
d4abe3a8af | ||
|
|
3fee378da2 | ||
|
|
d6ae543a1e | ||
|
|
17c437048f | ||
|
|
2942594c37 | ||
|
|
e9b49d233b | ||
|
|
16e0409813 | ||
|
|
10c03d3e19 | ||
|
|
7aa6a2ca98 | ||
|
|
705d8ccf98 | ||
|
|
ae27b2ad0e | ||
|
|
8d3dc9eb33 | ||
|
|
1e821d866e | ||
|
|
03bf89c7c2 | ||
|
|
b01b09240c | ||
|
|
e0887d197e | ||
|
|
3191b9b404 | ||
|
|
147e21b71f | ||
|
|
c57beaad68 | ||
|
|
45685c52d2 | ||
|
|
00d8ae7d79 | ||
|
|
d9184abd62 | ||
|
|
66fbc8b27c | ||
|
|
a65943481d | ||
|
|
09ea15376f | ||
|
|
de797d11e2 | ||
|
|
6e09e17a23 | ||
|
|
a0e61daaac | ||
|
|
5506587d06 | ||
|
|
225f816f0e | ||
|
|
cdda915248 | ||
|
|
1a1c4dceb0 | ||
|
|
b283cb1fcd | ||
|
|
3499fbe51d | ||
|
|
bd14b17c94 |
2
Makefile
2
Makefile
@@ -15,7 +15,7 @@ TOP = .
|
||||
include $(TOP)/configure/CONFIG
|
||||
|
||||
ifeq ($(findstring YES,$(COMPAT_313) $(COMPAT_TOOLS_313)),YES)
|
||||
DIRS += config config/tools
|
||||
DIRS += config
|
||||
endif
|
||||
DIRS += configure src
|
||||
|
||||
|
||||
@@ -96,13 +96,14 @@ ACC_SLIBS_NO=
|
||||
# Use of /Za would dissable DLL import/export keywords which
|
||||
# EPICS include/excludes using architecture neutral macros
|
||||
#
|
||||
# /GX support C++ exceptions
|
||||
# /EHsc support C++ exceptions
|
||||
# /GR generate RTTI information
|
||||
#
|
||||
CCC = cl /GX /GR
|
||||
CCC = cl /EHsc /GR
|
||||
CCC_NORMAL = $(CCC) /nologo /D__STDC__=0
|
||||
CCC_STRICT = $(CCC) /nologo /D__STDC__=0
|
||||
CCC_TEMPL_INST_FLAG =
|
||||
ARCH_DEP_CPPFLAGS += /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
|
||||
|
||||
#
|
||||
# /W<N> use warning level N
|
||||
@@ -269,3 +270,14 @@ LINK.cc = $(WINLINK) -nologo $(LDFLAGS) -out:$@
|
||||
# Overrides for CONFIG_COMMON default
|
||||
POSIX_CPPFLAGS_YES =
|
||||
|
||||
#--------------------------------------------------
|
||||
# UseManifestTool.pl checks MS Visual c++ compiler version number to
|
||||
# decide whether or not to use the Manifest Tool command to embed the
|
||||
# linker created .manifest file into a library or product target.
|
||||
# useManifestTool.pl returns 0(don't use) or 1(use).
|
||||
#
|
||||
ifeq ($(shell $(PERL) $(EPICS_BASE_TOOLS)/useManifestTool.pl),1)
|
||||
MT_DLL_COMMAND = mt.exe /manifest $@.manifest /outputresource:$@;\#2
|
||||
MT_EXE_COMMAND = mt.exe /manifest $@.manifest /outputresource:$@;\#1
|
||||
endif
|
||||
|
||||
|
||||
13
config/CONFIG.Host.cygwin-x86
Normal file
13
config/CONFIG.Host.cygwin-x86
Normal file
@@ -0,0 +1,13 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
|
||||
# cygwin-x86 is the new name for cygwin32
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.cygwin32
|
||||
@@ -20,6 +20,17 @@ include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
|
||||
|
||||
EXE=.exe
|
||||
|
||||
#==========================
|
||||
#These overrides remove -ansi because -ansi eliminates strdup
|
||||
GCC_ANSI = $(GCC)
|
||||
GCC_STRICT = $(GCC) -pedantic
|
||||
G++_NORMAL = $(G++) -pedantic
|
||||
G++_STRICT = $(G++) -pedantic
|
||||
|
||||
#==========================
|
||||
#This override will eliminate warnings for old R3.13 extensions
|
||||
#GCC_WARN_YES =
|
||||
|
||||
#==========================
|
||||
# These are overrides of ANSI and CPLUSPLUS values in CONFIG_SITE
|
||||
# since OS vendor compilers ACC and CCC are not defined here for cygwin32
|
||||
@@ -32,7 +43,7 @@ SHARED_LIBRARIES=NO
|
||||
#OP_SYS_INCLUDES += /usr/local/include/g++
|
||||
#==========================
|
||||
|
||||
ARCH_DEP_CFLAGS = -DCYGWIN32 -U_WIN32
|
||||
ARCH_DEP_CPPFLAGS = -DCYGWIN32 -U_WIN32
|
||||
ARCH_DEP_LDLIBS =
|
||||
OP_SYS_LDLIBS =
|
||||
|
||||
@@ -41,7 +52,9 @@ OP_SYS_LDLIBS =
|
||||
GCC_DEP_CFLAGS = -D_REENTRANT
|
||||
G++_DEP_CFLAGS = -D_REENTRANT
|
||||
|
||||
POSIX_CPPFLAGS_YES = -D_POSIX_SOURCE
|
||||
#POSIX_SOURCE eliminates select()
|
||||
#POSIX_CPPFLAGS_YES = -D_POSIX_SOURCE
|
||||
POSIX_CPPFLAGS_YES = -D_POSIX_THREADS -D_POSIX_TIMERS
|
||||
|
||||
# Runtime ldflags
|
||||
RUNTIME_LIBS =$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)\
|
||||
|
||||
14
config/CONFIG.Host.darwin-ppcx86
Normal file
14
config/CONFIG.Host.darwin-ppcx86
Normal file
@@ -0,0 +1,14 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.Darwin
|
||||
OP_SYS_CFLAGS += "-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386"
|
||||
OP_SYS_LDFLAGS += "-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386"
|
||||
12
config/CONFIG.Host.darwin-x86
Normal file
12
config/CONFIG.Host.darwin-x86
Normal file
@@ -0,0 +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$
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.Darwin
|
||||
40
config/CONFIG.Host.freebsd
Normal file
40
config/CONFIG.Host.freebsd
Normal file
@@ -0,0 +1,40 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2006 UChicago Argonne LLC, 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 is distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# $Id$
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
# Sites may override these definitions in CONFIG_SITE.Host.freebsd
|
||||
|
||||
OS_CLASS = freebsd
|
||||
ARCH_CLASS = x86_64
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
|
||||
|
||||
ARCH_DEP_CPPFLAGS += -D_X86_64_
|
||||
|
||||
CODE_CPPFLAGS = -D_REENTRANT
|
||||
|
||||
#POSIX_CPPFLAGS = -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS -D_XOPEN_SOURCE=500
|
||||
POSIX_CPPFLAGS = -D_POSIX_THREADS
|
||||
POSIX_LDLIBS = -lpthread
|
||||
|
||||
# -D_BSD_SOURCE for gethostname() in unistd.h as needed by cacChannelIO.cpp.
|
||||
OP_SYS_CPPFLAGS += -D_BSD_SOURCE
|
||||
OP_SYS_CPPFLAGS += -Dfreebsd
|
||||
#OP_SYS_LDLIBS += -lrt
|
||||
|
||||
# Set runtime path for shared libraries
|
||||
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-Wl,-rpath,%)
|
||||
|
||||
# Definitions used when COMMANDLINE_LIBRARY is READLINE
|
||||
LDLIBS_READLINE = -lreadline -lcurses
|
||||
|
||||
GNU_LDLIBS_YES = -lgcc_pic
|
||||
|
||||
12
config/CONFIG.Host.freebsd-x86_64
Normal file
12
config/CONFIG.Host.freebsd-x86_64
Normal file
@@ -0,0 +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$
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.freebsd
|
||||
@@ -7,18 +7,18 @@
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
TOP=../..
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.Linux
|
||||
|
||||
include $(TOP)/configure/CONFIG
|
||||
ARCH_CLASS = ppc
|
||||
|
||||
ifeq ($(findstring YES,$(COMPAT_313) $(COMPAT_TOOLS_313)),YES)
|
||||
SCRIPTS_HOST += $(subst ../,,$(wildcard ../*.pl))
|
||||
SCRIPTS_HOST += installEpics
|
||||
endif
|
||||
ARCH_DEP_CPPFLAGS += -D_ppc_
|
||||
|
||||
include $(TOP)/configure/RULES
|
||||
GNU_DIR = /usr
|
||||
|
||||
GCC = $(GNU_BIN)/gcc
|
||||
G++ = $(GNU_BIN)/g++
|
||||
|
||||
ARCH_DEP_LDLIBS = -lgcc
|
||||
|
||||
12
config/CONFIG.Host.linux-x86-debug
Normal file
12
config/CONFIG.Host.linux-x86-debug
Normal file
@@ -0,0 +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$
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.Linux
|
||||
18
config/CONFIG.Host.solaris-sparc64
Normal file
18
config/CONFIG.Host.solaris-sparc64
Normal file
@@ -0,0 +1,18 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
|
||||
# solaris-sparc is the new name for solaris
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.solaris
|
||||
|
||||
ARCH_DEP_CFLAGS += -xtarget=ultra -xarch=v9
|
||||
ARCH_DEP_CXXFLAGS += -xtarget=ultra -xarch=v9
|
||||
ARCH_DEP_LDFLAGS += -xtarget=ultra -xarch=v9
|
||||
|
||||
18
config/CONFIG.Host.solaris-sparc64-gnu
Normal file
18
config/CONFIG.Host.solaris-sparc64-gnu
Normal file
@@ -0,0 +1,18 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
|
||||
# solaris-sparc is the new name for solaris
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.solarisGnu
|
||||
|
||||
ARCH_DEP_CFLAGS += -mcpu=v9 -m64
|
||||
ARCH_DEP_CXXFLAGS += -mcpu=v9 -m64
|
||||
ARCH_DEP_LDFLAGS += -mcpu=v9 -m64
|
||||
|
||||
58
config/CONFIG.Host.win32-x86-cygwin
Normal file
58
config/CONFIG.Host.win32-x86-cygwin
Normal file
@@ -0,0 +1,58 @@
|
||||
#*************************************************************************
|
||||
# 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 is maintained by the EPICS community.
|
||||
# Sites may override these definitions in CONFIG_SITE.Host.win32-x86-cygwin
|
||||
|
||||
SHARED_LIBRARIES = NO
|
||||
|
||||
#ARCH_CLASS = WIN32
|
||||
ARCH_CLASS = cygwin
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
|
||||
|
||||
AR = ar -rc
|
||||
ARCMD = $(AR) $@
|
||||
RANLIB = ranlib -t
|
||||
|
||||
ANSI=GCC
|
||||
CPLUSPLUS=G++
|
||||
|
||||
# Dont use -ansi: -ansi eliminates strdup and _tempnam
|
||||
GCC_ANSI = $(GCC)
|
||||
GCC_STRICT = $(GCC) -pedantic
|
||||
G++_NORMAL = $(G++) -pedantic
|
||||
G++_STRICT = $(G++) -pedantic
|
||||
|
||||
# Dont use -fPIC: with -fPIC we get
|
||||
# "warning: -fPIC ignored for target (all code is position independent) "
|
||||
GCC_DEP_CFLAGS = -D_REENTRANT
|
||||
G++_DEP_CFLAGS = -D_REENTRANT
|
||||
|
||||
OP_SYS_CPPFLAGS = -mno-cygwin
|
||||
OP_SYS_CXXFLAGS += -D__cplusplus
|
||||
OP_SYS_LDFLAGS += -mno-cygwin
|
||||
|
||||
# With no-cygwin option:
|
||||
# compiler defines _X86_ 1
|
||||
# compiler defines __MSVCRT__ 1
|
||||
# compiler defines __MINGW32__ 1
|
||||
# compiler defines __WIN32 1
|
||||
# compiler defines __WIN32__ 1
|
||||
# compiler defines _WIN32 1
|
||||
# compiler defines WIN32 1
|
||||
# compiler defines WINNT 1
|
||||
# compiler does not define __unix __unix__ unix
|
||||
# compiler does not define __CYGWIN__ __CYGWIN32__
|
||||
|
||||
ARCH_DEP_LDLIBS = -lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm
|
||||
|
||||
12
config/CONFIG.Host.win32-x86-debug
Normal file
12
config/CONFIG.Host.win32-x86-debug
Normal file
@@ -0,0 +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$
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.WIN32
|
||||
43
config/CONFIG.Host.win32-x86-mingw
Normal file
43
config/CONFIG.Host.win32-x86-mingw
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$
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
# Sites may override these definitions in CONFIG_SITE.Host.win32-x86-mingw
|
||||
|
||||
ARCH_CLASS = WIN32
|
||||
|
||||
SHARED_LIBRARIES = NO
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
|
||||
|
||||
AR = ar -rc
|
||||
ARCMD = $(AR) $@
|
||||
RANLIB = ranlib -t
|
||||
|
||||
ANSI=GCC
|
||||
CPLUSPLUS=G++
|
||||
|
||||
# Compiler defines _X86_ 1
|
||||
|
||||
# Compiler defines __MSVCRT__ 1
|
||||
# Compiler defines __MINGW32__ 1
|
||||
# Compiler defines __WIN32 1
|
||||
# Compiler defines __WINNT 1
|
||||
# Compiler defines __WINNT__ 1
|
||||
# Compiler defines __WIN32__ 1
|
||||
# Compiler defines _WIN32 1
|
||||
# Compiler defines WIN32 1
|
||||
# Compiler defines WINNT 1
|
||||
# Compiler does not define __unix __unix__ unix
|
||||
|
||||
ARCH_DEP_LDLIBS = -lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm
|
||||
|
||||
@@ -52,6 +52,9 @@ EPICS_BASE = $(TOP)
|
||||
# EPICS include config file
|
||||
include $(EPICS_BASE)/config/CONFIG
|
||||
|
||||
-include $(EPICS_BASE)/configure/RELEASE
|
||||
-include $(EPICS_BASE)/configure/RELEASE.$(EPICS_HOST_ARCH)
|
||||
|
||||
ifdef INSTALL_LOCATION_BASE
|
||||
INSTALL_LOCATION = $(INSTALL_LOCATION_BASE)
|
||||
endif
|
||||
|
||||
@@ -10,24 +10,6 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# EPICS Version information
|
||||
#
|
||||
# This file is interpreted by the Bourne Shell (MakeRelease), so spaces are
|
||||
# not allowed around the '=' signs or in unquoted values.
|
||||
#
|
||||
# EPICS Version information now comes from configure...
|
||||
|
||||
EPICS_VERSION=3
|
||||
EPICS_REVISION=14
|
||||
EPICS_MODIFICATION=8
|
||||
EPICS_UPDATE_NAME=
|
||||
EPICS_UPDATE_LEVEL=0
|
||||
|
||||
EPICS_LOCAL_NAME=B
|
||||
EPICS_LOCAL_VERSION=0
|
||||
|
||||
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$$"
|
||||
CVS_TAG="\$$Name$$"
|
||||
|
||||
BASE_3_14=YES
|
||||
include $(EPICS_BASE)/configure/CONFIG_BASE_VERSION
|
||||
|
||||
@@ -90,7 +90,7 @@ GCC_STRICT = $(GCC) -ansi -pedantic
|
||||
GCC_TRAD = $(GCC)
|
||||
GCC_DEP_CFLAGS = -fPIC -D_REENTRANT
|
||||
|
||||
GCC_WARN_YES = -Wall -Wtraditional -Wmissing-prototypes -Wstrict-prototypes
|
||||
GCC_WARN_YES = -Wall -Wmissing-prototypes -Wstrict-prototypes
|
||||
GCC_WARN_NO = -w
|
||||
GCC_OPT_YES = -O3
|
||||
GCC_OPT_NO = -g
|
||||
|
||||
@@ -21,8 +21,9 @@ ARCH_solarisNonshared = solaris-sparc-nonshared
|
||||
ARCH_solaris = solaris-sparc
|
||||
ARCH_sun4 = sun4-sparc
|
||||
ARCH_Linux = linux-x86
|
||||
ARCH_freebsd = freebsd-x86_64
|
||||
ARCH_WIN32 = win32-x86
|
||||
ARCH_hp700 = hpux-m68k
|
||||
ARCH_hp700 = hpux-parisc
|
||||
ARCH_alpha = osf-alpha
|
||||
ARCH_Borland = win32-x86-borland
|
||||
ARCH_cygwin32 = cygwin-x86
|
||||
|
||||
23
config/CONFIG_HOST_ARCH.cygwin-x86
Normal file
23
config/CONFIG_HOST_ARCH.cygwin-x86
Normal file
@@ -0,0 +1,23 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# CONFIG_HOST_ARCH.cygwin-x86
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||
|
||||
EXE=.exe
|
||||
HOSTEXE=.exe
|
||||
|
||||
TORNADO=YES
|
||||
|
||||
WIND_HOST_TYPE = x86-win32
|
||||
|
||||
12
config/CONFIG_HOST_ARCH.darwin-ppcx86
Normal file
12
config/CONFIG_HOST_ARCH.darwin-ppcx86
Normal file
@@ -0,0 +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$
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.Darwin
|
||||
12
config/CONFIG_HOST_ARCH.darwin-x86
Normal file
12
config/CONFIG_HOST_ARCH.darwin-x86
Normal file
@@ -0,0 +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$
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.Darwin
|
||||
14
config/CONFIG_HOST_ARCH.freebsd-x86_64
Normal file
14
config/CONFIG_HOST_ARCH.freebsd-x86_64
Normal file
@@ -0,0 +1,14 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2006 UChicago Argonne LLC, 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 is distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# $Id$
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||
|
||||
WIND_HOST_TYPE = i386-linux2
|
||||
|
||||
14
config/CONFIG_HOST_ARCH.linux-ppc
Normal file
14
config/CONFIG_HOST_ARCH.linux-ppc
Normal file
@@ -0,0 +1,14 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.Linux
|
||||
|
||||
WIND_HOST_TYPE = ppc-linux
|
||||
15
config/CONFIG_HOST_ARCH.linux-x86-debug
Normal file
15
config/CONFIG_HOST_ARCH.linux-x86-debug
Normal file
@@ -0,0 +1,15 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
|
||||
# linux-x86 is the new name for linux
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.Linux
|
||||
|
||||
HOST_OPT = NO
|
||||
@@ -11,3 +11,4 @@
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.solaris
|
||||
|
||||
HOST_OPT = NO
|
||||
|
||||
13
config/CONFIG_HOST_ARCH.solaris-sparc64
Normal file
13
config/CONFIG_HOST_ARCH.solaris-sparc64
Normal file
@@ -0,0 +1,13 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
|
||||
# solaris-sparc is the new name for solaris
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.solaris
|
||||
13
config/CONFIG_HOST_ARCH.solaris-sparc64-gnu
Normal file
13
config/CONFIG_HOST_ARCH.solaris-sparc64-gnu
Normal file
@@ -0,0 +1,13 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.solarisGnu
|
||||
|
||||
20
config/CONFIG_HOST_ARCH.win32-x86-cygwin
Normal file
20
config/CONFIG_HOST_ARCH.win32-x86-cygwin
Normal file
@@ -0,0 +1,20 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
#
|
||||
# Override values in CONFIG_SITE_HOST_ARCH.win32-x86-cygwin
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||
|
||||
HOSTEXE=.exe
|
||||
|
||||
WIND_HOST_TYPE = x86-win32
|
||||
|
||||
14
config/CONFIG_HOST_ARCH.win32-x86-debug
Normal file
14
config/CONFIG_HOST_ARCH.win32-x86-debug
Normal file
@@ -0,0 +1,14 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.WIN32
|
||||
|
||||
HOST_OPT = NO
|
||||
29
config/CONFIG_HOST_ARCH.win32-x86-mingw
Normal file
29
config/CONFIG_HOST_ARCH.win32-x86-mingw
Normal file
@@ -0,0 +1,29 @@
|
||||
#*************************************************************************
|
||||
# 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$
|
||||
#
|
||||
# Override values in CONFIG_SITE_HOST_ARCH.win32-x86-mingw
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||
|
||||
EXE=.exe
|
||||
HOSTEXE=.exe
|
||||
|
||||
CP =$(PERL) $(EPICS_BASE_TOOLS)/cp.pl
|
||||
MV =$(PERL) $(EPICS_BASE_TOOLS)/mv.pl
|
||||
RM =$(PERL) $(EPICS_BASE_TOOLS)/rm.pl -f
|
||||
MKDIR=$(PERL) $(EPICS_BASE_TOOLS)/mkdir.pl
|
||||
RMDIR=$(PERL) $(EPICS_BASE_TOOLS)/rm.pl -rf
|
||||
CHMOD=echo
|
||||
ECHO=echo
|
||||
|
||||
WIND_HOST_TYPE = x86-win32
|
||||
|
||||
5
config/CONFIG_SITE.Host.darwin-x86
Normal file
5
config/CONFIG_SITE.Host.darwin-x86
Normal file
@@ -0,0 +1,5 @@
|
||||
# $Id$
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG_SITE.Host.Darwin
|
||||
|
||||
SHARED_LIBRARIES=NO
|
||||
4
config/CONFIG_SITE.Host.solaris-sparc64
Normal file
4
config/CONFIG_SITE.Host.solaris-sparc64
Normal file
@@ -0,0 +1,4 @@
|
||||
# $Id$
|
||||
|
||||
# solaris-sparc is the new name for solaris
|
||||
-include $(EPICS_BASE)/config/CONFIG_SITE.Host.solaris
|
||||
@@ -20,6 +20,9 @@ INSTALL_CONFIG = $(INSTALL_LOCATION)/config
|
||||
|
||||
CONFIGS += $(subst ../,,$(wildcard ../CONFIG*))
|
||||
CONFIGS += $(subst ../,,$(wildcard ../RULES*))
|
||||
|
||||
CONFIGS += $(subst ../,,$(wildcard ../tools/*.pl))
|
||||
|
||||
endif
|
||||
|
||||
include $(TOP)/configure/RULES
|
||||
|
||||
@@ -427,6 +427,7 @@ else
|
||||
$(PRODNAME): $(PRODNAME_OBJS) $(PRODNAME_RESS)
|
||||
@$(RM) $@
|
||||
$(PRODNAME_LINKER) $(PRODNAME_OBJS) $(PRODNAME_RESS) $(LDLIBS)
|
||||
$(MT_EXE_COMMAND)
|
||||
|
||||
endif
|
||||
endif # ifdef PRODNAME_SRCS
|
||||
@@ -738,6 +739,7 @@ $(DLL_LINK_LIBNAME) $(SHRLIBNAME): $(LIBOBJS) $(LIBNAME_RESS)
|
||||
else
|
||||
$(DLL_LINK_LIBNAME) $(SHRLIBNAME): $(LIBOBJS) $(LIBNAME_RESS)
|
||||
$(LINK.shrlib) $(LIBOBJS) $(DLL_LDLIBS) $(LIBNAME_RESS)
|
||||
$(MT_DLL_COMMAND)
|
||||
|
||||
endif
|
||||
ifdef BORLANDC
|
||||
|
||||
31
config/tools/useManifestTool.pl
Executable file
31
config/tools/useManifestTool.pl
Executable file
@@ -0,0 +1,31 @@
|
||||
eval 'exec perl -S -w $0 ${1+"$@"}' # -*- Mode: perl -*-
|
||||
if 0;
|
||||
|
||||
#
|
||||
# Use MS Visual C++ compiler version number to determine if
|
||||
# we want to use the Manifest Tool (status=1) or not (status=0)
|
||||
#
|
||||
# VC compiler versions >= 14.00 will have status=1
|
||||
# VC compiler versions 10.00 - 13.10 will have status=0
|
||||
# EPICS builds with older VC compilers is not supported
|
||||
#
|
||||
|
||||
my $versionString=`cl 2>&1`;
|
||||
|
||||
if ($versionString =~ m/Version 14./) {
|
||||
$status=1;
|
||||
} elsif ($versionString =~ m/Version 13.10/){
|
||||
$status=0;
|
||||
} elsif ($versionString =~ m/Version 13.0/){
|
||||
$status=0;
|
||||
} elsif ($versionString =~ m/Version 12./){
|
||||
$status=0;
|
||||
} elsif ($versionString =~ m/Version 11./){
|
||||
$status=0;
|
||||
} elsif ($versionString =~ m/Version 10./){
|
||||
$status=0;
|
||||
} else {
|
||||
$status=1;
|
||||
}
|
||||
print "$status\n";
|
||||
exit;
|
||||
@@ -17,12 +17,19 @@
|
||||
# Common build definitions
|
||||
#
|
||||
|
||||
CONFIG ?= $(TOP)/configure
|
||||
ifndef EPICS_BASE
|
||||
EPICS_BASE = $(INSTALL_LOCATION)
|
||||
CONFIG = $(TOP)/configure
|
||||
BASE_TOP=YES
|
||||
else
|
||||
CONFIG = $(EPICS_BASE)/configure
|
||||
endif
|
||||
|
||||
-include $(CONFIG)/os/CONFIG_COMPAT
|
||||
|
||||
-include $(CONFIG)/RELEASE
|
||||
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH)
|
||||
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH).Common
|
||||
ifdef T_A
|
||||
-include $(CONFIG)/RELEASE.Common.$(T_A)
|
||||
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH).$(T_A)
|
||||
@@ -33,12 +40,15 @@ include $(CONFIG)/CONFIG_COMMON
|
||||
# Base-specific build options
|
||||
#
|
||||
include $(CONFIG)/CONFIG_BASE
|
||||
include $(CONFIG)/CONFIG_BASE_VERSION
|
||||
|
||||
# Site-specific build options
|
||||
#
|
||||
include $(CONFIG)/CONFIG_SITE
|
||||
|
||||
# Version numbering
|
||||
#
|
||||
include $(CONFIG)/CONFIG_BASE_VERSION
|
||||
|
||||
# Host architecture specific definitions
|
||||
#
|
||||
include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).Common
|
||||
|
||||
@@ -27,7 +27,7 @@ CROSS_INCLUDES = $(addprefix -I,$(GNU_TARGET_INCLUDE_DIR))
|
||||
CROSS_LDFLAGS = $(addprefix -L,$(GNU_TARGET_LIB_DIR))
|
||||
|
||||
CMPLR_PREFIX_CROSS=$(addsuffix -,$(GNU_TARGET))
|
||||
CMPLR_PREFIX=$(CMPLR_PREFIX_$(BUILD_CLASSS))
|
||||
CMPLR_PREFIX=$(CMPLR_PREFIX_$(BUILD_CLASS))
|
||||
|
||||
# All cross builds use the gnu compiler
|
||||
include $(CONFIG)/CONFIG.gnuCommon
|
||||
|
||||
@@ -51,9 +51,9 @@
|
||||
# PROD products to build and install
|
||||
# PROD_HOST products to build and install
|
||||
# PROD_IOC products to build and install
|
||||
# TESTPROD products to build and install
|
||||
# TESTPROD_HOST products to build and install
|
||||
# TESTPROD_IOC products to build and install
|
||||
# TESTPROD products to build
|
||||
# TESTPROD_HOST products to build
|
||||
# TESTPROD_IOC products to build
|
||||
# LIBRARY products to build and install
|
||||
# LIBRARY_HOST products to build and install
|
||||
# LIBRARY_IOC products to build and install
|
||||
@@ -62,6 +62,9 @@
|
||||
# SCRIPTS scripts and install
|
||||
# SCRIPTS_HOST host system scripts to install
|
||||
# SCRIPTS_IOC ioc system scripts to install
|
||||
# TESTSCRIPTS scripts
|
||||
# TESTSCRIPTS_HOST host system scripts
|
||||
# TESTSCRIPTS_IOC ioc system scripts
|
||||
# OBJS object files to build and install
|
||||
# OBJS_HOST host system object files to build and install
|
||||
# OBJS_IOC ioc system object files to build and install
|
||||
@@ -493,6 +496,33 @@ SCRIPTS_HOST+=$(SCRIPTS_HOST_DEFAULT)
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# concat specific scripts
|
||||
#
|
||||
ifneq ($(strip $(TESTSCRIPTS_$(OS_CLASS))),)
|
||||
TESTSCRIPTS += $(subst -nil-,,$(TESTSCRIPTS_$(OS_CLASS)))
|
||||
else
|
||||
ifdef TESTSCRIPTS_DEFAULT
|
||||
TESTSCRIPTS += $(TESTSCRIPTS_DEFAULT)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(TESTSCRIPTS_IOC_$(OS_CLASS))),)
|
||||
TESTSCRIPTS_IOC+=$(subst -nil-,,$(TESTSCRIPTS_IOC_$(OS_CLASS)))
|
||||
else
|
||||
ifneq (,$(strip $(TESTSCRIPTS_IOC_DEFAULT)))
|
||||
TESTSCRIPTS_IOC+=$(TESTSCRIPTS_IOC_DEFAULT)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(TESTSCRIPTS_HOST_$(OS_CLASS))),)
|
||||
TESTSCRIPTS_HOST+=$(subst -nil-,,$(TESTSCRIPTS_HOST_$(OS_CLASS)))
|
||||
else
|
||||
ifneq (,$(strip $(TESTSCRIPTS_HOST_DEFAULT)))
|
||||
TESTSCRIPTS_HOST+=$(TESTSCRIPTS_HOST_DEFAULT)
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# concat specific resource files
|
||||
#
|
||||
|
||||
@@ -8,10 +8,6 @@
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
|
||||
ifndef EPICS_BASE
|
||||
EPICS_BASE = $(INSTALL_LOCATION)
|
||||
endif
|
||||
|
||||
#---------------------------------------------------------------
|
||||
# Epics base directories
|
||||
|
||||
@@ -38,10 +34,10 @@ EPICS_BASE_HOST_LIBS += ca Com
|
||||
#---------------------------------------------------------------
|
||||
# Version number for base shared libraries (and win32 products)
|
||||
|
||||
ifeq ($(EPICS_BASE),$(TOP))
|
||||
ifdef BASE_TOP
|
||||
SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION)
|
||||
PROD_VERSION = $(EPICS_VERSION).$(EPICS_REVISION)
|
||||
endif # EPICS_BASE
|
||||
endif # BASE_TOP
|
||||
|
||||
#---------------------------------------------------------------
|
||||
# Base c preprocessor flags
|
||||
|
||||
@@ -1,30 +1,50 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# Copyright (c) 2006 UChicago Argonne LLC, 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.
|
||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
||||
# in the file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# EPICS Version information
|
||||
#
|
||||
# This file is interpreted by the Bourne Shell (MakeRelease), so spaces are
|
||||
# not allowed around the '=' signs or in unquoted values.
|
||||
# Only the person making an official EPICS release should make changes in
|
||||
# this file.
|
||||
#
|
||||
# EPICS_SITE_VERSION is defined in CONFIG_SITE for sites that want a local
|
||||
# version number to be included in the reported version string.
|
||||
|
||||
EPICS_VERSION=3
|
||||
EPICS_REVISION=14
|
||||
EPICS_MODIFICATION=8
|
||||
EPICS_UPDATE_NAME=
|
||||
EPICS_UPDATE_LEVEL=0
|
||||
BASE_3_14=YES
|
||||
|
||||
EPICS_VERSION_STRING="EPICS Version ${EPICS_VERSION}.${EPICS_REVISION}.${EPICS_MODIFICATION}.${EPICS_UPDATE_NAME}${EPICS_UPDATE_LEVEL}"
|
||||
EPICS_VERSION = 3
|
||||
EPICS_REVISION = 14
|
||||
|
||||
# This part may contain letters, eg 0beta1
|
||||
EPICS_MODIFICATION = 9
|
||||
|
||||
# Not included if zero
|
||||
EPICS_PATCH_LEVEL = 0
|
||||
|
||||
# This will be -CVS or empty at an official release point
|
||||
#EPICS_CVS_SNAPSHOT=-CVS
|
||||
EPICS_CVS_SNAPSHOT=-pre1
|
||||
|
||||
# No changes should be needed below here
|
||||
|
||||
ifneq ($(EPICS_PATCH_LEVEL),0)
|
||||
EPICS_PATCH_VSTRING=.$(EPICS_PATCH_LEVEL)
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(EPICS_SITE_VERSION)),)
|
||||
EPICS_SITE_VSTRING=-$(EPICS_SITE_VERSION)
|
||||
endif
|
||||
|
||||
EPICS_SHORT_VERSION=$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)$(EPICS_PATCH_VSTRING)
|
||||
EPICS_VERSION_NUMBER=$(EPICS_SHORT_VERSION)$(EPICS_CVS_SNAPSHOT)$(EPICS_SITE_VSTRING)
|
||||
EPICS_VERSION_STRING="EPICS Version $(EPICS_VERSION_NUMBER)"
|
||||
|
||||
CVS_DATE="\$$Date$$"
|
||||
CVS_TAG="\$$Name$$"
|
||||
|
||||
BASE_3_14=YES
|
||||
|
||||
@@ -37,15 +37,20 @@ BUILD_ARCHS = $(EPICS_HOST_ARCH) $(CROSS1) $(CROSS2)
|
||||
# otherwise override this in os/CONFIG_SITE.<host_arch>.Common
|
||||
PERL=perl
|
||||
|
||||
#-------------------------------------------------------
|
||||
# dbst based database optimization default
|
||||
DB_OPT = NO
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Check configure/RELEASE file for consistency
|
||||
CHECK_RELEASE_YES = checkRelease
|
||||
CHECK_RELEASE_NO =
|
||||
CHECK_RELEASE_WARN = warnRelease
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Directories
|
||||
|
||||
INSTALL_LOCATION ?= $(TOP)
|
||||
INSTALL_LOCATION = $(TOP)
|
||||
TOOLS = $(CONFIG)/tools
|
||||
|
||||
INSTALL_LOCATION_LIB = $(INSTALL_LOCATION)/lib
|
||||
@@ -105,6 +110,8 @@ OBJ = .
|
||||
RES = .
|
||||
CMPLR_SUFFIX=
|
||||
CMPLR_PREFIX=
|
||||
LIB_PREFIX=
|
||||
SHRLIB_PREFIX= $(LIB_PREFIX)
|
||||
|
||||
#-------------------------------------------------------
|
||||
# tools for installing libraries and products
|
||||
@@ -223,7 +230,7 @@ TARGET_LDFLAGS = $($*_LDFLAGS)
|
||||
# Level of ansi conformance flags
|
||||
CONFORM_CPPFLAGS = $(CONFORM_CPPFLAGS_$(CMPLR))
|
||||
CONFORM_CFLAGS = $(CONFORM_CFLAGS_$(CMPLR))
|
||||
CONFORM_CXXFLAGS = $(CONFORM_CXXFLAGS_$(CMPLR))
|
||||
CONFORM_CXXFLAGS = $(CONFORM_CXXFLAGS_$(CXXCMPLR))
|
||||
|
||||
# Warnings flags
|
||||
WARN_CFLAGS = $(WARN_CFLAGS_$($(BUILD_CLASS)_WARN))
|
||||
|
||||
@@ -1,36 +1,30 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# Copyright (c) 2006 UChicago Argonne LLC, 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.
|
||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
||||
# in the file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# CONFIG_SITE - config file
|
||||
# by Matthew Needes and Mike Bordua
|
||||
#
|
||||
# This file is to be modified by the build system manager
|
||||
# only.
|
||||
# CONFIG_SITE - Global site configuration file
|
||||
#
|
||||
|
||||
|
||||
# The host architecture performing the build,
|
||||
# i.e.: the arch running DCT/getrel/etc.
|
||||
# <operating system>-<architecture>[-<alternate compiler>]
|
||||
# The host architecture performing the build, in the form
|
||||
# <operating system>-<architecture>[-<toolset>]
|
||||
#
|
||||
# Currently Supporting:
|
||||
# aix-ppc (HP compiler used for host builds)
|
||||
# aix-ppc (IBM compiler used for host builds)
|
||||
# aix-ppc-gnu (GNU compiler used for host builds)
|
||||
# cygwin-x86 (cygwin compiler used for host builds)
|
||||
# darwin-ppc
|
||||
# darwin-ppc (PowerPC based Apple running OSX)
|
||||
# darwin-x86 (Intel based Apple running OSX)
|
||||
# darwin-ppcx86 (Universal binaries for both CPUs)
|
||||
# hpux-parisc (HP compiler used for host builds)
|
||||
# hpux-parisc-gnu (GNU compiler used for host builds)
|
||||
# linux-ppc (GNU compiler used for host builds)
|
||||
# linux-ppc-bgl
|
||||
# linux-x86 (GNU compiler used for host builds)
|
||||
# linux-x86_64 (GNU compiler used for host builds)
|
||||
# linux-x86-borland (Borland C++ compiler used for host builds)
|
||||
@@ -41,9 +35,9 @@
|
||||
# solaris-x86 (sun compiler used for host builds)
|
||||
# solaris-x86-gnu (GNU compiler used for host builds)
|
||||
# win32-x86 (MS Visual C++ compiler used for host builds)
|
||||
# win32-x86_mingw (MinGW compiler used for host builds)
|
||||
# win32-x86-mingw (MinGW compiler used for host builds)
|
||||
# win32-x86-borland (Borland C++ compiler used for host builds)
|
||||
# win32-x86-cygwin (cygwin GNU compiler used for host builds)
|
||||
# win32-x86-cygwin (WIN32 API with cygwin GNU compiler used for host builds)
|
||||
|
||||
# Debugging builds
|
||||
# linux-x86-debug (GNU compiler with -g option for host builds)
|
||||
@@ -55,7 +49,7 @@
|
||||
# EPICS_HOST_ARCH is a required environment variable
|
||||
# Do not set EPICS_HOST_ARCH in this file.
|
||||
# Use base/startup files to set EPICS_HOST_ARCH or
|
||||
# set EPICS_HOST_ARCH on the GNU make command line.
|
||||
# provide EPICS_HOST_ARCH on the GNU make command line.
|
||||
|
||||
# The cross-compiler architectures to build EPICS for
|
||||
#
|
||||
@@ -65,7 +59,6 @@
|
||||
# linux-586 (linux-x86 host)
|
||||
# linux-686 (linux-x86 host)
|
||||
# linux-athlon (linux-x86 host)
|
||||
# linuxRT-mvme2100 (linux-x86 host)
|
||||
# vxWorks-486
|
||||
# vxWorks-68040
|
||||
# vxWorks-68040lc
|
||||
@@ -75,8 +68,6 @@
|
||||
# vxWorks-ppc603_long
|
||||
# vxWorks-ppc604
|
||||
# vxWorks-ppc604_long
|
||||
# vxWorks6-mv2100
|
||||
# vxWorks6-mv5100
|
||||
# RTEMS-gen68360
|
||||
# RTEMS-mcp750
|
||||
# RTEMS-mvme167
|
||||
@@ -86,8 +77,6 @@
|
||||
# RTEMS-psim
|
||||
# RTEMS-uC5282
|
||||
#
|
||||
# Debugging builds
|
||||
# vxWorks-68040-debug
|
||||
|
||||
# Definitions of CROSS_COMPILER_TARGET_ARCHS in
|
||||
# configure/os/CONFIG_SITE.<host>.Common files will
|
||||
@@ -158,7 +147,7 @@ CROSS_WARN=YES
|
||||
# NOTE: Set to YES only if you have existing R3.13 extensions to be
|
||||
# built with this base
|
||||
#
|
||||
COMPAT_TOOLS_313=NO
|
||||
#COMPAT_TOOLS_313=YES
|
||||
|
||||
# Create and/or install files for R3.13 ioc application and extension builds?
|
||||
# must be either YES or NO
|
||||
@@ -169,8 +158,14 @@ COMPAT_TOOLS_313=NO
|
||||
COMPAT_313=NO
|
||||
|
||||
# Installation directory
|
||||
#Note: INSTALL_LOCATION definition moved to configure/RELEASE file
|
||||
# If you don't want to install into $(TOP) dir then
|
||||
# define INSTALL_LOCATION here
|
||||
#INSTALL_LOCATION=<fullpathname>
|
||||
|
||||
# Use POSIX thread priority scheduling (YES or NO)
|
||||
USE_POSIX_THREAD_PRIORITY_SCHEDULING = NO
|
||||
|
||||
# Site version number, if set will append '-' and this string to the
|
||||
# EPICS version number string that is reported by many tools
|
||||
EPICS_SITE_VERSION =
|
||||
|
||||
|
||||
@@ -33,15 +33,15 @@
|
||||
# where the start and end are mmddhh - that is month,day,hour
|
||||
# eg EPICS_TIMEZONE=CUS::360:033102:102802
|
||||
#
|
||||
# DST for 2006 US: Apr 2 - Oct 29
|
||||
# EU: Mar 26 - Oct 29
|
||||
# DST for 2007 US: Mar 11 - Nov 04
|
||||
# EU: Mar 25 - Oct 28
|
||||
# (see: http://www.worldtimezone.org/daylight.html)
|
||||
#
|
||||
# EPICS_TS_NTP_INET
|
||||
# NTP or Unix time server ip address. Uses boot host if not set.
|
||||
|
||||
EPICS_TIMEZONE=CUS::360:040202:102902
|
||||
#EPICS_TIMEZONE=MET::-60:032602:102902
|
||||
EPICS_TIMEZONE=CUS::360:031102:110402
|
||||
#EPICS_TIMEZONE=MET::-60:032502:102802
|
||||
EPICS_TS_NTP_INET=
|
||||
|
||||
# IOC Shell:
|
||||
|
||||
@@ -9,17 +9,13 @@
|
||||
#*************************************************************************
|
||||
# RELEASE: Define location of external EPICS products
|
||||
|
||||
# Define INSTALL_LOCATION in CONFIG_SITE
|
||||
|
||||
# VX_DIR definition now in os/CONFIG_SITE.Common.vxWorksCommon
|
||||
# RTEMS_BASE (and RTEMS_VERSION) now in os/CONFIG_SITE.Common.RTEMS
|
||||
|
||||
# NB: Settings in RELEASE files can be overridden in files named
|
||||
# RELEASE.$(EPICS_HOST_ARCH)
|
||||
# RELEASE.Common.$(OS_CLASS)Common
|
||||
# RELEASE.$(EPICS_HOST_ARCH).Common
|
||||
# RELEASE.Common.$(T_A)
|
||||
# RELEASE.$(EPICS_HOST_ARCH).$(T_A)
|
||||
|
||||
# If you don't want to install into $(TOP) dir then
|
||||
# define INSTALL_LOCATION here
|
||||
#INSTALL_LOCATION=<fullpathname>
|
||||
#INSTALL_LOCATION=/home/phoebus/JBA/install
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# Copyright (c) 2006 UChicago Argonne LLC, 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.
|
||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
||||
# in the file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
@@ -20,8 +19,9 @@ rebuild: clean install
|
||||
ACTIONS = inc
|
||||
ACTIONS += build
|
||||
ACTIONS += install
|
||||
ACTIONS += buildInstall
|
||||
ACTIONS += browse
|
||||
ACTIONS += buildInstall
|
||||
ACTIONS += browse
|
||||
ACTIONS += runtests
|
||||
|
||||
actionPart = $(word 1, $(subst $(DIVIDER), ,$@))
|
||||
archPart = $(word 2, $(subst $(DIVIDER), ,$@))
|
||||
@@ -41,7 +41,7 @@ $(BUILD_ARCHS) : % : O.% O.Common
|
||||
|
||||
$(ACTIONS):%: $(foreach arch, $(BUILD_ARCHS), %$(DIVIDER)$(arch))
|
||||
|
||||
$(buildDirs):
|
||||
$(buildDirs):
|
||||
$(PERL) $(TOOLS)/makeMakefile.pl $@ $(TOP)/..
|
||||
|
||||
O.Common:
|
||||
@@ -54,14 +54,19 @@ O.Common:
|
||||
targetReleaseFiles = $(wildcard $(foreach arch, $(BUILD_ARCHS), \
|
||||
$(TOP)/configure/RELEASE.Common.$(arch) \
|
||||
$(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).$(arch)))
|
||||
|
||||
checkReleaseTargets = $(addprefix checkRelease, $(suffix $(targetReleaseFiles)))
|
||||
|
||||
checkRelease: $(checkReleaseTargets)
|
||||
$(PERL) $(TOOLS)/convertRelease.pl -h $(EPICS_HOST_ARCH) $@
|
||||
|
||||
$(PERL) $(TOOLS)/convertRelease.pl -h $(EPICS_HOST_ARCH) checkRelease
|
||||
$(checkReleaseTargets):checkRelease.%:
|
||||
$(PERL) $(TOOLS)/convertRelease.pl -h $(EPICS_HOST_ARCH) -a $* checkRelease
|
||||
|
||||
warnReleaseTargets = $(addprefix warnRelease, $(suffix $(targetReleaseFiles)))
|
||||
warnRelease: $(warnReleaseTargets)
|
||||
-$(PERL) $(TOOLS)/convertRelease.pl -h $(EPICS_HOST_ARCH) checkRelease
|
||||
$(warnReleaseTargets):warnRelease.%:
|
||||
-$(PERL) $(TOOLS)/convertRelease.pl -h $(EPICS_HOST_ARCH) -a $* checkRelease
|
||||
|
||||
#
|
||||
# special clean rule
|
||||
#
|
||||
@@ -74,7 +79,7 @@ archclean ::
|
||||
$(cleanArchTargets) ::
|
||||
$(RMDIR) O.$(archPart)
|
||||
|
||||
realclean ::
|
||||
realclean ::
|
||||
$(RMDIR) O.*
|
||||
|
||||
.PHONY : $(actionArchTargets)
|
||||
@@ -82,4 +87,3 @@ realclean ::
|
||||
.PHONY : $(BUILD_ARCHS)
|
||||
.PHONY : $(ACTIONS) clean realclean archclean all
|
||||
.PHONY : checkRelease $(checkReleaseTargets)
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# Copyright (c) 2006 UChicago Argonne LLC, 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.
|
||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
||||
# in the file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# $Id$
|
||||
#
|
||||
@@ -40,6 +39,7 @@ LOADABLE_LIBRARY += $(LOADABLE_LIBRARY_HOST)
|
||||
OBJS += $(OBJS_HOST)
|
||||
PROD += $(PROD_HOST)
|
||||
SCRIPTS += $(SCRIPTS_HOST)
|
||||
TESTSCRIPTS += $(TESTSCRIPTS_HOST)
|
||||
TESTPROD += $(TESTPROD_HOST)
|
||||
endif
|
||||
|
||||
@@ -48,6 +48,7 @@ LIBRARY += $(LIBRARY_IOC)
|
||||
OBJS += $(OBJS_IOC)
|
||||
PROD += $(PROD_IOC)
|
||||
SCRIPTS += $(SCRIPTS_IOC)
|
||||
TESTSCRIPTS += $(TESTSCRIPTS_IOC)
|
||||
TESTPROD += $(TESTPROD_IOC)
|
||||
endif
|
||||
|
||||
@@ -118,7 +119,7 @@ rebuild: clean install
|
||||
build : inc
|
||||
|
||||
build: $(OBJSNAME) $(LIBTARGETS) $(PRODTARGETS) $(TESTPRODNAME) \
|
||||
$(TARGETS)
|
||||
$(TARGETS) $(TESTSCRIPTS)
|
||||
|
||||
inc : $(COMMON_INC) $(INSTALL_INC)
|
||||
|
||||
@@ -144,7 +145,7 @@ clean::
|
||||
@$(RM) *.i *$(OBJ) *.a $(TESTPRODNAME) $(LIBNAME) $(SHRLIBNAME)\
|
||||
$(INC) *$(RES) $(TARGETS) $(DLL_LINK_LIBNAME) $(TDS) \
|
||||
*.out MakefileInclude $(LOADABLE_SHRLIBNAME) *.manifest *.exp \
|
||||
$(COMMON_INC) $(HDEPENDS_FILES) $(PRODTARGETS)
|
||||
$(COMMON_INC) $(HDEPENDS_FILES) $(PRODTARGETS) $(TESTSCRIPTS)
|
||||
ifdef BAF
|
||||
@$(RM) $(PROD_BAF) $(LIB_BAF) *$(BOF)
|
||||
endif
|
||||
@@ -161,12 +162,17 @@ $(DIRECTORY_TARGETS) :
|
||||
# The order of the following rules is
|
||||
# VERY IMPORTANT !!!!
|
||||
|
||||
$(TESTPRODNAME) $(PRODNAME):%$(EXE): $(PRODUCT_OBJS) $(PROD_RESS) $(PROD_DEPLIBS)
|
||||
$(TESTPRODNAME) $(PRODNAME): $(PRODUCT_OBJS) $(PROD_RESS) $(PROD_DEPLIBS)
|
||||
|
||||
$(TESTPRODNAME) $(PRODNAME):%$(EXE):
|
||||
@$(RM) $@
|
||||
$(DEBUGCMD) $(LINK.cpp)
|
||||
$(MT_EXE_COMMAND)
|
||||
|
||||
# object libs for R3.13 vxWorks compatibility only
|
||||
$(OBJLIBNAME):%$(OBJ): $(OBJLIB_LD_OBJS)
|
||||
$(OBJLIBNAME): $(OBJLIB_LD_OBJS)
|
||||
|
||||
$(OBJLIBNAME):%$(OBJ):
|
||||
@$(RM) $@
|
||||
$(OBJLIB_LINK.cpp)
|
||||
|
||||
@@ -259,22 +265,32 @@ $(LIBNAME): ../baseLIBOBJS
|
||||
endif
|
||||
|
||||
# rule for lib (archive of object files) creation
|
||||
$(LIBNAME): $(LIB_PREFIX)%$(LIB_SUFFIX): $(LIBRARY_OBJS)
|
||||
$(LIBNAME): $(LIBRARY_OBJS)
|
||||
|
||||
$(LIBNAME): $(LIB_PREFIX)%$(LIB_SUFFIX):
|
||||
@$(RM) $@
|
||||
$(ARCMD)
|
||||
ifneq ($(strip $(RANLIB)),)
|
||||
$(RANLIB) $@
|
||||
endif # RANLIB
|
||||
|
||||
$(DLL_LINK_LIBNAME):$(LIB_PREFIX)%.lib: $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS)
|
||||
$(DLL_LINK_LIBNAME): $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS)
|
||||
|
||||
$(DLL_LINK_LIBNAME):$(SHRLIB_PREFIX)%.lib:
|
||||
@$(RM) $@
|
||||
$(LINK.shrlib)
|
||||
$(MT_DLL_COMMAND)
|
||||
|
||||
$(SHRLIBNAME):$(LIB_PREFIX)%$(SHRLIB_SUFFIX): $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS)
|
||||
$(SHRLIBNAME): $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS)
|
||||
|
||||
$(SHRLIBNAME):$(SHRLIB_PREFIX)%$(SHRLIB_SUFFIX):
|
||||
@$(RM) $@
|
||||
$(LINK.shrlib)
|
||||
$(MT_DLL_COMMAND)
|
||||
|
||||
$(LOADABLE_SHRLIBNAME):$(LOADABLE_SHRLIB_PREFIX)%$(LOADABLE_SHRLIB_SUFFIX): $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS)
|
||||
$(LOADABLE_SHRLIBNAME): $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS)
|
||||
|
||||
$(LOADABLE_SHRLIBNAME):$(LOADABLE_SHRLIB_PREFIX)%$(LOADABLE_SHRLIB_SUFFIX):
|
||||
@$(RM) $@
|
||||
$(LINK.loadable_shrlib)
|
||||
|
||||
@@ -299,6 +315,21 @@ $(OBJLIB_MUNCHNAME):%.munch : %_ctdt$(OBJ) %$(OBJ)
|
||||
@$(RM) $@
|
||||
$(MUNCH_CMD)
|
||||
|
||||
runtests: $(TESTSCRIPTS_$(BUILD_CLASS))
|
||||
$(PERL) -e 'use Test::Harness; runtests @ARGV if @ARGV;' $^
|
||||
|
||||
# If there's a perl test script (.plt) available, use it
|
||||
%.t: ../%.plt
|
||||
@$(RM) $@
|
||||
@$(CP) $< $@
|
||||
|
||||
# Some versions of Test::Harness expect test programs in perl only.
|
||||
# Generate a 1-line perl program to exec the real test binary.
|
||||
# Uses the $0 runtime path to itself to find the executable.
|
||||
%.t: %$(EXE)
|
||||
@$(RM) $@
|
||||
@echo '($$e=$$0)=~s/.t$$/$(EXE)/;exec "./$$e" or die "exec failed";'>$@
|
||||
|
||||
# Ext, app and module rules
|
||||
RULES_INCLUDE CONFIG_APP_INCLUDE: $(wildcard $(TOP)/configure/RELEASE*)
|
||||
@$(RM) $@
|
||||
@@ -318,15 +349,7 @@ $(INSTALL_BIN)/%: ../os/$(OS_CLASS)/%
|
||||
|
||||
$(INSTALL_BIN)/%: %
|
||||
@echo "Installing binary $@"
|
||||
ifdef WIN32
|
||||
ifdef BORLAND
|
||||
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
|
||||
else
|
||||
@$(INSTALL_PRODUCT) -d -m 555 $<* $(INSTALL_BIN)
|
||||
endif
|
||||
else
|
||||
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
|
||||
endif
|
||||
|
||||
$(INSTALL_BIN)/%: ../%
|
||||
@echo "Installing script $@"
|
||||
@@ -422,6 +445,7 @@ $(INSTALL_TEMPLATES_SUBDIR)/%: %
|
||||
.PRECIOUS: $(COMMON_INC)
|
||||
|
||||
.PHONY: all inc build install clean rebuild buildInstall binInstalls libInstalls
|
||||
.PHONY: runtests
|
||||
|
||||
endif # BASE_RULES_BUILD
|
||||
# EOF RULES_BUILD
|
||||
|
||||
@@ -1,24 +1,23 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# Copyright (c) 2006 UChicago Argonne LLC, 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.
|
||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
||||
# in the file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
|
||||
|
||||
ARCHS += $(BUILD_ARCHS)
|
||||
ACTIONS += inc build install buildInstall clean realclean archclean
|
||||
|
||||
ACTIONS += inc build install buildInstall clean realclean archclean runtests
|
||||
|
||||
dirPart = $(word 1, $(subst $(DIVIDER), ,$@))
|
||||
actionArchPart = $(join $(word 2, $(subst $(DIVIDER), ,$@)), \
|
||||
$(addprefix $(DIVIDER),$(word 3, $(subst $(DIVIDER), ,$@))))
|
||||
|
||||
$(addprefix $(DIVIDER),$(word 3, $(subst $(DIVIDER), ,$@))))
|
||||
|
||||
dirActionArchTargets = $(foreach dir, $(DIRS), \
|
||||
$(foreach action, $(ACTIONS),\
|
||||
$(foreach arch, $(ARCHS), \
|
||||
|
||||
@@ -197,7 +197,7 @@ PROD_VERSION =
|
||||
|
||||
# Scripts to install
|
||||
#
|
||||
# If there is both ../$(SCRIPT) and ../$(OS_CLASS)/$(SCRIPT),
|
||||
# If there is both ../$(SCRIPTS) and ../$(OS_CLASS)/$(SCRIPTS),
|
||||
# the latter, system specific version will be installed!
|
||||
#
|
||||
SCRIPTS_DEFAULT = script_for_rest
|
||||
|
||||
13
configure/os/CONFIG.Common.RTEMS-at91rm9200ek
Normal file
13
configure/os/CONFIG.Common.RTEMS-at91rm9200ek
Normal file
@@ -0,0 +1,13 @@
|
||||
#
|
||||
# CONFIG.Common.RTEMS-at91rm9200ek
|
||||
# Author: Ralf Hartmann
|
||||
# BESSY
|
||||
# Ralf.Hartmann@bessy.de
|
||||
#
|
||||
# Atmel AT91RM9200-EK evaluation kit
|
||||
# using the AT91RM9200 ARM9-based 32-bit RISC microcontroller
|
||||
#
|
||||
# All RTEMS targets use the same Makefile fragment
|
||||
#
|
||||
RTEMS_TARGET_CPU=arm
|
||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
||||
@@ -7,52 +7,10 @@
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.darwin-ppc
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all Unix targets
|
||||
include $(CONFIG)/os/CONFIG.Common.UnixCommon
|
||||
|
||||
#
|
||||
# Set OS-specific information
|
||||
# Architecture-specific information
|
||||
#
|
||||
OS_CLASS = Darwin
|
||||
ARCH_CLASS = ppc
|
||||
|
||||
#
|
||||
# Special flags for Darwin
|
||||
# No common blocks (as required when using shared libraries)
|
||||
#
|
||||
OP_SYS_CFLAGS += -fno-common
|
||||
|
||||
#
|
||||
# Don't try to use precompiled headers when converting sequencer files
|
||||
#
|
||||
CPPSNCFLAGS += -no-cpp-precomp
|
||||
|
||||
#
|
||||
# Darwin os definition
|
||||
#
|
||||
OP_SYS_CPPFLAGS += -Ddarwin
|
||||
|
||||
#
|
||||
# The following two definitions enable the use of DarwinPorts packages.
|
||||
|
||||
#
|
||||
OP_SYS_INCLUDES += -I/opt/local/include
|
||||
# dir/firstword/wildcard used to avoid warning -L: directory name (...) does not exist
|
||||
OP_SYS_LDFLAGS += $(addprefix -L,$(dir $(firstword $(wildcard /opt/local/lib/*))))
|
||||
|
||||
#
|
||||
# The following two definitions enable the use of Fink packages.
|
||||
#
|
||||
OP_SYS_INCLUDES += -I/sw/include
|
||||
# dir/firstword/wildcard used to avoid warning -L: directory name (...) does not exist
|
||||
OP_SYS_LDFLAGS += $(addprefix -L,$(dir $(firstword $(wildcard /sw/lib/*))))
|
||||
|
||||
#
|
||||
# Libraries for command-line editing.
|
||||
#
|
||||
LDLIBS_READLINE = -lreadline
|
||||
|
||||
#
|
||||
# Command-line input support
|
||||
#
|
||||
COMMANDLINE_LIBRARY=READLINE
|
||||
# Include definitions common to all Darwin targets
|
||||
include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon
|
||||
|
||||
22
configure/os/CONFIG.Common.darwin-ppcx86
Normal file
22
configure/os/CONFIG.Common.darwin-ppcx86
Normal file
@@ -0,0 +1,22 @@
|
||||
# CONFIG.Common.darwin-ppcx86
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for Darwin 'universal' (PowerPC, Intel) target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.darwin-ppcx86
|
||||
#-------------------------------------------------------
|
||||
|
||||
#
|
||||
# Set architecture-specific information
|
||||
#
|
||||
ARCH_CLASS = ppcx86
|
||||
|
||||
#
|
||||
# Universal binary support
|
||||
#
|
||||
OP_SYS_CFLAGS += -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc
|
||||
OP_SYS_LDFLAGS += -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc
|
||||
|
||||
# Include definitions common to all Darwin targets
|
||||
include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon
|
||||
16
configure/os/CONFIG.Common.darwin-x86
Normal file
16
configure/os/CONFIG.Common.darwin-x86
Normal file
@@ -0,0 +1,16 @@
|
||||
# CONFIG.Common.darwin-x86
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for darwin-x86 target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.darwin-x86
|
||||
#-------------------------------------------------------
|
||||
|
||||
#
|
||||
# Architecture-specific information
|
||||
#
|
||||
ARCH_CLASS = x86
|
||||
|
||||
# Include definitions common to all Darwin targets
|
||||
include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon
|
||||
34
configure/os/CONFIG.Common.freebsd-x86_64
Normal file
34
configure/os/CONFIG.Common.freebsd-x86_64
Normal file
@@ -0,0 +1,34 @@
|
||||
# $Id$
|
||||
#
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for freebsd-x86_64 target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.freebsd-x86_64
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all freebsd targets
|
||||
include $(CONFIG)/os/CONFIG.Common.freebsdCommon
|
||||
|
||||
ARCH_CLASS = x86_64
|
||||
|
||||
ARCH_DEP_CPPFLAGS += -D_X86_64_
|
||||
|
||||
ifeq ($(BUILD_CLASS),CROSS)
|
||||
ifeq ($(EPICS_HOST_ARCH),freebsd-x86_64)
|
||||
# Added for 386,486,... cross builds
|
||||
CMPLR_PREFIX=
|
||||
CROSS_INCLUDES=
|
||||
CROSS_LDFLAGS=
|
||||
# Use -w not -Wall
|
||||
#WARN_CFLAGS_YES = -w
|
||||
#WARN_CXXFLAGS_YES = -w
|
||||
-include $(CONFIG)/os/CONFIG_SITE.Common.freebsd-x86_64
|
||||
-include $(CONFIG)/os/CONFIG.freebsd-x86_64.freebsd-x86_64
|
||||
-include $(CONFIG)/os/CONFIG_SITE.freebsd-x86_64.freebsd-x86_64
|
||||
else
|
||||
GNU_TARGET=i586-pc-freebsd-gnu
|
||||
CMPLR_SUFFIX=
|
||||
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
|
||||
endif
|
||||
endif
|
||||
|
||||
31
configure/os/CONFIG.Common.freebsdCommon
Normal file
31
configure/os/CONFIG.Common.freebsdCommon
Normal file
@@ -0,0 +1,31 @@
|
||||
# $Id$
|
||||
#
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for freebsd target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.freebsdCommon
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all Unix targets
|
||||
include $(CONFIG)/os/CONFIG.Common.UnixCommon
|
||||
|
||||
OS_CLASS = freebsd
|
||||
|
||||
CODE_CPPFLAGS = -D_REENTRANT
|
||||
|
||||
#POSIX_CPPFLAGS = -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS -D_XOPEN_SOURCE=500
|
||||
POSIX_CPPFLAGS = -D_POSIX_THREADS
|
||||
POSIX_LDLIBS = -lpthread
|
||||
|
||||
# -D_BSD_SOURCE for gethostname() in unistd.h as needed by cacChannelIO.cpp.
|
||||
OP_SYS_CPPFLAGS += -D_BSD_SOURCE
|
||||
OP_SYS_CPPFLAGS += -Dfreebsd
|
||||
#OP_SYS_LDLIBS += -lrt
|
||||
|
||||
# Set runtime path for shared libraries
|
||||
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-Wl,-rpath,%)
|
||||
|
||||
# Definitions used when COMMANDLINE_LIBRARY is READLINE
|
||||
LDLIBS_READLINE = -lreadline -lcurses
|
||||
|
||||
GNU_LDLIBS_YES = -lgcc_pic
|
||||
38
configure/os/CONFIG.Common.interix-x86
Normal file
38
configure/os/CONFIG.Common.interix-x86
Normal file
@@ -0,0 +1,38 @@
|
||||
# CONFIG.Common.interix-x86
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for interix-x86 target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.interix-x86
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all Unix targets
|
||||
include $(CONFIG)/os/CONFIG.Common.UnixCommon
|
||||
|
||||
OS_CLASS = interix
|
||||
ARCH_CLASS = x86
|
||||
|
||||
EXE=
|
||||
|
||||
POSIX_CPPFLAGS = -D_POSIX_C_SOURCE=199506L
|
||||
POSIX_CPPFLAGS += -D_POSIX_THREADS
|
||||
POSIX_CPPFLAGS += -D_ALL_SOURCE
|
||||
POSIX_CPPFLAGS += -D_POSIX_TIMERS
|
||||
|
||||
POSIX_CPPFLAGS += -D_REENTRANT
|
||||
|
||||
POSIX_LDLIBS += -lpthread
|
||||
|
||||
ARCH_DEP_CPPFLAGS += -D_X86_
|
||||
|
||||
OP_SYS_CPPFLAGS += -DUNIX
|
||||
|
||||
# Set runtime path for shared libraries
|
||||
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-Wl,-rpath,%)
|
||||
|
||||
# Definitions used when COMMANDLINE_LIBRARY is READLINE
|
||||
INCLUDES_READLINE = -I$(GNU_DIR)/include
|
||||
LDFLAGS_READLINE += -L$(GNU_DIR)/lib
|
||||
LDLIBS_READLINE = -lreadline
|
||||
|
||||
27
configure/os/CONFIG.Common.linux-arm
Normal file
27
configure/os/CONFIG.Common.linux-arm
Normal file
@@ -0,0 +1,27 @@
|
||||
# CONFIG.Common.linux-arm
|
||||
#
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for linux-arm target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.linux-arm
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all Unix targets
|
||||
include $(CONFIG)/os/CONFIG.Common.linuxCommon
|
||||
|
||||
ARCH_CLASS = arm
|
||||
|
||||
# Set a special definition for network order of Netwinder ARM floating point
|
||||
ARCH_DEP_CPPFLAGS += -D_ARM_NWFP_
|
||||
|
||||
# Set runtime path for shared libraries
|
||||
#RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_DIRS:%=-Wl,-rpath,%)
|
||||
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_DIRS:%=-Wl,-rpath-link,%)
|
||||
|
||||
ifdef CROSS
|
||||
GNU_TARGET=arm-linux
|
||||
# prefix of compiler tools
|
||||
CMPLR_SUFFIX=
|
||||
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
|
||||
endif
|
||||
|
||||
@@ -36,6 +36,7 @@ GNU_TARGET=sparc-sun-solaris2
|
||||
OP_SYS_LDLIBS += -lsocket -lnsl
|
||||
OP_SYS_LDLIBS_8 += -lCrun -lc -lCstd
|
||||
OP_SYS_LDLIBS_9 += -lCrun -lc -lCstd
|
||||
OP_SYS_LDLIBS_10 += -lCrun -lc -lCstd
|
||||
OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))
|
||||
|
||||
# Definitions used when COMMANDLINE_LIBRARY is READLINE
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
# CONFIG.Common.vxWorks6-mv2100
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for WRS vxWorks version 6.0 mv2100 target
|
||||
# target archs with at least 32MB
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks6-mv2100
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all vxWorks version 6.0 targets
|
||||
include $(CONFIG)/os/CONFIG.Common.vxWorks6Common
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = ppc
|
||||
|
||||
ARCH_CLASS = ppc
|
||||
|
||||
# Architecture specific build flags
|
||||
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC603
|
||||
ARCH_DEP_CFLAGS = -mcpu=603 -mstrict-align -mlongcall
|
||||
|
||||
#CONFORM_CFLAGS_NORMAL = -DCONFORM_NORMAL_no_ansi_no_pedantic
|
||||
#CONFORM_CFLAGS_STRICT = -DCONFORM_STRICT_no_ansi_no_pedantic
|
||||
#CONFORM_CXXFLAGS_NORMAL = -DCONFORM_NORMAL_no_ansi_no_pedantic
|
||||
#CONFORM_CXXFLAGS_STRICT = -DCONFORM_STRICT_no_ansi_no_pedantic
|
||||
#CODE_CXXFLAGS = -DOVERRIDE_fno_implicit_templates
|
||||
@@ -1,28 +0,0 @@
|
||||
# CONFIG.Common.vxWorks6-mv5100
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for WRS vxWorks version 6.0 mv5100 target
|
||||
# target archs with at least 32MB
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks6-mv5100
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all vxWorks version 6.0 target archs
|
||||
include $(CONFIG)/os/CONFIG.Common.vxWorks6Common
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = ppc
|
||||
|
||||
ARCH_CLASS = ppc
|
||||
|
||||
# Architecture specific build flags
|
||||
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC604
|
||||
ARCH_DEP_CFLAGS = -mcpu=604 -mstrict-align -mlongcall
|
||||
|
||||
#CONFORM_CFLAGS_NORMAL = -DCONFORM_NORMAL_no_ansi_no_pedantic
|
||||
#CONFORM_CFLAGS_STRICT = -DCONFORM_STRICT_no_ansi_no_pedantic
|
||||
#CONFORM_CXXFLAGS_NORMAL = -DCONFORM_NORMAL_no_ansi_no_pedantic
|
||||
#CONFORM_CXXFLAGS_STRICT = -DCONFORM_STRICT_no_ansi_no_pedantic
|
||||
#CODE_CXXFLAGS = -DOVERRIDE_fno_implicit_templates
|
||||
@@ -1,155 +0,0 @@
|
||||
# CONFIG.Common.vxWorks6Common
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for vxWorks version 6.0 target archs
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks6Common
|
||||
# or CONFIG_SITE.<host>.vxWorks6Common
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Vx valid build types
|
||||
VALID_BUILDS = Ioc
|
||||
|
||||
#--------------------------------------------------
|
||||
# operating system class (include/os/<os_class>)
|
||||
OS_CLASS = vxWorks
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Prefix and suffix definitions
|
||||
EXE =
|
||||
OBJ = .o
|
||||
LIB_PREFIX =lib
|
||||
LIB_SUFFIX = .a
|
||||
MUNCH_SUFFIX = .munch
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Compiler definitions
|
||||
CMPLR_PREFIX=
|
||||
CC = $(GNU_BIN)/$(CMPLR_PREFIX)cc$(CMPLR_SUFFIX)
|
||||
CCC = $(GNU_BIN)/$(CMPLR_PREFIX)cc$(CMPLR_SUFFIX)
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Library definitions
|
||||
LIBNAME = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX))
|
||||
|
||||
#--------------------------------------------------
|
||||
# Prod: DEPLIBS, LDFLAGS, and LDLIBS definitions
|
||||
|
||||
PROD_DEPLIBS=$(foreach lib,$(PROD_LIBS) $(USR_LIBS), \
|
||||
$(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*, \
|
||||
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))) \
|
||||
$(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX), \
|
||||
$(firstword $($(lib)_DIR) $(INSTALL_LIB)))))
|
||||
|
||||
|
||||
PROD_LDLIBS = $(addprefix -l,$($*_LDLIBS) $(PROD_LIBS) $(USR_LIBS)\
|
||||
$($*_SYS_LIBS) $(PROD_SYS_LIBS) $(USR_SYS_LIBS))
|
||||
|
||||
PROD_DEPLIB_DIRS = $(dir $($*_DEPLIBS)) $(dir $(PROD_DEPLIBS))
|
||||
PRODDIR_LDFLAGS += $(sort $(PROD_DEPLIB_DIRS:%=-L%))
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Prod definitions
|
||||
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
||||
CTDT_SRCS = $(PRODNAME:%$(EXE)=%_ctdt.c)
|
||||
CTDT_OBJS = $(PRODNAME:%$(EXE)=%_ctdt$(OBJ))
|
||||
NMS = $(PRODNAME:%$(EXE)=%.nm)
|
||||
MUNCH_DEPENDS = %_ctdt$(OBJ)
|
||||
|
||||
#-------------------------------------------------------
|
||||
# R3.13 compatability object library definitions
|
||||
# Does not allow $*_SRCS or $*_OBJS. Allows only OBJLIB_SRCS and OBJLIB_OBJS.
|
||||
OBJLIB += $(OBJLIB_$(OS_CLASS))
|
||||
OBJLIB_SUFFIX = Library.o
|
||||
OBJLIBNAME = $(addsuffix $(OBJLIB_SUFFIX),$(basename $(OBJLIB)))
|
||||
OBJLIB_LD_OBJS += $(addsuffix $(OBJ),$(basename $(OBJLIB_SRCS) $(OBJLIB_OBJS)))
|
||||
PRODTARGETS += $(OBJLIBNAME)
|
||||
INSTALL_PROD += $(OBJLIBNAME:%=$(INSTALL_BIN)/%)
|
||||
OBJLIB_MUNCHNAME += $(OBJLIBNAME:%$(OBJ)=%$(MUNCH_SUFFIX))
|
||||
INSTALL_MUNCHS += $(OBJLIB_MUNCHNAME:%=$(INSTALL_BIN)/%)
|
||||
PRODTARGETS += $(OBJLIB_MUNCHNAME)
|
||||
CTDT_SRCS += $(OBJLIBNAME:%$(OBJ)=%_ctdt.c)
|
||||
CTDT_OBJS += $(OBJLIBNAME:%$(OBJ)=%_ctdt$(OBJ))
|
||||
NMS += $(OBJLIBNAME:%$(OBJ)=%.nm)
|
||||
OBJLIB_LINK.cpp = $(LD) -o $@ $(OBJLIB_LD_OBJS)
|
||||
SRC_FILES += $(OBJLIB_SRCS)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# vxWorks directory definitions (new for vxWorks 6.0)
|
||||
# WindRiver Workbench directory definitions
|
||||
GNU_TARGET_INCLUDE_DIR = $(VX_DIR)/vxworks-6.0/target/h
|
||||
GNU_TARGET_INCLUDE_DIR += $(VX_DIR)/vxworks-6.0/target/h/wrn/coreip
|
||||
|
||||
GNU_DIR = $(VX_DIR)/gnu/3.3.2-vxworks60/x86-linux2
|
||||
|
||||
#--------------------------------------------------
|
||||
# C++ host processing
|
||||
NM = $(GNU_BIN)/$(CMPLR_PREFIX)nm$(CMPLR_SUFFIX)$(HOSTEXE)
|
||||
|
||||
#--------------------------------------------------
|
||||
# The follow 2 exports prevent gnu cross-compiler
|
||||
# from finding wrong assembler (as).
|
||||
export WIND_BASE = $(VX_DIR)
|
||||
export WIND_HOST_TYPE
|
||||
|
||||
#--------------------------------------------------
|
||||
# Tornado2.2 and WindRiver Workbench
|
||||
# The follow export allows vxWorks.h to include gnu header files
|
||||
export TOOL_FAMILY = GNU
|
||||
|
||||
#--------------------------------------------------
|
||||
# Operating system flags
|
||||
OP_SYS_CPPFLAGS += -DvxWorks
|
||||
OP_SYS_CFLAGS += -fno-builtin
|
||||
#OP_SYS_CFLAGS += -fno-builtin -fdollars-in-identifiers
|
||||
OP_SYS_LDFLAGS +=
|
||||
|
||||
# Fix for vxWorks headers using macros defined in
|
||||
# vxWorks.h but not including vxWorks.h
|
||||
# New for WindRiver Workbench and vxWorks 6.0
|
||||
OP_SYS_INCLUDE_CPPFLAGS += -include $(VX_DIR)/vxworks-6.0/target/h/vxWorks.h
|
||||
|
||||
#--------------------------------------------------
|
||||
# code flags
|
||||
CODE_CFLAGS =
|
||||
#
|
||||
# WRS still uses an old gnu compiler with a broken -frepo and
|
||||
# otherwise no automatic template instantiation mechanism as
|
||||
# is the defacto standard approach today. If we remove this
|
||||
# flag certain ppc targets will not build.
|
||||
CODE_CXXFLAGS = -fno-implicit-templates
|
||||
|
||||
#--------------------------------------------------
|
||||
# posix c preprocessor flags
|
||||
POSIX_CPPFLAGS = -D_POSIX_SOURCE
|
||||
|
||||
#--------------------------------------------------
|
||||
# no shared libs for vxWorks
|
||||
SHRLIB_CFLAGS =
|
||||
SHRLIB_LDFLAGS =
|
||||
|
||||
#--------------------------------------------------
|
||||
# osithead use default stack, YES or NO override
|
||||
OSITHREAD_USE_DEFAULT_STACK = NO
|
||||
|
||||
#--------------------------------------------------
|
||||
# Link definitions
|
||||
LINK.cpp = $(LD) -o $@ $(STATIC_LDFLAGS) $(PRODDIR_LDFLAGS) $(LDFLAGS)
|
||||
LINK.cpp += $(PROD_LDFLAGS) $(PROD_LD_OBJS) $(PROD_LD_RESS) $(PROD_LDLIBS)
|
||||
|
||||
#--------------------------------------------------
|
||||
# Definitions for compile of *_ctdt.c file
|
||||
CFLAGS_ctdt = $(filter-out -pedantic,$(CFLAGS)) -fdollars-in-identifiers
|
||||
COMPILE.ctdt = $(CC) -c $(CPPFLAGS) $(CFLAGS_ctdt) $(call PATH_FILTER,$(INCLUDES)) $(SOURCE_FLAG)
|
||||
|
||||
#--------------------------------------------------
|
||||
# C preprocessor command
|
||||
VXCPPFLAGS = $(filter-out $(OP_SYS_INCLUDE_CPPFLAGS),$(CPPFLAGS))
|
||||
PREPROCESS.cpp = $(CPP) $(VXCPPFLAGS) $(INCLUDES) $< > $@
|
||||
|
||||
#--------------------------------------------------
|
||||
# Allow site overrides
|
||||
-include $(CONFIG)/os/CONFIG_SITE.Common.vxWorks6Common
|
||||
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).vxWorks6Common
|
||||
|
||||
@@ -75,11 +75,35 @@ NMS += $(OBJLIBNAME:%$(OBJ)=%.nm)
|
||||
OBJLIB_LINK.cpp = $(LD) -o $@ $(OBJLIB_LD_OBJS)
|
||||
SRC_FILES += $(OBJLIB_SRCS)
|
||||
|
||||
#--------------------------------------------------
|
||||
# vxWorks version numbers
|
||||
|
||||
VXWORKS_MAJOR_VERSION = $(basename $(basename $(VXWORKS_VERSION)))
|
||||
|
||||
# These are needed for vxWorks 6.x; the GNU toolset version number
|
||||
# is in the path to the compiler tools:
|
||||
VX_GNU_VERSION_6.0 = 3.3.2
|
||||
VX_GNU_VERSION_6.1 = 3.3.2
|
||||
VX_GNU_VERSION_6.2 = 3.3.2
|
||||
VX_GNU_VERSION_6.3 = 3.4.4
|
||||
VX_GNU_VERSION = $(VX_GNU_VERSION_$(VXWORKS_VERSION))
|
||||
|
||||
#--------------------------------------------------
|
||||
# vxWorks directory definitions
|
||||
# Tornado directory definitions
|
||||
GNU_TARGET_INCLUDE_DIR = $(VX_DIR)/target/h
|
||||
GNU_DIR = $(VX_DIR)/host/$(WIND_HOST_TYPE)
|
||||
VX_DIR_5 = $(WIND_BASE)
|
||||
VX_DIR_6 = $(WIND_BASE)/vxWorks-$(VXWORKS_VERSION)
|
||||
VX_DIR = $(VX_DIR_$(VXWORKS_MAJOR_VERSION))
|
||||
|
||||
VX_INCLUDE_DIRS_5 = $(VX_DIR)/target/h
|
||||
VX_INCLUDE_DIRS_6 = $(VX_DIR)/target/h $(VX_DIR)/target/h/wrn/coreip
|
||||
GNU_TARGET_INCLUDE_DIR = $(VX_INCLUDE_DIRS_$(VXWORKS_MAJOR_VERSION))
|
||||
|
||||
#--------------------------------------------------
|
||||
# vxWorks GNU directories
|
||||
|
||||
GNU_DIR_5 = $(WIND_BASE)/host/$(WIND_HOST_TYPE)
|
||||
GNU_DIR_6 = $(WIND_BASE)/gnu/$(VX_GNU_VERSION)-vxworks-$(VXWORKS_VERSION)/$(WIND_HOST_TYPE)
|
||||
GNU_DIR = $(GNU_DIR_$(VXWORKS_MAJOR_VERSION))
|
||||
|
||||
#--------------------------------------------------
|
||||
# C++ host processing
|
||||
@@ -88,7 +112,7 @@ NM = $(GNU_BIN)/$(CMPLR_PREFIX)nm$(CMPLR_SUFFIX)$(HOSTEXE)
|
||||
#--------------------------------------------------
|
||||
# The follow 2 exports prevent gnu cross-compiler
|
||||
# from finding wrong assembler (as).
|
||||
export WIND_BASE = $(VX_DIR)
|
||||
export WIND_BASE
|
||||
export WIND_HOST_TYPE
|
||||
|
||||
#--------------------------------------------------
|
||||
@@ -105,17 +129,20 @@ OP_SYS_LDFLAGS +=
|
||||
|
||||
# Fix for vxWorks headers using macros defined in
|
||||
# vxWorks.h but not including vxWorks.h
|
||||
OP_SYS_INCLUDE_CPPFLAGS += -include $(GNU_TARGET_INCLUDE_DIR)/vxWorks.h
|
||||
OP_SYS_INCLUDE_CPPFLAGS_5.5 += -include $(VX_DIR)/target/h/vxWorks.h
|
||||
OP_SYS_INCLUDE_CPPFLAGS = $(OP_SYS_INCLUDE_CPPFLAGS_$(VXWORKS_VERSION))
|
||||
|
||||
#--------------------------------------------------
|
||||
# code flags
|
||||
CODE_CFLAGS =
|
||||
#
|
||||
# WRS still uses an old gnu compiler with a broken -frepo and
|
||||
# otherwise no automatic template instantiation mechanism as
|
||||
# is the defacto standard approach today. If we remove this
|
||||
# flag certain ppc targets will not build.
|
||||
CODE_CXXFLAGS = -fno-implicit-templates
|
||||
# For vxWorks versions before 6.3 we need this g++ compiler flag
|
||||
CODE_CXXFLAGS_5 = -fno-implicit-templates
|
||||
CODE_CXXFLAGS_6.0 = -fno-implicit-templates
|
||||
CODE_CXXFLAGS_6.1 = -fno-implicit-templates
|
||||
CODE_CXXFLAGS_6.2 = -fno-implicit-templates
|
||||
CODE_CXXFLAGS_6 = $(CODE_CXXFLAGS_$(VXWORKS_VERSION))
|
||||
CODE_CXXFLAGS = $(CODE_CXXFLAGS_$(VXWORKS_MAJOR_VERSION))
|
||||
|
||||
#--------------------------------------------------
|
||||
# posix c preprocessor flags
|
||||
|
||||
@@ -25,7 +25,7 @@ SHRLIB_CFLAGS =
|
||||
# -ansi eliminates strdup
|
||||
CONFORM_CFLAGS_ANSI =
|
||||
CONFORM_CFLAGS_STRICT = -pedantic
|
||||
CONFORM_CXXFLAGS_ANSI =
|
||||
CONFORM_CXXFLAGS_NORMAL =
|
||||
CONFORM_CXXFLAGS_STRICT = -pedantic
|
||||
|
||||
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
# CONFIG.darwin-ppc.darwin-ppc
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Definitions for darwin-ppc host - darwin-ppc target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.darwin-ppc.darwin-ppc
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include common gnu compiler definitions
|
||||
include $(CONFIG)/CONFIG.gnuCommon
|
||||
|
||||
GNU_DIR = /usr
|
||||
|
||||
CC = $(GNU_BIN)/cc
|
||||
CCC = $(GNU_BIN)/c++
|
||||
|
||||
#
|
||||
# Darwin shared libraries
|
||||
#
|
||||
SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined suppress \
|
||||
-install_name $(firstword $(SHRLIB_SEARCH_FULLPATHDIRS))/$@ \
|
||||
-compatibility_version $(EPICS_VERSION).$(EPICS_REVISION) \
|
||||
-current_version $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)
|
||||
SHRLIB_SUFFIX = .$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION).dylib
|
||||
SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)
|
||||
|
||||
LOADABLE_SHRLIB_LDFLAGS = -bundle -flat_namespace -undefined suppress
|
||||
|
||||
#
|
||||
# Position-independent code is the default on Darwin.
|
||||
#
|
||||
CODE_CFLAGS =
|
||||
CODE_CXXFLAGS =
|
||||
|
||||
#
|
||||
# Add support for Objective-C source
|
||||
#
|
||||
vpath %.m $(USR_VPATH) $(ALL_SRC_DIRS)
|
||||
%.o: %.m
|
||||
$(COMPILE.c) -c $<
|
||||
|
||||
#
|
||||
# Pedantic produces way too many unnecessary messages
|
||||
#
|
||||
CONFORM_CFLAGS_STRICT=-ansi
|
||||
CONFORM_CXXFLAGS_STRICT=-ansi
|
||||
11
configure/os/CONFIG.darwin-ppcx86.Common
Normal file
11
configure/os/CONFIG.darwin-ppcx86.Common
Normal file
@@ -0,0 +1,11 @@
|
||||
# CONFIG.darwin-ppcx86.Common
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for Darwin 'universal' (PowerPC, Intel) host builds
|
||||
# Sites may override these definitions in CONFIG_SITE.darwin-ppcx86.Common
|
||||
#-------------------------------------------------------
|
||||
|
||||
#Include definitions common to unix hosts
|
||||
include $(CONFIG)/os/CONFIG.UnixCommon.Common
|
||||
11
configure/os/CONFIG.darwin-x86.Common
Normal file
11
configure/os/CONFIG.darwin-x86.Common
Normal file
@@ -0,0 +1,11 @@
|
||||
# CONFIG.darwin-x86.Common
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for darwin-x86 host builds
|
||||
# Sites may override these definitions in CONFIG_SITE.darwin-x86.Common
|
||||
#-------------------------------------------------------
|
||||
|
||||
#Include definitions common to unix hosts
|
||||
include $(CONFIG)/os/CONFIG.UnixCommon.Common
|
||||
101
configure/os/CONFIG.darwinCommon.darwinCommon
Normal file
101
configure/os/CONFIG.darwinCommon.darwinCommon
Normal file
@@ -0,0 +1,101 @@
|
||||
# CONFIG.Common.darwinCommon
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for darwin target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.darwin-<arch>
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all Unix targets
|
||||
include $(CONFIG)/os/CONFIG.Common.UnixCommon
|
||||
|
||||
#
|
||||
# Set OS-specific information
|
||||
#
|
||||
OS_CLASS = Darwin
|
||||
|
||||
#
|
||||
# Special flags for Darwin
|
||||
# No common blocks (as required when using shared libraries)
|
||||
#
|
||||
OP_SYS_CFLAGS += -fno-common
|
||||
|
||||
#
|
||||
# Don't try to use precompiled headers when converting sequencer files
|
||||
#
|
||||
CPPSNCFLAGS += -no-cpp-precomp
|
||||
|
||||
#
|
||||
# Darwin os definition
|
||||
#
|
||||
OP_SYS_CPPFLAGS += -Ddarwin
|
||||
|
||||
#
|
||||
# Always compile in debugging symbol table information
|
||||
#
|
||||
OPT_CFLAGS_YES += -g
|
||||
OPT_CXXFLAGS_YES += -g
|
||||
|
||||
#
|
||||
# The following two definitions enable the use of DarwinPorts packages.
|
||||
#
|
||||
OP_SYS_INCLUDES += -I/opt/local/include
|
||||
# dir/firstword/wildcard used to avoid warning -L: directory name (...) does not exist
|
||||
OP_SYS_LDFLAGS += $(addprefix -L,$(dir $(firstword $(wildcard /opt/local/lib/*))))
|
||||
|
||||
#
|
||||
# The following two definitions enable the use of Fink packages.
|
||||
#
|
||||
OP_SYS_INCLUDES += -I/sw/include
|
||||
# dir/firstword/wildcard used to avoid warning -L: directory name (...) does not exist
|
||||
OP_SYS_LDFLAGS += $(addprefix -L,$(dir $(firstword $(wildcard /sw/lib/*))))
|
||||
|
||||
#
|
||||
# Libraries for command-line editing.
|
||||
#
|
||||
LDLIBS_READLINE = -lreadline
|
||||
|
||||
#
|
||||
# Command-line input support
|
||||
#
|
||||
COMMANDLINE_LIBRARY=READLINE
|
||||
|
||||
# Include common gnu compiler definitions
|
||||
include $(CONFIG)/CONFIG.gnuCommon
|
||||
|
||||
GNU_DIR = /usr
|
||||
|
||||
CC = $(GNU_BIN)/cc
|
||||
CCC = $(GNU_BIN)/c++
|
||||
|
||||
#
|
||||
# Darwin shared libraries
|
||||
#
|
||||
SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)
|
||||
SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined suppress \
|
||||
-install_name $(firstword $(SHRLIB_SEARCH_FULLPATHDIRS))/$@ \
|
||||
-compatibility_version $(EPICS_VERSION).$(EPICS_REVISION) \
|
||||
-current_version $(SHRLIB_VERSION)
|
||||
SHRLIB_SUFFIX = .$(SHRLIB_VERSION).dylib
|
||||
|
||||
LOADABLE_SHRLIB_LDFLAGS = -bundle -flat_namespace -undefined suppress
|
||||
|
||||
#
|
||||
# Position-independent code is the default on Darwin.
|
||||
#
|
||||
CODE_CFLAGS =
|
||||
CODE_CXXFLAGS =
|
||||
|
||||
#
|
||||
# Add support for Objective-C source
|
||||
#
|
||||
vpath %.m $(USR_VPATH) $(ALL_SRC_DIRS)
|
||||
%.o: %.m
|
||||
$(COMPILE.c) -c $<
|
||||
|
||||
#
|
||||
# Pedantic produces way too many unnecessary messages
|
||||
#
|
||||
CONFORM_CFLAGS_STRICT=-ansi
|
||||
CONFORM_CXXFLAGS_STRICT=-ansi
|
||||
11
configure/os/CONFIG.freebsd-x86_64.Common
Normal file
11
configure/os/CONFIG.freebsd-x86_64.Common
Normal file
@@ -0,0 +1,11 @@
|
||||
# $Id$
|
||||
#
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for freebsd host builds
|
||||
# Sites may override these definitions in CONFIG_SITE.freebsd.Common
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to unix hosts
|
||||
include $(CONFIG)/os/CONFIG.UnixCommon.Common
|
||||
|
||||
20
configure/os/CONFIG.freebsd-x86_64.freebsd-x86_64
Normal file
20
configure/os/CONFIG.freebsd-x86_64.freebsd-x86_64
Normal file
@@ -0,0 +1,20 @@
|
||||
# $Id$
|
||||
#
|
||||
# Definitions for freebsd-x86_64 host - freebsd-x86_64 target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.freebsd-x86_64.freebsd-x86_64
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include common gnu compiler definitions
|
||||
include $(CONFIG)/CONFIG.gnuCommon
|
||||
|
||||
GNU_DIR = /usr
|
||||
GNU_LDLIBS_YES =
|
||||
|
||||
STATIC_LDFLAGS_YES= -Wl,-Bstatic
|
||||
STATIC_LDFLAGS_NO=
|
||||
STATIC_LDLIBS_YES= -Wl,-Bdynamic
|
||||
STATIC_LDLIBS_NO=
|
||||
|
||||
SHRLIB_LDFLAGS += -shared -fPIC
|
||||
LOADABLE_SHRLIB_LDFLAGS = -shared -fPIC
|
||||
|
||||
22
configure/os/CONFIG.interix-x86.Common
Normal file
22
configure/os/CONFIG.interix-x86.Common
Normal file
@@ -0,0 +1,22 @@
|
||||
# CONFIG.interix-x86.Common
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for interix-x86 host archs
|
||||
# Sites may override these definitions in CONFIG_SITE.interix-x86.Common
|
||||
#-------------------------------------------------------
|
||||
|
||||
#Include definitions common to unix hosts
|
||||
include $(CONFIG)/os/CONFIG.UnixCommon.Common
|
||||
|
||||
WIND_HOST_TYPE = x86-win32
|
||||
OSITHREAD_USE_DEFAULT_STACK = NO
|
||||
|
||||
#HOSTEXE=.exe
|
||||
HOSTEXE=
|
||||
|
||||
# Needed to find dlls for base installed build tools (antelope,eflex,...)
|
||||
#PATH := $(EPICS_BASE_TOOLS_BIN):$(PATH)
|
||||
|
||||
|
||||
34
configure/os/CONFIG.interix-x86.interix-x86
Normal file
34
configure/os/CONFIG.interix-x86.interix-x86
Normal file
@@ -0,0 +1,34 @@
|
||||
# CONFIG.interix-x86.interix-x86
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Definitions for interix-x86 host - interix-x86 target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.interix-x86.interix-x86
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include common gnu compiler definitions
|
||||
include $(CONFIG)/CONFIG.gnuCommon
|
||||
|
||||
## Shared libraries for interix not implemented yet
|
||||
SHARED_LIBRARIES=NO
|
||||
|
||||
# interix's gcc, g++, ar, ld, and ranlib must be in user's path
|
||||
CC = gcc
|
||||
CCC = g++
|
||||
AR = ar -rc
|
||||
LD = ld -r
|
||||
#######RANLIB = ranlib # ranlib exists but is not found ???
|
||||
RANLIB =
|
||||
|
||||
# Avoid position-independent code is always generated message
|
||||
SHRLIB_CFLAGS =
|
||||
SHRLIB_LDFLAGS = -shared -fPIC
|
||||
LOADABLE_SHRLIB_LDFLAGS = -shared -fPIC
|
||||
|
||||
# -ansi eliminates strdup
|
||||
#CONFORM_CFLAGS_ANSI =
|
||||
#CONFORM_CFLAGS_STRICT = -pedantic
|
||||
#CONFORM_CXXFLAGS_ANSI =
|
||||
#CONFORM_CXXFLAGS_STRICT = -pedantic
|
||||
|
||||
|
||||
23
configure/os/CONFIG.linux-x86.linux-arm
Normal file
23
configure/os/CONFIG.linux-x86.linux-arm
Normal file
@@ -0,0 +1,23 @@
|
||||
# CONFIG.linux-x86.linux-arm
|
||||
#
|
||||
# Definitions for linux-x86 host - linux-arm target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-arm
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include common gnu compiler definitions
|
||||
include $(CONFIG)/CONFIG.gnuCommon
|
||||
|
||||
GNU_DIR = /usr
|
||||
|
||||
# Override the -nostdinc flag, needed here...
|
||||
CROSS_CPPFLAGS =
|
||||
|
||||
# Copied from x86.x86
|
||||
STATIC_LDFLAGS_YES= -Wl,-Bstatic
|
||||
STATIC_LDFLAGS_NO=
|
||||
STATIC_LDLIBS_YES= -Wl,-Bdynamic
|
||||
STATIC_LDLIBS_NO=
|
||||
|
||||
SHRLIB_LDFLAGS += -shared -fPIC
|
||||
LOADABLE_SHRLIB_LDFLAGS = -shared -fPIC
|
||||
|
||||
@@ -24,7 +24,7 @@ GPROF=NO
|
||||
|
||||
# Configure OS vendor C compiler
|
||||
CONFORM_CFLAGS_ANSI = -Xa -v
|
||||
CONFORM_CFLAGS_STRICT = -Xc -v
|
||||
CONFORM_CFLAGS_STRICT = -Xa -v
|
||||
CONFORM_CFLAGS_TRAD = -Xs
|
||||
PROF_CFLAGS_YES = -p
|
||||
GPROF_CFLAGS_YES = -xpg
|
||||
|
||||
@@ -9,9 +9,6 @@
|
||||
# Include common gnu compiler definitions
|
||||
include $(CONFIG)/CONFIG.gnuCommon
|
||||
|
||||
## Shared libraries for cygwin not implemented yet
|
||||
SHARED_LIBRARIES=NO
|
||||
|
||||
# cygwin's gcc, g++, ar, ld, and ranlib must be in user's path
|
||||
CC = gcc
|
||||
CCC = g++
|
||||
@@ -26,7 +23,7 @@ SHRLIB_CFLAGS =
|
||||
# Dont use -ansi: -ansi eliminates strdup and _tempnam
|
||||
CONFORM_CFLAGS_ANSI =
|
||||
CONFORM_CFLAGS_STRICT = -pedantic
|
||||
CONFORM_CXXFLAGS_ANSI =
|
||||
CONFORM_CXXFLAGS_NORMAL =
|
||||
CONFORM_CXXFLAGS_STRICT = -pedantic
|
||||
|
||||
# Override linking with gcc library
|
||||
|
||||
@@ -25,7 +25,7 @@ SHRLIB_CFLAGS =
|
||||
# Dont use -ansi option: eliminates strdup and _tempnam
|
||||
CONFORM_CFLAGS_ANSI =
|
||||
CONFORM_CFLAGS_STRICT = -pedantic
|
||||
CONFORM_CXXFLAGS_ANSI =
|
||||
CONFORM_CXXFLAGS_NORMAL =
|
||||
CONFORM_CXXFLAGS_STRICT = -pedantic
|
||||
|
||||
# Override linking with gcc library
|
||||
|
||||
@@ -57,7 +57,7 @@ WARN_CFLAGS_NO = /W1
|
||||
# /MD use MSVCRT (run-time as DLL, multi-thread support)
|
||||
# /GL whole program optimization
|
||||
# /Zi generate program database for debugging information
|
||||
OPT_CFLAGS_YES = /Ox /GL
|
||||
OPT_CFLAGS_YES = /Ox /GL
|
||||
|
||||
#
|
||||
# /Zi generate program database for debugging information
|
||||
@@ -105,12 +105,13 @@ CPP = cl /C /E
|
||||
# Use of /Za would dissable DLL import/export keywords which
|
||||
# include/excludes using architecture neutral macros
|
||||
#
|
||||
# /GX - generate code for exceptions
|
||||
# /EHsc - generate code for exceptions
|
||||
# /GR - generate code for run time type identification
|
||||
#
|
||||
CCC = cl /nologo /GX /GR
|
||||
CCC = cl /nologo /EHsc /GR
|
||||
CONFORM_CXXFLAGS_NORMAL =
|
||||
CONFORM_CXXFLAGS_STRICT = /D__STDC__=0
|
||||
CODE_CPPFLAGS += /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
|
||||
|
||||
#
|
||||
# /W<N> use warning level N
|
||||
@@ -123,7 +124,7 @@ WARN_CXXFLAGS_NO = /W1
|
||||
# /Ox maximum optimizations
|
||||
# /GL whole program optimization
|
||||
# /Zi generate program database for debugging information
|
||||
OPT_CXXFLAGS_YES = /Ox /GL
|
||||
OPT_CXXFLAGS_YES = /Ox /GL
|
||||
|
||||
#
|
||||
# /Zi generate program database for debugging information
|
||||
@@ -292,4 +293,15 @@ LINK.cpp = $(WINLINK) -nologo $(STATIC_LDFLAGS) $(LDFLAGS) $(PROD_LDFLAGS) -out:
|
||||
$(PROD_LD_OBJS) $(PROD_LD_RESS) $(PROD_LDLIBS)
|
||||
|
||||
#--------------------------------------------------
|
||||
# UseManifestTool.pl checks MS Visual c++ compiler version number to
|
||||
# decide whether or not to use the Manifest Tool command to embed the
|
||||
# linker created .manifest file into a library or product target.
|
||||
# useManifestTool.pl returns 0(don't use) or 1(use).
|
||||
#
|
||||
ifeq ($(shell $(PERL) $(TOOLS)/useManifestTool.pl),1)
|
||||
MT_DLL_COMMAND = mt.exe /manifest $@.manifest /outputresource:$@;\#2
|
||||
MT_EXE_COMMAND_YES =
|
||||
MT_EXE_COMMAND_NO = mt.exe /manifest $@.manifest /outputresource:$@;\#1
|
||||
MT_EXE_COMMAND = $(MT_EXE_COMMAND_$(STATIC_BUILD))
|
||||
endif
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ ARCH_hp700 = hpux-parisc
|
||||
ARCH_alpha = osf-alpha
|
||||
ARCH_cygwin32 = cygwin-x86
|
||||
ARCH_Borland = win32-x86-borland
|
||||
ARCH_freebsd = freebsd-x86
|
||||
|
||||
ifndef EPICS_HOST_ARCH
|
||||
ifdef HOST_ARCH
|
||||
|
||||
@@ -16,4 +16,4 @@ OP_SYS_CFLAGS += -DRTEMS_NETWORK_CONFIG_DNS_DOMAINNAME=aps.anl.gov
|
||||
#
|
||||
# Specify your desired command-line-input library
|
||||
#
|
||||
EPICSCOMMANDLINE_LIBRARY = EPICS
|
||||
COMMANDLINE_LIBRARY = EPICS
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
# Site Specific definitions for hpux-parisc target
|
||||
# Only the local epics system manager should modify this file
|
||||
|
||||
# NOTE for SHARED_LIBRARIES: If YES (which is the default now) then either
|
||||
# a) SHLIB_PATH must include the full absolute pathname to
|
||||
# $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) (or wherever you install
|
||||
# NOTE: If SHARED_LIBRARIES=YES (now the default) then
|
||||
# a) Environment variable SHLIB_PATH must include the full absolute pathname
|
||||
# to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) (or wherever you install
|
||||
# the EPICS shared libraries on your system) when invoking base
|
||||
# executables.
|
||||
# executables, or
|
||||
# b) Add the path to SHRLIB_SEARCH_FULLPATHDIRS below, which will burn
|
||||
# the runtime search path into the executables.
|
||||
#SHARED_LIBRARIES=YES
|
||||
|
||||
# This is the absolute path to the generic INSTALL_LOCATION, for SHARED_LIBRARY searches.
|
||||
SHRLIB_SEARCH_FULLPATHDIRS += /opt/epics/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)-$(EPICS_UPDATE_NAME)$(EPICS_UPDATE_LEVEL)/lib/$(EPICS_HOST_ARCH)
|
||||
SHRLIB_SEARCH_FULLPATHDIRS += /opt/epics/R$(EPICS_SHORT_VERSION)/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)-$(EPICS_PATCH_LEVEL)$(EPICS_CVS_SNAPSHOT)$(EPICS_SITE_VSTRING)/lib/$(EPICS_HOST_ARCH)
|
||||
|
||||
@@ -1,10 +1,31 @@
|
||||
# CONFIG_SITE.Common.vxWorksCommon
|
||||
#
|
||||
# Site specific definitions for vxWorks target builds
|
||||
# Site specific definitions for vxWorks target builds.
|
||||
# Only the local epics system manager should modify this file
|
||||
|
||||
# Compiler options can vary with the vxWorks version number, so we
|
||||
# need to know that. However don't include any third-level digits
|
||||
# because we don't currently need them.
|
||||
|
||||
# Tornado directory
|
||||
VX_DIR = /usr/local/vw/tornado202p1
|
||||
#VX_DIR = /usr/local/vw/tornado22-$(ARCH_CLASS)
|
||||
# Note: vxWorks 5.3 (Tornado 1.x) is not supported
|
||||
|
||||
VXWORKS_VERSION = 5.4
|
||||
#VXWORKS_VERSION = 5.5
|
||||
#VXWORKS_VERSION = 6.0
|
||||
#VXWORKS_VERSION = 6.1
|
||||
#VXWORKS_VERSION = 6.2
|
||||
#VXWORKS_VERSION = 6.3
|
||||
|
||||
|
||||
# Sites may override the following path for a particular host
|
||||
# architecture by adding it to the appropriate
|
||||
# CONFIG_SITE.$(EPICS_HOST_ARCH).vxWorksCommon file.
|
||||
|
||||
# WIND_BASE is where you installed the Wind River software.
|
||||
# Under vxWorks 6.x this is not the same as the old VX_DIR setting
|
||||
|
||||
WIND_BASE = /usr/local/vw/tornado202p1
|
||||
#WIND_BASE = /usr/local/vw/tornado22-$(ARCH_CLASS)
|
||||
#WIND_BASE = /usr/local/vw/vxWorks-$(VXWORKS_VERSION)
|
||||
#WIND_BASE = /ade/vxWorks/$(VXWORKS_VERSION)
|
||||
|
||||
|
||||
@@ -6,4 +6,4 @@
|
||||
# Site override definitions for darwin-ppc host builds
|
||||
#-------------------------------------------------------
|
||||
|
||||
# CROSS_COMPILER_TARGET_ARCHS = RTEMS-uC5282
|
||||
CROSS_COMPILER_TARGET_ARCHS = # RTEMS-uC5282 RTEMS-mvme5500 RTEMS-mvme2100
|
||||
|
||||
12
configure/os/CONFIG_SITE.darwin-ppcx86.Common
Normal file
12
configure/os/CONFIG_SITE.darwin-ppcx86.Common
Normal file
@@ -0,0 +1,12 @@
|
||||
# CONFIG_SITE.darwin-ppc.Common
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Site override definitions for darwin-ppcx86 host builds
|
||||
#-------------------------------------------------------
|
||||
|
||||
#
|
||||
# Need this to get OS X readline rather than Fink (PPC-only) readline
|
||||
#
|
||||
OP_SYS_LDFLAGS += -L/usr/lib
|
||||
@@ -1,14 +1,9 @@
|
||||
# CONFIG_SITE.Common.darwin-ppc
|
||||
# CONFIG_SITE.darwin-ppc.Common
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Site override definitions for darwin-ppc host builds
|
||||
#-------------------------------------------------------
|
||||
|
||||
#
|
||||
# Other local options
|
||||
#
|
||||
OPT_CFLAGS_YES += -g
|
||||
OPT_CXXFLAGS_YES += -g
|
||||
COMMANDLINE_LIBRARY = READLINE
|
||||
|
||||
CROSS_COMPILER_TARGET_ARCHS = # RTEMS-uC5282 # RTEMS-mvme5500 RTEMS-mvme2100
|
||||
8
configure/os/CONFIG_SITE.linux-x86.linux-arm
Normal file
8
configure/os/CONFIG_SITE.linux-x86.linux-arm
Normal file
@@ -0,0 +1,8 @@
|
||||
# CONFIG_SITE.linux-x86.linux-arm
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Site specific definitions for linux-x86 host - linux-arm target builds
|
||||
#-------------------------------------------------------
|
||||
|
||||
#GNU_DIR = /home/targetOS/linux-arm/host/x86-linux/gcc_3.3.3
|
||||
@@ -1,12 +0,0 @@
|
||||
# CONFIG_SITE.linux-x86.vxWorks6-mv2100
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Site override definitions for linux-x86 host - vxWorks6-mv2100 target builds
|
||||
#-------------------------------------------------------
|
||||
# WindRiver has changed the directory structure of vxWorks
|
||||
# This is for VxWorks 6.0
|
||||
|
||||
VX_DIR = /ade/vxWorks/6.0
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
# CONFIG_SITE.linux-x86.vxWorks6-mv5100
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Site override definitions for linux-x86 host - vxWorks6-mv5100 target builds
|
||||
#-------------------------------------------------------
|
||||
# WindRiver has changed the directory structure of vxWorks
|
||||
# This is for VxWorks 6.0
|
||||
|
||||
VX_DIR = /ade/vxWorks/6.0
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
# CONFIG_SITE.linux-x86_64.vxWorks6-mv2100
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Site override definitions for linux-x86_64 host - vxWorks6-mv2100 target builds
|
||||
#-------------------------------------------------------
|
||||
# WindRiver has changed the directory structure of vxWorks
|
||||
# This is for Tornado 3 (i.e. VxWorks 6.0)
|
||||
|
||||
VX_DIR = /ade/vxWorks/6.0
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
# CONFIG_SITE.linux-x86_64.vxWorks6-mv5100
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Site override definitions for linux-x86_64 host - vxWorks6-mv5100 target builds
|
||||
#-------------------------------------------------------
|
||||
# WindRiver has changed the directory structure of vxWorks
|
||||
# This is for Tornado 3 (i.e. VxWorks 6.0)
|
||||
|
||||
VX_DIR = /ade/vxWorks/6.0
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
# CONFIG_SITE.linux-x86_64.vxWorksCommon
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for linux-x86_64 host - vxWorks target builds
|
||||
#-------------------------------------------------------
|
||||
|
||||
# SNS override values
|
||||
#WIND_HOST_TYPE = x86-linux
|
||||
|
||||
@@ -13,13 +13,19 @@ eval 'exec perl -S $0 ${1+"$@"}' # -*- Mode: perl -*-
|
||||
# $Id$
|
||||
#
|
||||
# Parse configure/RELEASE file(s) and generate a derived output file.
|
||||
# With strict patches from Nick Rees at DLS.
|
||||
#
|
||||
|
||||
use Cwd qw(cwd abs_path);
|
||||
use Getopt::Std;
|
||||
use strict;
|
||||
|
||||
use vars qw($cwd $arch $top $hostarch $iocroot $root $outfile $relfile);
|
||||
use vars qw(%macros @apps);
|
||||
|
||||
$cwd = UnixPath(cwd());
|
||||
|
||||
our ($opt_a, $opt_h, $opt_t, $opt_T);
|
||||
getopt "ahtT";
|
||||
|
||||
if ($opt_a) {
|
||||
@@ -65,7 +71,7 @@ $outfile = $ARGV[0];
|
||||
|
||||
# TOP refers to this application
|
||||
%macros = (TOP => LocalPath($top));
|
||||
@apps = (TOP); # Records the order of definitions in RELEASE file
|
||||
@apps = ('TOP'); # Records the order of definitions in RELEASE file
|
||||
|
||||
# Read the RELEASE file(s)
|
||||
$relfile = "$top/configure/RELEASE";
|
||||
@@ -126,13 +132,13 @@ sub readRelease {
|
||||
next if /^\s*$/; # Skip blank lines
|
||||
|
||||
# Expand all already-defined macros in the line:
|
||||
while (($pre,$var,$post) = /(.*)\$\((\w+)\)(.*)/) {
|
||||
while (my ($pre,$var,$post) = /(.*)\$\((\w+)\)(.*)/) {
|
||||
last unless (exists $Rmacros->{$var});
|
||||
$_ = $pre . $Rmacros->{$var} . $post;
|
||||
}
|
||||
|
||||
# Handle "<macro> = <path>"
|
||||
($macro, $path) = /^\s*(\w+)\s*=\s*(.*)/;
|
||||
my ($macro, $path) = /^\s*(\w+)\s*=\s*(.*)/;
|
||||
if ($macro ne "") {
|
||||
$macro="TOP" if $macro =~ /^INSTALL_LOCATION/ ;
|
||||
if (exists $Rmacros->{$macro}) {
|
||||
@@ -143,8 +149,8 @@ sub readRelease {
|
||||
$Rmacros->{$macro} = $path;
|
||||
next;
|
||||
}
|
||||
# Handle "include <path>" syntax
|
||||
($path) = /^\s*include\s+(.*)/;
|
||||
# Handle "include <path>" and "-include <path>" syntax
|
||||
($path) = /^\s*-?include\s+(.*)/;
|
||||
&readRelease($path, $Rmacros, $Rapps) if (-r $path);
|
||||
}
|
||||
close IN;
|
||||
@@ -153,8 +159,8 @@ sub readRelease {
|
||||
sub expandRelease {
|
||||
my ($Rmacros, $Rapps) = @_;
|
||||
# Expand any (possibly nested) macros that were defined after use
|
||||
while (($macro, $path) = each %$Rmacros) {
|
||||
while (($pre,$var,$post) = $path =~ /(.*)\$\((\w+)\)(.*)/) {
|
||||
while (my ($macro, $path) = each %$Rmacros) {
|
||||
while (my ($pre,$var,$post) = $path =~ /(.*)\$\((\w+)\)(.*)/) {
|
||||
$path = $pre . $Rmacros->{$var} . $post;
|
||||
$Rmacros->{$macro} = $path;
|
||||
}
|
||||
@@ -162,7 +168,7 @@ sub expandRelease {
|
||||
}
|
||||
|
||||
sub configAppInclude {
|
||||
@includes = grep !/^(TOP|TEMPLATE_TOP)$/, @apps;
|
||||
my @includes = grep !/^(TOP|TEMPLATE_TOP)$/, @apps;
|
||||
|
||||
unlink($outfile);
|
||||
open(OUT,">$outfile") or die "$! creating $outfile";
|
||||
@@ -171,46 +177,46 @@ sub configAppInclude {
|
||||
|
||||
if ($arch) {
|
||||
print OUT "export TOP\n";
|
||||
foreach $app (@includes) {
|
||||
foreach my $app (@includes) {
|
||||
print OUT "export ${app}\n";
|
||||
}
|
||||
foreach $app (@includes) {
|
||||
$path = $macros{$app};
|
||||
foreach my $app (@includes) {
|
||||
my $path = $macros{$app};
|
||||
next unless (-d "$path/bin/$hostarch");
|
||||
print OUT "${app}_HOST_BIN = \$(strip \$($app))/bin/\$(EPICS_HOST_ARCH)\n";
|
||||
}
|
||||
foreach $app (@includes) {
|
||||
$path = $macros{$app};
|
||||
foreach my $app (@includes) {
|
||||
my $path = $macros{$app};
|
||||
next unless (-d "$path/lib/$hostarch");
|
||||
print OUT "${app}_HOST_LIB = \$(strip \$($app))/bin/\$(EPICS_HOST_ARCH)\n";
|
||||
}
|
||||
foreach $app (@includes) {
|
||||
$path = $macros{$app};
|
||||
foreach my $app (@includes) {
|
||||
my $path = $macros{$app};
|
||||
next unless (-d "$path/bin/$arch");
|
||||
print OUT "${app}_BIN = \$(strip \$($app))/bin/$arch\n";
|
||||
}
|
||||
foreach $app (@includes) {
|
||||
$path = $macros{$app};
|
||||
foreach my $app (@includes) {
|
||||
my $path = $macros{$app};
|
||||
next unless (-d "$path/lib/$arch");
|
||||
print OUT "${app}_LIB = \$(strip \$($app))/lib/$arch\n";
|
||||
}
|
||||
# We can't just include TOP in the foreach list:
|
||||
# 1. The lib directory probably doesn't exist yet, and
|
||||
# 2. We need an abolute path but $(TOP_LIB) is relative
|
||||
foreach $app (@includes) {
|
||||
$path = $macros{$app};
|
||||
foreach my $app (@includes) {
|
||||
my $path = $macros{$app};
|
||||
next unless (-d "$path/lib/$arch");
|
||||
print OUT "SHRLIB_SEARCH_DIRS += \$(${app}_LIB)\n";
|
||||
}
|
||||
}
|
||||
foreach $app (@includes) {
|
||||
$path = $macros{$app};
|
||||
foreach my $app (@includes) {
|
||||
my $path = $macros{$app};
|
||||
next unless (-d "$path/include");
|
||||
print OUT "RELEASE_INCLUDES += -I\$(strip \$($app))/include/os/\$(OS_CLASS)\n";
|
||||
print OUT "RELEASE_INCLUDES += -I\$(strip \$($app))/include\n";
|
||||
}
|
||||
foreach $app (@includes) {
|
||||
$path = $macros{$app};
|
||||
foreach my $app (@includes) {
|
||||
my $path = $macros{$app};
|
||||
next unless (-d "$path/dbd");
|
||||
print OUT "RELEASE_DBDFLAGS += -I \$(strip \$($app))/dbd\n";
|
||||
}
|
||||
@@ -218,15 +224,15 @@ sub configAppInclude {
|
||||
}
|
||||
|
||||
sub rulesInclude {
|
||||
@includes = grep !/^(TOP|TEMPLATE_TOP|EPICS_BASE)$/, @apps;
|
||||
my @includes = grep !/^(TOP|TEMPLATE_TOP|EPICS_BASE)$/, @apps;
|
||||
|
||||
unlink($outfile);
|
||||
open(OUT,">$outfile") or die "$! creating $outfile";
|
||||
print OUT "# Do not modify this file, changes made here will\n";
|
||||
print OUT "# be lost when the application is next rebuilt.\n\n";
|
||||
|
||||
foreach $app (@includes) {
|
||||
$path = $macros{$app};
|
||||
foreach my $app (@includes) {
|
||||
my $path = $macros{$app};
|
||||
next unless (-r "$path/configure/RULES_BUILD");
|
||||
print OUT "RULES_TOP:=\$($app)\n";
|
||||
print OUT "-include \$(strip \$(RULES_TOP))/configure/RULES_BUILD\n";
|
||||
@@ -236,26 +242,26 @@ sub rulesInclude {
|
||||
|
||||
sub cdCommands {
|
||||
die "Architecture not set (use -a option)" unless ($arch);
|
||||
@includes = grep !/^TEMPLATE_TOP$/, @apps;
|
||||
my @includes = grep !/^TEMPLATE_TOP$/, @apps;
|
||||
|
||||
unlink($outfile);
|
||||
open(OUT,">$outfile") or die "$! creating $outfile";
|
||||
|
||||
$startup = $cwd;
|
||||
my $startup = $cwd;
|
||||
$startup =~ s/^$root/$iocroot/o if ($opt_t);
|
||||
|
||||
print OUT "startup = \"$startup\"\n";
|
||||
|
||||
$ioc = $cwd;
|
||||
my $ioc = $cwd;
|
||||
$ioc =~ s/^.*\///; # iocname is last component of directory name
|
||||
|
||||
print OUT "putenv \"ARCH=$arch\"\n";
|
||||
print OUT "putenv \"IOC=$ioc\"\n";
|
||||
|
||||
foreach $app (@includes) {
|
||||
$iocpath = $path = $macros{$app};
|
||||
foreach my $app (@includes) {
|
||||
my $iocpath = my $path = $macros{$app};
|
||||
$iocpath =~ s/^$root/$iocroot/o if ($opt_t);
|
||||
$app_lc = lc($app);
|
||||
my $app_lc = lc($app);
|
||||
print OUT "$app_lc = \"$iocpath\"\n" if (-d $path);
|
||||
print OUT "putenv \"$app=$iocpath\"\n" if (-d $path);
|
||||
print OUT "${app_lc}bin = \"$iocpath/bin/$arch\"\n" if (-d "$path/bin/$arch");
|
||||
@@ -265,19 +271,19 @@ sub cdCommands {
|
||||
|
||||
sub envPaths {
|
||||
die "Architecture not set (use -a option)" unless ($arch);
|
||||
@includes = grep !/^TEMPLATE_TOP$/, @apps;
|
||||
my @includes = grep !/^TEMPLATE_TOP$/, @apps;
|
||||
|
||||
unlink($outfile);
|
||||
open(OUT,">$outfile") or die "$! creating $outfile";
|
||||
|
||||
$ioc = $cwd;
|
||||
my $ioc = $cwd;
|
||||
$ioc =~ s/^.*\///; # iocname is last component of directory name
|
||||
|
||||
print OUT "epicsEnvSet(ARCH,\"$arch\")\n";
|
||||
print OUT "epicsEnvSet(IOC,\"$ioc\")\n";
|
||||
|
||||
foreach $app (@includes) {
|
||||
$iocpath = $path = $macros{$app};
|
||||
foreach my $app (@includes) {
|
||||
my $iocpath = my $path = $macros{$app};
|
||||
$iocpath =~ s/^$root/$iocroot/o if ($opt_t);
|
||||
print OUT "epicsEnvSet($app,\"$iocpath\")\n" if (-d $path);
|
||||
}
|
||||
@@ -285,19 +291,19 @@ sub envPaths {
|
||||
}
|
||||
|
||||
sub checkRelease {
|
||||
$status = 0;
|
||||
my $status = 0;
|
||||
delete $macros{TOP};
|
||||
delete $macros{TEMPLATE_TOP};
|
||||
|
||||
while (($app, $path) = each %macros) {
|
||||
%check = (TOP => $path);
|
||||
@order = ();
|
||||
$relfile = "$path/configure/RELEASE";
|
||||
while (my ($app, $path) = each %macros) {
|
||||
my %check = (TOP => $path);
|
||||
my @order = ();
|
||||
my $relfile = "$path/configure/RELEASE";
|
||||
&readReleaseFiles($relfile, \%check, \@order);
|
||||
&expandRelease(\%check, \@order);
|
||||
delete $check{TOP};
|
||||
|
||||
while (($parent, $ppath) = each %check) {
|
||||
while (my ($parent, $ppath) = each %check) {
|
||||
if (exists $macros{$parent} &&
|
||||
abs_path($macros{$parent}) ne abs_path($ppath)) {
|
||||
print "\n" unless ($status);
|
||||
@@ -318,22 +324,22 @@ sub checkRelease {
|
||||
# These functions are duplicated in src/makeBaseApp/makeBaseApp.pl
|
||||
sub UnixPath {
|
||||
my ($newpath) = @_;
|
||||
if ($^O eq "cygwin") {
|
||||
$newpath =~ s|\\|/|go;
|
||||
$newpath =~ s%^([a-zA-Z]):/%/cygdrive/$1/%;
|
||||
if ($^O eq 'cygwin') {
|
||||
$newpath =~ s{\\}{/}go;
|
||||
$newpath =~ s{^([a-zA-Z]):/}{/cygdrive/$1/};
|
||||
} elsif ($^O eq 'MSWin32') {
|
||||
$newpath =~ s{\\}{/}go;
|
||||
} elsif ($^O eq 'sunos') {
|
||||
$newpath =~ s(^\/tmp_mnt/)(/);
|
||||
$newpath =~ s{^/tmp_mnt/}{/};
|
||||
}
|
||||
return $newpath;
|
||||
}
|
||||
|
||||
sub LocalPath {
|
||||
my ($newpath) = @_;
|
||||
if ($^O eq "cygwin") {
|
||||
$newpath =~ s%^/cygdrive/([a-zA-Z])/%$1:/%;
|
||||
} elsif ($^O eq "darwin") {
|
||||
if ($^O eq "darwin") {
|
||||
# These rules are likely to be site-specific
|
||||
$newpath =~ s%^/private/var/auto\.home/%/home/%; # APS
|
||||
$newpath =~ s{^/private/var/auto\.home/}{/home/}; # APS
|
||||
}
|
||||
return $newpath;
|
||||
}
|
||||
|
||||
@@ -1,84 +1,70 @@
|
||||
eval 'exec perl -S $0 ${1+"$@"}' # -*- Mode: perl -*-
|
||||
if $running_under_some_shell; # makeConfigAppInclude.pl
|
||||
if $running_under_some_shell;
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# Copyright (c) 2006 UChicago Argonne LLC, 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.
|
||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
||||
# in the file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
|
||||
# Creates a ctdt.c file of c++ static constructors and destructors.
|
||||
# $Id$
|
||||
#
|
||||
# Creates a ctdt.c file of C++ static constructors and destructors,
|
||||
# as required for all vxWorks binaries containing C++ code.
|
||||
|
||||
@ctorlist = ();
|
||||
@dtorlist = ();
|
||||
@ctors = (); %ctors = ();
|
||||
@dtors = (); %dtors = ();
|
||||
|
||||
while ($line = <STDIN>)
|
||||
while (my $line = <STDIN>)
|
||||
{
|
||||
chomp;
|
||||
next if ($line =~ /__?GLOBAL_.F.+/);
|
||||
next if ($line =~ /__?GLOBAL_.I._GLOBAL_.D.+/);
|
||||
if ($line =~ /__?GLOBAL_.D.+/) {
|
||||
($adr,$type,$name) = split ' ',$line,3;
|
||||
$name =~ s/^__/_/;
|
||||
@dtorlist = (@dtorlist,$name);
|
||||
};
|
||||
if ($line =~ /__?GLOBAL_.I.+/) {
|
||||
($adr,$type,$name) = split ' ',$line,3;
|
||||
$name =~ s/^__/_/;
|
||||
@ctorlist = (@ctorlist,$name);
|
||||
};
|
||||
chomp $line;
|
||||
next if ($line =~ m/__?GLOBAL_.F.+/);
|
||||
next if ($line =~ m/__?GLOBAL_.I._GLOBAL_.D.+/);
|
||||
if ($line =~ m/__?GLOBAL_.D.+/) {
|
||||
($adr,$type,$name) = split ' ', $line, 3;
|
||||
push @dtors, $name unless exists $dtors{$name};
|
||||
$dtors{$name} = 1;
|
||||
}
|
||||
if ($line =~ m/__?GLOBAL_.I.+/) {
|
||||
($adr,$type,$name) = split ' ', $line, 3;
|
||||
push @ctors, $name unless exists $ctors{$name};
|
||||
$ctors{$name} = 1;
|
||||
}
|
||||
}
|
||||
|
||||
foreach $ctor (@ctorlist)
|
||||
{
|
||||
if ( $ctor =~ /\./ ) {
|
||||
printf "void %s() __asm__ (\"_%s\");\n",convertName($ctor),$ctor;
|
||||
print join "\n",
|
||||
"/* C++ static constructor and destructor lists */",
|
||||
"/* This is a generated file, do not edit! */",
|
||||
"#include <vxWorks.h>",
|
||||
"\n/* Declarations */",
|
||||
(map cDecl($_), @ctors, @dtors),
|
||||
"\n/* Constructors */",
|
||||
"void (*_ctors[])() = {",
|
||||
(join ",\n", (map " " . cName($_), @ctors), " NULL"),
|
||||
"};",
|
||||
"\n/* Destructors */",
|
||||
"void (*_dtors[])() = {",
|
||||
(join ",\n", (map " " . cName($_), reverse @dtors), " NULL"),
|
||||
"};",
|
||||
"\n";
|
||||
|
||||
sub cName {
|
||||
my ($name) = @_;
|
||||
$name =~ s/^__/_/;
|
||||
$name =~ s/\./\$/g;
|
||||
return $name;
|
||||
}
|
||||
|
||||
sub cDecl {
|
||||
my ($name) = @_;
|
||||
my $decl = 'void ' . cName($name) . '()';
|
||||
# 68k and MIPS targets allow periods in symbol names, which
|
||||
# can only be reached using an assembler string.
|
||||
if (m/\./) {
|
||||
$decl .= "\n __asm__ (\"" . $name . "\");";
|
||||
} else {
|
||||
printf "void %s();\n",$ctor;
|
||||
}
|
||||
$decl .= ';';
|
||||
}
|
||||
return $decl;
|
||||
}
|
||||
|
||||
print "extern void (*_ctors[])();\n";
|
||||
print "void (*_ctors[])() = {\n";
|
||||
foreach $ctor (@ctorlist)
|
||||
{
|
||||
if ( $ctor =~ /\./ ) {
|
||||
printf " %s,\n",convertName($ctor);
|
||||
} else {
|
||||
printf " %s,\n",$ctor;
|
||||
}
|
||||
}
|
||||
print " 0};\n";
|
||||
|
||||
|
||||
foreach $dtor (@dtorlist)
|
||||
{
|
||||
if ( $dtor =~ /\./ ) {
|
||||
printf "void %s() __asm__ (\"_%s\");\n",convertName($dtor),$dtor;
|
||||
} else {
|
||||
printf "void %s();\n",$dtor;
|
||||
}
|
||||
}
|
||||
|
||||
print "extern void (*_ctors[])();\n";
|
||||
print "void (*_dtors[])() = {\n";
|
||||
foreach $dtor (@dtorlist)
|
||||
{
|
||||
if ( $dtor =~ /\./ ) {
|
||||
printf " %s,\n",convertName($dtor);
|
||||
} else {
|
||||
printf " %s,\n",$dtor;
|
||||
}
|
||||
}
|
||||
print " 0};\n";
|
||||
|
||||
sub convertName {
|
||||
my ($name) = @_;
|
||||
$name =~ s/\./\$/g;
|
||||
return $name;
|
||||
}
|
||||
|
||||
|
||||
31
configure/tools/useManifestTool.pl
Executable file
31
configure/tools/useManifestTool.pl
Executable file
@@ -0,0 +1,31 @@
|
||||
eval 'exec perl -S -w $0 ${1+"$@"}' # -*- Mode: perl -*-
|
||||
if 0;
|
||||
|
||||
#
|
||||
# Use MS Visual C++ compiler version number to determine if
|
||||
# we want to use the Manifest Tool (status=1) or not (status=0)
|
||||
#
|
||||
# VC compiler versions >= 14.00 will have status=1
|
||||
# VC compiler versions 10.00 - 13.10 will have status=0
|
||||
# EPICS builds with older VC compilers is not supported
|
||||
#
|
||||
|
||||
my $versionString=`cl 2>&1`;
|
||||
|
||||
if ($versionString =~ m/Version 14./) {
|
||||
$status=1;
|
||||
} elsif ($versionString =~ m/Version 13.10/){
|
||||
$status=0;
|
||||
} elsif ($versionString =~ m/Version 13.0/){
|
||||
$status=0;
|
||||
} elsif ($versionString =~ m/Version 12./){
|
||||
$status=0;
|
||||
} elsif ($versionString =~ m/Version 11./){
|
||||
$status=0;
|
||||
} elsif ($versionString =~ m/Version 10./){
|
||||
$status=0;
|
||||
} else {
|
||||
$status=1;
|
||||
}
|
||||
print "$status\n";
|
||||
exit;
|
||||
@@ -2,12 +2,294 @@
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<title>EPICS Base R3.14.x Release Notes</title>
|
||||
</head>
|
||||
|
||||
<body lang="en">
|
||||
<h1 align="center">EPICS Base Release 3.14.8</h1>
|
||||
<h1 align="center">EPICS Base Release 3.14.x</h1>
|
||||
|
||||
<h2 align="center">Changes since 3.14.8.2</h2>
|
||||
|
||||
<!-- Insert new items below here ... -->
|
||||
|
||||
<h4>dbLoadTemplate</h4>
|
||||
|
||||
<p>The parser for the substitutions file accepted by dbLoadTemplate() has been
|
||||
revised, and is now stricter than it used to be — unmatched characters
|
||||
that were accepted and discarded without warning before will now generate
|
||||
errors. The quote characters at the two ends of a quoted string value must now
|
||||
match, although either single or double quotes can be used. Escaped characters
|
||||
inside a quoted string should pass safely through to the underlying
|
||||
dbLoadRecord() command. The characters permitted in a bareword parameter (i.e. a
|
||||
filename or value that is not inside quotes) have been reduced from the overly
|
||||
wide set allowed before; the permitted characters now comprise: <tt>a-z A-Z 0-9
|
||||
_ - + : . / \ [ ] < > ;</tt></p>
|
||||
|
||||
<h4>Escaped characters in record fields</h4>
|
||||
|
||||
<p>Field value strings loaded from a database file by dbLoadRecords() can now
|
||||
use C89-compatible escaped character codes such as \", \', \t, \n, \064 and
|
||||
\x7e. The parser also now checks for and reports strings that have a newline
|
||||
character in them as an error - if you want a newline in a field, use the \n
|
||||
escaped version.</p>
|
||||
|
||||
<h4>libCom/test and db/test</h4>
|
||||
|
||||
<p>These test programs are no longer installed into the bin/<i>arch</i>
|
||||
directory. Running all these programs on any host architecture is as simple as
|
||||
typing <tt>make runtests</tt> in the base top level directory or in any
|
||||
appropriate subdirectory. The runtests target uses Perl's Test::Harness module
|
||||
to execute all of the test programs and summarize the result. It is also
|
||||
possible to run individual tests as desired, by executing them from the relevent
|
||||
O.<arch> directory; the program output is designed to be comprehensible to
|
||||
humans.</p>
|
||||
|
||||
<p>For vxWorks and RTEMS, a test harness has been created that will run all of
|
||||
the test programs in a suitable order. At a vxWorks target shell, type:</p>
|
||||
|
||||
<blockquote>
|
||||
<pre>ld </path/to/base/bin/vxWorks-<i>arch</i>/vxTestHarness.munch
|
||||
cd "/path/to/writable/directory"
|
||||
epicsRunLibComTests</pre>
|
||||
</blockquote>
|
||||
|
||||
<p>On RTEMS, boot the bin/<i>arch</i>/rtemsTestHarness binary.</p>
|
||||
|
||||
<p>You may wish to capture the output from running these to a file to more
|
||||
easily check the results, since there is no wrapper program to collect and
|
||||
summarize the results of the individual test programs.</p>
|
||||
|
||||
<h4>Breakpoint tables</h4>
|
||||
|
||||
<p>The handling of breakpoint table data has been reworked. It is now possible
|
||||
to give table data in either ascending or descending order, and the breakpoint
|
||||
data may have a negative slope such that the engineering values increase while
|
||||
the raw values decrease and vice versa. The only restriction on the data is that
|
||||
is must be monatonically increasing or decreasing, so you can't use a breakpoint
|
||||
table for curves that have local minima or maxima. This restriction is checked
|
||||
for when the breakpoint table is loaded.</p>
|
||||
|
||||
<h4>Support for vxWorks 6</h4>
|
||||
|
||||
<p>The build configuration support for vxWorks 6.x has changed significantly,
|
||||
having been recombined with the older vxWorks 5.x support. The two target
|
||||
architectures <tt>vxWorks6-mv2100</tt> and <tt>vxWorks6-mv5100</tt> have been
|
||||
removed; IOCs built under vxWorks 6.x using these architectures must revert to
|
||||
the original <tt>vxWorks-ppc603_long</tt> and <tt>vxWorks-ppc604_long</tt>
|
||||
architectures instead. The configuration file CONFIG_SITE.Common.vxWorksCommon
|
||||
now specifies the vxWorks version number, as well as the filesystem path to
|
||||
the installation of vxWorks using the WIND_BASE variable.</p>
|
||||
|
||||
<h4>postfix and calcPerform</h4>
|
||||
|
||||
<p>The calc expression parser and exective have undergone a signficant overhaul,
|
||||
although the API and expression language supported are backwards compatible with
|
||||
one minor exception, described below. Significant improvements have been made to
|
||||
both the API and the expression language: Multiple values can be calculated and
|
||||
assignments made in a calc expression; Error reporting for humans is now
|
||||
supported by the expression parser, and code can discover what inputs and
|
||||
outputs are needed and generated by an expression.</p>
|
||||
|
||||
<p>Assignment operations are now possible, using the new <tt>:=</tt> operator
|
||||
which must have an expression variable (<tt>A</tt> through <tt>L</tt>) to its
|
||||
immediate left. Multiple expressions can be included in the calculation string,
|
||||
separated by a semicolon <tt>;</tt>, all but one of which must be assignments.
|
||||
The value of the whole string is determined by the single non-assignment
|
||||
expression, which may appear anywhere in the string. For example, the following
|
||||
string causes a single CALC record to output the successive values of a sine
|
||||
curve: <tt>sin(a); a:=a+d2r</tt></p>
|
||||
|
||||
<p>Previously any expression that performed an invalid operation which would
|
||||
generate a NaN or Inf result would be stopped immediately and return an error to
|
||||
the caller. Now it is possible to perform operations that generate NaN or
|
||||
infinite results, and the results are returned as normal. The result of the
|
||||
expression or the value assigned to a variable may thus be a NaN or an
|
||||
infinity. To permit this to be checked within the expression, the new operators
|
||||
<tt>finite()</tt>, <tt>isinf()</tt> and <tt>isnan()</tt> have been added to the
|
||||
expression language. The literal values <tt>Inf</tt> and <tt>NaN</tt> are also
|
||||
now supported in expressions.</p>
|
||||
|
||||
<p>The incompatible change to the expression language was to change the
|
||||
<tt>NOT</tt> operator from performing a unary minus operation to an integer
|
||||
bitwise not; the former meaning is illogical and as a result was probably not
|
||||
used much, if at all — nobody complained when I discussed this on
|
||||
tech-talk...</p>
|
||||
|
||||
<p>The extended API and the expression language are now discussed in detail in
|
||||
chapter 19 (libCom) of the R3.14.9 version of the IOC Application Developer's
|
||||
Guide.</p>
|
||||
|
||||
<h4>calc and calcout record, asLib</h4>
|
||||
|
||||
<p>As a result of the above changes to the calc expression parser and executive,
|
||||
both the calc and calcout records and the Access Security library have been
|
||||
modified to take advantage of the new error diagnostics. The Access Security
|
||||
library has been made to reject any expression that contains an assignment
|
||||
operation, to prevent any possible security holes that might be caused by this
|
||||
significant change to the expression rules.</p>
|
||||
|
||||
<p>The calc and calcout records have had some subtle changes applied: To
|
||||
mitigate the effects of the Inf/NaN behaviour change, the result of an
|
||||
expression is checked for NaN, which will result in the UDF field being set and
|
||||
an Undefined/INVALID_ALARM being raised as a result.</p>
|
||||
|
||||
<p>An empty string is no longer a legal expression, therefor the CALC and OCAL
|
||||
fields have been changed so that their default value is a literal <tt>"0"</tt>
|
||||
string. Also any calcout record device support must now add the line
|
||||
<tt>#include "postfix.h"</tt> before the
|
||||
<tt>#include "calcoutRecord.h"</tt> line in the source code.</p>
|
||||
|
||||
<h4>recGblAlarmHook</h4>
|
||||
|
||||
<p>The <tt>recGblResetAlarms()</tt> routine (which is called by all record types
|
||||
towards the end of record processing) now optionally calls a single hook routine
|
||||
via the function pointer <tt>recGblAlarmHook</tt> after it has updated a
|
||||
record's alarm status and severity. See regGbl.h for the hook routine prototype
|
||||
definition, the routine is also given the previous values of the record's status
|
||||
and severity. The hook routine must not block, since this would hold up record
|
||||
processing.</p>
|
||||
|
||||
<h4>ai, bi, mbbi and mbbiDirect records</h4>
|
||||
|
||||
<p>These record types now support raw simulation mode. If the value of the SIMM
|
||||
field is 2 (enum string "RAW"), the SIOL link value is placed into the RVAL
|
||||
field and passed through the raw to engineering units conversion process just
|
||||
like the real device support's raw value would be.</p>
|
||||
|
||||
<h4>dbpr</h4>
|
||||
|
||||
<p>The TIME field of a record is now displayed in a human readable format. TIME
|
||||
used to have an interest level of 4 since it was output in hex and not very easy
|
||||
to understand, but it has now been moved to interest level 2.</p>
|
||||
|
||||
<h4>configure/RELEASE*</h4>
|
||||
|
||||
<p>The <tt>convertRelease.pl</tt> parser now supports the use of
|
||||
<tt>-include</tt> statements in configure/RELEASE files as well as
|
||||
<tt>include</tt> statements.</p>
|
||||
|
||||
<h4>MIPS support</h4>
|
||||
|
||||
<p>Changes were needed to the <tt>configure/tools/munch.pl</tt> script to
|
||||
support vxWorks-MIPS targets.</p>
|
||||
|
||||
<h4>epicsUnitTest</h4>
|
||||
|
||||
<p>A new facility is provided in libCom for use in generating automated test
|
||||
programs. Many (but not all) of the test programs in <tt>libCom/test</tt> have
|
||||
been converted to use this facility.</p>
|
||||
|
||||
<h4>dbStaticLib</h4>
|
||||
|
||||
<p>Off-by-one buffer overflow error fixed in dbFindField() which only seemed to
|
||||
affect vxWorks-(intel) targets.</p>
|
||||
|
||||
<h4>RTEMS</h4>
|
||||
|
||||
<p>Added space for user extensions. This provides the infrastructure for the
|
||||
spy command.</p>
|
||||
<p>Fixed error in epicsThreadGetName for non-EPICS threads.</p>
|
||||
<p>Added hooks for application routines to supply special network configuration
|
||||
parameters.
|
||||
The RTEMS startup code calls epicsRtemsInitPreSetBootConfigFromNVRAM just
|
||||
before reading values from NVRAM and
|
||||
epicsRtemsInitPostSetBootConfigFromNVRAM just afterwards. See
|
||||
epicsRtemsInitHooks.h for prototypes and global variables.</p>
|
||||
|
||||
<h4>libCom</h4>
|
||||
|
||||
<h4>e_flex</h4>
|
||||
|
||||
<p><tt>e_flex</tt> has been modified to accept DOS line endings as well as Unix
|
||||
ones. The <tt>scan.c</tt> file was recreated using <tt>e_flex</tt> itself and
|
||||
the <tt>flex.skel</tt> file on the modified <tt>scan.l.DISTRIB</tt> source.
|
||||
<tt>initscan.c</tt> is not required or used for the EPICS build, so it has been
|
||||
removed.</p>
|
||||
|
||||
<h4>devLib</h4>
|
||||
|
||||
<p>devLib is now built for all architectures, whereas before it was only built
|
||||
on RTEMS and vxWorks. However for it to be usable there must be an appropriate
|
||||
table of OS-specific routines provided. For those OSs that don't implement these
|
||||
routines a default table is defined which will result in an error on any attempt
|
||||
to use devLib routines, but the default table can be overridden in an external
|
||||
library that provides an appropriate table. This subtle change was implemented
|
||||
to allow use of the SIS 3100 PCI to VME bridge from Linux, and needs no change
|
||||
to the other implementations of <tt>devLibOSD.c</tt>.</p>
|
||||
|
||||
<h4>iocsh</h4>
|
||||
|
||||
<p>Added epicsThreadResume command.</p>
|
||||
|
||||
<h4>libCom</h4>
|
||||
|
||||
<p>mallocMustSucceed and callocMustSucceed accept 0-byte requests. Note that
|
||||
these routines may return a NULL pointer in such cases.</p>
|
||||
|
||||
<h4>Mac OS X (Darwin)</h4>
|
||||
|
||||
<p>Added support for EPICS_HOST_ARCH=darwin-ppcx86 for building libraries/applications
|
||||
which will run on both PowerPC and Intel x86 targets.</p>
|
||||
<p>Added support for EPICS_HOST_ARCH=darwin-x86.</p>
|
||||
|
||||
|
||||
<h2 align="center">Changes since 3.14.8.1</h2>
|
||||
|
||||
<h4>epicsStrtod</h4>
|
||||
|
||||
<p>On architectures whose native version of strtod() actually works properly
|
||||
(i.e. converts +/-Inf[inity] and NaN strings to their double equivalents) we
|
||||
managed to break the use of this in the R3.14.8.1 release. This is now
|
||||
fixed.</p>
|
||||
|
||||
|
||||
<h2 align="center">Changes since 3.14.8</h2>
|
||||
|
||||
<h4>Version Numbering</h4>
|
||||
|
||||
<p>This release adds a fourth level of version number, which we haven't used
|
||||
since R3.13.1.1. The intention is to imply that R3.14.8.1 includes some small
|
||||
but important changes since R3.14.8 but no signficant new behaviours or API
|
||||
modifications. This fourth level has required us to modify the version number
|
||||
system and the macros in the epicsVersion.h file slightly though. We have taken
|
||||
the opportunity to introduce a new variable <tt>EPICS_SITE_VERSION</tt> to the
|
||||
file configure/CONFIG_SITE that adds an optional site-specific version number;
|
||||
sites that were achieving this by editing the configure/CONFIG_BASE_VERSION file
|
||||
should switch to setting <tt>EPICS_SITE_VERSION</tt> instead.</p>
|
||||
|
||||
<h4>CA</h4>
|
||||
|
||||
<p>Mantis entries fixed:</p>
|
||||
|
||||
<p>232 - non-preemptive mode client relying on ca_poll does not always
|
||||
reconnect</p>
|
||||
|
||||
<h4>Win32 symbol changes</h4>
|
||||
|
||||
<p>These changes are required to allow software outside of Base to be built on
|
||||
win32 architectures.</p>
|
||||
|
||||
<ul>
|
||||
<li>win32 epicsShareAPI changes to libCom
|
||||
<p>The win32 Pascal calling convention (epicsShareAPI) has been removed
|
||||
from the following header files in libCom/misc: adjustment.h,
|
||||
cantProceed.h, epicsConvert.h, epicsStdlib.h, epicsString.h.</p>
|
||||
</li>
|
||||
<li>epicsString
|
||||
<p>A new function epicsStrtok_r has been added because win32 does not
|
||||
implement strtok_r.</p>
|
||||
</li>
|
||||
<li>epicsStdlib
|
||||
<p>All function described in epicsStdlib.h are now implemented in
|
||||
epicsStdlib.c</p>
|
||||
</li>
|
||||
<li>win32 epicsShareExtern changes in dbStaticLib
|
||||
<p>The type name mapping array mapdbfType defined in dbFldTypes.h has had
|
||||
the correct export modifier keywords added to it for use on win32.</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2 align="center">Changes since 3.14.7</h2>
|
||||
|
||||
@@ -255,11 +537,12 @@ architectures.</p>
|
||||
|
||||
<h4>epicsThreadCreate Stacksize Posix</h4>
|
||||
|
||||
<p>The posix implementation of epicsThreadCreate now makes pthread calls to
|
||||
set the stack size. The sizes for (small,medium,large) stack sizes are
|
||||
(128K,256K,512K). This is used for at least the following: linux, solaris,
|
||||
HPUX, Darwin). Doing this allows creation of many more threads os most
|
||||
systems.</p>
|
||||
<p>The posix implementation of epicsThreadCreate() now makes pthread calls to
|
||||
set the stack size. The sizes returned by epicsThreadGetStackSize() for the
|
||||
inputs epicsThreadStackSmall, epicsThreadStackMedium and epicsThreadStackBig are
|
||||
128K, 256K and 512K respectively on at least the architectures Linux, Solaris,
|
||||
HPUX and Darwin (different values are used on vxWorks and RTEMS). This allows
|
||||
creation of many more threads on most systems.</p>
|
||||
|
||||
<h4>dbNotify</h4>
|
||||
|
||||
@@ -1522,70 +1805,70 @@ applications.
|
||||
|
||||
|
||||
<blockquote>
|
||||
DBDEXPAND = <name>Include.dbd </blockquote>
|
||||
DBDEXPAND = <name>Include.dbd</blockquote>
|
||||
NOTE: If any of your *App/*Db/Makefiles contain "DBDNAME =" lines you
|
||||
should make these same changes in that *Db dirctory.</li>
|
||||
<li>In all *App/src/Makefile Makefiles change
|
||||
|
||||
<blockquote>
|
||||
RECTYPES=<name>.h </blockquote>
|
||||
RECTYPES=<name>.h</blockquote>
|
||||
to
|
||||
|
||||
<blockquote>
|
||||
DBDINC+=<name> </blockquote>
|
||||
DBDINC+=<name></blockquote>
|
||||
change
|
||||
|
||||
<blockquote>
|
||||
MENUS=<name>.h </blockquote>
|
||||
MENUS=<name>.h</blockquote>
|
||||
to
|
||||
|
||||
<blockquote>
|
||||
DBDINC+=<name> </blockquote>
|
||||
DBDINC+=<name></blockquote>
|
||||
change
|
||||
|
||||
<blockquote>
|
||||
BPTS </blockquote>
|
||||
BPTS</blockquote>
|
||||
to
|
||||
|
||||
<blockquote>
|
||||
DBD </blockquote>
|
||||
DBD</blockquote>
|
||||
change
|
||||
|
||||
<blockquote>
|
||||
INSTALLDB </blockquote>
|
||||
INSTALLDB</blockquote>
|
||||
to
|
||||
|
||||
<blockquote>
|
||||
DB </blockquote>
|
||||
DB</blockquote>
|
||||
change
|
||||
|
||||
<blockquote>
|
||||
DBDINSTALL </blockquote>
|
||||
DBDINSTALL</blockquote>
|
||||
to
|
||||
|
||||
<blockquote>
|
||||
DBD </blockquote>
|
||||
DBD</blockquote>
|
||||
</li>
|
||||
<li>In all example *App/src/Makefile files change
|
||||
|
||||
<blockquote>
|
||||
example_SRCS_DEFAULT += registerRecordDeviceDriver.c </blockquote>
|
||||
example_SRCS_DEFAULT += registerRecordDeviceDriver.c</blockquote>
|
||||
to
|
||||
|
||||
<blockquote>
|
||||
example_SRCS_DEFAULT += <name>_registerRecordDeviceDriver.cpp
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
where <name> is the base name of a <name>.dbd file which was
|
||||
created from a <name>Include.dbd file and which will be loaded in a
|
||||
st.cmd or stcmd.host script (e.g. example).</li>
|
||||
<li>In ./iocBoot/ioc<name>/st.cmd files change
|
||||
|
||||
<blockquote>
|
||||
dbLoadDatabase("dbd/exampleApp.dbd") </blockquote>
|
||||
dbLoadDatabase("dbd/exampleApp.dbd")</blockquote>
|
||||
to
|
||||
|
||||
<blockquote>
|
||||
dbLoadDatabase("dbd/example.dbd") </blockquote>
|
||||
dbLoadDatabase("dbd/example.dbd")</blockquote>
|
||||
</li>
|
||||
<li>In <top>/iocBoot/ioc<name>/stcmd.host files change
|
||||
|
||||
@@ -1601,8 +1884,8 @@ applications.
|
||||
<h3>EPICS_HOST_ARCH changes</h3>
|
||||
|
||||
<p>GNU compiler builds are now determined by the value of EPICS_HOST_ARCH and
|
||||
are no longer specified in CONFIG_SITE. All references to the ANSI (ACC/GCC)
|
||||
and CPLUSPLUS (CCC/G++) macros have been removed.</p>
|
||||
are no longer specified in CONFIG_SITE. All references to the ANSI
|
||||
(ACC/GCC) and CPLUSPLUS (CCC/G++) macros have been removed.</p>
|
||||
|
||||
<h3>libCom</h3>
|
||||
|
||||
|
||||
@@ -135,21 +135,21 @@ have been responsible for specific tasks in the past:</p>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Janet Anderson</td>
|
||||
<td>Edit and commit changes to the EPICS version number files,
|
||||
config/CONFIG_BASE_VERSION and configure/CONFIG_BASE_VERSION.</td>
|
||||
<td>Edit and commit changes to the EPICS version number file
|
||||
configure/CONFIG_BASE_VERSION.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Janet Anderson</td>
|
||||
<td>Tag the module in CVS. Version tags take the form
|
||||
<code>R</code><i><code>x</code></i><code>-</code><i><code>y</code></i><code>-</code><i><code>z</code></i><code>[-{alpha,beta,</code><i><code>n</code></i><code>}]</code></td>
|
||||
<td>Tag the module in CVS. Official base release version tags take the form
|
||||
<code>R</code><i><code>x</code></i><code>-</code><i><code>y</code></i><code>-</code><i><code>z</code></i><code>[-</code><i><code>n</code></i><code>]</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Janet Anderson</td>
|
||||
<td>Export the tagged version, "cvs export -kv -d base-x.y.z
|
||||
-r Rx-y-zepics/base", and create the
|
||||
baseR<i>x.y.z</i>[{alpha,beta}<i>n</i>].tar.gz file of the result</td>
|
||||
<td>Export the tagged version, "cvs export -kv -d base-x.y.z[.n]
|
||||
-r Rx-y-z[-n] epics/base", and create the
|
||||
baseRx.y.z[.n]tar.gz file of the result</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
|
||||
@@ -10,12 +10,16 @@
|
||||
TOP=../../..
|
||||
include $(TOP)/configure/CONFIG
|
||||
|
||||
INC += epicsRtemsInitHooks.h
|
||||
|
||||
SRCS += rtems_init.c
|
||||
SRCS += rtems_config.c
|
||||
SRCS += rtems_netconfig.c
|
||||
SRCS += rtems_util.c
|
||||
SRCS += rtems_dummyreg.c
|
||||
SRCS += setBootConfigFromNVRAM.c
|
||||
SRCS += epicsRtemsInitHookPre.c
|
||||
SRCS += epicsRtemsInitHookPost.c
|
||||
|
||||
LIBRARY_RTEMS = rtemsCom
|
||||
LIBRARY_SRCS = $(SRCS) $(BUILD_ARCHS)
|
||||
|
||||
19
src/RTEMS/base/epicsRtemsInitHookPost.c
Normal file
19
src/RTEMS/base/epicsRtemsInitHookPost.c
Normal file
@@ -0,0 +1,19 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2006 The University of Chicago, as Operator of Argonne
|
||||
* 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.
|
||||
\*************************************************************************/
|
||||
|
||||
/*
|
||||
* Dummy version -- use if application does not provide its own version
|
||||
* $Id$
|
||||
*/
|
||||
#include "epicsRtemsInitHooks.h"
|
||||
|
||||
int
|
||||
epicsRtemsInitPostSetBootConfigFromNVRAM(struct rtems_bsdnet_config *config)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
19
src/RTEMS/base/epicsRtemsInitHookPre.c
Normal file
19
src/RTEMS/base/epicsRtemsInitHookPre.c
Normal file
@@ -0,0 +1,19 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2006 The University of Chicago, as Operator of Argonne
|
||||
* 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.
|
||||
\*************************************************************************/
|
||||
|
||||
/*
|
||||
* Dummy version -- use if application does not provide its own version
|
||||
* $Id$
|
||||
*/
|
||||
#include "epicsRtemsInitHooks.h"
|
||||
|
||||
int
|
||||
epicsRtemsInitPreSetBootConfigFromNVRAM(struct rtems_bsdnet_config *config)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
24
src/RTEMS/base/epicsRtemsInitHooks.h
Normal file
24
src/RTEMS/base/epicsRtemsInitHooks.h
Normal file
@@ -0,0 +1,24 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2006 The University of Chicago, as Operator of Argonne
|
||||
* 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.
|
||||
\*************************************************************************/
|
||||
|
||||
/*
|
||||
* Hooks into RTEMS startup code
|
||||
* $Id$
|
||||
*/
|
||||
#include <bsp.h>
|
||||
#include <rtems/rtems_bsdnet.h>
|
||||
|
||||
extern char *env_nfsServer;
|
||||
extern char *env_nfsPath;
|
||||
extern char *env_nfsMountPoint;
|
||||
|
||||
/*
|
||||
* Return 0 for success, non-zero for failure (will cause panic)
|
||||
*/
|
||||
int epicsRtemsInitPreSetBootConfigFromNVRAM(struct rtems_bsdnet_config *config);
|
||||
int epicsRtemsInitPostSetBootConfigFromNVRAM(struct rtems_bsdnet_config *config);
|
||||
@@ -28,6 +28,7 @@
|
||||
#define CONFIGURE_MAXIMUM_SEMAPHORES rtems_resource_unlimited(500)
|
||||
#define CONFIGURE_MAXIMUM_TIMERS rtems_resource_unlimited(20)
|
||||
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES rtems_resource_unlimited(5)
|
||||
#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1
|
||||
|
||||
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 100
|
||||
#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
|
||||
@@ -48,7 +49,12 @@ rtems_task Init (rtems_task_argument argument);
|
||||
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
#if !defined(__mc68040__) && !defined(__mcf5200__) /* don't have RTC code */
|
||||
|
||||
#warning "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||
#warning "needs review"
|
||||
#warning "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||
/* This should be made BSP dependent, not CPU dependent !! */
|
||||
#if !defined(__mc68040__) && !defined(__mcf5200__) && !defined(__arm__) /* don't have RTC code */
|
||||
#define CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
|
||||
#endif
|
||||
|
||||
|
||||
@@ -32,90 +32,30 @@
|
||||
|
||||
#include <epicsThread.h>
|
||||
#include <epicsTime.h>
|
||||
#include <epicsExit.h>
|
||||
#include <envDefs.h>
|
||||
#include <errlog.h>
|
||||
#include <logClient.h>
|
||||
#include <osiUnistd.h>
|
||||
#include <iocsh.h>
|
||||
|
||||
/*
|
||||
* Architecture-dependent routines
|
||||
*/
|
||||
#if defined(__mcpu32__) || defined(__mcf528x__)
|
||||
static void
|
||||
logReset (void)
|
||||
{
|
||||
int bit, rsr;
|
||||
int i;
|
||||
const char *cp;
|
||||
char cbuf[80];
|
||||
|
||||
#if defined(__mcpu32__)
|
||||
rsr = m360.rsr;
|
||||
m360.rsr = ~0;
|
||||
#else
|
||||
rsr = MCF5282_RESET_RSR;
|
||||
#endif
|
||||
for (i = 0, bit = 0x80 ; bit != 0 ; bit >>= 1) {
|
||||
if (rsr & bit) {
|
||||
switch (bit) {
|
||||
#if defined(__mcpu32__)
|
||||
case 0x80: cp = "RESETH*"; break;
|
||||
case 0x40: cp = "POWER-UP"; break;
|
||||
case 0x20: cp = "WATCHDOG"; break;
|
||||
case 0x10: cp = "DOUBLE FAULT"; break;
|
||||
case 0x04: cp = "LOST CLOCK"; break;
|
||||
case 0x02: cp = "RESET"; break;
|
||||
case 0x01: cp = "RESETS*"; break;
|
||||
#else
|
||||
case MCF5282_RESET_RSR_LVD: cp = "Low-voltage detect"; break;
|
||||
case MCF5282_RESET_RSR_SOFT: cp = "Software reset"; break;
|
||||
case MCF5282_RESET_RSR_WDR: cp = "Watchdog reset"; break;
|
||||
case MCF5282_RESET_RSR_POR: cp = "Power-on reset"; break;
|
||||
case MCF5282_RESET_RSR_EXT: cp = "External reset"; break;
|
||||
case MCF5282_RESET_RSR_LOC: cp = "Loss of clock"; break;
|
||||
case MCF5282_RESET_RSR_LOL: cp = "Loss of lock"; break;
|
||||
#endif
|
||||
default: cp = "??"; break;
|
||||
}
|
||||
i += sprintf (cbuf+i, cp);
|
||||
rsr &= ~bit;
|
||||
if (rsr)
|
||||
i += sprintf (cbuf+i, ", ");
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
errlogPrintf ("Startup after %s.\n", cbuf);
|
||||
}
|
||||
|
||||
#else
|
||||
#include "epicsRtemsInitHooks.h"
|
||||
|
||||
static void
|
||||
logReset (void)
|
||||
{
|
||||
errlogPrintf ("Started.\n");
|
||||
}
|
||||
#endif
|
||||
void rtems_bsp_reset_cause(char *buf, size_t capacity) __attribute__((weak));
|
||||
void (*fp)(char *buf, size_t capacity) = rtems_bsp_reset_cause;
|
||||
|
||||
#ifdef __i386__
|
||||
/*
|
||||
* Remote debugger support
|
||||
*
|
||||
* i386-rtems-gdb -b 38400 example(binary from EPICS build -- not netbootable image!)
|
||||
* (gdb) target remote /dev/ttyS0
|
||||
*/
|
||||
int enableRemoteDebugging = 0; /* Global so gdb can set before download */
|
||||
static void
|
||||
initRemoteGdb(int ticksPerSecond)
|
||||
{
|
||||
if (enableRemoteDebugging) {
|
||||
init_remote_gdb();
|
||||
rtems_task_wake_after(ticksPerSecond);
|
||||
breakpoint();
|
||||
if (fp) {
|
||||
char buf[80];
|
||||
fp(buf, sizeof buf);
|
||||
errlogPrintf ("Startup after %s.\n", buf);
|
||||
}
|
||||
else {
|
||||
errlogPrintf ("Startup.\n");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
***********************************************************************
|
||||
@@ -191,30 +131,32 @@ mustMalloc(int size, const char *msg)
|
||||
static int
|
||||
initialize_local_filesystem(const char **argv)
|
||||
{
|
||||
extern char _DownloadLocation[] __attribute__((weak));
|
||||
extern char _FlashBase[] __attribute__((weak));
|
||||
extern char _FlashSize[] __attribute__((weak));
|
||||
|
||||
argv[0] = rtems_bsdnet_bootp_boot_file_name;
|
||||
if (_FlashSize && (_DownloadLocation || _FlashBase)) {
|
||||
extern char _edata[];
|
||||
size_t flashIndex = _edata - _DownloadLocation;
|
||||
char *header = _FlashBase + flashIndex;
|
||||
|
||||
#if defined(__mcf528x__)
|
||||
extern char _DownloadLocation[], _edata[], _FlashBase[], _FlashSize[];
|
||||
unsigned long flashIndex = _edata - _DownloadLocation;
|
||||
char *header;
|
||||
|
||||
header = _FlashBase + flashIndex;
|
||||
if (memcmp(header + 257, "ustar ", 8) == 0) {
|
||||
int fd;
|
||||
printf ("***** Unpack in-memory file system (IMFS) *****\n");
|
||||
if (rtems_tarfs_load("/", header, (unsigned long)_FlashSize - flashIndex) != 0) {
|
||||
printf("Can't unpack tar filesystem\n");
|
||||
return 0;
|
||||
if (memcmp(header + 257, "ustar ", 8) == 0) {
|
||||
int fd;
|
||||
printf ("***** Unpack in-memory file system (IMFS) *****\n");
|
||||
if (rtems_tarfs_load("/", (unsigned char *)header, (size_t)_FlashSize - flashIndex) != 0) {
|
||||
printf("Can't unpack tar filesystem\n");
|
||||
return 0;
|
||||
}
|
||||
if ((fd = open(rtems_bsdnet_bootp_cmdline, 0)) >= 0) {
|
||||
close(fd);
|
||||
printf ("***** Found startup script (%s) in IMFS *****\n", rtems_bsdnet_bootp_cmdline);
|
||||
argv[1] = rtems_bsdnet_bootp_cmdline;
|
||||
return 1;
|
||||
}
|
||||
printf ("***** Startup script (%s) not in IMFS *****\n", rtems_bsdnet_bootp_cmdline);
|
||||
}
|
||||
if ((fd = open(rtems_bsdnet_bootp_cmdline, 0)) >= 0) {
|
||||
close(fd);
|
||||
printf ("***** Found startup script (%s) in IMFS *****\n", rtems_bsdnet_bootp_cmdline);
|
||||
argv[1] = rtems_bsdnet_bootp_cmdline;
|
||||
return 1;
|
||||
}
|
||||
printf ("***** Startup script (%s) not in IMFS *****\n", rtems_bsdnet_bootp_cmdline);
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -233,14 +175,13 @@ initialize_remote_filesystem(const char **argv, int hasLocalFilesystem)
|
||||
strcpy (path, "/TFTP/BOOTP_HOST/epics/");
|
||||
l = strlen (path);
|
||||
if (gethostname (&path[l], pathsize - l - 10) || (path[l] == '\0'))
|
||||
{
|
||||
LogFatal ("Can't get host name");
|
||||
}
|
||||
strcat (path, "/st.cmd");
|
||||
argv[1] = path;
|
||||
}
|
||||
#else
|
||||
extern char *env_nfsServer;
|
||||
extern char *env_nfsPath;
|
||||
extern char *env_nfsMountPoint;
|
||||
char *server_name;
|
||||
char *server_path;
|
||||
char *mount_point;
|
||||
@@ -372,7 +313,7 @@ static void netStatCallFunc(const iocshArgBuf *args)
|
||||
static const iocshFuncDef stackCheckFuncDef = {"stackCheck",0,NULL};
|
||||
static void stackCheckCallFunc(const iocshArgBuf *args)
|
||||
{
|
||||
Stack_check_Dump_usage ();
|
||||
Stack_check_Dump_usage();
|
||||
}
|
||||
|
||||
static const iocshFuncDef heapSpaceFuncDef = {"heapSpace",0,NULL};
|
||||
@@ -380,7 +321,7 @@ static void heapSpaceCallFunc(const iocshArgBuf *args)
|
||||
{
|
||||
unsigned long n = malloc_free_space();
|
||||
|
||||
if (n >= 1024*1000) {
|
||||
if (n >= 1024*1024) {
|
||||
double x = (double)n / (1024 * 1024);
|
||||
printf("Heap space: %.1f MB\n", x);
|
||||
}
|
||||
@@ -471,12 +412,12 @@ exitHandler(void)
|
||||
rtems_task
|
||||
Init (rtems_task_argument ignored)
|
||||
{
|
||||
int i;
|
||||
const char *argv[3] = { NULL, NULL, NULL };
|
||||
rtems_interval ticksPerSecond;
|
||||
int i;
|
||||
const char *argv[3] = { NULL, NULL, NULL };
|
||||
rtems_interval ticksPerSecond;
|
||||
rtems_task_priority newpri;
|
||||
rtems_status_code sc;
|
||||
rtems_time_of_day now;
|
||||
rtems_status_code sc;
|
||||
rtems_time_of_day now;
|
||||
|
||||
/*
|
||||
* Get configuration
|
||||
@@ -491,13 +432,14 @@ Init (rtems_task_argument ignored)
|
||||
/*
|
||||
* Architecture-specific hooks
|
||||
*/
|
||||
#if defined(__i386__)
|
||||
initRemoteGdb(ticksPerSecond);
|
||||
#endif
|
||||
if (epicsRtemsInitPreSetBootConfigFromNVRAM(&rtems_bsdnet_config) != 0)
|
||||
delayedPanic("epicsRtemsInitPreSetBootConfigFromNVRAM");
|
||||
if (rtems_bsdnet_config.bootp == NULL) {
|
||||
extern void setBootConfigFromNVRAM(void);
|
||||
setBootConfigFromNVRAM();
|
||||
}
|
||||
if (epicsRtemsInitPostSetBootConfigFromNVRAM(&rtems_bsdnet_config) != 0)
|
||||
delayedPanic("epicsRtemsInitPostSetBootConfigFromNVRAM");
|
||||
|
||||
/*
|
||||
* Override RTEMS configuration
|
||||
@@ -513,30 +455,35 @@ Init (rtems_task_argument ignored)
|
||||
initConsole ();
|
||||
putenv ("TERM=xterm");
|
||||
putenv ("IOCSH_HISTSIZE=20");
|
||||
if (rtems_bsdnet_config.hostname) {
|
||||
char *cp = mustMalloc(strlen(rtems_bsdnet_config.hostname)+3, "iocsh prompt");
|
||||
sprintf(cp, "%s> ", rtems_bsdnet_config.hostname);
|
||||
epicsEnvSet ("IOCSH_PS1", cp);
|
||||
epicsEnvSet("IOC_NAME", rtems_bsdnet_config.hostname);
|
||||
}
|
||||
else {
|
||||
epicsEnvSet ("IOCSH_PS1", "epics> ");
|
||||
epicsEnvSet ("IOC_NAME", ":UnnamedIoc:");
|
||||
}
|
||||
|
||||
/*
|
||||
* Start network
|
||||
*/
|
||||
if (rtems_bsdnet_config.network_task_priority == 0) {
|
||||
if (rtems_bsdnet_config.network_task_priority == 0)
|
||||
{
|
||||
unsigned int p;
|
||||
if (epicsThreadHighestPriorityLevelBelow(epicsThreadPriorityScanLow, &p)
|
||||
== epicsThreadBooleanStatusSuccess)
|
||||
{
|
||||
rtems_bsdnet_config.network_task_priority = epicsThreadGetOssPriorityValue(p);
|
||||
}
|
||||
}
|
||||
printf("\n***** Initializing network *****\n");
|
||||
rtems_bsdnet_initialize_network();
|
||||
initialize_remote_filesystem(argv, initialize_local_filesystem(argv));
|
||||
|
||||
/*
|
||||
* More environment: iocsh prompt and hostname
|
||||
*/
|
||||
{
|
||||
char hostname[1024];
|
||||
gethostname(hostname, 1023);
|
||||
char *cp = mustMalloc(strlen(hostname)+3, "iocsh prompt");
|
||||
sprintf(cp, "%s> ", hostname);
|
||||
epicsEnvSet ("IOCSH_PS1", cp);
|
||||
epicsEnvSet("IOC_NAME", hostname);
|
||||
}
|
||||
|
||||
/*
|
||||
* Use BSP-supplied time of day if available
|
||||
*/
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user