Hi David,
mkmf.pl is the tool that creates the dependencies, i.e. scans
through hierarchies of files using #include directives, and creates
Makefile snippets from what it finds.
(This is why it is always used regardless of msi being anywhere - it
is not doing what msi does and only slightly related.)
The msi tool is an extension under 3.14, and it has been integrated
into Base in 3.15.
From the release notes:
MSI included with Base
An enhanced version of the Macro Substitution and Include program msi has been included with Base. Both this new version of msi and the IOC's dbLoadTemplates command now support setting global macros in substitution files, and dbLoadTemplates can now take a
list of global macro settings
as the second argument on
its command line. The substitution file syntax is documented in
the Application Developers Guide.
Try removing the definition for MSI from the RELEASE file.
Cheers,
~Ralph
On 04/12/2014 15:20, Dudley, David
wrote:
And so the plot thickens... (and I'm sitting kinda funny...)
In my RELEASE file I have a definition for MSI like:
MSI=/usr/bin/msi (which is also in the path).
Under 3.14.12.4 (after setting the proper environment...dah!) either with or without the MSI definition, it calls the msi program, and everything is happy. Files are created OK, and the world is great.
Under 3.15.1 (again... get the environment right!), the build process uses the mkmf.pl program regardless of where msi is in the path, or defined in the RELEASE file, or defined in the Makefile... basically it uses the mkmf.pl program no matter what. And that's where the problem lies.
Question:
3.15.1 Release notes state that dbLoadTemplate can now handle macros on the call to the function. Does it handle the full MSI definition, or the limited mkmf.pl definition???
Got any idea how to make 3.15.1 use the msi program?
Later-
David Dudley
Controls Engineer III
Facility for Rare Isotope Beams
Michigan State University
640 South Shaw Lane
East Lansing, MI 48824, USA
Tel. 517-908-7133
Email: [email protected]
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Dudley, David
Sent: Thursday, December 04, 2014 9:03 AM
To: EPICS Tech-Talk
Subject: RE: 3.15.1 DB Build Issue
I stand (ok... sit) corrected (and look silly doing it).
The substitution file works correctly through the MSI program, but doesn't work on either the 3.14 or 3.15 build systems. Seems that maybe the mkmf.pl program doesn't allow more than one template file???
Sort of breaks my substitution files, and I'll have to think of where to go from here.
Later-
David
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Dudley, David
Sent: Thursday, December 04, 2014 8:43 AM
To: EPICS Tech-Talk
Subject: RE: 3.15.1 DB Build Issue
Andrew,
Changing the template references in the DB Make file from _DEPENDS to _TEMPLATE didn't change a thing about the functions of the make. I'm not sure it would have made a difference anyway, from the definition in 4.6.10 of the AppDevGuide.
However, I've run across a much more serious issue.
It seems that in my substitutions file, I can only have a single template file referenced. I have a single substitution file that has sections for ai, ao, bi, and bo records. All substitution lines in this file seem to use the first template definition file when the substitutions get expanded.
This worked on 3.14.12.4, but doesn't work in the new 3.15.1 software.
Included is the substitution file, and all sections of this file seem to use the first template definition.
Later-
David Dudley
Controls Engineer III
Facility for Rare Isotope Beams
Michigan State University
640 South Shaw Lane
East Lansing, MI 48824, USA
Tel. 517-908-7133
Email: [email protected]
-----Original Message-----
From: Andrew Johnson [mailto:[email protected]]
Sent: Wednesday, December 03, 2014 6:11 PM
To: Dudley, David
Subject: Re: DB Build Issue
Hi David,
On 12/03/2014 04:52 PM, Dudley, David wrote:
I'm creating 2 .db files using substitution files and 4-template files
(ai,ao,bi,bo,...).
In the Makefile, I have these lines (different because I was trying to
diagnose what's going on):
quoted text as image, how confusing...
When I change the first template file template file, both output files
generate fine.
When I change any of the other template files, only the second output
file generates.
I originally had all the templates on a single line, as in the second
file definition, but that didn't work either.
Looking at the definition in 4.6.10, it seems that perhaps I shouldn't
be able to define more than one template file anyway????
Ideas would be appreciated.
Shouldn't those variables be spelled _TEMPLATE, not _DEPENDS?
- Andrew
--
People everywhere confuse what they read in newspapers with news.
-- A. J. Liebling
|