<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/distcc-git.git/include_server, branch python3</title>
<subtitle>github.com: distcc/distcc.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/distcc-git.git/'/>
<entry>
<title>include_server python(3) ready</title>
<updated>2016-04-14T19:33:21+00:00</updated>
<author>
<name>clutton</name>
<email>clutton@zoho.com</email>
</author>
<published>2016-04-14T19:33:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/distcc-git.git/commit/?id=7dfb29db81c7a07bfaefd148258c6a897e8bac1b'/>
<id>7dfb29db81c7a07bfaefd148258c6a897e8bac1b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Apply patch from Rafael Ávila de Espíndola &lt;rafael.espindola@gmail.com&gt;:</title>
<updated>2014-02-27T13:46:06+00:00</updated>
<author>
<name>fergus.henderson</name>
<email>fergushenderson@users.noreply.github.com</email>
</author>
<published>2014-02-27T13:46:06+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/distcc-git.git/commit/?id=eecbff845aff5984e0b1a8ea3102212ee2ad35be'/>
<id>eecbff845aff5984e0b1a8ea3102212ee2ad35be</id>
<content type='text'>
1. Add support for -isysroot and -arch.
2. Fix a really nasty corner case:
   - CompressFiles::Compress uses os.makedirs to create a directory (foo)
     for one compilation unit
   - Another compilation unit does the equivalent of '#include
     "foo/../bar.h"'
   - The compilation unit uses no other file in foo
   - We conclude that we don't have to create a dummy
     foo/forcing_technique_271828

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1. Add support for -isysroot and -arch.
2. Fix a really nasty corner case:
   - CompressFiles::Compress uses os.makedirs to create a directory (foo)
     for one compilation unit
   - Another compilation unit does the equivalent of '#include
     "foo/../bar.h"'
   - The compilation unit uses no other file in foo
   - We conclude that we don't have to create a dummy
     foo/forcing_technique_271828

</pre>
</div>
</content>
</entry>
<entry>
<title>include_server: Add missing "-x" to getopt</title>
<updated>2013-05-08T14:38:06+00:00</updated>
<author>
<name>mandyke</name>
<email>mandyke@gmail.com</email>
</author>
<published>2013-05-08T14:38:06+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/distcc-git.git/commit/?id=b5c3aedf8b519eaec07f9eb23785628a64e821d0'/>
<id>b5c3aedf8b519eaec07f9eb23785628a64e821d0</id>
<content type='text'>
Fixes issue 113</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes issue 113</pre>
</div>
</content>
</entry>
<entry>
<title>Fix issue 108 &lt;http://code.google.com/p/distcc/issues/detail?id=108&gt;:</title>
<updated>2012-04-20T16:05:55+00:00</updated>
<author>
<name>Kamal Mostafa</name>
<email>kamal@whence.com</email>
</author>
<published>2012-04-20T16:05:55+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/distcc-git.git/commit/?id=66d0e7f2234cb779c3f19b743b3f91b05b598f24'/>
<id>66d0e7f2234cb779c3f19b743b3f91b05b598f24</id>
<content type='text'>
include_server --no_force_dirs inhibits forcing_technique

The "forcing_technique" trick which handles the (rare) case of files
included as e.g. &lt;foo/../file.h&gt; causes a performance degradation:
The forcing files accumulate over the life of the include_server, making
distcc send more and more (useless) files as the build progresses.
While the forcing files are zero-length, the transmission filenames
themselves introduce a significant overhead for builds with many files
and directories.

This patch implements the include_server arg --no_force_dirs, which if
set switches off the "forcing_technique" scheme.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
include_server --no_force_dirs inhibits forcing_technique

The "forcing_technique" trick which handles the (rare) case of files
included as e.g. &lt;foo/../file.h&gt; causes a performance degradation:
The forcing files accumulate over the life of the include_server, making
distcc send more and more (useless) files as the build progresses.
While the forcing files are zero-length, the transmission filenames
themselves introduce a significant overhead for builds with many files
and directories.

