summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-03-03Ensure that .ONESHELL works with .SHELLFLAGS options containing whitespace.Paul Smith5-6/+54
See Savannah bug #35397.
2012-03-03Fix Savannah bug #35410: handle escape chars in filter/filter-outPaul Smith6-18/+72
Also add a valgrind suppression file for Guile-enabled make.
2012-03-03Modify backslash/newline handling for POSIX.Paul Smith6-47/+138
We fixed Savannah 16670 but that broke previously-working makefiles that relied on the GNU make behavior. The POSIX behavior doesn't seem to me to be better, and can be obtained using GNU make as well, so put it back as the default behavior and require .POSIX to get the POSIX behavior. Add a new section to the manual discussing backslash/newline handling. Update the test suite.
2012-02-26Check for possible buffer overflow on very long filenames.Paul Smith2-0/+12
Fixes Savannah bug #35525
2012-02-03Ifdef away unused w32 functions.Eli Zaretskii2-0/+6
w32/subproc/sub_proc.c (proc_stdin_thread, proc_stdout_thread) (proc_stderr_thread, process_pipe_io): Ifdef away unused functions.
2012-02-03Fix Savannah bug #34832 with unused TLS attributes.Eli Zaretskii3-8/+31
w32/subproc/w32err.c (map_windows32_error_to_string) [_MSC_VER]: Don't use TLS storage for szMessageBuffer. Ifdef away special code for handling Winsock error codes. Make the function return a `const char *'. Suggested by Ozkan Sezer. Fixes Savannah bug #34832.
2012-01-30Map Guile variable objects to the empty string.Paul Smith2-0/+5
In Guile 2.0, (define ...) results in a variable object. Ensure make converts that to an empty string to avoid spurious errors.
2012-01-30Add support for "::=" simple assignment operator.Paul Smith9-79/+208
The next POSIX standard will define "::=" to have the same behavior as GNU make's ":=", so add support for this new operator.
2012-01-29Create a new function $(file ...)Paul Smith9-16/+219
2012-01-29Guile portabilityPaul Smith2-2/+7
Don't support Guile 1.6 and use a portable test for printable strings.
2012-01-28 config.h.W32.template: Update from config.h.in.Eli Zaretskii2-79/+113
2012-01-28 Support a Windows build with Guile.Eli Zaretskii3-15/+83
README.W32.template: Update with instructions for building with Guile. build_w32.bat: Support building with Guile. make.h [HAVE_STDINT_H]: Include stdint.h.
2012-01-28Actually commit main.c with changes announced in last commit.Eli Zaretskii1-3/+4
2012-01-28 main.c (main, clean_jobserver): Move declarations of variablesEli Zaretskii1-0/+4
not used in the WINDOWS32 build to the #else branch, to avoid compiler warnings.
2012-01-28 Fix failures on MS-Windows when Make's standard handles are invalid.Eli Zaretskii3-71/+189
This can happen when Make is invoked from a GUI application. * w32/subproc/sub_proc.c (process_init_fd): Don't dereference pproc if it is a NULL pointer. (process_begin, process_cleanup): Don't try to close pipe handles whose value is INVALID_HANDLE_VALUE. (process_easy): Initialize hIn, hOut, and hErr to INVALID_HANDLE_VALUE. If DuplicateHandle fails with ERROR_INVALID_HANDLE, duplicate a handle for the null device instead of STD_INPUT_HANDLE, STD_OUTPUT_HANDLE or STD_ERROR_HANDLE. Don't try to close pipe handles whose value is INVALID_HANDLE_VALUE. * function.c (windows32_openpipe): Initialize hIn and hErr to INVALID_HANDLE_VALUE. If DuplicateHandle fails with ERROR_INVALID_HANDLE, duplicate a handle for the null device instead of STD_INPUT_HANDLE or STD_ERROR_HANDLE. Fix indentation. Don't try to close handles whose value is INVALID_HANDLE_VALUE.
2012-01-25 function.c (define_new_function): Fix format strings in calls to `fatal'.Eli Zaretskii2-2/+7
2012-01-18Handle NULL returns from Guile.Paul Smith2-2/+9
2012-01-16Fix an issue with PATH_SEPARATOR_CHAR when cross-compiling for Windows.Paul Smith2-5/+15
Fixes Savannah bug #34818.
2012-01-16Fix autoconf macros for detecting DOS-style pathnames.Paul Smith2-13/+14
Fixes Savannah bug #35256.
2012-01-16Create a new internal interface for defining new make functions.Paul Smith5-27/+59
This allows us to create new functions without changing function.c. You still have to modify the GNU make code (for now) though: this is simply a preliminary step to possibly allowing make to load modules. Modify the Guile integration to use this method rather than ifdefs in function.c.
2012-01-16Disallow whitespace in variable names.Paul Smith1-9/+11
2012-01-16Update copyright notices.Paul Smith100-202/+221
2012-01-15Add GNU Guile as an optional embedded scripting language for make.Paul Smith27-372/+988
On configure-enabled systems, configure will detect Guile installed (using pkg-config, which is how GNU Guile is distributed) and enable it if so. On all non-configure-enabled systems, currently, the default is for Guile support to be disabled.
2011-12-10Add prerequisites to ensure ordering of results.Paul Smith2-2/+8
2011-11-15Allow os2 and mingw to disable jobserver with a configure option.Paul Smith1-6/+8
2011-11-15Enable jobserver on W32 when using configure.Paul Smith7-17/+34
Some W32 cleanups: see Savannah bug #34830 Forgot to modify the config.h.W32.template file for jobserver support.
2011-11-14Be sure to start parsing prereqs in the right place even if there arePaul Smith4-3/+24
escape characters (backslashes) in the target name. See Savannah bug #33399
2011-11-14Changes to resolve warnings.Paul Smith7-7/+18
Fixes Savannah bug #34608.
2011-11-14Don't use Hungarian notation: remove _p/_ptr from var names.Paul Smith2-8/+12
Fixes Savannah bug #32567.
2011-11-14Support jobserver capability on Windows systems.Paul Smith6-23/+302
Implementation contributed by Troy Runkel <Troy.Runkel@mathworks.com>
2011-11-14In very obscure situations we may write the free token back to the pipe.Paul Smith2-2/+6
Don't do that. I couldn't come up with a repro case for this!
2011-11-13Enable high-resolution timestamps for Darwin (Mac OSX)Paul Smith3-7/+15
Patch provided by Troy Runkel <Troy.Runkel@mathworks.com>
2011-09-26Add translation for Czech (cs).Paul Smith2-2/+6
2011-09-18When we re-exec the master makefile in a jobserver environment, ensurePaul Smith4-3/+29
that MAKEFLAGS is set properly so the re-exec'd make runs in parallel. See Savannah bug #33873.
2011-09-18We compute various values for vpath lookup the first time throughPaul Smith4-42/+39
and store them in static variables; however one value (std_dirs) was not being stored statically so the second time through it was not set. Fixes Savannah bug #32511
2011-09-17Avoid certificate checks when getting PO files from translationproject.orgPaul Smith2-1/+8
2011-09-12Ensure variables defined in $(call ...) have global scopePaul Smith6-3/+34
Add a note about using #!/usr/bin/make -f to the manual. Clean up the w32 subdirectory in the dist tarball.
2011-09-02Ensure that -n takes precedence over -t.Paul Smith4-1/+30
Patch from Michael Witten <mfwitten@gmail.com>
2011-08-29Save strings we're expanding in case an embedded eval causes themPaul Smith4-36/+44
to be freed (if they're the value of a variable that's reset for example). See Savannah patch #7534
2011-06-12Fix another error related to whitespace handling in archives.Paul Smith5-5/+30
Newer version of VMS support strncasecmp() so update the config.h.
2011-05-07Ensure private variables are not used when appending target-specificPaul Smith4-6/+27
variables. Fixes Savannah bug #32872.
2011-05-07Inverted the boolean test from what I wanted it to be. Added aPaul Smith4-1/+22
regression test to make sure this continues to work.
2011-05-07 job.c (construct_command_argv_internal): Don't assume shellflagsEli Zaretskii2-7/+23
is always non-NULL. Escape-protect characters special to the shell when copying the value of SHELL into new_line. Fixes Savannah bug #23922.
2011-05-02Updated documentation to fix Savannah bugs #32058 and #31582Paul Smith2-7/+23
2011-05-02Use the same algorithm for counting the number of words to sort as wePaul Smith4-65/+58
use to break up the list of words, so we're sure to get the same number. Fixes Savannah bug #33125
2011-05-02Extern the global declaration of stack_limit. Fixes Savannah bug #32753Paul Smith2-1/+6
2011-05-02Avoid invoking glob() unless the filename has potential globbingPaul Smith2-24/+40
characters in it, for performance improvements.
2011-04-29Delay caching of the file name in eval_makefile() until after all theBoris Kolpackov2-6/+14
expansions and searches are complete. This fixes an assertion in a situation where the MAKEFILES variable contains a file path that contains tilde.
2011-04-18Add new feature: != shell assignment for portability with BSD make.Paul Smith10-17/+213
Feature submitted by David Wheeler.
2011-02-21* Fixups to the make man pagePaul Smith7-181/+252
* 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