Commit Graph

  • 7d3743dfdc Verify that backslashes before non-special characters are preserved. Paul Smith 2012-09-09 22:37:13 +00:00
  • a839588fc9 Save the variable buffer content, not a potentially old pointer to it. Fixes Savannah bug #36925. Paul Smith 2012-09-09 21:56:55 +00:00
  • 8a0d46468a Fix stupid wrong-pointer error handling target vars containing semicolons. Fixes Savannah bug #36106. Paul Smith 2012-09-09 21:31:20 +00:00
  • bc578b6c8e Ignore UTF-8 BOMs. See Savannah bug #36529. Paul Smith 2012-09-09 21:11:00 +00:00
  • 1820908804 read.c (unescape_char): Fix a thinko in the last change. Eli Zaretskii 2012-09-09 20:33:58 +00:00
  • 145661a541 Savannah bug #37179: Use alternate shared library syntax for MacOS. Paul Smith 2012-09-09 20:14:09 +00:00
  • a95dc485fa Break out of an infinite loop if we're not making progress. Paul Smith 2012-09-09 20:06:03 +00:00
  • 30b2e4207d When .POSIX: is specified use POSIX-standard macro values by default. Paul Smith 2012-09-09 19:19:15 +00:00
  • 7f5309ebb4 Update README.W32.template for Guile and job-server support. Eli Zaretskii 2012-09-01 07:58:14 +00:00
  • 6cb5be7813 Fix unescape_char when not unescaping. Eli Zaretskii 2012-09-01 07:52:54 +00:00
  • adb50bd4c9 Simplify copyrights using ranges of years. The new GNU Maintainer's Manual allows the use of year ranges in certain situations; take advantage of this simplification. Paul Smith 2012-03-05 14:10:39 +00:00
  • cf1c79c9a3 Improve handling for escaped colons in prerequisite lists. Fixes Savannah bug #12126 and bug #16545 Paul Smith 2012-03-04 16:53:50 +00:00
  • 76827d7c10 Create a new CSTRLEN (constant string length) macro, and use it. Paul Smith 2012-03-04 08:58:44 +00:00
  • eb632d7676 Ensure appending private variables in pattern-specific target variables. Fixes Savannah bug #35468. Paul Smith 2012-03-04 08:09:09 +00:00
  • fdb5fcc28d Support nanosecond timestamps in stat() for AIX 5.2+. Fixes Savannah bug #32485 Paul Smith 2012-03-04 00:35:28 +00:00
  • 23c2b99e9d Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines. Fixes Savannah bug #34530. Paul Smith 2012-03-04 00:24:20 +00:00
  • 405c89ba1e Ensure that .ONESHELL works with .SHELLFLAGS options containing whitespace. See Savannah bug #35397. Paul Smith 2012-03-03 22:56:20 +00:00
  • a77c5c0910 Fix Savannah bug #35410: handle escape chars in filter/filter-out Also add a valgrind suppression file for Guile-enabled make. Paul Smith 2012-03-03 22:12:46 +00:00
  • 88f1bc8b55 Modify backslash/newline handling for POSIX. 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. Paul Smith 2012-03-03 18:45:08 +00:00
  • 6405534814 Check for possible buffer overflow on very long filenames. Fixes Savannah bug #35525 Paul Smith 2012-02-26 21:34:51 +00:00
  • c0751bd3fc Ifdef away unused w32 functions. Eli Zaretskii 2012-02-03 12:16:57 +00:00
  • 1befa76448 Fix Savannah bug #34832 with unused TLS attributes. Eli Zaretskii 2012-02-03 12:15:56 +00:00
  • e3b394f3f0 Map Guile variable objects to the empty string. In Guile 2.0, (define ...) results in a variable object. Ensure make converts that to an empty string to avoid spurious errors. Paul Smith 2012-01-30 01:40:56 +00:00
  • ef6461611b Add support for "::=" simple assignment operator. The next POSIX standard will define "::=" to have the same behavior as GNU make's ":=", so add support for this new operator. Paul Smith 2012-01-30 00:21:57 +00:00
  • fca11f6039 Create a new function $(file ...) Paul Smith 2012-01-29 18:12:22 +00:00
  • d6e1c6e6c5 Guile portability Don't support Guile 1.6 and use a portable test for printable strings. Paul Smith 2012-01-29 16:30:12 +00:00
  • aa07c06387 config.h.W32.template: Update from config.h.in. Eli Zaretskii 2012-01-28 21:59:26 +00:00
  • dc25e84754 Support a Windows build with Guile. Eli Zaretskii 2012-01-28 20:28:31 +00:00
  • 666ad44568 Actually commit main.c with changes announced in last commit. Eli Zaretskii 2012-01-28 20:19:55 +00:00
  • dddd1be5ec main.c (main, clean_jobserver): Move declarations of variables not used in the WINDOWS32 build to the #else branch, to avoid compiler warnings. Eli Zaretskii 2012-01-28 16:54:00 +00:00
  • eb4f966971 Fix failures on MS-Windows when Make's standard handles are invalid. This can happen when Make is invoked from a GUI application. Eli Zaretskii 2012-01-28 16:50:21 +00:00
  • 715a11735f function.c (define_new_function): Fix format strings in calls to `fatal'. Eli Zaretskii 2012-01-25 18:16:14 +00:00
  • 89f7058b99 Handle NULL returns from Guile. Paul Smith 2012-01-18 13:31:11 +00:00
  • 9fb4cdeedb Fix an issue with PATH_SEPARATOR_CHAR when cross-compiling for Windows. Fixes Savannah bug #34818. Paul Smith 2012-01-16 21:29:44 +00:00
  • 0bdc191501 Fix autoconf macros for detecting DOS-style pathnames. Fixes Savannah bug #35256. Paul Smith 2012-01-16 03:53:34 +00:00
  • 49cc211819 Create a new internal interface for defining new make functions. 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. Paul Smith 2012-01-16 03:32:49 +00:00
  • 4e2e5eb199 Disallow whitespace in variable names. Paul Smith 2012-01-16 02:44:04 +00:00
  • 3f6bb04e75 Update copyright notices. Paul Smith 2012-01-16 02:29:20 +00:00
  • c992c4d80f Add GNU Guile as an optional embedded scripting language for make. Paul Smith 2012-01-15 22:41:53 +00:00
  • 3057357c0a Add prerequisites to ensure ordering of results. Paul Smith 2011-12-10 17:13:14 +00:00
  • cb0bedc3d0 Allow os2 and mingw to disable jobserver with a configure option. Paul Smith 2011-11-15 22:56:26 +00:00
  • dc2a6ceb81 Enable jobserver on W32 when using configure. Some W32 cleanups: see Savannah bug #34830 Forgot to modify the config.h.W32.template file for jobserver support. Paul Smith 2011-11-15 21:12:53 +00:00
  • 4f47fbf953 Be sure to start parsing prereqs in the right place even if there are escape characters (backslashes) in the target name. See Savannah bug #33399 Paul Smith 2011-11-14 07:31:06 +00:00
  • 9fcd90e36c Changes to resolve warnings. Fixes Savannah bug #34608. Paul Smith 2011-11-14 02:26:00 +00:00
  • 83ce81fcaa Don't use Hungarian notation: remove _p/_ptr from var names. Fixes Savannah bug #32567. Paul Smith 2011-11-14 00:58:49 +00:00
  • 63888b91f6 Support jobserver capability on Windows systems. Implementation contributed by Troy Runkel <Troy.Runkel@mathworks.com> Paul Smith 2011-11-14 00:42:49 +00:00
  • 934f51d166 In very obscure situations we may write the free token back to the pipe. Don't do that. I couldn't come up with a repro case for this! Paul Smith 2011-11-14 00:18:38 +00:00
  • bfc3e1ca7c Enable high-resolution timestamps for Darwin (Mac OSX) Patch provided by Troy Runkel <Troy.Runkel@mathworks.com> Paul Smith 2011-11-13 23:39:54 +00:00
  • c7d07fd0b5 Add translation for Czech (cs). Paul Smith 2011-09-26 19:18:30 +00:00
  • d472624f33 When we re-exec the master makefile in a jobserver environment, ensure that MAKEFLAGS is set properly so the re-exec'd make runs in parallel. See Savannah bug #33873. Paul Smith 2011-09-18 23:39:26 +00:00
  • 0369a93825 We compute various values for vpath lookup the first time through 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 Paul Smith 2011-09-18 20:52:13 +00:00
  • ef2b0425e7 Avoid certificate checks when getting PO files from translationproject.org Paul Smith 2011-09-17 01:45:09 +00:00
  • a5c774a51b Ensure variables defined in $(call ...) have global scope Add a note about using #!/usr/bin/make -f to the manual. Clean up the w32 subdirectory in the dist tarball. Paul Smith 2011-09-12 05:29:58 +00:00
  • 9a9f83e8b5 Ensure that -n takes precedence over -t. Patch from Michael Witten <mfwitten@gmail.com> Paul Smith 2011-09-02 05:37:54 +00:00
  • e4d5d43424 Save strings we're expanding in case an embedded eval causes them to be freed (if they're the value of a variable that's reset for example). See Savannah patch #7534 Paul Smith 2011-08-29 16:20:19 +00:00
  • b06b8c64a2 Fix another error related to whitespace handling in archives. Newer version of VMS support strncasecmp() so update the config.h. Paul Smith 2011-06-12 16:22:04 +00:00
  • f15efca811 Ensure private variables are not used when appending target-specific variables. Fixes Savannah bug #32872. Paul Smith 2011-05-07 20:03:49 +00:00
  • b664d3a91d Inverted the boolean test from what I wanted it to be. Added a regression test to make sure this continues to work. Paul Smith 2011-05-07 14:36:11 +00:00
  • b5c065418f job.c (construct_command_argv_internal): Don't assume shellflags is always non-NULL. Escape-protect characters special to the shell when copying the value of SHELL into new_line. Fixes Savannah bug #23922. Eli Zaretskii 2011-05-07 08:29:13 +00:00
  • bd6f63e563 Updated documentation to fix Savannah bugs #32058 and #31582 Paul Smith 2011-05-02 15:11:23 +00:00
  • 6979e7e43b Use the same algorithm for counting the number of words to sort as we use to break up the list of words, so we're sure to get the same number. Fixes Savannah bug #33125 Paul Smith 2011-05-02 12:35:01 +00:00
  • dc90160079 Extern the global declaration of stack_limit. Fixes Savannah bug #32753 Paul Smith 2011-05-02 12:29:09 +00:00
  • a81ee5209b Avoid invoking glob() unless the filename has potential globbing characters in it, for performance improvements. Paul Smith 2011-05-02 00:18:06 +00:00
  • 15a79d723d Delay caching of the file name in eval_makefile() until after all the expansions and searches are complete. This fixes an assertion in a situation where the MAKEFILES variable contains a file path that contains tilde. Boris Kolpackov 2011-04-29 15:27:39 +00:00
  • b34438bee8 Add new feature: != shell assignment for portability with BSD make. Feature submitted by David Wheeler. Paul Smith 2011-04-18 01:25:20 +00:00
  • 1454a04f81 * Fixups to the make man page * 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 Paul Smith 2011-02-21 07:30:11 +00:00
  • ae2ab76fac Check if the target-specific variable is the same as the global variable, and if so don't try to update it. Savannah bug #31743. Paul Smith 2010-11-30 14:48:52 +00:00
  • 391456aad7 Improve backslash/newline handling to adhere to POSIX requirements. Paul Smith 2010-11-06 21:56:23 +00:00
  • a86d1693ba Bump the version to 3.82.90. Fix some doc bugs. Implement the --trace flag. Show filename/linenumber on error. Paul Smith 2010-08-29 23:05:26 +00:00
  • 3b1432d86a Set shellflags to a reasonable default if it's not set already. Paul Smith 2010-08-29 04:50:26 +00:00
  • c3188c6f31 variable.c (define_automatic_variables) [__MSDOS__ || WINDOWS32]: Remove trailing backslashes in $(@D), $(<D), etc., for consistency with forward slashes. Fixes Savannah bug #30795. Eli Zaretskii 2010-08-27 15:01:42 +00:00
  • 5acda13ace - Fix the NEWS file to be accurate - Add oneshell to $(.FEATURES) (forgot that!) - Fix Savannah bug #30612: handling of archive references with >1 object Paul Smith 2010-08-14 02:50:14 +00:00
  • 036760a9fd Fix Savannah bug #30723: expand MAKEFLAGS before we re-exec after rebuilding makefiles. Paul Smith 2010-08-10 07:35:34 +00:00
  • 91be515567 w32/subproc/build.bat: Make all 3 cl.exe compile command lines use the same /I switches. Fixes Savannah bug #30662. Eli Zaretskii 2010-08-07 08:55:17 +00:00
  • b6b6875986 function.c (func_shell) [WINDOWS32]: Reset just_print_flag around the call to construct_command_argv, so that a temporary batch file _is_ created when needed for $(shell). Fixes Savannah bug #16362. Eli Zaretskii 2010-08-07 08:46:06 +00:00
  • 8f029808af Fix the DJGPP build. Eli Zaretskii 2010-08-07 08:15:45 +00:00
  • 95f1a32d27 Release GNU make 3.82 3.82 Paul Smith 2010-07-28 05:39:50 +00:00
  • 59691939f9 job.c Eli Zaretskii 2010-07-24 08:27:50 +00:00
  • e954532d48 job.c (pid2str) [WINDOWS32]: Fix CPP conditionals for using %Id format. Eli Zaretskii 2010-07-24 08:27:26 +00:00
  • f5d7411c49 Fix up incorrect prototype. Paul Smith 2010-07-20 13:12:06 +00:00
  • fba20a776d - Many fixup patches from Savannah. - Fix the test suite on Solaris (from Boris) - Update the manual for .ONESHELL Paul Smith 2010-07-19 07:10:53 +00:00
  • df2fa7c5a5 Fix buffer overrun in concat(). Boris Kolpackov 2010-07-16 13:01:15 +00:00
  • 9903cda2a7 Update copyrights for 2010. Paul Smith 2010-07-13 01:20:10 +00:00
  • ded9121846 Fixes to build_w32.bat for building with MSVC 64bit. Paul Smith 2010-07-12 20:32:59 +00:00
  • 02ff72c970 Add missing one_shell declaration. Eli Zaretskii 2010-07-12 17:18:31 +00:00
  • 90b30b6e0e *** empty log message *** Eli Zaretskii 2010-07-12 17:17:45 +00:00
  • 96c0761689 make.h (alloca) [!__GNUC__]: Don't define prototype. (int w32_kill): Use pid_t for process ID argument. Savannah bug #27809. Eli Zaretskii 2010-07-12 17:16:54 +00:00
  • bbe7b86718 Forgot to add the ONESHELL regression tests. Paul Smith 2010-07-12 05:29:25 +00:00
  • 7ba7dbca47 Add the beginning of the .ONESHELL special feature. Original patch by David Boyce. Modified by Paul Smith. Paul Smith 2010-07-12 05:23:19 +00:00
  • b85b7e0a55 w32/subproc/sub_proc.c: Include stdint.h. (sub_process_t): Use intptr_t for file handles and pid_t for process ID. (process_pipes, process_init_fd, process_begin): Use intptr_t for file handles and pid_t for process ID. Savannah bug #27809. Patch by Ozkan Sezer <sezeroz@gmail.com> Eli Zaretskii 2010-07-09 12:05:10 +00:00
  • 587588c1fa Fix Savannah bug #30312. Eli Zaretskii 2010-07-09 11:40:19 +00:00
  • 94bda718c4 config.h.W32.template (pid_t): Add a definition for 64-bit Windows builds that don't use GCC. Eli Zaretskii 2010-07-09 11:38:01 +00:00
  • 4e4d8f246f job.c (pid2str) [WINDOWS32]: Don't use %Id with GCC < 4.x. (exec_command) [WINDOWS32]: Use pid2str instead of non-portable %Id. Eli Zaretskii 2010-07-09 11:10:04 +00:00
  • 8a0f9d7b42 Fix FTP upload rules. Paul Smith 2010-07-07 02:06:48 +00:00
  • c7b469f0f3 - Enhance .POSIX to set -e when invoking shells, as demanded by a 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. Paul Smith 2010-07-06 06:37:42 +00:00
  • c78b7265bd Fixups for warnings on Windows (esp 64bit). Paul Smith 2010-07-05 18:32:03 +00:00
  • fc644b4c45 Do not consider filenames that contain parens but don't END in a paren, to be an archive group. Fixes Savannah bug #28525. Paul Smith 2010-07-03 16:45:45 +00:00
  • 97f106fa10 - Add whitespace to command line invocation in features/recursion - Set up .FEATURES with separate calls for optional features, as some compilers don't like conditionals inside macro invocations. Paul Smith 2010-07-01 07:16:00 +00:00
  • 7746a1f74f - Rename strieq() to patheq() for clarity. - Convert xmalloc/memset pairs to xcalloc. Paul Smith 2010-07-01 05:59:08 +00:00
  • c0239cdbfa *** empty log message *** Eli Zaretskii 2009-12-11 15:55:16 +00:00