From owner-freebsd-arch@FreeBSD.ORG Thu Nov 6 14:35:38 2014 Return-Path: Delivered-To: arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A41616BF for ; Thu, 6 Nov 2014 14:35:38 +0000 (UTC) Received: from mail-pd0-f172.google.com (mail-pd0-f172.google.com [209.85.192.172]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 70A087EC for ; Thu, 6 Nov 2014 14:35:38 +0000 (UTC) Received: by mail-pd0-f172.google.com with SMTP id r10so1261548pdi.3 for ; Thu, 06 Nov 2014 06:35:32 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:content-type:mime-version:subject:from :in-reply-to:date:cc:message-id:references:to; bh=Q5E8kSv4kMKb8R1aR5SprZ2zBC9JKUxAhbHdVdQoCOo=; b=CGapkxdHRa1Kww06zk/pK3r+hEqBGzqURMC7gwlnY6Z3z4mYcxRk050Im0zbG22DpC 8Gh+abkKynfeHFswo458zfIChcLIodyohC2nS5l7rzHbbo1pTagyLlqyxP84BZNr6nPS SXqMYipH9FnHdCoVE0AJiZstkIS/D68aValF/rULNzAvfrTz8yU4KjknModpTLMb7rnb GlFHHmnxbSDJ5/YgpfyIPGUzoGIz2F8wxxxboyKa63MwMl5sBDe9nyqQzYMZlRVZ3rmX uNzmLbLpoi/v3wMoCtZM/2mlA2a8yzVAgKpe0eMtHXgwbTMuIMRqx3AMPz2PnX8K/xDr 2Fyg== X-Gm-Message-State: ALoCoQnRKBI4DWFS87pzlnzmT42VZrIisvtuD2ksuLfPi6iv6pCQ6WPMd4mV58gewrgH+U/A0Jbf X-Received: by 10.66.141.165 with SMTP id rp5mr4669197pab.121.1415284532053; Thu, 06 Nov 2014 06:35:32 -0800 (PST) Received: from [10.64.26.112] ([69.53.236.236]) by mx.google.com with ESMTPSA id i10sm6164846pdr.21.2014.11.06.06.35.30 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 06 Nov 2014 06:35:31 -0800 (PST) Sender: Warner Losh Content-Type: multipart/signed; boundary="Apple-Mail=_212DDC0F-7FF5-4146-A5C7-DC090AE62788"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: Overlinking in base From: Warner Losh In-Reply-To: <20141106130555.GP10388@ivaldir.etoilebsd.net> Date: Thu, 6 Nov 2014 07:35:16 -0700 Message-Id: <0A3B2AAE-91A7-4F79-BC3C-2463E3AF6C68@bsdimp.com> References: <20141105113839.GG10388@ivaldir.etoilebsd.net> <20141105125431.GD53947@kib.kiev.ua> <20141105125931.GJ10388@ivaldir.etoilebsd.net> <20141105133029.GH53947@kib.kiev.ua> <20141105134006.GL10388@ivaldir.etoilebsd.net> <3912.1415233494@chaos> <20141106130555.GP10388@ivaldir.etoilebsd.net> To: Baptiste Daroussin X-Mailer: Apple Mail (2.1878.6) Cc: Konstantin Belousov , arch@freebsd.org, "Simon J. Gerraty" X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Nov 2014 14:35:38 -0000 --Apple-Mail=_212DDC0F-7FF5-4146-A5C7-DC090AE62788 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On Nov 6, 2014, at 6:05 AM, Baptiste Daroussin wrote: > On Wed, Nov 05, 2014 at 04:24:54PM -0800, Simon J. Gerraty wrote: >> Baptiste Daroussin wrote: >>> In the second case we could do it via make(1) >>> LIBADD=3D liba libc libc >>> this will open something like a ${PATHTOTHELIB}/link.mk which will = define >>> DYNAMIC_ADD >>> STATIC_ADD >>>=20 >>> And this could be recursive. >>=20 >> We do something like that in the Junos build >>=20 >> prog makefile might have DPLIBS+=3D ${LIBFOO} >> which is exactly equivalent to >>=20 >> LDADD+=3D -lfoo >> DPADD+=3D ${LIBFOO} >>=20 >> but ensures that they stay in sync (not so important now with meta >> mode). >>=20 >> bsd.libnames.mk can then have >>=20 >> DPLIBS_libfoo +=3D ${LIBGOO} >> DPLIBS_libgoo +=3D ${LIBZOO} >>=20 >> All of which is processed by dpadd.mk which you can find in >> contrib/bmake/mk >> Though dpadd.mk ignores DPLIBS_libgoo +=3D ${LIBZOO} if LIBZOO has = already >> been added. >>=20 > I'am about to add something based on the following principle: > https://people.freebsd.org/~bapt/plop.diff >=20 > With a bit more changes >=20 > The version I have now (a bit different from the patch now :)) allows = multiple > things: >=20 > 1/ simplify the Makefile for users: > LIBADD=3D m archive util > instead of > DPADD=3D ${LIBM} ${LIBARCHIVE} ${LIBUTIL} > LDADD=3D -lm -larchive -lutil >=20 > 2/ ensure dependencies are automatically tracked > For example -lucl needs -lm adding LIBADD=3D ucl does the magic by = itself >=20 > 3/ allow to build any single binary statically so far I'm able to = build > everything is bin sbin usr.bin and usr.sbin statically (which wasn't = doable > before) >=20 > 3/ hides the private/internal lib from the final user > Do more need to say USEPRIVATELIB because I do use a libunbound it is = automatic Generally I like this. One issue though about dependencies: Is there a tool to manage them? How = do we know if things are wrong? Will a simple buildworld always detect that, or do we need to do a = buildworld with static linking? Warner --Apple-Mail=_212DDC0F-7FF5-4146-A5C7-DC090AE62788 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJUW4ckAAoJEGwc0Sh9sBEA2ngP/Rq8V09YhmYXAsUkQxal+3k1 nb3Ci3WELWatZtfJNMbQkheQGylmiJBf1PDBJkR8Cqmr7rX3/3nPrNpf/YQAX8E/ 34BmHCJ6F1QImrdZnEbjdgh8mDhwdSPsMlOuGepAqeeXZMU/ws3H38FcjfdAXu23 er2AAAHcATEFuO6fZKafug5ILae2mWQ75NvE1bOY9fUNm3ESJ7mT9bEF15//1SGl G8df1ae/Y2NSTZIpEY6PxkA0iMilP8b8L5gX7eqlSnuraCv0/HSUuJLqIc5r1Yfb dIyUtoADrzu42PeE9jTR7qwO00nLL8+hfA2mlGZaV4T/0d+errxjWaql6q6FS9J8 XaJRdIZfT0w5pG665LzTL3WEyNjv3ro8kx9EN7uqbTlz+Z9uPjGfTCuWs76d3u8R oujxo5wuTID+JltqRzLB/gGQ2HpU/FKjKXOnjC9dIJrzuUqNuUOhE7kdS/2Jyoi3 vUmjnQ9IVACdxx/lJqaTqt4GyiDgu7dtIpnFdpyZeSI7e7wmP3TSrZuRbrQ4mcAi QeOwy8n28qWqxB/bldxM8DJXEdKUn5xNzGXRV0ogK6OBAvIV4kGKMU6GU15w4ofh 5IBB+AUOG0l3GRr+YznNwHf+1MrX5pwCp19XAA0nvCJGPqmZhTPkIMqx5+iqFVJX X+2+ebG9IP30c9iomYdV =ZAJ8 -----END PGP SIGNATURE----- --Apple-Mail=_212DDC0F-7FF5-4146-A5C7-DC090AE62788--