Age | Commit message (Collapse) | Author | Files | Lines |
|
statement".
|
|
w32/compat/posixfcn.c: New file, with emulations of Posix
functions and Posix functionality for MS-Windows.
w32/subproc/sub_proc.c: Include io.h.
(process_noinherit): New function, forces a file descriptor to not
be inherited by child processes.
(process_easy): Accept two additional arguments, and use them to
set up the standard output and standard error handles of the child
process.
w32/include/sub_proc.h (process_easy): Adjust prototype.
(process_noinherit): Add prototype.
read.c [WINDOWS32]: Include windows.h and sub_proc.h.
makeint.h (LOCALEDIR) [WINDOWS32}: Define to NULL if not
defined. This is needed because the MS-Windows build doesn't have
a canonical place for LOCALEDIR.
(WIN32_LEAN_AND_MEAN) [WINDOWS32]: Define, to avoid getting from
windows.h header too much stuff that could conflict with the code.
main.c <sync_mutex>: New static variable.
<switches>: Add support for "--sync-mutex" switch.
(decode_output_sync_flags): Decode the --sync-mutex= switch.
(prepare_mutex_handle_string) [WINDOWS32]: New function.
(main): Add "output-sync" to .FEATURES.
job.h (CLOSE_ON_EXEC) [WINDOWS32]: Define to call
process_noinherit.
(F_GETFD, F_SETLKW, F_WRLCK, F_UNLCK, struct flock) [WINDOWS32]:
New macros.
(RECORD_SYNC_MUTEX): New macro, a no-op for Posix platforms.
(sync_handle_t): New typedef.
job.c <sync_handle>: Change type to sync_handle_t.
(FD_NOT_EMPTY): Seek to the file's end. Suggested by Frank
Heckenbach <f.heckenbach@fh-soft.de>.
(pump_from_tmp_fd) [WINDOWS32]: Switch to_fd to binary mode for
the duration of this function, and then change back before
returning.
(start_job_command) [WINDOWS32]: Support output_sync mode on
MS-Windows. Use a system-wide mutex instead of locking
stdout/stderr. Call process_easy with two additional arguments:
child->outfd and child->errfd.
(exec_command) [WINDOWS32]: Pass two additional arguments, both
-1, to process_easy, to adjust for the changed function signature.
function.c (windows32_openpipe) [WINDOWS32]: This function now
returns an int, which is -1 if it fails and zero otherwise. It
also calls 'error' instead of 'fatal', to avoid exiting
prematurely.
(func_shell_base) [WINDOWS32]: Call perror_with_name if
windows32_openpipe fails, now that it always returns. This avoids
a compiler warning that error_prefix is not used in the MS-Windows
build.
config.h.W32.template (OUTPUT_SYNC): Define.
build_w32.bat: Add w32/compat/posixfcn.c to compilation and
linking commands.
From Frank Heckenbach <f.heckenbach@fh-soft.de>:
job.c (sync_output): Don't discard the output if
acquire_semaphore fails; instead, dump the output unsynchronized.
|
|
build_w32.bat: Improve. Remove 'setlocal', as it isn't
supported on Windows 9X. Add --help and usage instructions.
Support both debug and optimized builds with GCC under --debug.
If building out of Git repo, always produce config.h, and edit
gmk-default.scm into gmk-default.h.
w32/subproc/build.bat: Support debug and optimized builds with
GCC.
|
|
Note currently output-sync is not supported on Windows.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
Move the gmk_floc type to gnumake.h.
|
|
|
|
|
|
|
|
|
|
|
|
Patch suggested by Frank Heckenbach <f.heckenbach@fh-soft.de>.
|
|
|
|
|
|
counter of batch files before trying to use it.
|
|
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.
|
|
batch file fails.
|
|
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.
|
|
Provides support for dynamically loadable objects in GNU make, as a
"technology preview".
|
|
|
|
Fixes Savannah bug #32247
|
|
parent needs to be remade. Fixes Savannah bug #30653.
|
|
Fixes Savannah bug #36451.
|
|
explicitly with stat(2). Fixes Savannah bug #35919.
|
|
Fixes Savannah bug #36925.
|
|
Fixes Savannah bug #36106.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
read.c (unescape_char): Advance 'p' after copying the unescaped
characters. Otherwise the backslashes are incorrectly erased from
the original string.
|
|
The new GNU Maintainer's Manual allows the use of year ranges in certain
situations; take advantage of this simplification.
|
|
Fixes Savannah bug #12126 and bug #16545
|
|
|
|
Fixes Savannah bug #35468.
|
|
Fixes Savannah bug #32485
|
|
Fixes Savannah bug #34530.
|
|
See Savannah bug #35397.
|
|
Also add a valgrind suppression file for Guile-enabled make.
|
|
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.
|
|
Fixes Savannah bug #35525
|
|
w32/subproc/sub_proc.c (proc_stdin_thread, proc_stdout_thread)
(proc_stderr_thread, process_pipe_io): Ifdef away unused
functions.
|
|
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.
|