From 8dfb63dbeb1a8ae4336d805798d23d7d580d9043 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Fri, 7 May 2021 15:09:27 -0500 Subject: [PATCH] maint: clean up extra files on this branch --- .gitignore | 3 ++ README-alpha | 24 ---------------- modules/README | 90 ---------------------------------------------------------- 3 files changed, 3 insertions(+), 114 deletions(-) create mode 100644 .gitignore delete mode 100644 README-alpha delete mode 100644 modules/README diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..c0993de1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +* +!.gitignore +!/README diff --git a/README-alpha b/README-alpha deleted file mode 100644 index bf4aa211..00000000 --- a/README-alpha +++ /dev/null @@ -1,24 +0,0 @@ -This is a alpha version of GNU m4. - -Please see the file TODO for a list of open problems and known bugs. - -Send bug reports, comments or ideas to `bug-m4@gnu.org'. A bug report -is an adequate description of the problem: your input, what you -expected, what you got, and why this is wrong. Diffs are welcome, but -they only describe a solution, from which the problem might be uneasy to -infer. Don't forget all relevant information about your operating -system, compiler, libraries, ... - -GNU m4 has a web-site at http://www.gnu.org/software/m4/ - -======================================================================== - -Copyright (C) 2000, 2006, 2010, 2013-2014, 2017 Free Software -Foundation, Inc. - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the ``GNU Free -Documentation License'' file as part of this distribution. diff --git a/modules/README b/modules/README deleted file mode 100644 index b8f8169c..00000000 --- a/modules/README +++ /dev/null @@ -1,90 +0,0 @@ -This directory contains all bundled modules for GNU m4. - -Dynamic modules are only available if the host operating system provides -one (or more!) of libltdl's required APIs. - -Implementation details are in ../m4/module.c - -A module is a compiled shared object, i.e., modules are written in C and -then compiled. The compiled file can then be loaded into a running m4 -process by calling m4 with the module name listed on the command line, -or by calling the builtin "include". This gives GNU m4 potential access -to any system feature with a C interface. - -Modules are searched for in M4PATH, if set, else in a module directory -defined at configure time, $prefix/lib/m4/ by default. Extra directories -can also be added to the search patch by specifying them on the command -line with the `-I' or `-B' options. - -A module extends GNU m4 by defining new builtins, It can define builtins -with the same names as existing builtins, which will shadow the existing -builtins, making them temporarily unavailable. A module cannot redefine -internal functions of GNU m4, such as the input parser or argument handling -(yet!). - -Each module should include the installed header file, -`$prefix/include/m4module.h'. This will define all the necessary macros, -type declarations and function prototypes required to implement a module. - -The module system uses libtool's libltdl for dynamic module loading, and -that in turn requires that any non-static symbols in the module to be -be in their own namespace to avoid namespace clashes with symbols -exported from other modules (which may be loaded too!). This is usually -done by `#define'ing these symbols to libltdl's naming scheme at the top -of the file. The scheme is to prefix each symbol with the module name, -followed by `_LTX_' and then the original symbol name. For example, -to export "m4_macro_table" in a source file which will become part of -a module, "mymod", we would add the following to the top of the source file: -`#define m4_macro_table mymod_LTX_m4_macro_table'. See the included modules -for more examples. - -Each module *must* define one or more entry points from the following: -"m4_builtin_table", "m4_macro_table" and "m4_init_module". The symbol -"m4_builtin_table" is a pointer to a table of "m4_builtin" (defined in -m4module.h), listing each new builtin that it implements. The symbol -"m4_macro_table", is a pointer to a table of "m4_macro", listing each -text macro initialised by the module. These tables end with an -entry where name == NULL. - -If a module defines the symbol "m4_init_module", it is supposed to be a -function with a prototype of "void m4_init_module (struct obstack *obs)", -and it will be called as soon as the module is loaded. Any non-finished -object left on the obstack will be the expansion of the call of the -builtin "include". The obstack pointer might be NULL (in the future). - -If a module defines the symbol "m4_finish_module", it is supposed to be -a function with a prototype of "void m4_finish_module (void)", and it -will be called just before the module is unloaded or GNU m4 exits. This -will allow a module to clean up before exit. There is no way of -communicating information to the user, as GNU m4 exits immediately -afterwards. - -No other symbols will be used by GNU m4. All other symbols within the -module are private and should be declared `static' so that they will not -be accessible to GNU m4 or to other modules. - -Modules are allowed to call external functions already defined within -the GNU m4module library. These have prototypes in m4module.h. - -Loading and unloading of modules, and symbol namespace resolution -strategies are illustrated by shadow.c and shadow.m4. - -To try the demos, compile with `make' and run them with the commands as: - - tests/m4 doc/examples/time.m4 - -or in the case of time2.m4 - - tests/m4 -I tests time -I doc/examples time2.m4 - -======================================================================== - -Copyright (C) 2000-2001, 2006, 2010, 2013-2014, 2017 Free Software -Foundation, Inc. - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the ``GNU Free -Documentation License'' file as part of this distribution. -- 2.11.4.GIT