1 |
|
2001-08-16 Gary V. Vaughan <gary@gnu.org> |
2 |
|
|
3 |
|
m4_modules are no more, we use lt_dlhandles directly and let |
4 |
|
latest libltdl features manage the list of loaded modules. |
5 |
|
* acinclude.m4: Regenerated. |
6 |
|
* m4/ltdl.c: Updated from master copy. |
7 |
|
* m4/module.c: Reimplemented to take advantage of advances in |
8 |
|
libltdl. |
9 |
|
* m4/builtin.c (m4_builtin_find_by_name): Traverse loaded module |
10 |
|
list with lt_dlhandle_next. |
11 |
|
(m4_builtin_find_by_func): Ditto. |
12 |
|
(m4_builtin_table_install): Use lt_dlhandle. |
13 |
|
(m4_macro_define): Ditto. |
14 |
|
(m4_macro_table_install): Ditto. |
15 |
|
m4/module.h: Prototype new module management API. |
16 |
|
(m4_modules): No longer required. |
17 |
|
(m4_module_init_t, m4_module_finish_t): POSIX namespace |
18 |
|
violations, renamed to... |
19 |
|
(m4_module_init_func, m4_module_finish_func): ...these, |
20 |
|
respectively. |
21 |
|
(M4INIT_HANDLER): Clean way to declare init functions in modules. |
22 |
|
(M4FINISH_HANDLER): And similarly for finish functions. |
23 |
|
* m4/system.h (_CONC): Used by M4INIT_HANDLER and M4FINISH_HANDLER |
24 |
|
-- Add indirection to the CONC macro so that arguments are |
25 |
|
correctly expanded. |
26 |
|
* modules/modtest.c (m4_init_module): Replaced with M4INIT_HANDLER. |
27 |
|
* modules/shadow.c (m4_init_module): Ditto. |
28 |
|
Due to new init function semantics, be careful to perform the |
29 |
|
initialisation only on first load. |
30 |
|
* modules/perl.c (m4_init_module): Ditto. And Ditto. |
31 |
|
(m4_finish_module): Replaced with M4FINISH_HANDLER. |
32 |
|
Due to new finish function semantics, be careful to perform the |
33 |
|
finalisation only on first load. |
34 |
|
* m4/m4private.h (m4_module): Removed in favour of... |
35 |
|
(m4_module_data): ...structure without all the wrapper fields. |
36 |
|
Instances of this new structure are stored associated lt_dlhandles |
37 |
|
with lt_dlcaller_data_set(). |
38 |
|
* m4/builtin.c (m4_builtin_define): Takes a handle argument |
39 |
|
instead of the old module argument. |
40 |
|
(m4_builtin_table_install): Ditto. |
41 |
|
* modules/load.c (m4_resident_module): Removed. This is no |
42 |
|
longer implemented as a magic symbol... |
43 |
|
* modules/m4.c (m4_resident_module): Ditto. |
44 |
|
* modules/load.c (M4INIT_HANDLER): ...the module init function now |
45 |
|
uses the ltdl api to make the module resident. |
46 |
|
* modules/m4.c (M4INIT_HANDLER): Ditto. |
47 |
|
* modules/load.c (builtin_modules): Traverse the loaded module |
48 |
|
list with lt_dlhandle_next. |
49 |
|
(builtin_load): Much simplified in light of the reimplemented |
50 |
|
module loader. |
51 |
|
* src/freeze.c (produce_module_dump): Cleaned up and optimised in |
52 |
|
light of the m4/module.c rewrite. |
53 |
|
(produce_symbol_dump): Ditto. |
54 |
|
(reload_frozen_state): Ditto. |
55 |
|
* m4/list.c, m4/list.h: Files deleted. No longer required. |
56 |
|
* m4/Makefile.am (pkginc_HEADERS): Delete list.h reference. |
57 |
|
(libm4_la_SOURCES): Delete list.c reference. |
58 |
|
* m4/m4private.h (m4_token_data): Add a handle field. This |
59 |
|
eliminates many of the searches to find the handle associated with |
60 |
|
various tokens that are passed between functions. |
61 |
|
(struct m4_symbol): Removed the module field. The |
62 |
|
module association does not belong with the symbol... |
63 |
|
* m4/input.c (struct m4_builtin): ...it belongs with the builtin |
64 |
|
that the module implementation code is from. Added a handle |
65 |
|
field. |
66 |
|
(m4_push_macro): Add a `handle' argument. Changed all callers. |
67 |
|
(init_macro_token): Set the `handle' field for the |
68 |
|
m4_token_data. |
69 |
|
* m4/macro.c (expand_argument): Copy the new handle field during |
70 |
|
reassignment. |
71 |
|
* modules/m4.c (macro_install): Use the new handle field to |
72 |
|
optimise the search for the correct builtin structure, and pass |
73 |
|
the handle details to m4_builtin_define. |
74 |
|
|
75 |
2001-08-15 Akim Demaille <akim@epita.fr> |
2001-08-15 Akim Demaille <akim@epita.fr> |
76 |
|
|
77 |
* config/gnu-obstack.m4 (M4_AC_FUNC_OBSTACK): Be sure `m4/' exists |
* config/gnu-obstack.m4 (M4_AC_FUNC_OBSTACK): Be sure `m4/' exists |