Merged modified version of Michael Davidsaver's reorg-src branch.

This commit is contained in:
Andrew Johnson
2011-08-23 17:43:12 -05:00
807 changed files with 1454 additions and 1213 deletions

View File

@@ -21,14 +21,12 @@ endif
#---------------------------------------------------------------
# Epics base Ioc libraries
EPICS_BASE_IOC_LIBS += recIoc softDevIoc
EPICS_BASE_IOC_LIBS += miscIoc rsrvIoc dbtoolsIoc asIoc
EPICS_BASE_IOC_LIBS += dbIoc registryIoc dbStaticIoc ca Com
EPICS_BASE_IOC_LIBS += dbRecStd dbCore ca Com
#---------------------------------------------------------------
# Epics base Host libraries
EPICS_BASE_HOST_LIBS += cas gdd asHost dbStaticHost registryIoc
EPICS_BASE_HOST_LIBS += cas gdd dbStaticHost
EPICS_BASE_HOST_LIBS += ca Com
#---------------------------------------------------------------

View File

@@ -263,7 +263,7 @@ $(COMMON_DIR)/%.dbd: $(COMMON_DIR)/%Include.dbd
$(ECHO) "$<:../Makefile" >> $(notdir $@)$(DEP)
$(ECHO) "Expanding dbd"
@$(RM) $@
@$(DBEXPAND) $(DBDFLAGS) -o $@ $<
$(DBEXPAND) $(DBDFLAGS) -o $@ $<
$(COMMON_DIR)/%.dbd: %Include.dbd
@$(RM) $(notdir $@)$(DEP)

View File

@@ -220,23 +220,21 @@ $(OBJLIBNAME):%$(OBJ):
@$(RM) $@
$(BAFCMD) $<
YACCOPT ?= $($*_YACCOPT)
#
# rename the y.tab.h file only if we
# are creating it
#
ifeq ($(findstring -d, $(YACCOPT)),-d)
%.h %.c: %.y
$(RM) $*.c y.tab.c
$(RM) $*.h y.tab.h
$(YACC) $(YACCOPT) $<
$(MV) y.tab.c $*.c
$(MV) y.tab.h $*.h
else
%.c: %.y
$(RM) $*.c y.tab.c
$(YACC) $(YACCOPT) $<
$(MV) y.tab.c $*.c
endif
$(RM) $*.tab.c
$(RM) $*.tab.h
$(YACC) -b$* $(YACCOPT) $<
$(MV) $*.tab.c $*.c
$(if $(findstring -d, $(YACCOPT)),$(MV) $*.tab.h $*.h,)
# must be a seperate rule since when not using '-d' the
# prefix for .h will be different then .c
%.h : %.c %.y
%.c: %.l
@$(RM) lex.yy.c

View File

