summaryrefslogtreecommitdiff
path: root/makeint.h
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2013-05-17 01:20:39 -0400
committerPaul Smith <psmith@gnu.org>2013-05-17 01:20:39 -0400
commit173fd48b743a6eb85271d62dae0be1ca025d5d76 (patch)
tree9ca4f2aae6b0f5d8669c7990f3b2f50f22cd1780 /makeint.h
parentb7041cbb385e9a35a6ba2da69bf9cffbce678eee (diff)
downloadmake-173fd48b743a6eb85271d62dae0be1ca025d5d76.tar.gz
Remove the dlopen() pointer from struct filedef.
This pointer is almost never needed, and it increases the size of the filedef struct for all files (of which there are a huge number for large builds). Instead keep a bit field marking whether the file is a loaded object and if so call a new function to unload it. In load.c we keep a simple linked list of loaded objects (of which there will be very few typically) and their dlopen() pointers.
Diffstat (limited to 'makeint.h')
-rw-r--r--makeint.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/makeint.h b/makeint.h
index 9d351c9f..72124ec1 100644
--- a/makeint.h
+++ b/makeint.h
@@ -490,8 +490,8 @@ int guile_gmake_setup (const gmk_floc *flocp);
/* Loadable object support. Sets to the strcached name of the loaded file. */
typedef int (*load_func_t)(const gmk_floc *flocp);
-int load_file (const gmk_floc *flocp, const char **filename, int noerror,
- void **dlp);
+int load_file (const gmk_floc *flocp, const char **filename, int noerror);
+void unload_file (const char *name);
/* We omit these declarations on non-POSIX systems which define _POSIX_VERSION,
because such systems often declare them in header files anyway. */