summaryrefslogtreecommitdiff
path: root/w32
Commit message (Collapse)AuthorAgeFilesLines
* Update Copyright statements for 2014.Paul Smith2014-09-3015-15/+15
|
* Support MAKE_TERMOUT and MAKE_TERMERR on MS-Windows.Eli Zaretskii2014-09-151-0/+30
| | | | | | * w32/compat/posixfcn.c (isatty, ttyname): New functions. * config.h.W32.template (HAVE_TTYNAME): Define. Add a prototype for ttyname.
* * configure.ac, maintMakefile, w32/Makefile.am: Fix autotools issues.Paul Smith2014-09-071-0/+2
| | | | Reported by Paul Eggert <eggert@cs.ucla.edu>
* * various: Assume ISO C89-compliant free() implementation.Paul Smith2014-07-071-5/+5
|
* Improve error reporting in the Windows port when env size is too large.Gisle Vanem2014-02-073-4/+11
| | | | | | | | | | | | | | w32/subproc/misc.c (arr2envblk): Compute and return the size of the environment passed to child process. w32/subproc/sub_proc.c (process_begin): If the call to CreateProcess failed with EINVAL, and the required environment size was larger than 32KB, assume it's a Windows XP limitation, and display an error message to that effect. w32/subproc/proc.h (arr2envblk): Update prototype. Copyright-paperwork-exempt: yes
* * w32/*: Remove TABs from the source code.Paul Smith2013-11-278-1291/+1291
| | | | | | I know whitespace commits are annoying, but having these TABs is causing me to miss things when I search through the code. This doesn't try to change the w32 code to meet GNU coding standards.
* Solve some Windows build issues.Stephan T. Lavavej2013-11-271-1/+1
| | | | | | | | | | | * main.c (main): Use ONS(), not OSN(). (prepare_mutex_handle_string) [WINDOWS32]: Use %Ix formatting to support both 32bit and 64bit systems. * job.c (free_child, new_job): Use ONS(), not OSN(). * w32/subproc/w32err.c (map_windws32_error_to_string): Use O() when calling fatal(). Copyright-paperwork-exempt: yes
* Fix Savannah bug #31150 with failures due to setting window title.Eli Zaretskii2013-10-221-1/+0
| | | | | | * sub_proc.c (process_begin): Don't set startInfo.lpTitle, it reportedly causes SV bug #31150, and according to MSDN it's a no-no.
* Fix Savannah bug 40241 with Unixy file names as commands to MSYS shell.Eli Zaretskii2013-10-221-4/+38
| | | | | | | | | | * sub_proc.c: Include filedef.h and variable.h. (process_begin): If exec_path was not found, but its first character is '/', assume there's some shell magic, and invoke the command through '$(SHELL) -c "COMMAND"'. Fixes SV bug#40241. (make_command_line): Kludgey feature: if full_exec_path is "-c", assume that argv[0] is not to be skipped, as it holds the command string to be passed to the shell.
* [SV 39709] Fix some typos.Paul Smith2013-10-091-1/+1
|
* Untabify posixfcn.c.Eli Zaretskii2013-10-071-163/+163
|
* Foix compilation with MSVC.Eli Zaretskii2013-10-071-9/+11
| | | | | w32/compat/posixfcn.c (tmpfile): Move declaration of h before the first executable statement. Reported by Gisle Vanem <gvanem@yahoo.no>.
* Fix tmpfile on MS-Windows.Eli Zaretskii2013-10-021-0/+100
| | | | | w32/compat/posixfcn.c (tmpfile): New function, a replacement for the Windows libc version.
* Fix build failures on EMX for output-sync support.Paul Smith2013-09-291-1/+1
|
* Fix broken w32 build due to OUTPUT_SYNC -> NO_OUTPUT_SYNC inversion.Eli Zaretskii2013-09-231-2/+2
| | | | | w32/compat/posixfcn.c: Fix the forgotten OUTPUT_SYNC conditional. job.h: Ditto, but in a comment.
* Fix a typo in a comment.Eli Zaretskii2013-09-161-1/+1
|
* Fix the MS-Windows build using the Posix configury.Alexey Pavlov2013-05-181-1/+1
| | | | | | w32/Makefile.am (libw32_a_SOURCES): Add compat/posixfcn.c. configure.ac (OUTPUT_SYNC): Define for mingw32 target.
* Update copyright for changes in 2013.Paul Smith2013-05-1713-14/+29
|
* Fix invocation of Windows batch files with whitespace in their names.Eli Zaretskii2013-05-031-3/+45
| | | | | | | | | | | | w32/subproc/sub_proc.c: Include makeint.h. Remove a private incompatible prototype of xmalloc. (batch_file_with_spaces): New function, detects Windows batch files whose names include whitespace characters. (process_begin): If exec_name is a batch file with whitespace characters in its name, pass NULL as the first argument to CreateProcess. This avoids weird failures due to buggy quoting by CreateProcess. For the details, see the discussion starting at http://lists.gnu.org/archive/html/make-w32/2013-04/msg00008.html.
* Fix interfacing with and remaking dynamic objects on MS-Windows.Eli Zaretskii2013-05-032-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | load.c (load_object, load_file): Accept an additional argument DLP and return in it a pointer that can be used to unload the dynamic object. read.c (eval): Call load_file with an additional argument, and record the pointer returned there in the 'struct file' object of dynamic objects in that object's 'struct file'. commands.c (execute_file_commands): Unload dynamic objects before remaking them, to avoid failure to remake if the OS doesn't allow overwriting objects that are in use. filedef.h (struct file): New member dlopen_ptr. gnumake.h (GMK_EXPORT): Define to dllexport/dllimport decorations for Windows and to nothing on other platforms. (gmk_eval, gmk_expand, gmk_add_function): Add GMK_EXPORT qualifier to prototypes. makeint.h (MAIN): Define before including gnumake.h, to give correct dllexport decorations to exported functions. (load_file): Adjust prototype. loadapi.c: Don't include gnumake.h, since makeint.h already includes it, and takes care of defining MAIN before doing so. build_w32.bat (LinkGCC): Produce an import library for functions exported by Make for loadable dynamic objects. w32/compat/posixfcn.c (dlclose): New function. w32/include/dlfcn.h (dlclose): Add prototype. scripts/features/load: Fix signatures of testload_gmk_setup and explicit_setup, to bring them in line with the documentation.
* Support dynamic object loading on MS-Windows.Eli Zaretskii2013-04-292-0/+98
| | | | | | | | | | | w32/include/dlfcn.h: New file. w32/compat/posixfcn.c: Include dlfcn.h. (dlopen, dlerror, dlsym) [MAKE_LOAD]: New functions, in support of dynamic loading. config.h.W32.template (MAKE_LOAD): Define. load.c (load_object) [HAVE_DOS_PATHS]: Support backslashes and drive letters in file names of dynamic objects.
* Support --output-sync on MS-Windows.Eli Zaretskii2013-04-273-4/+282
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Improve MS-Windows build scripts.Eli Zaretskii2013-04-251-5/+5
| | | | | | | | | | 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.
* Rename the make.h file to makeint.h for internal use only.Paul Smith2013-01-202-2/+2
|
* Rename CVS ignore files to .gitignorePaul Smith2013-01-121-2/+0
|
* Simplify copyrights using ranges of years.Paul Smith2012-03-0513-26/+13
| | | | | The new GNU Maintainer's Manual allows the use of year ranges in certain situations; take advantage of this simplification.
* Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines.Paul Smith2012-03-042-4/+4
| | | | Fixes Savannah bug #34530.
* Ifdef away unused w32 functions.Eli Zaretskii2012-02-031-0/+2
| | | | | | w32/subproc/sub_proc.c (proc_stdin_thread, proc_stdout_thread) (proc_stderr_thread, process_pipe_io): Ifdef away unused functions.
* Fix Savannah bug #34832 with unused TLS attributes.Eli Zaretskii2012-02-032-8/+24
| | | | | | | 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.
* Fix failures on MS-Windows when Make's standard handles are invalid.Eli Zaretskii2012-01-281-52/+113
| | | | | | | | | | | | | | | | | | | | | 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.
* Update copyright notices.Paul Smith2012-01-1613-21/+21
|
* Enable jobserver on W32 when using configure.Paul Smith2011-11-152-2/+2
| | | | | Some W32 cleanups: see Savannah bug #34830 Forgot to modify the config.h.W32.template file for jobserver support.
* Support jobserver capability on Windows systems.Paul Smith2011-11-142-9/+145
| | | | Implementation contributed by Troy Runkel <Troy.Runkel@mathworks.com>
* w32/subproc/build.bat: Make all 3 cl.exe compile command linesEli Zaretskii2010-08-071-5/+5
| | | | use the same /I switches. Fixes Savannah bug #30662.
* - Many fixup patches from Savannah.Paul Smith2010-07-194-5/+11
| | | | | - Fix the test suite on Solaris (from Boris) - Update the manual for .ONESHELL
* Update copyrights for 2010.Paul Smith2010-07-1313-13/+13
|
* w32/subproc/sub_proc.c: Include stdint.h.Eli Zaretskii2010-07-091-14/+15
| | | | | | | | (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>
* Update copyright years.Paul Smith2009-10-2513-13/+13
|
* * w32/subproc/sub_proc.c (process_begin): Check *ep non-NULLEli Zaretskii2009-09-141-6/+7
| | | | inside the loop that looks up environment for PATH.
* (convert_Path_to_windows32): Fix last change. Fixes Savannah bug #25412.Eli Zaretskii2009-03-141-3/+9
|
* <top level>: Update Copyright years. Add prototype for xmalloc.Eli Zaretskii2009-03-141-47/+59
| | | | | | | | | | (find_file): Accept 3 arguments PATH_VAR, FULL_FNAME, and FULL_LEN instead of an LPOFSTRUCT pointer. Use xmalloc instead of malloc. Loop over an array of extensions, instead of duplicating the same code inline. Use SearchPath followed by CreateFile, instead of the obsolete OpenFile. Fixes Savannah bug #17277. (process_begin): Find $(PATH) in `envp', and pass a pointer to it to `find_file'. Fixes Savannah bug #25662.
* * build_w32.bat (GCCBuild): Use "-gdwarf-2 -g3" instead ofEli Zaretskii2008-09-301-3/+3
| | | | | | "-gstabs+ -ggdb3". * w32/subproc/build.bat (GCCBuild): Likewise.
* Convert to Unix line-endings.Eli Zaretskii2007-10-246-475/+475
|
* Fixes from Eli Zaretskii:Paul Smith2007-10-101-1/+7
| | | | | Fix to allow quoted directories in PATH. Fix for Savannah bug #20549.
* * Update to GPLv3Paul Smith2007-07-0413-74/+76
| | | | | * Update copyright to 2007 * Fix download URL for translation files (thanks to Thiemo Seufer)
* Fix from Eli for incorrect value of $(MAKE) on Cygwin.Paul Smith2006-11-182-5/+5
| | | | | | | | | | | | | | | | 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.
* Numerous updates to tests for issues found on Cygwin and Windows.Paul Smith2006-03-101-5/+5
| | | | | | 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.
* Last of the copyright updates.Paul Smith2006-02-1113-36/+37
|
* More copyright/license updates.Paul Smith2006-02-111-13/+11
|
* Update copyright and license notices on all files.Paul Smith2006-02-1112-17/+199
| | | | Added new file strcache.c to various non-UNIX makefiles and build scripts.