@@ -20,7 +20,226 @@ Enabled histogram record type</h3>
<p>
The histogram record was not included in the base.dbd file in any 3.14 release,
but has now been added along with its associated soft device support.</p>
but has now been added along with its associated soft device support. The build
system now generates the list of all the record.dbd files in base automatically
in src/std/rec/Makefile.</p>
<h3>Reorganization of src/</h3>
<p>Reorganization of subdirectories of src/ to better represent the relation
between different parts as described in the following table.</p>
<p>This change also allows the number of libraries built to be reduced to:
libCap5.so, libca.so, libdbCore.so, libdbStaticHost.so,
libCom.so, libcas.so, libdbRecStd.so, and libgdd.so</p>
<table border="1"><tbody>
<tr>
<th>Component</th>
<th>Dependency</th>
<th>Library name</th>
<th>Description</th>
</tr>
<tr>
<td>src/tools</td>
<td></td>
<td></td>
<td>Build system scripts</td>
</tr>
<tr>
<td>src/libCom</td>
<td>src/tools</td>
<td>Com</td>
<td>Utility routines and OS-independant API</td>
</tr>
<tr>
<td>src/template</td>
<td>src/tools</td>
<td></td>
<td>User application templates (e.g. makeBaseApp)</td>
</tr>
<tr>
<td>src/ca/client</td>
<td>src/libCom</td>
<td>ca</td>
<td>Channel Access client</td>
</tr>
<tr>
<td>src/ca/legacy/gdd</td>
<td>src/ca/client</td>
<td>gdd</td>
<td>Generic data layer for PCAS</td>
</tr>
<tr>
<td>src/ca/legacy/pcas</td>
<td>src/ca/legacy/gdd</td>
<td>cas</td>
<td>Portable Channel Access Server</td>
</tr>
<tr>
<td>src/ioc</td>
<td>src/ca</td>
<td>dbCore</td>
<td>Core database processing functions</td>
</tr>
<tr>
<td>src/std</td>
<td>src/ioc</td>
<td>dbRecStd</td>
<td>Standard records, soft device support and the softIoc </td>
</tr>
</tbody></table>
<p>
In order to better reflect these relations the following
directories and files were moved as described:</p>
<table border="1"><tbody>
<tr>
<th colspan="2">Relocations</th>
</tr>
<tr>
<th>Previous</th><th>New</th>
</tr>
<tr>
<th colspan="2">libCom</th>
</tr>
<tr>
<td>src/RTEMS</td>
<td>src/libCom/RTEMS</td>
</tr>
<tr>
<td>src/toolsComm/flex</td>
<td>src/libCom/flex</td>
</tr>
<tr>
<td>src/toolsComm/antelope</td>
<td>src/libCom/yacc</td>
</tr>
<tr>
<td align="right">src/dbStatic/alarm.h<br>.../alarmString.h</td>
<td>src/libCom/misc/</td>
</tr>
<tr>
<th colspan="2">IOC Core Components</th>
</tr>
<tr>
<td>src/bpt</td>
<td>src/ioc/bpt</td>
</tr>
<tr>
<td>src/db</td>
<td>src/ioc/db</td>
</tr>
<tr>
<td>src/dbStatic</td>
<td>src/ioc/dbStatic</td>
</tr>
<tr>
<td>src/dbtools</td>
<td>src/ioc/dbtemplate</td>
</tr>
<tr>
<td>src/misc</td>
<td>src/ioc/misc</td>
</tr>
<tr>
<td>src/registry</td>
<td>src/ioc/registry</td>
</tr>
<tr>
<td>src/rsrv</td>
<td>src/ioc/rsrv <a href="#rsrv">1</a></td>
</tr>
<tr>
<th colspan="2">Standard Record Definitions</th>
</tr>
<tr>
<td>src/dev/softDev</td>
<td>src/std/dev</td>
</tr>
<tr>
<td>src/rec</td>
<td>src/std/rec</td>
</tr>
<tr>
<td>src/softIoc</td>
<td>src/std/softIoc</td>
</tr>
<tr>
<th colspan="2">Channel Access</th>
</tr>
<tr>
<td>src/ca</td>
<td>src/ca/client</td>
</tr>
<tr>
<td>src/catools</td>
<td>src/ca/client/tools</td>
</tr>
<tr>
<td>src/cap5</td>
<td>src/ca/client/perl</td>
</tr>
<tr>
<td>src/gdd</td>
<td>src/ca/legacy/gdd</td>
</tr>
<tr>
<td>src/cas</td>
<td>src/ca/legacy/pcas</td>
</tr>
<tr>
<td>src/excas</td>
<td>src/ca/legacy/pcas/ex</td>
</tr>
<tr>
<th colspan="2">User Templates</th>
</tr>
<tr>
<td>src/makeBaseApp</td>
<td>src/template/base</td>
</tr>
<tr>
<td>src/makeBaseExt</td>
<td>src/template/ext</td>
</tr>
<tr>
<th colspan="2">Dispersed</th>
</tr>
<tr>
<td rowspan="3">src/util <a href="#util">2</a></td>
<td>src/ca/client</td>
</tr>
<tr>
<td>src/ca/client/test</td>
</tr>
<tr>
<td>src/libCom/log</td>
</tr>
<tr>
<td rowspan="2">src/as <a href="#as">3</a></td>
<td>src/libCom/as</td>
</tr>
<tr>
<td>src/ioc/as</td>
</tr>
</tbody></table>
<p><a name="rsrv">1</a>
RSRV is built as part of dbCore due to its tight (bidirectional) coupling
with the other database code.</p>
<p><a name="util">2</a>
The contents for src/util/ moved to three locations. The caRepeater init script
was moved to src/ca/client/. ca_test is now in src/ca/client/test/.
The iocLogServer was moved into the same directory (src/libCom/log) as
the log client code.</p>
<p><a name="as">3</a>
The Access Security code has been divided, with the parts not related to the
database (lexer/parser and trap registration) becoming part of libCom.
The remaining components are included in the dbCore library</p>
<h3>
Moved src/RTEMS/base directory</h3>

View File

