Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
Add a new feature to the test suite suggested by Icarus Sparry:
set a timer before invoking a test, so that if it loops infinitely we
will wake up and have a chance to kill the process and continue.
|
|
string into the strcache. As a side-effect, many more structure members and
function arguments can/should be declared const.
As mentioned in the changelog, unfortunately measurement shows that this
change does not yet reduce memory. The problem is with secondary expansion:
because of this we store all the prerequisites in the string cache twice.
First we store the prerequisite string after initial expansion but before
secondary expansion, then we store each individual file after secondary
expansion and expand_deps(). I plan to change expand_deps() to be callable
in either context (eval or snap_deps) then have non-second-expansion
targets call expand_deps() during eval, so that we only need to store that
dependency list once.
|