EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Building StreamDevice 2-4 / SynApps / Win32
From: "J. Lewis Muir" <[email protected]>
To: EPICS Tech-Talk <[email protected]>
Date: Fri, 12 Mar 2010 09:52:15 -0600
On 3/12/10 9:39 AM, J. Lewis Muir wrote:
> On 3/12/10 9:34 AM, John Dobbins wrote:
>> J. Lewis Muir wrote:
>>> On 3/11/10 10:55 PM, Mark Rivers wrote:
>>>> I don't think shell is important on Windows, you can build EPICS in a
>>>> Cygwin bash shell or a Windows cmd shell without having to worry about
>>>> it.
>>>
>>> Hi, Mark.
>>>
>>> Note I'm not talking about the shell from which the make command is
>>> executed; I'm talking about the shell that make uses to execute commands
>>> for a given target.
>>>
>>> Lewis
>>
>>
>> Lewis, Mark, All,
>>
>> It seems to me that an easy thing would be to write a Perl script that
>> replicates this code (which is just generating a test file):
>>
>> # create stream.dbd from all RECORDS
>> $(COMMON_DIR)/$(LIBRARY_DEFAULT).dbd: ../CONFIG_STREAM
>>     @for r in $(RECORDS); \
>>     do     echo "device($$r,INST_IO,dev$${r}Stream,\"stream\")"; \
>>     done > $@
>>     @echo "driver(stream)" >> $@
>>     @echo "variable(streamDebug, int)" >> $@
>>     @echo "registrar(streamRegistrar)" >> $@
>>
>> endif
>>
>> I can do that but am not sure about how to invoke the Perl script and
>> pass from $(RECORDS) to the Perl script.
>> It would be nice to not have this one part of EPICS dependent on cygwin
>> when the rest it not.
> 
> Hi, John.
> 
> That would work, but I'm not convinced this one part is dependent on
> Cygwin.  I still think the problem is just that the target commands are
> getting passed to either the wrong shell or a broken shell.

Hi, John.

Could you try setting the SHELL make variable when you run make?

1. Find where your sh binary is (this example is from a Bourne shell):

   $ which sh
   /bin/sh

2. Run make with the SHELL variable set to the location of the sh
   binary:

   $ make SHELL=/bin/sh

Lewis

References:
Building StreamDevice 2-4 / SynApps / Win32 John Dobbins
RE: Building StreamDevice 2-4 / SynApps / Win32 Mark Rivers
RE: Building StreamDevice 2-4 / SynApps / Win32 John Dobbins
RE: Building StreamDevice 2-4 / SynApps / Win32 Mark Rivers
Re: Building StreamDevice 2-4 / SynApps / Win32 J. Lewis Muir
Re: Building StreamDevice 2-4 / SynApps / Win32 John Dobbins
Re: Building StreamDevice 2-4 / SynApps / Win32 J. Lewis Muir
RE: Building StreamDevice 2-4 / SynApps / Win32 Mark Rivers
Re: Building StreamDevice 2-4 / SynApps / Win32 J. Lewis Muir
Re: Building StreamDevice 2-4 / SynApps / Win32 John Dobbins
Re: Building StreamDevice 2-4 / SynApps / Win32 J. Lewis Muir

Navigate by Date:
Prev: Re: Building StreamDevice 2-4 / SynApps / Win32 John Dobbins
Next: Re: Building StreamDevice 2-4 / SynApps / Win32 J. Lewis Muir
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Building StreamDevice 2-4 / SynApps / Win32 Andrew Johnson
Next: Re: Building StreamDevice 2-4 / SynApps / Win32 Dirk Zimoch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024