summaryrefslogtreecommitdiff
path: root/strcache.c
AgeCommit message (Collapse)AuthorFilesLines
2013-05-17Update source file format: remove TABs, use GNU coding styles.Paul Smith1-3/+3
2013-05-17Update copyright for changes in 2013.Paul Smith1-1/+1
2013-01-20Rename the make.h file to makeint.h for internal use only.Paul Smith1-1/+1
2012-03-05Simplify copyrights using ranges of years.Paul Smith1-2/+1
The new GNU Maintainer's Manual allows the use of year ranges in certain situations; take advantage of this simplification.
2012-01-16Update copyright notices.Paul Smith1-1/+2
2011-02-21* Fixups to the make man pagePaul Smith1-73/+118
* Minor syntax cleanups in the manual * In non-maintainer mode set NDEBUG to disable assert() * Performance improvements in strcache: Build Info 1000 2000 4000 3.82 -g 2.61s 8.85s 33.52s 3.82 -O2 1.90s 7.62s 27.82s New -g (with asserts) 1.03s 2.31s 5.79s New -O2 (no asserts) 0.65s 1.50s 3.52s
2010-07-13Update copyrights for 2010.Paul Smith1-1/+1
2009-10-25Update copyright years.Paul Smith1-1/+1
2007-07-04* Update to GPLv3Paul Smith1-4/+4
* Update copyright to 2007 * Fix download URL for translation files (thanks to Thiemo Seufer)
2007-03-20This is a major update, which switches virtually every allocated-but-not-freedPaul Smith1-24/+48
string into the strcache. As a side-effect, many more structure members and function arguments can/should be declared const. As mentioned in the changelog, unfortunately measurement shows that this change does not yet reduce memory. The problem is with secondary expansion: because of this we store all the prerequisites in the string cache twice. First we store the prerequisite string after initial expansion but before secondary expansion, then we store each individual file after secondary expansion and expand_deps(). I plan to change expand_deps() to be callable in either context (eval or snap_deps) then have non-second-expansion targets call expand_deps() during eval, so that we only need to store that dependency list once.
2006-11-18Fix from Eli for incorrect value of $(MAKE) on Cygwin.Paul Smith1-4/+10
A few changes from char* to void* where appropriate, and removing of unnecessary casts. Much more work on const-ifying the codebase. This round involves some code changes to make it correct. NOTE!! There will almost certainly be problems on the non-POSIX ports that will need to be addressed after the const changes are finished: they will need to be const-ified properly and there may need to be some changes to allocate memory, etc. as well. The next (last?) big push for this, still to come, is const-ifying the filenames in struct file, struct dep, etc. This will allow us to store file names in the string cache and finally resolve Savannah bug #15182 (make uses too much memory), among other advantages.
2006-04-09Another round of cleanups:Paul Smith1-2/+2
- Add more warnings. - Rename variables that mask out-scope vars with the same name. - Remove all casts of return values from xmalloc, xrealloc, and alloca. - Remove casts of the first argument to xrealloc. - Convert all bcopy/bzero/bcmp invocations to use memcp/memmove/memset/memcmp.
2006-02-11Last of the copyright updates.Paul Smith1-2/+1
2006-02-11Update copyright and license notices on all files.Paul Smith1-17/+15
Added new file strcache.c to various non-UNIX makefiles and build scripts.
2006-02-10- New code capability: a read-only string cache. Start of solution forPaul Smith1-0/+219
Savannah bug #15182, but not much uses it yet. Coming shortly. - Added short-circuiting $(and ..) and $(or ...) functions.