One method of compile testing WARNS changes on several architectures
Ruslan Ermilov
ru at FreeBSD.org
Mon Sep 13 02:19:47 PDT 2004
I thought I'd sent this out, because the standard method (through
"make universe") is very time consuming when the only thing you
want is to compile-test a change that covers a small part of src/.
The method offered here will save you many hours then.
On Mon, Sep 13, 2004 at 08:34:02AM +0000, Dima Dorfman wrote:
> When you make changes like this, it's a good idea to see if you can
> clamp down the program to a higher WARNS level. In this case, the
> program compiles cleanly with WARNS=2 after your change, so I set
> that. Setting WARNS in the Makefile makes sure that future changes to
> the program don't cause more warnings. Since WARNS means that warnings
> will break the build, though, it's good to be able to test the change
> on more than one architecture to make sure you don't miss any
> platform-specific issues.
>
To test with a minimal time effort, you do this (while in src/):
$ make toolchain TARGET_ARCH=<arch>
This step should be repeated for each architecture to be tested
against. This will take a lot of time, but an order less than a
full buildworld.
$ make _depend everything SUBDIR_OVERRIDER=<bit> TARGET_ARCH=<arch>
(The underscore before "depend" is intentional.) <bit> is a part
of src/ tree that you want to test (can be a list), and <arch>
should be looped over with each architecture to be tested against.
Example. To test if a changed bin/cat still compiles cleanly under
Alpha and AMD64, e.g. due to you clamping down the WARNS level, you
do this:
1. Prepare the toolchains:
make toolchain TARGET_ARCH=alpha
make toolchain TARGET_ARCH=amd64
2. Test changes:
make _depend everything SUBDIR_OVERRIDE=bin/cat TARGET_ARCH=alpha
make _depend everything SUBDIR_OVERRIDE=bin/cat TARGET_ARCH=amd64
3. You can then modify cat's sources/makefile, and repeat step #2.
P.S. The syntax for PC98 would be "TARGET_ARCH=i386 TARGET=pc98".
Cheers,
--
Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20040913/0ae42306/attachment.bin
More information about the freebsd-current
mailing list