@@ -15,80 +15,56 @@ include $(TOP)/configure/CONFIG
DIRS += tools
DIRS += makeBaseApp
makeBaseApp_DEPEND_DIRS = tools
DIRS += template/base
template/base_DEPEND_DIRS = tools
DIRS += makeBaseExt
makeBaseExt_DEPEND_DIRS = tools
DIRS += template/ext
template/ext_DEPEND_DIRS = tools
# Common
DIRS += libCom
libCom_DEPEND_DIRS = tools
DIRS += toolsComm
toolsComm_DEPEND_DIRS = libCom
DIRS += ca
ca_DEPEND_DIRS = libCom
DIRS += dbStatic
dbStatic_DEPEND_DIRS = toolsComm
DIRS += registry
registry_DEPEND_DIRS = dbStatic
DIRS += bpt
bpt_DEPEND_DIRS = dbStatic
DIRS += db
db_DEPEND_DIRS = bpt ca
DIRS += as
as_DEPEND_DIRS = db
DIRS += util
util_DEPEND_DIRS = ca
DIRS += dbtools
dbtools_DEPEND_DIRS = db
DIRS += catools
catools_DEPEND_DIRS = ca dbStatic
DIRS += rsrv
rsrv_DEPEND_DIRS = as
DIRS += rec
rec_DEPEND_DIRS = as registry
DIRS += misc
misc_DEPEND_DIRS = dbtools rsrv rec
DIRS += dev
dev_DEPEND_DIRS = rec misc
DIRS += RTEMS
RTEMS_DEPEND_DIRS = libCom
DIRS += libCom/RTEMS
libCom/RTEMS_DEPEND_DIRS = libCom
DIRS += libCom/test
libCom/test_DEPEND_DIRS = ca RTEMS
libCom/test_DEPEND_DIRS = libCom/RTEMS
DIRS += db/test
db/test_DEPEND_DIRS = db RTEMS
# Channel Access
DIRS += softIoc
softIoc_DEPEND_DIRS = dev dbtools RTEMS
DIRS += ca/client
ca/client_DEPEND_DIRS = libCom
DIRS += gdd
gdd_DEPEND_DIRS = ca
DIRS += ca/client/tools
ca/client/tools_DEPEND_DIRS = ca/client
DIRS += cas
cas_DEPEND_DIRS = gdd dbStatic
DIRS += ca/legacy/gdd
ca/legacy/gdd_DEPEND_DIRS = ca/client
DIRS += excas
excas_DEPEND_DIRS = cas as registry
DIRS += ca/legacy/pcas
ca/legacy/pcas_DEPEND_DIRS = ca/legacy/gdd
DIRS += cap5
cap5_DEPEND_DIRS = ca dbStatic
DIRS += ca/legacy/pcas/ex
# needs ioc for dbStaticHost
ca/legacy/pcas/ex_DEPEND_DIRS = ca/legacy/pcas libCom ioc
DIRS += ca/client/perl
ca/client/perl_DEPEND_DIRS = ca/client
# PDB Core
DIRS += ioc
ioc_DEPEND_DIRS = libCom ca/client
DIRS += ioc/db/test
ioc/db/test_DEPEND_DIRS = ioc libCom/RTEMS
# PDB Standard Record Definitions
DIRS += std
std_DEPEND_DIRS = ioc libCom/RTEMS
include $(TOP)/configure/RULES_DIRS

View File

@@ -1,36 +0,0 @@
#include <Winver.h>
#include "epicsVersion.h"
VS_VERSION_INFO VERSIONINFO
FILEVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
PRODUCTVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS VOS__WINDOWS32
FILETYPE VFT_UNKNOWN
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments","Host Access Security Library for EPICS\0"
VALUE "CompanyName", "The EPICS collaboration\0"
VALUE "FileDescription", "Host Access Security Library\0"
VALUE "FileVersion", EPICS_VERSION_STRING "\0"
VALUE "InternalName", "asHost\0"
VALUE "LegalCopyright", "Copyright (C) Univ. of California, Univ. of Chicago\0"
VALUE "OriginalFilename", "asHost.dll\0"
VALUE "ProductName", "Experimental Physics and Industrial Control System (EPICS)\0"
VALUE "ProductVersion", EPICS_VERSION_STRING "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END

View File

@@ -1,36 +0,0 @@
#include <Winver.h>
#include "epicsVersion.h"
VS_VERSION_INFO VERSIONINFO
FILEVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
PRODUCTVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS VOS__WINDOWS32
FILETYPE VFT_UNKNOWN
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments","IOC Access Security Library for EPICS\0"
VALUE "CompanyName", "The EPICS collaboration\0"
VALUE "FileDescription", "IOC Access Security Library\0"
VALUE "FileVersion", EPICS_VERSION_STRING "\0"
VALUE "InternalName", "asIoc\0"
VALUE "LegalCopyright", "Copyright (C) Univ. of California, Univ. of Chicago\0"
VALUE "OriginalFilename", "asIoc.dll\0"
VALUE "ProductName", "Experimental Physics and Industrial Control System (EPICS)\0"
VALUE "ProductVersion", EPICS_VERSION_STRING "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END

View File

@@ -7,7 +7,7 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
TOP=../..
TOP=../../..
include $(TOP)/configure/CONFIG
@@ -95,5 +95,18 @@ caConnTest_SRCS = caConnTestMain.cpp caConnTest.cpp
casw_SYS_LIBS_solaris = socket
SCRIPTS_solaris := S99caRepeater
SCRIPTS_Linux := S99caRepeater
SRC_DIRS += $(TOP)/src/ca/client/test
PROD_HOST += ca_test
ca_test_SRCS = ca_test_main.c ca_test.c
ca_test_LIBS = ca Com
ca_test_SYS_LIBS_WIN32 = ws2_32 advapi32 user32
OBJS_vxWorks += ca_test
include $(TOP)/configure/RULES
S99%: ../rc2.%
sed -e s%:INSTALL_BIN:%`cd $(INSTALL_BIN); pwd`% $< >$@

View File

@@ -5,7 +5,7 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
TOP=../..
TOP=../../../..
include $(TOP)/configure/CONFIG

Some files were not shown because too many files have changed in this diff Show More