I'd like to make the following changes to epics/base. The changes would have these
benefits -
BENEFITS
--------
1) Epics base and extensions builds would no longer need $DVL/base/tools
and $DVL/base/bin/$HOST_ARCH in the developer's path; i.e. epics/base and/or
epics/extensions developers would no longer have to source a script upon
entering each of their development nodes.
2) The base/tools directory would only contain tools which are used a) directly
by epics users, b) by the epics user's tools, and/or c) by builds in multiple
base directories. Any build tool that is used by only one base/src directory
would be put into that directory and executed from there.
CHANGES
-------
1) Remove tools/MakeDirs, tools/Clean, and tools/CheckArch scripts and modify
the uninstall rule.
These scripts are used only by the top level base Makefiles and can be
added as rules to the Makefiles, and the rules clean, uninstall and dirs
should be modified to affect only the current BUILD_ARCHS directories.
This minor change was what led to all the others and this proposal.
2) Move tools/bldEnvData, tools/blderrSymTbl, and tools/makeStatTbl to the
src/libCom directory.
These scripts are only used in building the libCom directory. The libCom
Makefile should execute them from src/libCom and they DO NOT need to be
installed.
3) Modify tools/bldEnvData and tools/blderrSymTbl
Both tools need $EPICS so make it a param passed from the Makefile
so they do not need to call FindEpics, and modify blderrSymTbl to take
new parms $(MAKE) and $(ACC) passed from the Makefile so it does not
have to call GetVar.
4) Remove tools/gmake
All epics developers (base, extensions, and application) will have to call
gnumake for builds. I think that the options "--no-print-directory" and
"--no-keep-going" can be the installed defaults for gnumake.
This is the BIG CHANGE affecting all developers and users but I think it
is worth it. Gnumake should be invoked as gnumake. Gmake is not needed!!
5) Modify tools/GetVar and tools/makesdr
Change gmake to gnumake in both tools. Change $HOST_ARCH in makesdr to
be an optional param (to be passed from the makefile) else to come from
user's environment.
6) Remove tools/bsdinstall, tools/sgiinstall, and add new installEpics.c to a
toolsComm subdirectory.
Remove tools/bsdinstall, tools/sgiinstall, and put Jim Kolwalkowski's old
addonInstall or the hideos install c program into a toolsComm subdirectory.
It could be built first and install itself into the base/bin/$HOST_ARCH
directory to be used from there for all other installs.
After these changes base/tools would contain only the files -
FindEpics
GetVar
InstallVersion
MakeRelease
SetOpVersion
getrel
makesdr
POSSIBLE FUTURE CHANGES
-----------------------
I also believe that with a bit more work (like putting InstallVersion,
getrel, and makesdr into a base/src subdirectory and installing them
into base/bin/$HOST_ARCH ) we could get rid of the base/tools directory
entirely. It seems that the normal Unix convention is to have both
binary executables and scripts in the bin directory anyway. I'm not
sure that FindEpics and/or GetVar will be needed by anything other than
getrel after these changes and the changes in progress to do away with
default.dctsdr, so maybe they could be incorporated into getrel. Also, the
SetOpVersion script may be obsolete, no longer be used even at APS. If
base/tools was gone, application developers would need only one epics/base
directory in their path.
Janet
- Replies:
- Re: Proposed epics/base changes Johnny Tang
- Navigate by Date:
- Prev:
Re: e2sr name mangling watson
- Next:
Re: Proposed epics/base changes William Lupton
- Index:
1994
<1995>
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Database Changes - New ascii file formats Marty Kraimer
- Next:
Re: Proposed epics/base changes Johnny Tang
- Index:
1994
<1995>
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|