[GSoC 2020] : BSP Buildset for EPICS (next steps)

Mritunjay Sharma mritunjaysharma394 at gmail.com
Fri Aug 7 22:51:14 UTC 2020


First of all apologies for a little delayed
email. The classes have resumed just the
day after that 72 hours Hackathon and it became a lot hectic.

Finally, I am a little better synchronised now and hoping to
catch up pace. Before telling about my research work, let me
share with you about the past status.

Current Status:

1) Successfully built EPICS7 with RTEMS5 by hand for pc-386
2) Worked for RSB recipe.
   In its due process, I Wrote:
    i) rsb/rtems/config/epics/epics-7-1.cfg
    ii)rsb/rtems/config/epics/epics-base.bset
    iii)rsb/source-builder/config/epics-7-1.cfg
3) Added Patch for RTEMS-pc-386 support which made the above recipe work
successfully.
4) Therefore, Successully built EPICS7 with RTEMS5 by using RSB recipe as
well for pc-386 as of now.
5) Sent 4 Patches for review of the same.

What problems are in the next steps?

1) How to make it work across different architectures?
2) Exisiting EPICS works on the old legacy network stack.
3) I am not using EPICS upstream branch. It is being built
by Heinz's epics playground.
4) Doubts in how to start with testing.

My Resarch work for the Problem no: 1

I have gone through the EPICS developer guide from here
exhaustively in the past couple of day and here are few interesting things
that I found which can help:

1) "The main ingredients of the build system are:
• A set of configuration files and tools provided in the EPICS
base/configure directory
• A corresponding set of configuration files in the <top>/configure
directory of a non-base <top> directory
structure to be built. The makeBaseApp.pl and makeBaseExt.pl scripts create
these configuration files. Many of
these files just include a file of the same name from the base/configure
directory.
• Makefiles in each directory of the <top> directory structure to be built
• User created configuration files in build created $(INSTALL_LOCATION)/cfg
directories.
"

Remarks: Now since it is also mentioned in the guide that "makeBaseApp.pl
creates directories and then copies template files into the newly created
directories
while expanding macros in the template files. EPICS base provides two sets
of template files: simple and example."
Can we think of using makeBaseApp.pl to that end? Making the user allow
to change the configurations from the terminal?

2) "The startup directory in EPICS base contains a perl script,
EpicsHostArch.pl, which can be used to define
EPICS_HOST_ARCH. This script can be invoked with a command line parameter
defining the alternate compiler (e.g.
if invoking EpicsHostArch.pl yields solaris-sparc, then invoking
EpicsHostArch.pl gnu will yield
solaris-sparc-gnu).
The startup directory also contains scripts to help users set the path and
other environment variables"

Remarks: As EPICS_HOST_ARCH, can we do something similar
for CROSS_COMPILER_TARGET_ARCHS?

3) ") The following is a summary of targets that can be specified for
gnumake:
• <action>
• <arch>
• <action>.<arch>
• <dir>
• <dir>.<action>
• <dir>.<arch>
• <dir>.<action>.<arch>
where:
<arch> is an architecture such as solaris-sparc, vxWorks-68040, win32-x86,
etc.
<action> is help, clean, realclean, distclean, inc, install, build,
rebuild, buildInstall, realuninstall, or uninstall"

Remarks: Now similar to the above stated, can we work for Cross Compiler
target Architecture?

These were the little doubts that originated from the research work I did.
I will like the opinion of mentors that what can be the optimal way now to
approach the
project after this? What can be some resources for better research work of
the
above problems?

Also, for the reference:
Link to the changes in commits of rsb can be found here:
https://github.com/RTEMS/rtems-source-builder/compare/master...mritunjaysharma394:epics-support

The patch for epics can be found here:
https://github.com/mritunjaysharma394/epics-mritunjay/tree/master/patches


Thanks
Mritunjay Sharma
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200808/84e9667f/attachment.html>


More information about the devel mailing list