This patch implements the include_server arg --no_force_dirs, which if
set switches off the "forcing_technique" scheme.
</pre>
</div>
</content>
</entry>
<entry>
<title>Generalize dcc_{r,x}_argv routines</title>
<updated>2012-04-20T15:58:32+00:00</updated>
<author>
<name>Kamal Mostafa</name>
<email>kamal@whence.com</email>
</author>
<published>2012-04-20T15:58:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/distcc-git.git/commit/?id=3aeae5f2a6725c19f67c54c45c2ba4273ccc8030'/>
<id>3aeae5f2a6725c19f67c54c45c2ba4273ccc8030</id>
<content type='text'>
Generalize the dcc_{r,x}_argv routines so they can be used to
transfer arbitrary array-of-strings tokens (useful for protocol
hacking experiments; no functional change).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Generalize the dcc_{r,x}_argv routines so they can be used to
transfer arbitrary array-of-strings tokens (useful for protocol
hacking experiments; no functional change).
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix issue 104 &lt;http://code.google.com/p/distcc/issues/detail?id=104&gt;:</title>
<updated>2012-04-09T22:20:35+00:00</updated>
<author>
<name>fergus.henderson</name>
<email>fergushenderson@users.noreply.github.com</email>
</author>
<published>2012-04-09T22:20:35+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/distcc-git.git/commit/?id=5746529e22ac3700f9ea8f96717fc70ce0805d6c'/>
<id>5746529e22ac3700f9ea8f96717fc70ce0805d6c</id>
<content type='text'>
handle header file names containing commas.

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
handle header file names containing commas.

</pre>
</div>
</content>
</entry>
<entry>
<title>Fix for distcc issue 99 &lt;http://code.google.com/p/distcc/issues/detail?id=99&gt;: include_server crash: local variable resolved referenced before assignment.</title>
<updated>2012-04-04T19:24:02+00:00</updated>
<author>
<name>Kamal Mostafa</name>
<email>kamal@whence.com</email>
</author>
<published>2012-04-04T19:24:02+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/distcc-git.git/commit/?id=21fae3fbbebab7fcb834c25096696fa0dfab09e2'/>
<id>21fae3fbbebab7fcb834c25096696fa0dfab09e2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Apply --sysroot patch from Simon Baldwin &lt;simonb@google.com&gt;:</title>
<updated>2010-08-19T19:23:49+00:00</updated>
<author>
<name>fergus.henderson</name>
<email>fergushenderson@users.noreply.github.com</email>
</author>
<published>2010-08-19T19:23:49+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/distcc-git.git/commit/?id=dc2c66bf523a70178fc486abcbdfa9c2a379dbb1'/>
<id>dc2c66bf523a70178fc486abcbdfa9c2a379dbb1</id>
<content type='text'>
2010-08-18  Simon Baldwin  &lt;simonb@google.com&gt;

        * include_server/compiler_defaults.py (_SystemSearchdirsGCC):
        Add a 'sysroot' parameter.  Add --sysroot, if needed, to the gcc
        invocation that identifies search directories and default paths.
        Add debugging output.
        (SetSystemDirsDefaults): Add 'sysroot' parameter.  Add another
        dictionary level to system_dirs_default for sysroot values.
        Add debugging output.
        * include_server/parse_command.py (ParseCommandArgs): Identify
        and handle arguments of the form '--opt=value'.  Pass any
        --sysroot value to compiler_defaults.SetSystemDirsDefaults, use
        it in compiler_defaults.system_dirs_default lookups.
        (CPP_OPTIONS_APPEARING_AS_ASSIGNMENTS): New.
        * include_server/parse_command_test.py (Mock_SetSystemDirsDefaults):
        Add sysroot parameter, verify it on function calls.
        (ParseCommandUnitTest): Add --sysroot to mock gcc invocations.

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2010-08-18  Simon Baldwin  &lt;simonb@google.com&gt;

        * include_server/compiler_defaults.py (_SystemSearchdirsGCC):
        Add a 'sysroot' parameter.  Add --sysroot, if needed, to the gcc
        invocation that identifies search directories and default paths.
        Add debugging output.
        (SetSystemDirsDefaults): Add 'sysroot' parameter.  Add another
        dictionary level to system_dirs_default for sysroot values.
        Add debugging output.
        * include_server/parse_command.py (ParseCommandArgs): Identify
        and handle arguments of the form '--opt=value'.  Pass any
        --sysroot value to compiler_defaults.SetSystemDirsDefaults, use
        it in compiler_defaults.system_dirs_default lookups.
        (CPP_OPTIONS_APPEARING_AS_ASSIGNMENTS): New.
        * include_server/parse_command_test.py (Mock_SetSystemDirsDefaults):
        Add sysroot parameter, verify it on function calls.
        (ParseCommandUnitTest): Add --sysroot to mock gcc invocations.

