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.
|
|
|
|
|
|
Patch suggested by Frank Heckenbach <f.heckenbach@fh-soft.de>.
|
|
|
|
|
|
|
|
|
|
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 #35764.
|
|
|
|
|
|
|
|
The new GNU Maintainer's Manual allows the use of year ranges in certain
situations; take advantage of this simplification.
|
|
Fixes Savannah bug #12126 and bug #16545
|
|
Fixes Savannah bug #35468.
|
|
Fixes Savannah bug #34530.
|
|
See Savannah bug #35397.
|
|
Also add a valgrind suppression file for Guile-enabled make.
|
|
We fixed Savannah 16670 but that broke previously-working makefiles
that relied on the GNU make behavior. The POSIX behavior doesn't
seem to me to be better, and can be obtained using GNU make as well,
so put it back as the default behavior and require .POSIX to
get the POSIX behavior.
Add a new section to the manual discussing backslash/newline handling.
Update the test suite.
|
|
The next POSIX standard will define "::=" to have the same behavior
as GNU make's ":=", so add support for this new operator.
|
|
|
|
|
|
On configure-enabled systems, configure will detect Guile installed
(using pkg-config, which is how GNU Guile is distributed) and enable
it if so.
On all non-configure-enabled systems, currently, the default is for
Guile support to be disabled.
|
|
|
|
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
|
|
Add a note about using #!/usr/bin/make -f to the manual.
Clean up the w32 subdirectory in the dist tarball.
|
|
Patch from Michael Witten <mfwitten@gmail.com>
|
|
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.
|
|
variables. Fixes Savannah bug #32872.
|
|
regression test to make sure this continues to work.
|
|
use to break up the list of words, so we're sure to get the same number.
Fixes Savannah bug #33125
|
|
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.
|