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
commitb730fbc6b86d777e80856e997ddc56fc4a851769 (patch)
tree9ca4f2aae6b0f5d8669c7990f3b2f50f22cd1780 /makeint.h
parentc21c1455fdfc6e87d75941f48841c72903e1e0f4 (diff)
downloadgunmake-b730fbc6b86d777e80856e997ddc56fc4a851769.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 9d351c9..72124ec 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. */