Summary: | Allow VPATH compilation (ie. where $builddir != $srcdir) | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | Rainer Keller <Keller> |
Component: | general | Assignee: | Nicholas Nethercote <njn> |
Status: | ASSIGNED --- | ||
Severity: | minor | CC: | ashley, bwy, konstantin.s.serebryany, naesten, njn, pjfloyd, skunk |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Unlisted Binaries | ||
OS: | All | ||
Latest Commit: | Version Fixed In: | ||
Bug Depends on: | 197794 | ||
Bug Blocks: | |||
Attachments: |
Patch allowing the build to work.
Patch allowing the build and regtests to work |
Description
Rainer Keller
2008-01-16 15:27:50 UTC
The patch in comment 1 is now out-of-date. Here's the current status of this: - Vex was recently incorporated properly in the build system, ie. it has a Makefile.am file now. This is a good step. - But 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 (it involves copying files around), but it makes VPATH builds a total pain. The plan is to rename the Vex files (bug 197794) once Julian has committed the DCAS branch to the trunk (bug 197793). - After that, getting the regtests working out-of-tree is going to be the hard part. This is important -- as long as the regtests don't work out-of-tree, the developers won't build out-of-tree. And if the developers don't build out-of-tree, then out-of-tree builds are likely to get broken frequently. - If the regtests can be made to work, then the nightly tests can be made to use out-of-tree builds, which will provide regular testing. *** Bug 162753 has been marked as a duplicate of this bug. *** *** Bug 198027 has been marked as a duplicate of this bug. *** *** Bug 198228 has been marked as a duplicate of this bug. *** *** Bug 117322 has been marked as a duplicate of this bug. *** The vex renaming and DCAS merging have now been done. Patches to fix this are welcome *if they allow the regtests to work*. Run "make regtest" to run the test suite. Created attachment 35106 [details]
Patch allowing the build to work.
This patch allows the build to work again, I can make, make install and run the resulting valgrind.
The regtests still need more work which I'm experimenting with now, in the meantime I thought this patch might be useful to someone.
Created attachment 36597 [details]
Patch allowing the build and regtests to work
Attached is a patch against head (r10880) to allow both VPATH building and the regtests to work.
A small number of tests fail in VPATH mode with this patch applied (mostly none/shell*) and it's possible I've not patched all the output filters for distros I don't have a test machine for, that aside VPATH functionality should be the same as normal.
There was a recent change that fixed this. I'll check this patch, but it's probably OK. I don't think that I tested make regtest out-of-source. If I do this git clone cd valgrind ./autogen.sh mkdir build cd build ../configure make -j 8 && make -j 8 check then it works up to there but make regtest gives errors sh: .../valgrind/build/tests/platform_test: No such file or directory and -- Running tests in memcheck/tests/linux ------------------------------ vg_regtest: `./filter_stderr' not found or not a file (.) /bin/sh: line 3: tests/post_regtest_checks: No such file or directory make: *** [Makefile:1399: regtest] Error 1 |