<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gunmake/tests/scripts/features, 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-15T02:53:42Z</updated>
<entry>
<title>Add requirement for plugin_is_GPL_compatible symbol in loaded objects.</title>
<updated>2013-05-15T02:53:42Z</updated>
<author>
<name>Paul Smith</name>
<email>psmith@gnu.org</email>
</author>
<published>2013-05-15T02:53:42Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=c21c1455fdfc6e87d75941f48841c72903e1e0f4'/>
<id>urn:sha1:c21c1455fdfc6e87d75941f48841c72903e1e0f4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add new --trace[=MODE] flags, with --trace=dir</title>
<updated>2013-05-13T05:30:24Z</updated>
<author>
<name>Paul Smith</name>
<email>psmith@gnu.org</email>
</author>
<published>2013-05-13T05:30:24Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=381baeef7aa4f2c8758a9910ebb97af46c0dd7eb'/>
<id>urn:sha1:381baeef7aa4f2c8758a9910ebb97af46c0dd7eb</id>
<content type='text'>
This mode replaces the previous heuristic setting enabled with -O, where we
would log directory enter/leave for each synchronized output.  Now we only
do that if --trace=dir is given.
</content>
</entry>
<entry>
<title>Rename the -O "job" mode to "line" and "make" to "recurse".</title>
<updated>2013-05-06T00:19:00Z</updated>
<author>
<name>Paul Smith</name>
<email>psmith@gnu.org</email>
</author>
<published>2013-05-06T00:19:00Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=15f795793906ac8b184b5cf9dcbe515ba9df92ef'/>
<id>urn:sha1:15f795793906ac8b184b5cf9dcbe515ba9df92ef</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Ensure command lines are written synchronously with -O.</title>
<updated>2013-05-05T21:03:51Z</updated>
<author>
<name>Paul Smith</name>
<email>psmith@gnu.org</email>
</author>
<published>2013-05-05T21:03:51Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=1d992d8fe75f5dbc832cbcfe82e3f56489f7df54'/>
<id>urn:sha1:1d992d8fe75f5dbc832cbcfe82e3f56489f7df54</id>
<content type='text'>
If output-sync is enabled, have make write the command line to the temp file
instead of printing it directly to the screen to ensure that the output is
ordered properly.  Also, remove extraneous enter/leave operations by having
them printed directly when dumping temp file output.
</content>
</entry>
<entry>
<title>Add memory allocation cleanup to loadable objects.</title>
<updated>2013-05-04T21:38:53Z</updated>
<author>
<name>Paul Smith</name>
<email>psmith@gnu.org</email>
</author>
<published>2013-05-04T21:38:53Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=3484c9675a8a09904e08e00bf6842d834cd0201d'/>
<id>urn:sha1:3484c9675a8a09904e08e00bf6842d834cd0201d</id>
<content type='text'>
Add gmk_alloc() and gmk_free() functions so loadable objects can access our
memory model.  Also provide a more extensive example in the manual.
</content>
</entry>
<entry>
<title>Improve sync handling for -Ojob/-Otarget and recursion.</title>
<updated>2013-05-04T17:10:56Z</updated>
<author>
<name>Paul Smith</name>
<email>psmith@gnu.org</email>
</author>
<published>2013-05-04T17:10:56Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=b8467292c9be14b31c028d472107946770ed977e'/>
<id>urn:sha1:b8467292c9be14b31c028d472107946770ed977e</id>
<content type='text'>
If we are not going to sync a command line then dump any collected output
first to preserve ordering.  Do some code cleanup:
  * Move the handle init to a separate function.
  * Move the temp file truncation to the output function.
  * Remember whether we sync in a variable for readability.
  * Handle EINTR and short writes in child_out().
  * Always call sync_output() in case output_sync was changed due to error.
</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>Ensure error messages are printed with sync'd output.</title>
<updated>2013-04-28T23:09:20Z</updated>
<author>
<name>Paul Smith</name>
<email>psmith@gnu.org</email>
</author>
<published>2013-04-28T23:09:20Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=f88eb23b02088e7549c46231d0dfa4ee8d35a365'/>
<id>urn:sha1:f88eb23b02088e7549c46231d0dfa4ee8d35a365</id>
<content type='text'>
Enhance the child_error() function so that it will write error output to the
child's sync output buffer, if it exists.  If it doesn't the output goes to
stdout/stderr.
</content>
</entry>
<entry>
<title>Small cleanups and fixes.</title>
<updated>2013-04-28T21:31:46Z</updated>
<author>
<name>Paul Smith</name>
<email>psmith@gnu.org</email>
</author>
<published>2013-04-28T21:31:46Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=8b034b7d18a08d3a2378e5b6fc9fbdd1b658f142'/>
<id>urn:sha1:8b034b7d18a08d3a2378e5b6fc9fbdd1b658f142</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add support for per-job output sync.</title>
<updated>2013-04-28T05:19:19Z</updated>
<author>
<name>Paul Smith</name>
<email>psmith@gnu.org</email>
</author>
<published>2013-04-28T05:19:19Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/gunmake/commit/?id=7f01830927969a8386050617385e59070fe9f34b'/>
<id>urn:sha1:7f01830927969a8386050617385e59070fe9f34b</id>
<content type='text'>
A new flag to the -O/--output-sync, "job", selects a per-job (that is, per
line of a recipe) output synchronization.  To support this move the close of
the temp file out of the sync_output() function and don't do it until we free
the child, since we may call sync_output() multiple times in a given recipe.
When we set up for a new temp file, if we're in per-job mode we truncate the
file and seek to the beginning to re-use it for every job.
</content>
</entry>
</feed>
