[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[DotGNU]Proposed standard directory structure
From: |
Rhys Weatherley |
Subject: |
[DotGNU]Proposed standard directory structure |
Date: |
Mon, 22 Jul 2002 19:15:00 +1000 |
Hi all,
I've collected up some of the discussion over the last week on
directory structures for the DotGNU base libraries, and have
appended them below.
I'm currently working on a set of autoconf m4 macros and other
support scripts that will vastly simplify the build process.
(And yes Stephen, I will be supporting out of tree builds from
day one this time :-) ).
So, please look over the following and let me know if there
are any problems. Once the final structure is agreed to,
I will update and release the macros.
Cheers,
Rhys.
-------------------------------------------------------------------
Standard directory structure for DotGNU C# programs and libraries
=================================================================
This document describes a standard directory structure for use in
the DotGNU Project for C# programs and libraries. The structure
is designed to support building C# applications using automake,
autoconf, and csant.
auto_gen.sh
Script for auto-generating build scripts when using the CVS
version of the program/library.
configure.in
Main configuration script.
Makefile.am
Builds the sub-directories in the order "m4", "resources", "A", "B",
"C", "samples", "tests", where "A", "B", and "C" are the primary
programs or libraries that make up the system.
m4/
Directory that defines "PNET_*" autoconf macros and associated
build scripts that are used by the "configure.in" and "Makefile.am"
files to assist with the configuration and build process.
doc/
Documentation for the programs/libraries in the tree. Fixed
doc files go here, with auto-generated files in sub-directories.
doc/A/
doc/B/
doc/C/
Output location for HTML documentation that is generated from the
source using "csdoc2html".
resources/en_US/A/*.txt
resources/en_US/B/*.txt
resources/en_US/C/*.txt
Default English string resource files for each component. Other
languages are defined in separate directories under "resources".
The "PNET_*" autoconf macros detect if a language is supported by
looking for "resources/<LANG>" at configure time.
A/<namespace>/*.cs
B/<namespace>/*.cs
C/<namespace>/*.cs
Source code for each component. Top-level namespaces appear
just under the component directory. For example, classes in
"DotGNU.Base" within the "dg-base" component would reside in
the directory "dg-base/DotGNU/Base".
A/A.build
B/B.build
C/C.build
Build scripts for csant which build each of the components.
A/Makefile.am
B/Makefile.am
C/Makefile.am
Automake-based makefile that drives the build for each component.
samples/
Sample applications that demonstrate the use of the system.
If it makes sense to do so, subdirectories can be created for
each of the components.
tests/
Test programs that perform unit testing on the system. If it
makes sense to do so, subdirectories can be created for each
of the components.
-------------------------------------------------------------------
- [DotGNU]Proposed standard directory structure,
Rhys Weatherley <=