[PD-dev] Re: externals/build SConscript
Hans-Christoph Steiner
hans at eds.org
Tue Nov 1 06:48:29 CET 2005
On Oct 31, 2005, at 11:18 PM, carmen wrote:
> On Mon, Oct 31, 2005 at 08:05:01PM -0500, Hans-Christoph Steiner wrote:
>>
>> Its unfortunate that we have two build systems that do the exact same
>> thing.
>
> not true..the 'make' script builds single C sources which have been
> aliased into the build/src/ dir, the SCons script builds those as well
> as various libraries that i liked. theres no extra work to support
> both if you put the files in build/src..
Well, that has nothing to do with scons or make, its a design decision.
Any build system could do both single files, libs, or both.
> some systems have python and not autotools, and vice versa..
But generally, any system can have either installed, thanks to them
being free software.
>
>> It would be nice if all that effort went into one build system
>> that was really good, instead of making a new one that duplicates the
>> old one.
>
> not true if by 'old one' you mean /externals/build/{platform} (3
> seperate systems) - but it is duplicating/replacing build scripts of
> individual libraries, which could get out of synch over time...somehow
> SConscripts seemed more robust than scripting a 'make' via exec()..but
> given gentoo's very successful approach in doing that, it could be
> considered..
The libraries should be deprecated where ever possible, instead we
should use a common build system. That will save everyone a lot of
time. The one in externals/build works well, no its not perfect, but
its there and it works.
> but really, read the cyclone makefile and tell me you know what its
> doing! i had to rewrite it in SCons just to figure out how everything
> fit together..
But you don't need to understand it if it works, just use it. I
certainly don't understand everyone's build system. SConscript makes
even less sense to me since I have little experience with it, but I am
sure I could call it from a Makefile if someone gave me the command
line. But I am not interested in whether make or scons is better.
What is in place works. If it ain't broke, don't fix it.
>> This is all stuff that was covered years ago in the
>> makefiles.
>
> could you type 'make' once and get zexy, cyclone, pdcontainer, ann,
> pmpd, unauthorized, OSCx, etc? i dont think you could..
You should try the Pd.app build system (packages/darwin_app/Makefile).
You type 'make' once and you get Pd, externals, comport, iemlib, ggee,
hid, pmpd, unauthorized, cyclone, OSCx, Gem, PDDP, RRADical, maxlib,
flext, docs/tutorials/abstractions from CVS, toxy, etc. Any now Jamie
just added PDP, pdp2gem and pix_2pdp to that too. It would be great to
also have PdContainer and ann to that as well. But instead we have a
second build system that doesn't do as much.
Anyway, I'll be working on porting the Pd.app build system to Windows
and Linux this month, so then we'll have a unified build on all three
platforms. I'd love any help, the build system so far has been very
much a group effort, and more we join forces, the better it'll get.
.hc
>> But I guess that's open source. People are welcome to do whatever
>> floats their boat. I am certainly not going to stop anyone.
>
> me neither :) feel free to add iemlib or anything else you think is
> missing..an ebuild to grab all the dependencies would be nice as
> well..
>
> c
>>
>> .hc
>>
>> On Oct 28, 2005, at 9:09 AM, Lorenz Schori wrote:
>>
>>> hi
>>>
>>> i've done a little work on the SConscript in external build system to
>>> better support osx:
>>> - define MACOSX for osx builds (for miXed)
>>> - remove -dynamiclib from SHLINKFLAGS and add -bundle and
>>> -bundle_loader ../../pd/bin/pd
>>> - fink and darwinports locations are added to CPPPATH and LIBPATH if
>>> they exist
>>> - search for *.libs files in win/darwin/linux and after in src
>>> directory and add the flags
>>>
>>> - some few externals still don't compile because of missing libraries
>>> and .libs or minor include problems.
>>>
>>> perhaps we could introduce some static link option (i'm not sure if
>>> i'd like statically linked externals). another possibility would be
>>> to
>>> just grep for the used libraries (*.libs) and bundle them with the
>>> externals or with pd.app (not quite trivial. see:
>>> http://qin.laya.com/tech_coding_help/dylib_linking.html).
>>>
>>> lorenz
>>>
>>> <SConstruct>
>>
>> ______________________________________________________________________
>> __
>> ____
>>
>> Using ReBirth is like trying to play an 808 with a long stick.
>>
>> -David Zicarelli
>>
>>
>> _______________________________________________
>> PD-dev mailing list
>> PD-dev at iem.at
>> http://lists.puredata.info/listinfo/pd-dev
>
> _______________________________________________
> PD-dev mailing list
> PD-dev at iem.at
> http://lists.puredata.info/listinfo/pd-dev
>
________________________________________________________________________
____
"[W]e have invented the technology to eliminate scarcity, but we are
deliberately throwing it
away to benefit those who profit from scarcity."
-John Gilmore
More information about the Pd-dev
mailing list