On Tuesday, 12 June 2018 19:31:32 BST Ian Zimmerman wrote:
> I have had it with compiling stuff from source on my laptop.  It is just
> too slow.  So I would like to create binary packages on my desktop and
> then just tell the laptop to use them.
> 
> Simple enough, except that the desktop is AMD Phenom, and the laptop is
> Intel 64 bit Atom.  Up to now, each system had unique CFLAGS to squeeze
> as much performance as possible.
> 
> On the desktop:
> CFLAGS="-march=barcelona --param l1-cache-size=64 --param
>  l1-cache-line-size=64 --param l2-cache-size=512 -O2 -pipe"
> 
> On the laptop:
> CFLAGS="-march=ivybridge --param l1-cache-size=32 --param
>  l1-cache-line-size=64 --param l2-cache-size=4096 -O2 -pipe"
> 
> I don't want to give up these tunings, but from the wiki page [1] I can
> see no straightforward way to have different CFLAGS when compiling binary
> packages, from the normal CFLAGS when installing directly from source on
> the host system.  Is the only way of doing this to set up a full-blown
> cross-development environment?
> 
> [1]
> https://wiki.gentoo.org/wiki/Binary_package_guide

On the desktop you could just use -march=native for its own compiles, not sure 
if there is a benefit or good reason to use '-march=barcelona', but I'm 
digressing.

If you are compiling binary packages for the laptop with a single stanza on 
the CLI, then you can run:

CFLAGS="-march=ivybridge ..." CXXFLAGS="-march=ivybridge ..." 
FEATURES="buildpkg" PKGDIR="/tmp/binpkg_dir emerge -uaNDv --buildpkg world

I understand you will need the complete CFLAGS & CXXFLAGS for the guest's 
hardware - others should confirm if this is so.

I find it neater/easier to copy the guest's fs over to the faster host, then 
chroot into it, sync portage and emerge with --buildpkg world.  There are 
other solutions, NFS mounts of the guest over the network, using a VM 
mirroring the laptop build on the host, but they are more complicated for my 
use case of a single guest.

-- 
Regards,
Mick

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to