</pre>
</div>
</content>
</entry>
<entry>
<title>Fix issue 35 &lt;http://code.google.com/p/distcc/issues/detail?id=35&gt;.</title>
<updated>2009-01-30T17:27:30+00:00</updated>
<author>
<name>fergus.henderson</name>
<email>fergushenderson@users.noreply.github.com</email>
</author>
<published>2009-01-30T17:27:30+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/distcc-git.git/commit/?id=eb64edde28335724a446cef1e2c69c29fd98bbc1'/>
<id>eb64edde28335724a446cef1e2c69c29fd98bbc1</id>
<content type='text'>
This was a bug where the include server was crashing in certain cases
(when the argument to a macro ended in a backslash) due to an escaping
problem in the use of Python's re.sub() function.  The fix was to
replace all occurrences of backslash in the replacement string
with double-backslash, which re.sub() will then translate back to
a single backslash.  (I also changed the code to not bother using
re.compile() since we only use the regexp once.)

Also, fix a bug where we were not allowing backslashes in filenames.

I added regression tests for both of these bugs
(and I verified that they were true regression tests).

Reviewed by Craig Silverstein.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was a bug where the include server was crashing in certain cases
(when the argument to a macro ended in a backslash) due to an escaping
problem in the use of Python's re.sub() function.  The fix was to
replace all occurrences of backslash in the replacement string
with double-backslash, which re.sub() will then translate back to
a single backslash.  (I also changed the code to not bother using
re.compile() since we only use the regexp once.)

Also, fix a bug where we were not allowing backslashes in filenames.

I added regression tests for both of these bugs
(and I verified that they were true regression tests).

Reviewed by Craig Silverstein.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a bug where the SystemIncludeDirectories_Case test</title>
<updated>2008-12-22T22:21:29+00:00</updated>
<author>
<name>fergus.henderson</name>
<email>fergushenderson@users.noreply.github.com</email>
</author>
<published>2008-12-22T22:21:29+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/distcc-git.git/commit/?id=b78c12210bd581986b8357e427798341f658393b'/>
<id>b78c12210bd581986b8357e427798341f658393b</id>
<content type='text'>
was failing on systems where /tmp was a symlink.
This failure indicated a real bug: on such systems,
distcc was not correctly handling -I&lt;dir&gt; where
&lt;dir&gt; is a subdirectory of a system include directory,
e.g. -I/usr/include/foo.

The code was calling _RealPrefix(client_root + system_dir)
but was implicitly assuming that the answer would always
start with client_root.  That is, it was implicitly assuming
that client_root did not contain any symlinks.

I changed the code to use
_RealPrefixWithinClientRoot(client_root, system_dir)
so that it would find the appropriate prefix of system_dir
rather than looking at the prefixes of client_root.

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
was failing on systems where /tmp was a symlink.
This failure indicated a real bug: on such systems,
distcc was not correctly handling -I&lt;dir&gt; where
&lt;dir&gt; is a subdirectory of a system include directory,
e.g. -I/usr/include/foo.

The code was calling _RealPrefix(client_root + system_dir)
but was implicitly assuming that the answer would always
start with client_root.  That is, it was implicitly assuming
that client_root did not contain any symlinks.

I changed the code to use
_RealPrefixWithinClientRoot(client_root, system_dir)
so that it would find the appropriate prefix of system_dir
rather than looking at the prefixes of client_root.

</pre>
</div>
</content>
</entry>
</feed>
