Thank you Ron and Tim, I appreciate your explanations very much. Especially the
RELEASE string one which bothered me so much. I get it, just need to find a
weird unique name for the <top> directory.
Thank you again.
On Tue, Feb 10, 2009 at 11:02 PM, Tim Mooney <[email protected]> wrote:
> makeBaseApp.pl makes a module. All it lacks is a documentation
> directory and a directory for display files, which we normally add
> as <module>/documentation, and <module>/<module>App/op/adl (or edl, etc.)
>
> There is another difference between the product of makeBaseApp.pl and
> the modules we've made from it, and that is a distinction between
> files installed by the module for its own use (i.e., for use by its
> iocBoot directory), and files installed for export to other modules.
> We've settled into a pattern: <module>Support.dbd is for export, and
> contains only stuff made by the module, while <module>.dbd is for
> internal use, and so includes stuff from base, etc., that is needed to
> boot an ioc. Library files intended for external use are normally named
> <module>.lib, if there's only one such library, but this doesn't matter
> as much, because libraries are the same whether they're used internally
> or exported.
>
> Historically, we've viewed a module's iocBoot directory as an example,
> and a place to test the module. This is a good thing, but if the module
> imports from other modules solely to implement the iocBoot directory,
> you can end up with module-version interdependencies that are dominated
> by the needs of iocBoot directories.
>
> Your other question, about RELEASE files: I think any string defined in
> a RELEASE files is viewed by the build system as a resource from which
> lib and dbd files might be gotten. Thus, you don't want two modules
> making things with identical names.
>
> Zhichu Chen wrote:
>>
>> Hi,
>>
>> Just curiosity, is there any manuals that I can follow? I have written a
>> device support and I would love to make a module version so that
>> maintenance would be easier for me. I can't find any clue in the
>> AppDevGuide, so I checked the snc/seq module and now I'm trying
>> to follow it.
>>
>> May some of you guys explain the basic steps for me? Like is there
>> a makeModuleApp.pl script to create a template (I don't want to write
>> all those Makefile files and CONFIG files), how should I construct
>> the directory structure tree, how to make the application find it (I
>> find that I can just add "SNCSEQ=/path/to/seq" to the RELEASE
>> file to make the app know where to find the lib files, why? Can I
>> use a random name there like "MYLIB"?).
>>
>>
>
> --
> Tim Mooney ([email protected]) (630)252-5417
> Beamline Controls & Data Acquisition Group
> Advanced Photon Source, Argonne National Lab.
>
--
Best Regards
Chen
----------------------------------------------------------------
Zhi-chu Chen | Shanghai Synchrotron Radiation Facility
No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China
tel: 086 21 5955 3405 | zhichu.chen.googlepages.com
| www.sinap.ac.cn
----------------------------------------------------------------
- References:
- How to write modules? Zhichu Chen
- Re: How to write modules? Tim Mooney
- Navigate by Date:
- Prev:
Re: call to "assert (capacity != 0)" failed Andrew Johnson
- Next:
[no subject] Mi Qingru
- 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:
Re: How to write modules? Tim Mooney
- Next:
call to "assert (capacity != 0)" failed Benjamin Franksen
- 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
|