Yes. It's a bit hidden in the documentation, but the relevant bit is here:

*^-flags* In a command string that uses the ^ TEXT^ sequence, flag
characters can be placed immediately after the ^ until the first space
character or closing carat. For example:

: foo.c |> ^c CC %f^ gcc --coverage %f -o %o |> foo | foo.gcno
: bar.c |> ^c^ gcc --coverage %f -o %o |> bar | bar.gcno


In the foo.c case, the command is run in a chroot and will display "CC
foo.c". In the bar.c case, the command is run in a chroot and the "gcc
--coverage bar.c -o bar" string is displayed. These are the supported flag
characters:
*c* The 'c' flag causes the command to run inside a chroot on Linux and
OSX, so that the fake working directory that tup uses is not visible to the
sub-process. This may be necessary for commands that read the current
working directory and write that information in any output files. For
example, gcc with the --coverage flag will use the current working
directory as the location of where to put the .gcda file. Use the 'c' flag
to always run this command in a chroot. This is only supported if the tup
binary is suid root so that it can setup the chroot environment.
I've found that this noticeably slows down my builds, so I general have a
"release" and "debug" builds, which something akin to:

ifeq (@(DEBUG_SYMBOLS),y)
: <objs> |> ^c LINK %o^ ....
else
: <objs> |> ^ LINK %o^ ....
endif



On Wed, Apr 2, 2014 at 6:45 PM, Jim Lloyd <[email protected]> wrote:

> I've been actively using Tup for a couple months on a MacBook running
> Mavericks, and have used both clang and gcc 4.7 via homebrew. I managed to
> go that long without using lldb/gdb for any real debugging, thinking that I
> would be moving to Linux soon and my problems would be solved. I moved to
> Linux today and my problems followed me.
>
> My first problem is probably a mistaken assumption based up misreading
> documentation. I had assumed that FUSE was only used on the Mac. I had the
> impression that on Linux it wasn't needed, and that inotify was used
> instead. Is there a way to not use FUSE?
>
> If FUSE is required, are there some tricks to make it easier for gdb to
> find source files? I know that I can do 'set directories <path>' inside gdb
> to locate the sources, but I want something more automatic.
>
> Thanks,
> Jim
>
>  --
> --
> tup-users mailing list
> email: [email protected]
> unsubscribe: [email protected]
> options: http://groups.google.com/group/tup-users?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "tup-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
tup-users mailing list
email: [email protected]
unsubscribe: [email protected]
options: http://groups.google.com/group/tup-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"tup-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to