Re: [ccache] Win32 support.

2010-07-16 Thread Joel Rosdahl
On 2010-07-15 22:07, Ramiro Polla wrote:
 I updated the fork at http://github.com/ramiropolla/ccache
 
 I also went through all the issues from other forks from
 http://code.google.com/p/ccache-win32/ and
 http://gitorious.org/ccache-win and fixed them.

Splendid!

Run stat() before open() on some files to allow bailing out earlier:
Applied.

Include getopt.h when getopt_long() is provided by the system: Applied.

Unlink destination file before renames: Applied with commit message tweak.

Introduce and use x_fmmap() and x_munmap(): Applied with commit
message tweak.

Close file opened with gzdopen(): Applied.

Duplicate path string inside find_executable_in_path() instead of
expecting caller to duplicate it before.: Applied with commit message
tweak.

Close manifest files after reading/writing them: Applied.

Implement is_absolute_path() helper function.: Applied with commit
message tweak.

Implement compare_executable_name() helper function.: Applied with
commit message tweak.

Implement is_full_path() helper function: This doesn't work if the
path is ../foo or any other relative path other than ./foo. Doesn't
just searching for / or \\ work on Windows too?

Clear exit_functions after the exit functions have been called: Applied.

Add a define for path delimiter: Applied. Also made CCACHE_EXTRAFILES
use PATH_DELIM.

Use a temporary file for sed_in_place(): Applied.

Allow testsuite to run on Windows: Applied.

Win32 support: In compare_executable_name, you can use
x_asprintf(tmp, %s.exe, s2) instead. Otherwise, looks good to me.

-- Joel
___
ccache mailing list
ccache@lists.samba.org
https://lists.samba.org/mailman/listinfo/ccache


Re: [ccache] Win32 support.

2010-07-16 Thread Ramiro Polla
On Fri, Jul 16, 2010 at 12:00 PM, Joel Rosdahl j...@rosdahl.net wrote:
 Implement is_full_path() helper function: This doesn't work if the
 path is ../foo or any other relative path other than ./foo. Doesn't
 just searching for / or \\ work on Windows too?

Changed to just searching for '/' or '\\'.

 Add a define for path delimiter: Applied. Also made CCACHE_EXTRAFILES
 use PATH_DELIM.

Thanks.

 Win32 support: In compare_executable_name, you can use
 x_asprintf(tmp, %s.exe, s2) instead. Otherwise, looks good to me.

Updated.

Also fixed a couple of issues related to 64-bit Windows pointed out by
the KDE devs.

By the way there's still a failure with out-of-tree builds for the
testsuite, but I've just worked around it and haven't checked closely
why it happens (suites.h not being found).

Ramiro Polla
___
ccache mailing list
ccache@lists.samba.org
https://lists.samba.org/mailman/listinfo/ccache


Re: [ccache] Win32 support.

2010-06-27 Thread Joel Rosdahl
On 2010-06-25 11:01, Joel Rosdahl wrote:
 I haven't looked at the others in detail yet. I'll get back to you when I
 have more time.

Introduce and use x_fmmap(): Nice cleanup in general. A comment with
some documention of x_fmmap's semantics and parameters would be nice.
And maybe remove trailing space from last argument when calling x_fmmap
and add a space in the format strings in x_fmmap instead?

Don't dup fd for zlib, and gzclose() gzdopen()d file: The gzclose() is
fine, but I'm not sure about the removal of dup() since that will make
copy_fd close fd_in because gzclose() will close it.

Don't overwrite a file that is currently opened: I agree that it
ideally should be done only on Windows, but I think it's OK since it's a
rare case. Applied.

Close manifest files before moving them: You can remove if (f1) {
gzclose(f1) } in out:. Also, close(fd) shouldn't be needed after
gzclose(f) when f was created with gzdopen(fd, ...).

Win32 support: Haven't looked at this one yet. And I'm going on
vacation to Greece for one week tomorrow, so I'll continue when I'm home
again.

-- Joel
___
ccache mailing list
ccache@lists.samba.org
https://lists.samba.org/mailman/listinfo/ccache


Re: [ccache] Win32 support.

2010-06-25 Thread Joel Rosdahl
On Sun, Jun 20, 2010 at 7:07 PM, Ramiro Polla ramiro.po...@gmail.com
wrote:
 Now that 3.0 has been released, do you intend to keep a branch of
 backports only (for 3.0.1 or something) or can we start working on the
 bigger changes required for win32 support?

I will use the branch maint for changes that will end up in the next
bugfix release (now 3.0.1) and master for changes that will end up in
the next feature release (now 3.1). If needed, I also plan to publish
feature branches called dev/X (where X is a feature name) for larger
features that may be unstable, experimental or whose target release
hasn't been decided yet.

 I've set up a fork on github at http://github.com/ramiropolla/ccache

Excellent! Thanks.

General: Please don't put a period in the commit summary (i.e., first
line of the commit message).

 There are some uncontroversial patches that I think could get
 reviewed/applied right away
 http://github.com/ramiropolla/ccache/commit/60446f19421f4882e155e6533586935f131ed29a
 almost cosmetics with the current code...

Applied.

 http://github.com/ramiropolla/ccache/commit/6bafa334a18c4bf13285bde717fe05383cdd0189
 there already is some code using O_BINARY

Applied.

 http://github.com/ramiropolla/ccache/commit/159ac29abcb771a9a77e8d81753c67b4d6b47adc
 this is already checked in configure

Applied.

 http://github.com/ramiropolla/ccache/commit/fe62388c8e22a72de293ac0dbd28107b2e40421f
 this seems very weird since it links fine on Linux both with and
 without that file being compiled, but on mingw32 it's already provided
 by libmingwex.a and therefore doesn't link.

Applied with a minor tweak.

I also applied Split find_executable_in_path() out of
find_executable(). I haven't looked at the others in detail yet. I'll
get back to you when I have more time.

-- Joel
___
ccache mailing list
ccache@lists.samba.org
https://lists.samba.org/mailman/listinfo/ccache