cvs commit: apachen/htdocs/manual sourcereorg.html
pcs 97/09/12 02:27:32 Modified:htdocs/manual sourcereorg.html Log: Note that sub-dirs are build into libraries Revision ChangesPath 1.5 +2 -0 apachen/htdocs/manual/sourcereorg.html Index: sourcereorg.html === RCS file: /export/home/cvs/apachen/htdocs/manual/sourcereorg.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- sourcereorg.html 1997/08/24 12:33:37 1.4 +++ sourcereorg.html 1997/09/12 09:27:31 1.5 @@ -57,6 +57,8 @@ modules if required, along with a "module definition file" which contains the information required by Configure. + All the sub-directories (main, modules/* and os/*) are built as + libraries. Adding Modules
cvs commit: apachen/htdocs/manual sourcereorg.html
pcs 97/08/24 05:33:37 Modified:htdocs/manual sourcereorg.html Log: Document core -> main rename Revision ChangesPath 1.4 +1 -1 apachen/htdocs/manual/sourcereorg.html Index: sourcereorg.html === RCS file: /export/home/cvs/apachen/htdocs/manual/sourcereorg.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- sourcereorg.html 1997/08/24 12:32:37 1.3 +++ sourcereorg.html 1997/08/24 12:33:37 1.4 @@ -26,7 +26,7 @@ The source directory changes are: The non-module source files have moved from src into - src/core + src/main The module source files previously in src have moved to src/modules/standard
cvs commit: apachen/htdocs/manual sourcereorg.html
pcs 97/08/24 05:32:38 Modified:htdocs/manual sourcereorg.html Log: Fix typos Submitted by: Martin Kraemer <[EMAIL PROTECTED]> Revision ChangesPath 1.3 +13 -13apachen/htdocs/manual/sourcereorg.html Index: sourcereorg.html === RCS file: /export/home/cvs/apachen/htdocs/manual/sourcereorg.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- sourcereorg.html 1997/08/13 08:57:40 1.2 +++ sourcereorg.html 1997/08/24 12:32:37 1.3 @@ -15,7 +15,7 @@ Source Re-organisation -As of 1.3, the Apache source directories have been re-organisated. This +As of 1.3, the Apache source directories have been re-organised. This re-organisation is designed to simplify the directory structure, make it easier to add additional modules, and to give module authors a way of specifying compile time options or distribute binary @@ -67,14 +67,14 @@ line added to Configuration looked like this: - Modulemod_status.ostatus_module + Modulestatus_modulemod_status.o From 1.3 onwards, the AddModule line should be used instead, and typically looks like this: - AddModulemodules/standard/mod_status.c + AddModulemodules/standard/mod_status.o The argument to AddModule is the path, relative to src, to @@ -84,8 +84,8 @@ Normally when adding a module you should follow the instructions of the module author. However if the module comes as a single source -file, say mod_foo.c, then the way to add the module to Apache is as -follows: +file, say mod_foo.c, then the recommended way to add the module to +Apache is as follows: Put mod_foo.c into the directory @@ -124,7 +124,7 @@ "module definition file" can also be distributed which gives the information Configure needs to add the module, such as extra libraries and the module's structure name. - Module can be installed anyway on the file system, although a directory + Modules can be installed anywhere on the file system, although a directory under src/modules is recommended. If the module is in its own directory, Apache can automatically @@ -156,7 +156,7 @@ line to the Configuration file: - AddModule modules/mod_demo/mod_demo + AddModule modules/mod_demo/mod_demo.o then run Configure and make as normal. @@ -182,17 +182,17 @@ built into a library file using a supplied makefile. In this case, distribute the makefile as mod_demo/Makefile and do not include a mod_demo/Makefile.tmpl. If -Configure see a Makefile.tmpl it assmes it -is safe to overwrite any existingMakefile. +Configure sees a Makefile.tmpl it assumes it +is safe to overwrite any existing Makefile. See the Apache src/modules/standard for an example of a -module directory where the makeifle is create automatically from a -Makefile.tmpl file (note also that this directory also shows how to -distributed multiple modules in a single directory). See +module directory where the makefile is created automatically from a +Makefile.tmpl file (note that this directory also shows how to +distribute multiple modules in a single directory). See src/modules/proxy and src/modules/example -for examples of modules build using custom makefiles (to build a +for examples of modules built using custom makefiles (to build a library and an object file, respectively). Adding Compile time Information
cvs commit: apachen/htdocs/manual sourcereorg.html
pcs 97/08/13 01:57:40 Modified:htdocs/manual sourcereorg.html Log: Add instructions for adding a single-file module Revision ChangesPath 1.2 +24 -5 apachen/htdocs/manual/sourcereorg.html Index: sourcereorg.html === RCS file: /export/home/cvs/apachen/htdocs/manual/sourcereorg.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- sourcereorg.html 1997/08/11 10:07:48 1.1 +++ sourcereorg.html 1997/08/13 08:57:40 1.2 @@ -61,7 +61,7 @@ Adding Modules -Modules are added to Apache by adding a reference tp them in +Modules are added to Apache by adding a reference to them in src/Configuration then running Configure and make. In earlier version of Apache before 1.3, the line added to Configuration looked like this: @@ -80,6 +80,25 @@ The argument to AddModule is the path, relative to src, to the module file's source or object file. + + +Normally when adding a module you should follow the instructions of +the module author. However if the module comes as a single source +file, say mod_foo.c, then the way to add the module to Apache is as +follows: + + + Put mod_foo.c into the directory + src/modules/extra + + Go to the src directory and add the following line + to Configuration + AddModule modules/extra/mod_foo.o + + Run ./Configure + Run make + + New Facilities for Module Authors In previous releases of Apache, new modules were added to the @@ -129,9 +148,9 @@ mod_demo/Makefile.tmpl -(Of course end-user instructions, README's etc can also be supplied in -the archive). The end user should be told to extract this archive in -the src/modules directory of their Apache source +(Of course end-user instructions, README's, etc can also be supplied +in the archive). The end user should be told to extract this archive +in the src/modules directory of their Apache source tree. This will create a new directory src/modules/mod_demo. Then they need to add the following line to the Configuration file: @@ -250,7 +269,7 @@ See the default distribution's mod_auth_db.module for an example of -an separate module definition file. +a separate module definition file.
cvs commit: apachen/htdocs/manual sourcereorg.html
pcs 97/08/11 03:07:49 Added: htdocs/manual sourcereorg.html Log: New configure and re-organised sources documentation Revision ChangesPath 1.1 apachen/htdocs/manual/sourcereorg.html Index: sourcereorg.html === Source Re-organisation Source Re-organisation As of 1.3, the Apache source directories have been re-organisated. This re-organisation is designed to simplify the directory structure, make it easier to add additional modules, and to give module authors a way of specifying compile time options or distribute binary modules. Summary of Changes The source directory changes are: The non-module source files have moved from src into src/core The module source files previously in src have moved to src/modules/standard The support directory is now in src/support In addition, the following enhancements have been made: OS abstractions can be added in the src/os directory. Currently this contains information for unix, OS/2 and Windows 32 platforms. Configuration syntax has been simplified for adding new modules. Users no longer need to enter the module's structure name. In addition, new modules can be located anywhere on the file system, or typically in new or existing directories under src/modules. Module authors can give simpler instructions for adding their modules to Apache compilation. They can also now provide compile time information required by Configure, such as additional libraries required. Module authors can distribute pre-compiled (.a or .o) versions of their modules if required, along with a "module definition file" which contains the information required by Configure. Adding Modules Modules are added to Apache by adding a reference tp them in src/Configuration then running Configure and make. In earlier version of Apache before 1.3, the line added to Configuration looked like this: Modulemod_status.ostatus_module From 1.3 onwards, the AddModule line should be used instead, and typically looks like this: AddModulemodules/standard/mod_status.c The argument to AddModule is the path, relative to src, to the module file's source or object file. New Facilities for Module Authors In previous releases of Apache, new modules were added to the src directory, and if the module required any additional compilation options (such as libaries) they would have to be added to Configuration. Also the user would have to be told the module's structure name to add on the Module line of Configuration. From Apache 1.3 onwards, module authors can make use of these new features: Simplified Configuration command AddModule which only requires a path to the module source or object file If the module requires compile time options (such as extra libraries) these can be specified in the module file source or an external "module definition file". If a module is distributed as binary (.o or .a) then an external "module definition file" can also be distributed which gives the information Configure needs to add the module, such as extra libraries and the module's structure name. Module can be installed anyway on the file system, although a directory under src/modules is recommended. If the module is in its own directory, Apache can automatically create a Makefile to build the module given a file containing the module's dependencies. The rest of this document shows how to package modules for Apache 1.3 and later and what to tell end-users of the module. Building a simple source distibution Consider a simple add-on module, distributed as a single file. For example, say it is called mod_demo.c. The archive for this module should consist of two files, in a suitable directory name. For example: mod_demo/mod_demo.c mod_demo/Makefile.tmpl (Of course end-user instructions, README's etc can also be supplied in the archive). The end user should be told to extract this archive in the src/modules directory of their Apache source tree. This will create a new directory src/modules/mod_demo. Then they need to add the following line to the Configuration file: AddModule modules/mod_demo/mod_demo then run Configure and make as normal. The mod_demo/Makefile.tmpl should contain the dependencies of the module source. For example, a simple module which just interfaces to some standard Apache module API functions might look this this: mod_demo.o: mod_demo.c $(INCDIR)/httpd.h $(INCDIR)/http_protocol.h When the user runs Configure