|
From: Konstantin S. <kon...@gm...> - 2009-06-16 07:33:34
|
On Tue, Jun 2, 2009 at 10:57 AM, <sv...@va...> wrote: > Author: njn > Date: 2009-06-02 07:57:26 +0100 (Tue, 02 Jun 2009) > New Revision: 10205 > > Log: > Make a branch for experimenting with the build system, Nick, Currently, if one wants to build Valgrind for several different systems (e.g. x86 Linux, x86_64 Linux and Mac) he needs to have 3 different copies of valgrind tree (or to 'make distclean' between the builds). Do you plan to rewrite the 'configure' machinery so that the build happens in a separate directory? Something similar to the gcc build process, where the directory with sources is read-only during the build. svn co svn://svn.valgrind.org/valgrind/trunk valgrind mkdir vg_build_my_platform cd vg_build_my_platform ../valgrind/configure --my_platform_flags make && make install Thanks, --kcc > in particular, > avoiding lots of cut+paste code that is repeated for each platform. > > > > Added: > branches/BUILD_TWEAKS/ > > > Copied: branches/BUILD_TWEAKS (from rev 10204, trunk) > > > ------------------------------------------------------------------------------ > OpenSolaris 2009.06 is a cutting edge operating system for enterprises > looking to deploy the next generation of Solaris that includes the latest > innovations from Sun and the OpenSource community. Download a copy and > enjoy capabilities such as Networking, Storage and Virtualization. > Go to: http://p.sf.net/sfu/opensolaris-get > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers > |
|
From: Nicholas N. <n.n...@gm...> - 2009-06-16 08:00:19
|
On Tue, Jun 16, 2009 at 5:33 PM, Konstantin Serebryany<kon...@gm...> wrote: > > Nick, > > Currently, if one wants to build Valgrind for several different > systems (e.g. x86 Linux, x86_64 Linux and Mac) he needs to have 3 > different copies of valgrind tree (or to 'make distclean' between the > builds). Do you actually do this? x86/Linux and x86_64/Linux are both built naturally together due to the bi-arch support. But building for Mac in the same tree on the same machine? I can't see how that would work. > Do you plan to rewrite the 'configure' machinery so that the build > happens in a separate directory? > Something similar to the gcc build process, where the directory with > sources is read-only during the build. It's come up a couple of times recently. From the most recent exchange: ---- On Fri, May 15, 2009 at 4:44 AM, Ashley Pittman <as...@pi...> wrote: > > Unless it's been fixed in the last month the VPATH stuff is broken on > the HEAD, I posted a patch to make the basic build work last month but > there are remaining problems, the tests don't work for example. Which is something of a showstopper... if the tests don't run, then the devs won't use out-of-path builds, and if the devs won't use them they'll be basically untested and thus permanently broken. Since Valgrind has very little in the way of configure-time variability (no optimised vs. debug builds, for example) out-of-path builds don't seem to provide much benefit. So AFAIK there wouldn't be much benefit to supporting it, other than some people like doing it. ---- Nick |
|
From: Florian K. <br...@ac...> - 2009-06-16 10:44:24
|
On Tuesday 16 June 2009 4:00:16 am Nicholas Nethercote wrote: > On Tue, Jun 16, 2009 at 5:33 PM, Konstantin > Serebryany<kon...@gm...> wrote: > > > > Nick, > > > > Currently, if one wants to build Valgrind for several different > > systems (e.g. x86 Linux, x86_64 Linux and Mac) he needs to have 3 > > different copies of valgrind tree (or to 'make distclean' between the > > builds). > > Do you actually do this? Absolutely. We use the afs file system and keep the source tree there. Then do out-of-tree builds on different platforms (typically in /tmp for speed reasons). Florian |
|
From: Konstantin S. <kon...@gm...> - 2009-06-16 08:09:25
|
On Tue, Jun 16, 2009 at 12:00 PM, Nicholas Nethercote<n.n...@gm...> wrote: > On Tue, Jun 16, 2009 at 5:33 PM, Konstantin > Serebryany<kon...@gm...> wrote: >> >> Nick, >> >> Currently, if one wants to build Valgrind for several different >> systems (e.g. x86 Linux, x86_64 Linux and Mac) he needs to have 3 >> different copies of valgrind tree (or to 'make distclean' between the >> builds). > > Do you actually do this? Yes. I have a single source tree on a shared drive accessible from multiple machines, including Mac. Besides, I sometimes experiment with different build options (different versions of gcc, optimization flags, etc). So, out-of-path builds would help. > x86/Linux and x86_64/Linux are both built > naturally together due to the bi-arch support. But if you need a build that will run on a 32-bit machine, you need a separate build. > But building for Mac > in the same tree on the same machine? The tree is on a shared drive. > I can't see how that would > work. > >> Do you plan to rewrite the 'configure' machinery so that the build >> happens in a separate directory? >> Something similar to the gcc build process, where the directory with >> sources is read-only during the build. > > It's come up a couple of times recently. From the most recent exchange: > > ---- > > On Fri, May 15, 2009 at 4:44 AM, Ashley Pittman <as...@pi...> wrote: >> >> Unless it's been fixed in the last month the VPATH stuff is broken on >> the HEAD, I posted a patch to make the basic build work last month but >> there are remaining problems, the tests don't work for example. > > Which is something of a showstopper... if the tests don't run, then > the devs won't use out-of-path builds, and if the devs won't use them > they'll be basically untested and thus permanently broken. > > Since Valgrind has very little in the way of configure-time > variability (no optimised vs. debug builds, for example) out-of-path > builds don't seem to provide much benefit. So AFAIK there wouldn't be > much benefit to supporting it, other than some people like doing it. > > ---- > > Nick > |
|
From: Nicholas N. <n.n...@gm...> - 2009-06-17 02:34:05
|
On Tue, Jun 16, 2009 at 6:09 PM, Konstantin Serebryany<kon...@gm...> wrote: > > Yes. I have a single source tree on a shared drive accessible from > multiple machines, including Mac. > Besides, I sometimes experiment with different build options > (different versions of gcc, optimization flags, etc). > So, out-of-path builds would help. I had a look. VEX currently has several files with the same name in different directories, but that confuses automake. I have a hack in the Vex Makefile.am that works around this, but it makes VPATH builds a total pain. The plan is to rename the Vex files once Julian has committed the DCAS branch to the trunk. After that, getting the regtests working out-of-tree is going to be the hard part. Nick |