Re: [ccache] Migration from autotools to cmake
On 19 Jul 2016 18:17, Joel Rosdahl wrote: > On 12 July 2016 at 12:03, Иван Вайгультwrote: > > In order to enable visual studio build I did full build replica using > > cmake. [...] > > Any feedback from you is desired. > > Thanks for working on this. > > After some thinking I'm positive to getting rid of autotools. Although > I don't find cmake to be very elegant, it feels less bad than > autotools, at least for modern systems. > > Other opinions from list members are welcome! cmake is often still broken when it comes to cross-compiling (and even native compiles) and library searches. many of its modules do stupid things like check to see if libs can be found in /usr/lib and /usr/lib64 instead of doing link tests. the FindZLIB module still exhibits these and that branch is using that module. conversely, autotools has no such insanity. glancing at the branch: - CMakeLists.txt/*.cmake have inconsistent indentation (tab-vs-spaces) - CMakeLists.txt/*.cmake should have no trailing whitespace - DEVELOPER_BUILD should not default to "on" - `git describe` should not be run when DEVELOPER_BUILD is off - CCACHE_VERSION fallback should not be "unknown" but the release version - USE_OWN_LIBZ would prob be better named like "USE_SYSTEM_LIBZ" -mike signature.asc Description: Digital signature ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] Moving to github
On 23 May 2016 20:17, Joel Rosdahl wrote: > Ever since Tridge handed over the project to me, the main ccache Git > repository has been hosted on git.samba.org and bugs handled in > bugzilla.samba.org. I also have kept an unofficial mirror on github. > > Since some time now, almost all activity regarding new features and bug > reports have been circling around the github mirror repository, so I think > that it's time to move to github officially. (It will be located under > github.com/ccache, not under my personal github account.) > > If anybody thinks this would be a bad idea, please make some noise. > Otherwise I'll do the move in a week or so. sounds like a good idea to me :). nothing against samba of course! -mike signature.asc Description: Digital signature ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] Using ccache with memcached
On 01 Dec 2015 21:59, Anders Björklund wrote: > Pierre Tardy made a PR (https://github.com/jrosdahl/ccache/pull/30) > to replace the filesystem ("fs") cache with memcached altogether. > > We have gone with a different approach, to use memcached only as a > secondary cache - while preserving the primary cache (on the disk). i don't think getting rid out of the fs makes sense, but having memcache be available dynamically as an additional layer sounds fine. -mike signature.asc Description: Digital signature ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] ccache version 3.2.3 has been released
On 16 Aug 2015 13:39, Tom Lane wrote: $ grep extra_libs Makefile extra_libs = -lz ccache$(EXEEXT): $(ccache_objs) $(extra_libs) $(CC) $(all_cflags) -o $@ $(ccache_objs) $(all_ldflags) $(extra_libs) $(LIBS) test/main$(EXEEXT): $(base_objs) $(test_objs) $(extra_libs) $(CC) $(all_cflags) -o $@ $(base_objs) $(test_objs) $(all_ldflags) $(extra_libs) $(LIBS) and of course -lz isn't a valid dependency. that's not really true. make will expand it internally into paths like /usr/lib/libz.so. that said, there's no value anymore in putting -l flags into the deps list and should just omit it from builds. -mike signature.asc Description: Digital signature ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
[ccache] [PATCH] ignore config.cache files
This is created when you run `./configure -C`. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7bed498..cfadd23 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ ccache-*.tar.* ccache.1 ccache.html ccache.xml +config.cache config.h config.h.in config.log -- 2.0.0 ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] [PATCH] Use bash for test.sh.
On Sunday 11 November 2012 06:31:14 Eitan Adler wrote: On 11 November 2012 00:46, Mike Frysinger vap...@gentoo.org wrote: On Saturday 10 November 2012 00:41:52 Eitan Adler wrote: On 10 November 2012 00:41, Mike Frysinger wrote: if the script is written in bash and is intended to be, then /bin/bash is the correct answer. Absolutely false. /usr/local/bin or /opt/bin might be the correct location. if you have a crap system where bash isn't installed with /bin/bash, then you already have a ton of problems with existing software. forcing stupid behavior on everyone to cater to broken systems is wrong. http://www.technollama.co.uk/wordpress/wp-content/uploads/2011/05/obvious-t roll.jpg yes, when people tell you forcing asinine behavior is wrong, you label them trolls. i guess that's how you win arguments. -mike signature.asc Description: This is a digitally signed message part. ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] [PATCH] Use bash for test.sh.
On Saturday 10 November 2012 05:08:40 Joel Rosdahl wrote: On 10 November 2012 06:45, Mike Frysinger vap...@gentoo.org wrote: i see old style portable code in there that could easily be modernized to recent POSIX Please don't strive to do that. Solaris's /bin/sh isn't POSIX. autoconf searches well known paths to locate an up-to-date shell. my limited understanding is that Solaris stores modern tools somewhere in /usr/. would you be amendable to having the script re-exec itself via those so we can update things ? -mike signature.asc Description: This is a digitally signed message part. ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] [PATCH] Use bash for test.sh.
On Monday 12 November 2012 06:03:37 Andrew Stubbs wrote: Running sh -x test.sh shows that the gcc command producing the error: + CCACHE_DISABLE=1 gcc -c test1.c -o reference_test1.o -O -O gcc: error trying to exec 'cc1': execvp: No such file or directory I don't understand what's wrong with that command. gcc isn't supposed to rely on the PATH to find cc1, but presumably it's something environmental. it relies on argv[0] to locate its internal tools. if you change that command to `env CCACHE_DISABLE=1 ...`, does it work better ? -mike signature.asc Description: This is a digitally signed message part. ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] [PATCH] Use bash for test.sh.
On Saturday 10 November 2012 00:41:52 Eitan Adler wrote: On 10 November 2012 00:41, Mike Frysinger wrote: if the script is written in bash and is intended to be, then /bin/bash is the correct answer. Absolutely false. /usr/local/bin or /opt/bin might be the correct location. if you have a crap system where bash isn't installed with /bin/bash, then you already have a ton of problems with existing software. forcing stupid behavior on everyone to cater to broken systems is wrong. -mike signature.asc Description: This is a digitally signed message part. ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] [PATCH] Use bash for test.sh.
On Monday 05 November 2012 12:55:10 Andrew Stubbs wrote: The test script fails with shells other than bash. At least dash doesn't work. could you post the exact errors you see ? i see old style portable code in there that could easily be modernized to recent POSIX and plenty of quoting issues, but i don't see anything off hand that wouldn't work in a POSIX compliant shell. -mike signature.asc Description: This is a digitally signed message part. ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] Why not cache link commands?
On Tuesday 18 September 2012 08:44:29 Andrew Stubbs wrote: Clearly there are some technical challenges in doing this: we'd have to hash all the object files and libraries (a la direct mode), but those problems are surmountable, I think. or just re-use build-id ... The linker does not use any libraries not listed with gcc '-###' whatever. mmm different gcc flags can implicitly expand into -l### or different crt objects, so you can't cache linking at the compiler driver level w/out re- implementing much of the guts of gcc, and even then you'd break with moderately patched gcc versions. I'm also aware that it's not that interesting for many incremental builds, where the final link will always be different, but my use case is accelerating rebuilds of projects that my have many outputs, most of which are likely to be unaffected by small code changes. It's also worth noting that incremental builds are not the target use case for ccache in general. gold should already support incremental linking (ala build-id), so i don't think that's already a fixed problem -mike signature.asc Description: This is a digitally signed message part. ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] Why not cache link commands?
On Tuesday 18 September 2012 17:07:53 Andrew Stubbs wrote: On 18/09/12 21:04, Mike Frysinger wrote: On Tuesday 18 September 2012 08:44:29 Andrew Stubbs wrote: Clearly there are some technical challenges in doing this: we'd have to hash all the object files and libraries (a la direct mode), but those problems are surmountable, I think. or just re-use build-id ... Sorry, I'm probably being thick, but what do you mean? the linker's --build-id and associated .note.gnu.build-id section. you can't hash the entire object because it can change between compiles. build-id lets you say regardless of the hash of the entire object, we know the content that matters is unchanged. The linker does not use any libraries not listed with gcc '-###' whatever. mmm different gcc flags can implicitly expand into -l### or different crt objects, so you can't cache linking at the compiler driver level w/out re- implementing much of the guts of gcc, and even then you'd break with moderately patched gcc versions. -### isn't meant to be a wildcard. That's an actual GCC option. I put quotes around it because most shells would interpret the hashes as the start of a comment. hmm, gotcha. it does seem to include all the necessary info. whether it's easy for a machine to parse across gcc versions is a diff question :). seems to have changed subtly over time between 3.3.6 and 4.7.1. I'm also aware that it's not that interesting for many incremental builds, where the final link will always be different, but my use case is accelerating rebuilds of projects that my have many outputs, most of which are likely to be unaffected by small code changes. It's also worth noting that incremental builds are not the target use case for ccache in general. gold should already support incremental linking (ala build-id), so i don't think that's already a fixed problem err, typo here. s/don't//. As I said, the interesting use case is *not* incremental links. The interesting use case is accelerating clean builds. ccache can never help where genuinely new inputs are involved. right, i was just agreeing with you and providing more details as to how it already works today. -mike signature.asc Description: This is a digitally signed message part. ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] Making ccache and clang compatible
On Wednesday 04 July 2012 09:53:46 Max Horn wrote: Using ccache with clang tends to generate tons of warnings, which can range from simply being annoying, to causing autoconf failures. This is because ccache runs the compiler with -E on preprocessed input, but also passes -I, -isystem etc. flags on to the compiler. In clang, this triggers warnings about unused arguments. err, -I/-isystem/-D/-U/etc... are preprocessor flags and are valid when running in preprocessor mode (-E). i don't know if clang is broken, or your analysis is incorrect, but certainly that behavior you describe is wrong. -mike signature.asc Description: This is a digitally signed message part. ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] Suggested patch to add local strtok_r for systems lacking it
On Thursday 12 April 2012 02:32:39 Jürgen Buchmüller wrote: here's a suggested patch for config.h.in and util.c to add a local implementation of strtok_r for systems that don't have it (e.g. mingw32 plus libgw32c). sounds like we should just integrate gnulib instead of open coding all of our own compatibility layers -mike signature.asc Description: This is a digitally signed message part. ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] PATCH: Fix version.c for older gits
On Fri, Sep 24, 2010 at 14:46, Wilson Snyder wrote: - $(shell (git describe --dirty 2/dev/null || echo vunknown) \ + $(shell (git describe --dirty 2/dev/null || git describe 2/dev/null || echo vunknown) \ probably better to move the stderr outside of the subshell: $(shell (git describe --dirty || git describe || echo vunknown) 2/dev/null \ -mike ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] Compression on or off by default?
On Thu, Mar 4, 2010 at 16:00, Joel Rosdahl wrote: On Wed, 3 Mar 2010 05:00:48 -0500 Mike Frysinger wrote: make the default a ./configure option that defaults to off I would prefer not to make a build-time option of this, because then the documentation has say something in line with whether files are compressed by default depends on how ccache was built, which I think would be unfortunate. I chose to not include the --{en,dis}able-zlib option from the original patch for the same reason. I think it's better to strive for good defaults and few build-time options. i didnt mean the configure option was in place of the runtime knobs regardless, unless the compression is very low overhead, the default should be off -mike ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] Compression on or off by default?
On Tue, Mar 2, 2010 at 17:10, Joel Rosdahl wrote: Lars Gustäbel's compression patch (which will be incorporated in ccache 3.0) enables compression by default, and if you don't want compression you have to set CCACHE_NOCOMPRESS. I'm still a bit undecided about whether defaulting to compression is a good idea, though. Maybe we should be more conservative here and require CCACHE_COMPRESS to be set to enable compression instead? (Note that the question only is about the default behaviour when storing files in the cache -- ccache will still be able to read compressed and uncompressed files from the cache regardless of the CCACHE_(NO)COMPRESS setting.) The main argument I see for making compression opt-in is that hard-linking doesn't work for compressed files (where doesn't work means that ccache will fall back to copying), so if you would like to try out hard-linking, you must set both CCACHE_NOCOMPRESS and CCACHE_HARDLINK, and also build up the cache again. Or, if you currently have enabled hard-linking with ccache 2.4, you need to take the explicit action of disabling compression after an upgrade to get the previous behaviour. Another argument is maybe that disk space is cheap nowadays, and most people probably want to optimize for speed instead of disk space. On the other hand, the overhead of using compression is very small. In fact, I am unable to consistently measure any performance impact whatsoever. (Lars Gustäbel's own measurements can be found at http://gustaebel.de/lars/ccache/.) And, by compressing the cached files, more files will fit in the cache and also in the OS disk cache. Does anyone have an opinion to share about this? make the default a ./configure option that defaults to off -mike ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
[ccache] Collecting and merging unofficial patches (was environment variable for maxsize ?)
On Wed, Mar 19, 2008 at 7:22 PM, Francois Marier franc...@debian.org wrote: In fact if maintainers from other distros (Gentoo perhaps?) want to help out and share some of their changes, that'd be great. we only have two: http://sources.gentoo.org/dev-util/ccache/files/ -mike
[ccache] using ccache with a cross-compiler fails to compile preprocessed output
ive been using ccache with my cross-compilers but i just came across a situation where ccache is causing problems $ cat test.i typedef __blkcnt_t blkcnt_t; $ bfin-uclinux-gcc -c test.i bfin-uclinux-gcc: ??`: No such file or directory bfin-uclinux-gcc: no input files $ bfin-uclinux-gcc -c test.i --ccache-skip test.i:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'blkcnt_t' -mike