summaryrefslogtreecommitdiff
path: root/job.c
AgeCommit message (Collapse)AuthorFilesLines
2007-11-04New special variable: .RECIPEPREFIXPaul Smith1-24/+6
Allows the user to reset the prefix character for introducing recipe lines from the default (tab) to any other single character, and back again. Also, reworked the manual to consistently use the word "recipe" to describe the set of commands we use to update a target, instead of the various phrases used in the past: "commands", "command lines", "command scripts", etc.
2007-10-10Fixes from Eli Zaretskii:Paul Smith1-7/+16
Fix to allow quoted directories in PATH. Fix for Savannah bug #20549.
2007-07-04* Update to GPLv3Paul Smith1-4/+4
* Update copyright to 2007 * Fix download URL for translation files (thanks to Thiemo Seufer)
2007-05-11Fix some documentation gitches.Paul Smith1-4/+13
Fix an uninitialized variable. Add builtin rules for Objective C. Add a new debug line that shows where the commands that are about to be run were defined.
2007-05-09Fix Savannah bug #19656: rationalize our use of case-insensitive stringPaul Smith1-3/+3
comparison functions to always use POSIX strcasecmp(). For non-POSIX systems that use other functions (strcmpi or stricmp) use a macro to alias strcasecmp to those. If we can't find any of them (VMS, plus whatever UNIX doesn't have them) then define our own version in misc.c.
2007-03-20This is a major update, which switches virtually every allocated-but-not-freedPaul Smith1-2/+2
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-9/+9
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-10-01Fixed a number of documentation bugs, plus some build/install issues:Paul Smith1-0/+6
16304, 16468, 16577, 17701, 17880, 16051, 16652, 16698 Plus some from the mailing list. Imported a patch from Eli to allow Cygwin builds to support DOS-style pathnames.
2006-04-09Another round of cleanups:Paul Smith1-40/+38
- 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-04-07Code cleanup: Remove all references to PARAMS() & ansi2knr.Paul Smith1-24/+24
2006-03-20Minor fixes before the rc2 release.Paul Smith1-1/+1
2006-03-20Add some alloca(0) calls for systems without "normal" alloca support.Paul Smith1-1/+1
Fix a file descriptor leak with make re-exec while using the jobserver. Update some release information.
2006-03-10Numerous updates to tests for issues found on Cygwin and Windows.Paul Smith1-3/+7
Revert a fix for $? including non-existent files as it shows a bug in the Linux kernel build. Give them a release to fix this. Add some changes from Eli Z. for Windows changes.
2006-02-20- Memory cleanups, found with valgrind.Paul Smith1-2/+5
- Fix handling of special targets like .SUFFIX for VMS insensitive targets. - Don't make temporary batch files for -n. Make sure batch files are created in text mode.
2006-02-11Last of the copyright updates.Paul Smith1-1/+2
2006-02-11Update copyright and license notices on all files.Paul Smith1-15/+12
Added new file strcache.c to various non-UNIX makefiles and build scripts.
2006-02-08Fixed Savannah bug #15641.Boris Kolpackov1-2/+6
2006-02-06Updates to Windows stuff from Markus Mauhart.Paul Smith1-5/+6
2006-02-01Various updates, mainly to the Windows port, from Eli Zaretskii andPaul Smith1-10/+25
Markus Maurhart.
2006-01-04Various changes getting ready for the release of 3.81.Paul Smith1-2/+2
- Updates to make.texi and make.1 and other documentation - Some VMS patches - Fix minor bugs reported on the mailing list and from Debian.
2005-09-26Make sure to assign a boolean value to a 1-bit bitfield. Reported onPaul Smith1-6/+11
the bug-make mailing list. Fix Savannah bug # 14527: remember to free temporary line constructor memory if the line is empty.
2005-08-25If we're on a DOS/W32/OS2 system and we're not using a unixy shell, don'tPaul Smith1-7/+25
follow POSIX backslash/newline conventions. Use a different method for testing the SHELL variable, which hopefully will work better on non-UNIX systems.
2005-08-08- Fixed a bug reported by Michael Matz regarding handling of parallelPaul Smith1-16/+44
jobs after a failed job. - Enhancements to WINDOWS32 code from Eli Zaretskii. - Add Microsoft Project files from J. Grant.
2005-06-26Fix Savannah bug # 1332: handle backslash-newline pairs in command scriptsPaul Smith1-54/+39
according to POSIX rules.
2005-06-10Fixes for VMS from Hartmut Becker.Paul Smith1-3/+3
2005-05-31Fixed Savannah bugs #13216 and #13218.Boris Kolpackov1-2/+8
2005-05-08Document the secondary expansion method. Also, some other documentationPaul Smith1-9/+28
cleanups. If we find a make error (invalid makefile syntax or something like that) write back any tokens we have before we exit. If we have waiting jobs (using -j + -l) set an alarm before we sleep on the read() system call, so we can wake up to check the load and start waiting jobs, if there are long-running jobs we would otherwise be waiting for. Suggested by Grant Taylor.
2005-05-03Fix problems with losing tokens in the jobserver, reported by GrantPaul Smith1-685/+37
Taylor. There are two forms of this: first, it was possible to lose tokens when using -j and -l at the same time, because waiting jobs were not checked when determining whether any jobs were outstanding. Second, if you had an exported recursive variable that contained a $(shell ...) function there is a possibility to lose tokens, since a token was taken but the child list was not updated until after the shell function was complete. To resolve this I introduced a new variable that counted the number of tokens we have obtained, rather than checking whether there were any children on the list. I also added some sanity checks to make sure we weren't writing back too many or not enough tokens. And, the master make will drain the token pipe before exiting and compare the count of tokens at the end to what was written there at the beginning. Also: * Ensure a bug in the environment (missing "=") doesn't cause make to core. * Rename the .DEFAULT_TARGET variable to .DEFAULT_GOAL, to match the terminology in the documentation and other variables like MAKECMDGOALS. * Add documentation of the .DEFAULT_GOAL special variable. Still need to document the secondary expansion stuff...
2005-04-08Fix some Savannah bugs.Paul Smith1-0/+8
Updates to docs (still need more work here) and NEWS file. New language.
2004-11-12Patch for command line parsing for VMS from Hartmut Becker.Paul Smith1-0/+11
2004-10-06Apply patch from Alessandro Vesely for WINDOWS32-specific bug # 9748.Paul Smith1-18/+85
2004-09-21Fix some bugs in variable pattern substitution (e.g. $(VAR:A=B)),Paul Smith1-2/+2
reported by Markus Mauhart <qwe123@chello.at>. One was a simple typo; to fix the other we call patsubst_expand() for all instances of variable substitution, even when there is no '%'. We used to call subst_expand() with a special flag set in the latter case, but it didn't work properly in all situations. Easier to just use patsubst_expand() since that's what it is.
2004-05-16Various enhancementsPaul Smith1-6/+30
- OS/2 Patches - OpenVMS updates - Sanitize the handling of -include/sinclude with and without -k - Fix the setting of $< for order-only rules.
2004-03-22Numerous updates and bug fixes.Paul Smith1-120/+117
A number of W32 cleanups from J.Grant. A number of OS/2 cleanups from Andreas Buening. Various random bug fixes.
2004-02-24Many compiler warning cleanups.Paul Smith1-1/+1
Small fixes for W32 (from Jonathan Grant <jg-make@jguk.org>) Maintainer enhancements to clean up the tree.
2004-02-23Numerous fixes: patches for OS/2; core for -f ''; makefile updates.Paul Smith1-26/+18
2004-02-21VMS fix.Paul Smith1-24/+6
2004-01-21Many bug fixes etc.Paul Smith1-4/+77
- Apply a fix for the "thundering herd" problem when using "-j -l". This also fixes bug #4693. - Fix bug #7257: allow functions as ifdef arguments - Fix bug #4518: make sure we print all double-colon rules with -p. - Upgrade to autconf 2.58/automake 1.8/gettext 0.13.1 - Various doc cleanups, etc.
2004-01-08Enhancements to the documentation (fixes bugs #1772 and 4898).Paul Smith1-7/+6
Add "!" to the list of shell escape characters: POSIX sh allows it to be used to negate the return value of the command.
2003-07-19Minor updates for Windows and OS/2.Paul Smith1-1/+1
2003-05-02- Fix bug #1405: allow multiple pattern-specific variables to match a target.Paul Smith1-7/+6
- Fix some uncleanliness about the implementation of patterns-specific vars. - Some enhancements to the OS/2 port.
2003-03-25Fix bug #2892.Paul Smith1-8/+9
More OS/2 updates from Andreas Buening. Upgrade build system to autoconf 2.57 and automake 1.7.3.
2003-03-24Add support for OS/2, contributed by Andreas Buening <andreas.buening@nexgo.de>Paul Smith1-59/+452
Also a small patch from Hartmut Becker <Hartmut.Becker@compaq.com> for VMS.
2002-10-14Convert the source code to use ANSI C style function definitions andPaul Smith1-48/+24
enable the automake ansi2knr capability. Right now this doesn't quite build using a K&R compiler because of a problem with the loadavg test program, but the rest of the code works. I'm asking the automake list about this problem.
2002-08-10Update to a new version of automake and gettext.Paul Smith1-2/+2
Invent a new macro HAVE_DOS_PATHS and change various instances of: #if defined(WINDOWS) || defined(__MSDOS__) to use the new macro instead. This should help make the OS/2 port cleaner, as well. Invent a cvs-clean maintainer target that tries to get the workspace back to the state it was in after a CVS checkout. New language.
2001-11-18Update copyright info.Paul Smith1-1/+1
2001-06-01Fix for EINTR problems when using jobserver.Paul Smith1-27/+77
New translation files. Fix for @+ inside define macros being applied too widely. Various other bug fixes.
2001-05-21Some VMS fixes sent by John Fowler.Paul Smith1-2/+10
Fix: make flags on some lines of define/endef don't affect other lines
2000-07-30* Various fixes; see the ChangeLog.Paul Smith1-1/+1
2000-06-23* Fix -q so it works more correctly.Paul Smith1-26/+33
* Don't print "nothing to do" messages for ":" commands * Update the version to 3.79.1