Age | Commit message (Collapse) | Author | Files | Lines |
|
Add gmk_alloc() and gmk_free() functions so loadable objects can access our
memory model. Also provide a more extensive example in the manual.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
Based on work by David Boyce <David.S.Boyce@gmail.com>.
|
|
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.
|
|
|
|
|
|
|
|
Provides support for dynamically loadable objects in GNU make, as a
"technology preview".
|
|
|
|
parent needs to be remade. Fixes Savannah bug #30653.
|
|
|
|
|
|
Fixes Savannah bug #12126 and bug #16545
|
|
Fixes Savannah bug #34530.
|
|
escape characters (backslashes) in the target name.
See Savannah bug #33399
|
|
that MAKEFLAGS is set properly so the re-exec'd make runs in parallel.
See Savannah bug #33873.
|
|
and store them in static variables; however one value (std_dirs)
was not being stored statically so the second time through it was
not set.
Fixes Savannah bug #32511
|
|
to be freed (if they're the value of a variable that's reset for example).
See Savannah patch #7534
|
|
Newer version of VMS support strncasecmp() so update the config.h.
|
|
Feature submitted by David Wheeler.
|
|
variable, and if so don't try to update it. Savannah bug #31743.
|
|
|
|
Fix some doc bugs.
Implement the --trace flag.
Show filename/linenumber on error.
|
|
- Add oneshell to $(.FEATURES) (forgot that!)
- Fix Savannah bug #30612: handling of archive references with >1 object
|
|
rebuilding makefiles.
|
|
|
|
- Set up .FEATURES with separate calls for optional features, as some
compilers don't like conditionals inside macro invocations.
|
|
|
|
|
|
|
|
- Add some tests for unresolved bugs.
|
|
|
|
- Add new "-all" flag to the test suite to run tests that don't pass yet
- Add some non-passing tests
- Fix from Andreas Buening for OS/2.
|
|
variables and pattern rules.
|
|
of implicit rules.
- Fix leaked memory when dealing with implicit rule chains that
have file variables or pattern variables.
|
|
it might be needed: for most situations we parse prereqs immediately as
we used to. Reduces memory usage.
- Fixes Savannah bug #18622.
|
|
|
|
- Fix Savannah bug #17752
- Test suite:
* When tests fail keep a "run" file containing the command invoked.
* Support for the Valgrind "memcheck" and "massif" tools.
|
|
- Fix Savannah bug #17521
- Fix Savannah bug #16401
- Fix Savannah bug #16469
- Fix Savannah bug #16473
|
|
|
|
- Fix Savannah bug #24655.
- Fix Savannah bug #24588.
- Fix Savannah bug #24277.
- Fix Savannah bug #25697.
- Fix Savannah bug #25694.
- Fix Savannah bug #25460.
- Fix Savannah bug #26207.
- Fix Savannah bug #25712.
- Fix Savannah bug #26593.
- Fix various doc issues.
|
|
Rework the parser for variables to allow multiple modifiers and also
allow for variables and targets with modifier names, like "export" and
"private".
|
|
One of our translations disappeared from the translations site so remove it.
The fdl.texi file was changed to not contain any @node entries, so add some
around it in make.texi.
|