From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22436 invoked from network); 8 May 2002 10:35:16 -0000 Received: from sunsite.dk (130.225.247.90) by ns1.primenet.com.au with SMTP; 8 May 2002 10:35:16 -0000 Received: (qmail 345 invoked by alias); 8 May 2002 10:35:04 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 17089 Received: (qmail 316 invoked from network); 8 May 2002 10:35:03 -0000 Message-ID: <6134254DE87BD411908B00A0C99B044F0360C531@mowd019a.mow.siemens.ru> From: Borsenkow Andrej To: "'zsh-workers@sunsite.dk'" Subject: Modules build framework/autoconf-2.13 Date: Wed, 8 May 2002 14:41:10 +0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain Here is suggested change in modules build procedure. It does not strictly speaking require autoconf-2.5x but it makes it much more easier and consistent. Every module is locate in own subdirectory. .mdd file specifies - usual stuff (dependencies, file, etc) - Makefile.in fragment - configure.in fragment preconfig script walks source directory and in every directory with *.mdd creates - Makefile.in (using standard template and adding fragment from .mdd) - configure.in ( -"- ) preconfig also collects names of all subdirectories and adds them (via inclusion) to top-level configure.in that is then using it to recursivly call generated module's configure. Then it runs autoconf to create configure in all subdirectories. preconfig may optionally generate config.modules in source directory so users have some example; config.modules in build directory overrides (augments) it. To skip some modules at configure time it is possible to generate dummy entry in Makefile (by configure.in fragment) that would just print a warning without doing anything. The main goal is to make adding new modules as non-intrusive as possible. Modules come with own configure if needed so there is no need to modify top-level configure every time; still (owing to autoconf 2.5x) you can list help from all modules and pass needed parameters. This also (theretically) allows you to have modules in separate tress from Zsh tree. It does requires you to rerun preconfig it is all that is needed (autoconf etc will be run automatically). It also should hopefully simplify makefiles. Comments? -andrej