Paul Smith
29cd1e9699
Reconsider targets waiting for prerequisites. Fixes Savannah bug #37703 .
2013-04-06 10:29:20 -04:00
Paul Smith
450b7e1a3d
Use ENULLLOOP to handle EINTR during realpath(). Fixes Savannah bug #38420
2013-02-28 00:55:15 -05:00
Paul Smith
5058a94ee7
Expand the loadable object support.
...
Provide a simple API for loaded objects to interact with GNU make. I still
won't guarantee that this API won't change but it's much closer to something
that's supported and provides easy-to-use interfaces with a public header
file.
2013-02-25 01:38:36 -05:00
Paul Smith
ac1c6b404a
Create externally referencable header file "gnumake.h".
...
Move the gmk_floc type to gnumake.h.
2013-01-20 13:39:54 -05:00
Paul Smith
51fb930ef2
Rename struct floc to typedef gmk_floc as an externally scoped symbol.
2013-01-20 13:16:46 -05:00
Paul Smith
a45f25ece3
Rename the make.h file to makeint.h for internal use only.
2013-01-20 11:33:20 -05:00
Paul Smith
b70aa3709e
Allow dynamically loaded objects to be rebuilt by make.
2013-01-20 00:55:57 -05:00
Paul Smith
8e0a5645b8
Add more documentation on Git workflow and rules.
2013-01-19 17:11:23 -05:00
Eli Zaretskii
7899c6f383
Fix a typo in ChangeLog.
2013-01-18 18:02:16 +02:00
Paul Smith
686a74bfb2
[SV #38051 ] Recover all MAKEFLAGS after makefile rebuild step is complete.
...
Patch suggested by Frank Heckenbach <f.heckenbach@fh-soft.de>.
2013-01-13 12:21:01 -05:00
Paul Smith
ca17e5538f
Add ChangeLog entries for Git migration.
2013-01-13 12:17:03 -05:00
Paul Smith
002702c89c
Modify instructions, etc. for Git support.
2013-01-12 19:31:13 -05:00
Eli Zaretskii
0d12b1a207
job.c (create_batch_file): Fix last change: always increment the
...
counter of batch files before trying to use it.
2012-12-08 10:26:36 +00:00
Eli Zaretskii
299f5faf93
job.c (construct_command_argv_internal): Remove " from
...
sh_chars_dos[]. Ignore an escaped backslash inside a string
quoted with "..". This lifts the 4KB or 8KB command-line length
limitation imposed by the Windows shell when a command uses quoted
strings, because we now don't call the shell in that case.
2012-12-07 14:23:39 +00:00
Eli Zaretskii
0d5d963bcf
job.c (reap_children): Add debug message for when removal of a temporary
...
batch file fails.
2012-12-07 14:13:16 +00:00
Eli Zaretskii
715927552f
Avoid leaving temporary batch files in the temporary directory.
...
job.c (create_batch_file): Declare the counter of batch files
static, to avoid having 2 jobs using the same file name and
stepping on each other's toes. When all 64K names are used up,
make one more loop looking for slots that became vacant. This
avoids leaving behind temporary batch files in the temporary
directory, which happens frequently on a fast machine when using
parallel builds.
2012-12-07 14:11:15 +00:00
Paul Smith
7670c84f77
Implement new "load" directive.
...
Provides support for dynamically loadable objects in GNU make, as a
"technology preview".
2012-10-29 07:05:21 +00:00
Paul Smith
3a285e342e
Update the required version of gettext to get new bugfix macros.
2012-09-30 03:20:50 +00:00
Paul Smith
f263ff4ce9
Define _GNU_SOURCE before testing for bsd_signal.
...
Fixes Savannah bug #32247
2012-09-10 03:05:49 +00:00
Paul Smith
fbe5b2c9cd
Force intermediate targets to be considered if their non-intermediate
...
parent needs to be remade. Fixes Savannah bug #30653 .
2012-09-10 02:36:05 +00:00
Paul Smith
a94b0b0ea5
Keep the command line on the heap to avoid stack overflow.
...
Fixes Savannah bug #36451 .
2012-09-09 23:25:07 +00:00
Paul Smith
b9c4a38022
On BSD, realpath(3) doesn't fail if the target doesn't exist, so test
...
explicitly with stat(2). Fixes Savannah bug #35919 .
2012-09-09 23:14:55 +00:00
Paul Smith
a839588fc9
Save the variable buffer content, not a potentially old pointer to it.
...
Fixes Savannah bug #36925 .
2012-09-09 21:56:55 +00:00
Paul Smith
8a0d46468a
Fix stupid wrong-pointer error handling target vars containing semicolons.
...
Fixes Savannah bug #36106 .
2012-09-09 21:31:20 +00:00
Paul Smith
bc578b6c8e
Ignore UTF-8 BOMs. See Savannah bug #36529 .
2012-09-09 21:11:00 +00:00
Eli Zaretskii
1820908804
read.c (unescape_char): Fix a thinko in the last change.
2012-09-09 20:33:58 +00:00
Paul Smith
145661a541
Savannah bug #37179 : Use alternate shared library syntax for MacOS.
2012-09-09 20:14:09 +00:00
Paul Smith
a95dc485fa
Break out of an infinite loop if we're not making progress.
2012-09-09 20:06:03 +00:00
Paul Smith
30b2e4207d
When .POSIX: is specified use POSIX-standard macro values by default.
2012-09-09 19:19:15 +00:00
Eli Zaretskii
7f5309ebb4
Update README.W32.template for Guile and job-server support.
2012-09-01 07:58:14 +00:00
Eli Zaretskii
6cb5be7813
Fix unescape_char when not unescaping.
...
read.c (unescape_char): Advance 'p' after copying the unescaped
characters. Otherwise the backslashes are incorrectly erased from
the original string.
2012-09-01 07:52:54 +00:00
Paul Smith
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.
2012-03-05 14:10:39 +00:00
Paul Smith
cf1c79c9a3
Improve handling for escaped colons in prerequisite lists.
...
Fixes Savannah bug #12126 and bug #16545
2012-03-04 16:53:50 +00:00
Paul Smith
76827d7c10
Create a new CSTRLEN (constant string length) macro, and use it.
2012-03-04 08:58:44 +00:00
Paul Smith
eb632d7676
Ensure appending private variables in pattern-specific target variables.
...
Fixes Savannah bug #35468 .
2012-03-04 08:09:09 +00:00
Paul Smith
fdb5fcc28d
Support nanosecond timestamps in stat() for AIX 5.2+.
...
Fixes Savannah bug #32485
2012-03-04 00:35:28 +00:00
Paul Smith
23c2b99e9d
Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines.
...
Fixes Savannah bug #34530 .
2012-03-04 00:24:20 +00:00
Paul Smith
405c89ba1e
Ensure that .ONESHELL works with .SHELLFLAGS options containing whitespace.
...
See Savannah bug #35397 .
2012-03-03 22:56:20 +00:00
Paul Smith
a77c5c0910
Fix Savannah bug #35410 : handle escape chars in filter/filter-out
...
Also add a valgrind suppression file for Guile-enabled make.
2012-03-03 22:12:46 +00:00
Paul Smith
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.
2012-03-03 18:45:08 +00:00
Paul Smith
6405534814
Check for possible buffer overflow on very long filenames.
...
Fixes Savannah bug #35525
2012-02-26 21:34:51 +00:00
Eli Zaretskii
c0751bd3fc
Ifdef away unused w32 functions.
...
w32/subproc/sub_proc.c (proc_stdin_thread, proc_stdout_thread)
(proc_stderr_thread, process_pipe_io): Ifdef away unused
functions.
2012-02-03 12:16:57 +00:00
Eli Zaretskii
1befa76448
Fix Savannah bug #34832 with unused TLS attributes.
...
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-02-03 12:15:56 +00:00
Paul Smith
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.
2012-01-30 01:40:56 +00:00
Paul Smith
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.
2012-01-30 00:21:57 +00:00
Paul Smith
fca11f6039
Create a new function $(file ...)
2012-01-29 18:12:22 +00:00
Paul Smith
d6e1c6e6c5
Guile portability
...
Don't support Guile 1.6 and use a portable test for printable strings.
2012-01-29 16:30:12 +00:00
Eli Zaretskii
aa07c06387
config.h.W32.template: Update from config.h.in.
2012-01-28 21:59:26 +00:00
Eli Zaretskii
dc25e84754
Support a Windows build with Guile.
...
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-28 20:28:31 +00:00
Eli Zaretskii
dddd1be5ec
main.c (main, clean_jobserver): Move declarations of variables
...
not used in the WINDOWS32 build to the #else branch, to avoid
compiler warnings.
2012-01-28 16:54:00 +00:00