dotgnu-general
[Top][All Lists]
Advanced

[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.
-------------------------------------------------------------------


reply via email to

[Prev in Thread] Current Thread [Next in Thread]