It would be good to have these instructions as a wiki page in http:// puredata.org/docs/developer.
There is also the MinGW instructions for building Pd-extended. http://puredata.org/docs/developer/mingw .hc On Jun 29, 2007, at 11:45 AM, [EMAIL PROTECTED] wrote: > If someone cares I wrote few lines about compilation > of externals on win using mingw (in the PD forum). > The procedure is oversimplified on some parts > but here it is. If you have comments (or if there > are errors) just let me know. > > > Even if MSVC offers an integrated environment for > developing there > can be some good reasons for giving a try to the old-man > "unix" way of > compiling, which in windows is best represented by MINGW32 and > cygwin. Both offers linux-like environments (i.e. command > line tools) > for compiling and other shell tasks which, sometimes, in > windows are > a pain in the ass. > There are at least three good reasons for giving a look at > mingw: > > 1) gives strong linux compatibility on external compilation > (almost same command lines arguments etc.) > 2) there is the possibility to use makefiles in an almost > straightforward way > (with minor modifications to linux makefiles). > 3) no dependency on expensive MS programs (except for the > small, bug-free Operating System ;-) > > I did this exercise by porting the E. Lyon "LyonPoutpourry" > externals for win > (http://www.sarc.qub.ac.uk/~elyon/LyonSoftware/Pd/). Give a > look at > the win source package: inside there is a makefile for > darwin (MAC) > linux and win. I added the latter, and as you can see the > modifications > are minor. > > ----------- 1. Prelude: compilation environment > ------------------ > > First of all we have to set once for all the compilation > environment. > Let's forget for the moment cygwin and concentrate on > mingw32 (http://www.mingw.org/). The following is taken from > (H.C. Steiner's wiki > http://www.puredata.org/docs/developer/mingw) > > Download the MinGW package installer and run it: > (http://prdownloads.sourceforge.net/ming … -5.1.1.exe) > Choose the Candidate distribution. Install the defaults and > add the g++ compiler, g77 compiler, and MinGW make or you > can just download my MinGW install, MinGW-Pd.tar.bz2, and > uncompress it so that its installed into C:\MinGW. > > Then we need MSYS which is a shell (an interpreter of the > commands, like a > colorful dos prompt ;-) > http://prdownloads.sourceforge.net/ming … 1.0.10.exe > > Now you will be using the MSYS shell that was installed from > the MSYS installer. You can launch it from the Desktop > shortcut or Start -> Programs -> MinGW -> MSYS -> msys > > ----------- 2. Allegro: compilation trial ------------------ > > a. open MSYS > > b. at the prompt type: > cd c: > (or the drive you whish to go for the pd external compilation) > > c. go to the external directory (note the backslashes > instead of slashes !), > mine is external-compiling. Inside I have helloworld.c > cd > alberto/backup/PureData_Archive/patches/AlbertoZ/external-compiling/ > > d. copy m_pd.h (from the PD distribution directory) into > external-compiling > (or whatever is its name) > > e. type: > gcc -c helloworld.c -o helloworld.o > > f. type: > ld -export_dynamic -shared -o helloworld.dll helloworld.o > c:/Programmi/pd039e > xt4/bin/pd.dll > > (this is the linker step. note that I linked to a particular > version of pd.dll - 0.39 extended test 4, so probably (I'm > not sure about this) the external will > run on 0.39 only. Can someone confrm this?) > > g. If everything was ok then you should have a > helloworld.dll in your > directory. Move it on the extra folder of your pd distribution > (I assume that extra folder is in the pd predefined path) > and make a > new patch with the helloworld object. Again, if everything > is correct, > you should have a "Hello world!!" printed on the console. > > ----------- 3. Adagio: makefile ------------------ > > A makefile can be used for compilation. Even if a simple > helloworld > application does not need it, complex programs may do. > > The makefile.win is attached with this post. Modify it > according to your > path in > Make sure you have > > helloworld.c > m_pd.h > makefile.win > > in your directory. Now type at MSYS prompt: > > make -f makefile.win > > This will automatically produce: > the object, the linker step (the dll) and will copy the > helloworld.dll > in the extra folder of you pd distribution (overwriting the > existing one ;-). > > ----------- 4. Allegro con brio: conclusions ------------------ > > Why not give a try to the old-man compilation on Win? > :-) > > ----------- 5. Minuetto: greetings ------------------ > > I apologize if I said some crap somewhere, just let me know > if it > doesn't work. Have fun! > > Best regards, > > Alberto > > > > http://puredata.org/Members/AlbertoZ > <Makefile.win> > _______________________________________________ > [email protected] mailing list > UNSUBSCRIBE and account-management -> http://lists.puredata.info/ > listinfo/pd-list ------------------------------------------------------------------------ ---- Mistrust authority - promote decentralization. - the hacker ethic _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
