On Tue, 2014-04-29 at 13:31 +0800, Julian Elischer wrote: > On 4/29/14, 8:57 AM, Ian Lepore wrote: > > On Mon, 2014-04-28 at 18:36 -0600, Warner Losh wrote: > >> On Apr 28, 2014, at 1:48 AM, Julian Elischer <jul...@freebsd.org> wrote: > >> > >>> I need to do the equivalent of "cd /usr/src/cddl/usr.sbin/dtrace; make > >>> DESTDIR=/mumble all install” > >> cd /usr/src > >> make distributeworld DESTDIR=/mumble > >> cd cddl/usr.sbin/dtrace > >> make buildenv > >> make all install > >> > >>> but it pulls in libraries from the base system, which differ slightly > >>> from those in the source tree. > >> The above will create the right /mumble hierarchy, and will pull the > >> libraries from the build rather than the local system. > >> > >>> How can I force it to use /mumble2/include and /mumble2/lib instead of / ? > >>> > >>> I can pre-populate /mumble2 using "make buildworld", "make libraries", > >>> and "make includes" but > >>> I need to be able to do selective builds of just subdirectories after > >>> that.. I haven't spotted the right way of forcing the use of the > >>> "--system_root /mumble2" option in the compiles. > >>> > >>> I know we do it in 'buildworld' is there a more generic way? > >>> > >>> I have been looking in the .mk files but I haven't spotted it so far. > >> You’re asking for some serious split-brain action. chroot builds are > >> likely your best option. There’s no easy way to force this, although you > >> might get some milage out of WMAKEENV options, but I think we bake most of > >> the where to look for things options into the binaries. One crazy option > >> would be to set CC=“cc —sysroot /mumble” but I’m sure there be dragons > >> there… > >> > >> Good luck with this crazy, never have we supported it very well, option :) > >> > >> Warner > > Actually the hooks are in place to do this stuff. Instead of make > > buildenv to get an interactive shell you can do something like > > > > BLDENV=`${MAKE} buildenvvars` > > chroot buildchroot/ "env -i $${BLDENV} cd /usr/src/somewhere && \ > > make all install" > > > > -- Ian > > > > > > > > > Is there a way to specify a different toolchain destination? i.e. not > /usr/obj/usr/src/tmp ? >
Not right now -- all that stuff is in Makefile.inc1 (WORLDTMP var and related stuff) and there are no provisions for overriding it. -- Ian _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"