summaryrefslogtreecommitdiff
path: root/job.c
AgeCommit message (Collapse)AuthorFilesLines
2010-07-12Add the beginning of the .ONESHELL special feature.Paul Smith1-7/+124
Original patch by David Boyce. Modified by Paul Smith.
2010-07-09 job.c (pid2str) [WINDOWS32]: Don't use %Id with GCC < 4.x.Eli Zaretskii1-6/+11
(exec_command) [WINDOWS32]: Use pid2str instead of non-portable %Id. main.c (handle_runtime_exceptions): Use %p to print addresses, to DTRT on both 32-bit and 64-bit hosts. Savannah bug #27809. job.c (w32_kill, start_job_command, create_batch_file): Use pid_t for process IDs and intptr_t for the 1st arg of _open_osfhandle. function.c (windows32_openpipe): Use pid_t for process IDs and intptr_t for the 1st arg of _open_osfhandle. (func_shell): Use pid_t for process IDs. main.c (main) [WINDOWS32]: Pacify the compiler. config.h.W32.template (pid_t): Add a definition for 64-bit Windows builds that don't use GCC. Savannah bug #27809. Patch by Ozkan Sezer <sezeroz@gmail.com>
2010-07-06- Enhance .POSIX to set -e when invoking shells, as demanded by aPaul Smith1-17/+26
backward-incompatible change in the 2008 POSIX specification. - Add the .SHELLFLAGS variable so people can choose their own shell flags. - Add tests for this. - Add documentation for this.
2010-07-05Fixups for warnings on Windows (esp 64bit).Paul Smith1-28/+39
2010-07-01- Rename strieq() to patheq() for clarity.Paul Smith1-2/+1
- Convert xmalloc/memset pairs to xcalloc.
2009-12-11(construct_command_argv_internal) <sh_cmds_dos> [WINDOWS32]: Add "echo." andEli Zaretskii1-6/+9
a few more commands that are built into cmd.exe. Fixes Savannah bug #28126.
2009-10-25New command line option: --eval=STRING will cause STRING to bePaul Smith1-2/+2
evaluated as a makefile statement before the first makefile is read.
2009-09-28- Update manual description for pattern rule search algorithmPaul Smith1-2/+5
- Add new "-all" flag to the test suite to run tests that don't pass yet - Add some non-passing tests - Fix from Andreas Buening for OS/2.
2009-09-24- Rework secondary expansion so we only defer it if there's a possibilityPaul Smith1-2/+3
it might be needed: for most situations we parse prereqs immediately as we used to. Reduces memory usage. - Fixes Savannah bug #18622.
2009-08-02- Fix Savannah bug #27093Paul Smith1-1/+1
- Fix Savannah bug #27143 - Fix Savannah bug #23960 - Fix Savannah bug #27148
2009-08-01Changes from Ralf Wildenhues.Paul Smith1-1/+1
2009-06-09- Fix Savannah bug #18124Paul Smith1-2/+2
- Fix Savannah bug #17521 - Fix Savannah bug #16401 - Fix Savannah bug #16469 - Fix Savannah bug #16473
2009-06-07- Add a new test suite for LIBPATTERNSPaul Smith1-1/+7
- Fix Savannah bug #21198 - Fix Savannah bug #21823 - Fix Savannah bug #22010
2008-09-30 * job.c (construct_command_argv_internal): Avoid extra backslashEli Zaretskii1-1/+7
in batch-mode Unixy shells. Under DB_JOBS, display the contents of the batch file.
2007-12-22configh.dos.template [__DJGPP__]: Replace HAVE_SYS_SIGLIST withEli Zaretskii1-1/+1
HAVE_DECL_SYS_SIGLIST. job.c (child_execute_job): Remove __MSDOS__ because MSDOS/DJGPP build does not use child_execute_job. variable.c (define_automatic_variables) [__MSDOS__]: Always export the SHELL environment variable to the child.
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.