[PD] MinGW + Eclipse + MSWIN helloworld

Hans-Christoph Steiner hans at at.or.at
Tue Jul 26 04:12:24 CEST 2011


Hey Luca,

Thanks for troubleshooting this.  I renamed $(PROGRAMFILES) to $ 
(ProgramFiles) in the template Makefile, following your second  
suggestion.  That seems to be the best solution, sound good to you?

http://pure-data.svn.sourceforge.net/viewvc/pure-data/trunk/externals/template/Makefile?r1=15153&r2=15164

.hc

On Jul 18, 2011, at 6:12 AM, luca paganotti wrote:

> Hi Hans,
>
> the first option of setting environment/build variables has these  
> effects:
> Defining build variable PROGRAMFILES inside eclipse doesn't work.
> It works if I change $(PROGRAMFILES) to $(ProgramFiles) in the make  
> file.
> Obviously it works also if I define PROGRAMFILES in the mingw block  
> of the makefile.
> It works defining PROGRAMFILES=${ProgramFiles} in eclipse project  
> preferences/C/C++ Build/Environment.In mingw works as before.
> For the second option you gave
>
> changing PD_PATH = $(shell cd "$(PROGRAMFILES)"/pd && pwd) to  
> PD_PATH ?= $(shell cd "$(PROGRAMFILES)"/pd && pwd)
> works in eclipse defining an environment variable inside project  
> preferences/C/C++ Build/Environment as PD_PATH = ${ProgramFiles}/pd.
> And it works too running make PD_PATH=/c/Programmi/pd from the mingw  
> shell.
>
> Many thanks.
>
> Ciao
>
>
>
> On Fri, Jul 15, 2011 at 5:47 PM, Hans-Christoph Steiner  
> <hans at at.or.at> wrote:
>
> Arg, that's really annoying.  Eclipse seems to strip the  
> ProgramFiles env var from the environment when it runs the build.   
> What if you set the ProgramFiles variable in Eclipse?  Another  
> option might be that we change  the PD_PATH definition to be  
> assigned with ?= then it can be overridden by setting an env var  
> PD_PATH.  This should currently work in Eclipse and the cmd line:
>
> make PD_PATH=/c/programmi/pd showsetup
>
> .hc
>
> On Jul 15, 2011, at 11:40 AM, luca paganotti wrote:
>
>> Hi Hans
>>
>> running 'make showsetup' from eclipse gives:
>>
>> **** Build of configuration Default for project mycobject ****
>>
>> mingw32-make showsetup
>> /usr/bin/sh: line 0: cd: /pd: No such file or directory
>> /usr/bin/sh: line 0: cd: /pd: No such file or directory
>> /usr/bin/sh: line 0: cd: /pd: No such file or directory
>> /usr/bin/sh: line 0: cd: /pd: No such file or directory
>> CFLAGS: -IC:/Programmi/pd/src -Wall -W -g -DPD -DVERSION='0.0' -mms- 
>> bitfields -O3 -funroll-loops -fomit-frame-pointer
>> LDFLAGS:  -s -shared -Wl,--enable-auto-import
>> LIBS:  -L/src/ -L/bin/ -lpd -lwsock32 -lkernel32 -luser32 -lgdi32
>> PD_INCLUDE: /include
>> PD_PATH:
>> objectsdir: /usr/local/lib/pd-externals
>> LIBRARY_NAME: mycobject
>> LIBRARY_VERSION: 0.0
>> SOURCES: mycobject.c
>> PDOBJECTS: mypdobject.pd
>> ALLSOURCES: mycobject.c
>> UNAME: MINGW32_NT-5.1
>> CPU: i686
>> pkglibdir: /usr/local/lib/pd-externals
>> DISTDIR: mycobject-0.0
>> ORIGDIR: pd-mycobject_0.0
>>
>> Running from mingw shell gives:
>>
>> Pag at XP-PAG /c/dev/c++/pd-externals/mycobject
>> $ make showsetup
>> CFLAGS: -IC:/Programmi/pd/src -Wall -W -g -DPD -DVERSION='0.0' -mms- 
>> bitfields -O
>> 3 -funroll-loops -fomit-frame-pointer
>> LDFLAGS:  -s -shared -Wl,--enable-auto-import
>> LIBS:  -L/c/Programmi/pd/src/ -L/c/Programmi/pd/bin/ -lpd -lwsock32  
>> -lkernel32 -
>> luser32 -lgdi32
>> PD_INCLUDE: /c/Programmi/pd/include
>> PD_PATH: /c/Programmi/pd
>> objectsdir: /usr/local/lib/pd-externals
>> LIBRARY_NAME: mycobject
>> LIBRARY_VERSION: 0.0
>> SOURCES: mycobject.c
>> PDOBJECTS: mypdobject.pd
>> ALLSOURCES: mycobject.c
>> UNAME: MINGW32_NT-5.1
>> CPU: i686
>> pkglibdir: /usr/local/lib/pd-externals
>> DISTDIR: mycobject-0.0
>> ORIGDIR: pd-mycobject_0.0
>>
>> Pag at XP-PAG /c/dev/c++/pd-externals/mycobject
>> $
>>
>> hope this helps.
>>
>> ciao
>>
>>
>>
>>
>>
>>
>>
>>
>> On Fri, Jul 15, 2011 at 5:22 PM, Hans-Christoph Steiner <hans at at.or.at 
>> > wrote:
>>
>> Ok, I checked in the CC=gcc for MinGW.  For the other two issues,  
>> unfortunately its more complicated:
>>
>> On Jul 15, 2011, at 5:06 AM, luca paganotti wrote:
>>
>>> mycobject.dll is created by eclipse at the price of defining:
>>>
>>> CFLAGS = -I"C:/Programmi/pd/src" -Wall -W -g in place of CFLAGS = - 
>>> I"$(PD_INCLUDE)/pd" -Wall -W -g
>>
>> The header arrangement has changed in 0.43, so now all of the  
>> headers are included in $(PD_INCLUDE)/pd.  We haven't quite figured  
>> out how to handle that everywhere yet tho...
>>
>>> PD_PATH = c:/programmi/pd in place of PD_PATH = $(shell cd "$ 
>>> (PROGRAMFILES)"/pd && pwd)
>>
>> This little script to set PD_PATH works for me on my MinGW setup.   
>> Can you put the old PD_PATH line back in the Makefile and run 'make  
>> showsetup' and send me the result?  You should see what its setting  
>> PD_PATH to.  I'd like to get that working automatically.
>>
>> .hc
>>
>>>
>>> and declaring CC = gcc
>>>
>>>
>>>
>>>
>>> Perhaps Eclipse sets CFLAGS or LDFLAGS, which is overriding things  
>>> in
>>> the Makefile?
>>>
>>> About this template, it is oriented around making libraries, so that
>>> includes the meta file for marking the folder as a library.   
>>> Setting it
>>> up is simple:
>>>
>>> - rename the template folder to the name of your library
>>> - rename template-meta.pd replacing 'template' with the name you  
>>> just
>>> used for the folder
>>> - edit Makefile and put the library/folder/meta name in the first
>>> variable, LIBRARY_NAME
>>>
>>> Now you can set library meta data in the meta file, things like  
>>> version,
>>> authors, etc.
>>>
>>> .hc
>>>
>>
>>
>>
>> ----------------------------------------------------------------------------
>>
>> Terrorism is not an enemy.  It cannot be defeated.  It's a tactic.   
>> It's about as sensible to say we declare war on night attacks and  
>> expect we're going to win that war.  We're not going to win the war  
>> on terrorism.        - retired U.S. Army general, William Odom
>>
>>
>>
>
>
>
> ----------------------------------------------------------------------------
>
> "Making boring techno music is really easy with modern tools, but  
> with live coding, boring techno is much harder." - Chris McCormick
>
>
>
>
>



----------------------------------------------------------------------------

As we enjoy great advantages from inventions of others, we should be  
glad of an opportunity to serve others by any invention of ours; and  
this we should do freely and generously.         - Benjamin Franklin


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20110725/173b9f8c/attachment-0001.htm>


More information about the Pd-list mailing list