From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 301F2198005 for ; Sat, 23 Mar 2013 16:24:57 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9099CE0691; Sat, 23 Mar 2013 16:24:48 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 9842AE066A for ; Sat, 23 Mar 2013 16:24:47 +0000 (UTC) Received: from pomiocik.lan (unknown [83.238.59.230]) (using SSLv3 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id F16D333D3D7; Sat, 23 Mar 2013 16:24:45 +0000 (UTC) Date: Sat, 23 Mar 2013 17:25:32 +0100 From: =?UTF-8?B?TWljaGHFgiBHw7Nybnk=?= To: Gentoo Developer Mailing List Subject: [gentoo-dev] [PATCHES] Header wrapping support for multilib Message-ID: <20130323172532.1b1100e2@pomiocik.lan> Organization: Gentoo X-Mailer: Claws Mail 3.9.0 (GTK+ 2.24.17; x86_64-pc-linux-gnu) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA512; boundary="Sig_/ECkFcoKw3OdFMezWgIagMmp"; protocol="application/pgp-signature" X-Archives-Salt: 2631d0b9-b579-4ab9-951e-09e605aca717 X-Archives-Hash: 8b6b75025eb2e695038ec86d6c414a87 --Sig_/ECkFcoKw3OdFMezWgIagMmp Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hello, I've finally got around to writing the header wrapping functions for multilib. That's an initial yet working draft. I will send patches in reply to this mail. The first patch just converts internal distutils-r1 root merging function to globally available multibuild_merge_root(). This is used in distutils-r1 to merge fakerooted distutils installs, and will be used to merge wrapped headers on top of regular install. The second one adds the actual code. The headers to wrap are listed in a global variable. After each install, the headers are moved to temporary location and wrapper is being prepared there. When all installs are done, all those files are merged on top of them. The per-ABI headers are installed onto /usr/include/$CHOST, repeating the directory structure from original /usr/include install. Wrapper includes the headers by full <$CHOST/foo/bar.h> path. Potential issues: - only /usr/include is supported (to be extended if necessary), - no 'fallback' code in header (to be added in the future), if no ABIs match, no code is given, - not tested thoroughly. I'd appreciate if someone could play with it a bit and see whether proper headers are actually included and it works everywhere. --=20 Best regards, Micha=C5=82 G=C3=B3rny --Sig_/ECkFcoKw3OdFMezWgIagMmp Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iQJ8BAEBCgBmBQJRTdd8XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ1RUJGMjBGOTk2RkIzQzIyQ0M2RkNBNDBC QUJGMUQ1RkY4QzgxMTBBAAoJELq/HV/4yBEKy/8P/2yz0gPW6nhR8/fAEs6MK1v6 HzMXiBhIlXqiRJMu+mG9O8j1X1ejLcBv6surqY/70TntPpmgUT1CDK2gGoxyktIQ 7XbUBpk62VV5aD5GZzDGAlWYiNKtb9GX22LqlEdy8arEZc0vPHJNEGPsi7PChKLx dvENCVIRJcf40CNBwqBzqr9PGp/YKo0XVDsYYEI2+TagunkyiSxnxYYKKyffH14E Dp83ii6NEM0wr489V+4ZnaelVd3XGsJ3lq8OvmGKsdEAm92XnfzJet0ZFdkphHBb qNyreQPXbP1yH9uLBichbABDgcxg2Uj1+6Rn0dnn7R5Q2hRETImEpsa+ezv89ail AnuMeWiyjMX/lYSBKQVW9uaBmXbGotF7av8m+2vVGYRuXSDSjupyZBmsCy6l2+3Y 9xiBiuKHdPsupMtuyBTxg2xhAKrNp3zI1x7dJkUQo4fRHjXFKalszaEHr/EIRUOk JXUj1i1KRwjmj0cWobzs73J5oNuTiwxwX6E3MCpL8ve0frOqIHFsBjGYxM7zrkcq uL9CEbEJZ8sArEP7EFX0azWyZP++8CZ0fK4PRiv75d1Ab99vG/3M1QxlirKQ0SJO 1U0q9e5jd+TQnfJWYZBpYG2h1jF1/PplQKeP7Odz0Y2pU/Kh1vjPrlHF+Vs30rR6 0I7QoOAaBU2b/UGW6vQj =Pn38 -----END PGP SIGNATURE----- --Sig_/ECkFcoKw3OdFMezWgIagMmp--