Re: [ccache] Win32 support.
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.
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.
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.
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