<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gunmake/w32, branch 3.99.90</title>
<subtitle>GNU make with more features of SunOS make</subtitle>
<id>https://git.pashev.ru/gunmake/atom?h=3.99.90</id>
<link rel='self' href='https://git.pashev.ru/gunmake/atom?h=3.99.90'/>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/'/>
<updated>2013-05-17T05:47:42Z</updated>
<entry>
<title>Update copyright for changes in 2013.</title>
<updated>2013-05-17T05:47:42Z</updated>
<author>
<name>Paul Smith</name>
<email>psmith@gnu.org</email>
</author>
<published>2013-05-17T05:46:11Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=5370238316ee4284fe058a9c298a5734d2686678'/>
<id>urn:sha1:5370238316ee4284fe058a9c298a5734d2686678</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix invocation of Windows batch files with whitespace in their names.</title>
<updated>2013-05-03T13:24:24Z</updated>
<author>
<name>Eli Zaretskii</name>
<email>eliz@gnu.org</email>
</author>
<published>2013-05-03T13:24:24Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=82793f85f5fbf1831dcb6a6595ca57c2242e4576'/>
<id>urn:sha1:82793f85f5fbf1831dcb6a6595ca57c2242e4576</id>
<content type='text'>
 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.
</content>
</entry>
<entry>
<title>Fix interfacing with and remaking dynamic objects on MS-Windows.</title>
<updated>2013-05-03T13:09:12Z</updated>
<author>
<name>Eli Zaretskii</name>
<email>eliz@gnu.org</email>
</author>
<published>2013-05-03T13:09:12Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=a66469e003526679b793f2d4623219aab2230b2f'/>
<id>urn:sha1:a66469e003526679b793f2d4623219aab2230b2f</id>
<content type='text'>
 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.
</content>
</entry>
<entry>
<title>Support dynamic object loading on MS-Windows.</title>
<updated>2013-04-29T16:26:06Z</updated>
<author>
<name>Eli Zaretskii</name>
<email>eliz@gnu.org</email>
</author>
<published>2013-04-29T16:26:06Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=19a69bafc0913f13e334b5f56d95c693fab29023'/>
<id>urn:sha1:19a69bafc0913f13e334b5f56d95c693fab29023</id>
<content type='text'>
 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.
</content>
</entry>
<entry>
<title>Support --output-sync on MS-Windows.</title>
<updated>2013-04-27T11:20:49Z</updated>
<author>
<name>Eli Zaretskii</name>
<email>eliz@gnu.org</email>
</author>
<published>2013-04-27T11:20:49Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=da7df54309eb759837a289ade900fe8e3d6ddc36'/>
<id>urn:sha1:da7df54309eb759837a289ade900fe8e3d6ddc36</id>
<content type='text'>
 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 &lt;sync_mutex&gt;: New static variable.
 &lt;switches&gt;: 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 &lt;sync_handle&gt;: Change type to sync_handle_t.
 (FD_NOT_EMPTY): Seek to the file's end.  Suggested by Frank
 Heckenbach &lt;f.heckenbach@fh-soft.de&gt;.
 (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-&gt;outfd and child-&gt;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 &lt;f.heckenbach@fh-soft.de&gt;:
 job.c (sync_output): Don't discard the output if
 acquire_semaphore fails; instead, dump the output unsynchronized.
</content>
</entry>
<entry>
<title>Improve MS-Windows build scripts.</title>
<updated>2013-04-25T17:41:53Z</updated>
<author>
<name>Eli Zaretskii</name>
<email>eliz@gnu.org</email>
</author>
<published>2013-04-25T17:41:53Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=f3a4b4ce6f16830b0f2c42b14fe6f955d49eb274'/>
<id>urn:sha1:f3a4b4ce6f16830b0f2c42b14fe6f955d49eb274</id>
<content type='text'>
 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.
</content>
</entry>
<entry>
<title>Rename the make.h file to makeint.h for internal use only.</title>
<updated>2013-01-20T16:33:20Z</updated>
<author>
<name>Paul Smith</name>
<email>psmith@gnu.org</email>
</author>
<published>2013-01-20T16:01:01Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=a45f25ece30e4101ae77c90d2270d253ea9a82ec'/>
<id>urn:sha1:a45f25ece30e4101ae77c90d2270d253ea9a82ec</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename CVS ignore files to .gitignore</title>
<updated>2013-01-12T22:48:58Z</updated>
<author>
<name>Paul Smith</name>
<email>psmith@gnu.org</email>
</author>
<published>2013-01-12T22:48:58Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=97fe6e7dd12b96f6a7d16696a8c2b02624096b84'/>
<id>urn:sha1:97fe6e7dd12b96f6a7d16696a8c2b02624096b84</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Simplify copyrights using ranges of years.</title>
<updated>2012-03-05T14:10:39Z</updated>
<author>
<name>Paul Smith</name>
<email>psmith@gnu.org</email>
</author>
<published>2012-03-05T14:10:39Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=adb50bd4c92424e7281156e118a687da1c8ebd7f'/>
<id>urn:sha1:adb50bd4c92424e7281156e118a687da1c8ebd7f</id>
<content type='text'>
The new GNU Maintainer's Manual allows the use of year ranges in certain
situations; take advantage of this simplification.
</content>
</entry>
<entry>
<title>Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines.</title>
<updated>2012-03-04T00:24:20Z</updated>
<author>
<name>Paul Smith</name>
<email>psmith@gnu.org</email>
</author>
<published>2012-03-04T00:24:20Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=23c2b99e9d23e726ede9442728272616e66d416f'/>
<id>urn:sha1:23c2b99e9d23e726ede9442728272616e66d416f</id>
<content type='text'>
Fixes Savannah bug #34530.
</content>
</entry>
</feed>
