Changeset 728

Show
Ignore:
Timestamp:
08/03/07 21:17:17 (1 year ago)
Author:
Gregor
Message:

sss/*: Added --doc-binaries option.

RELEASE: 0.69

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/docs/ChangeLog

    r723 r728  
    1 SVN from 0.68: 
     10.69 from 0.68: 
    22        - Added --test option to test built libraries. 
    33        - Rebuild: Fixed an intermittent segfault on Windows. 
     4        - Added --doc-binaries option to generate documentation for binary 
     5          builds. 
    46 
    570.68 from 0.67: 
  • trunk/docs/NEWS

    r685 r728  
     12007-08-03: DSSS and Rebuild 0.69 released. 
     2 
    132007-07-22: DSSS and Rebuild 0.68 released. 
    24 
  • trunk/rebuild/mars.c

    r723 r728  
    6666    copyright = "Copyright (c) 1999-2007 by Digital Mars and Gregor Richards,"; 
    6767    written = "written by Walter Bright and Gregor Richards"; 
    68     version = "version 0.68 (based on DMD 1.018)"; 
     68    version = "version 0.69 (based on DMD 1.018)"; 
    6969    global.structalign = 8; 
    7070    cmodules = NULL; 
     
    225225  -reflect       use drefgen to make rodin-compatible reflections of all\n\ 
    226226                 included modules\n\ 
    227   -candydoc      generate the modules.ddoc file for candydoc (must specify -Dq,\n\ 
    228                  implies -explicit)\n\ 
     227  -candydoc      generate the modules.ddoc file for candydoc (must specify -Dq)\n\ 
    229228  All other flags are passed to the compiler.\n\ 
    230229"); 
     
    898897            { 
    899898                global.params.candydoc = 1; 
    900                 global.params.expbuild = 1; 
    901899            } 
    902900            else if (strncmp(p + 1, "dc=", 3) == 0) {} 
  • trunk/sss/build.d

    r692 r728  
    178178        } 
    179179    } 
    180      
    181     // 3) Make real libraries and do special steps and subdirs 
     180 
     181    char[] docbl = ""; 
     182    /// A function to prepare for creating documentation for this build 
     183    void prepareDocs(char[] build, bool doc) { 
     184        // prepare for documentation 
     185        docbl = ""; 
     186        if (doc) { 
     187            char[] docdir = "dsss_docs" ~ std.path.sep ~ build; 
     188            mkdirP(docdir); 
     189            docbl ~= "-full -Dq" ~ docdir ~ " -candydoc "; 
     190         
     191            // now extract candydoc there 
     192            char[] origcwd = getcwd(); 
     193            chdir(docdir); 
     194         
     195            version (Windows) { 
     196                sayAndSystem("bsdtar -xf " ~ candyDocPrefix); 
     197            } else { 
     198                sayAndSystem("gunzip -c " ~ candyDocPrefix ~ " | tar -xf -"); 
     199            } 
     200         
     201            chdir(origcwd); 
     202        } 
     203   } 
     204 
     205   // 3) Make real libraries and do special steps and subdirs 
    182206    foreach (build; buildSources) { 
    183207        char[][char[]] settings = conf.settings[build]; 
     
    203227            // output what we're building 
    204228            writefln("%s => %s", build, target); 
    205          
    206             // prepare for documentation 
    207             char[] docbl = ""; 
    208             if (doDocs) { 
    209                 char[] docdir = "dsss_docs" ~ std.path.sep ~ build; 
    210                 mkdirP(docdir); 
    211                 docbl ~= "-Dq" ~ docdir ~ " -candydoc "; 
    212              
    213                 // now extract candydoc there 
    214                 char[] origcwd = getcwd(); 
    215                 chdir(docdir); 
    216              
    217                 version (Windows) { 
    218                     sayAndSystem("bsdtar -xf " ~ candyDocPrefix); 
    219                 } else { 
    220                     sayAndSystem("gunzip -c " ~ candyDocPrefix ~ " | tar -xf -"); 
    221                 } 
    222              
    223                 chdir(origcwd); 
    224             } 
    225              
     229 
     230            // prepare to do documentation 
     231            prepareDocs(build, doDocs); 
     232         
    226233            // do the prebuild 
    227234            if ("prebuild" in settings) { 
     
    340347            // output what we're building 
    341348            writefln("%s => %s", build, target); 
     349 
     350            // prepare for documentation 
     351            prepareDocs(build, doDocs && doDocBinaries); 
     352            bbl ~= docbl; 
    342353             
    343354            // do the prebuild 
  • trunk/sss/conf.d

    r692 r728  
    114114/** Are we doing documentation? */ 
    115115bool doDocs = false; 
     116 
     117/** Are we doing documentation for binaries? */ 
     118bool doDocBinaries = false; 
    116119 
    117120/** Should we delete response files? */ 
  • trunk/sss/main.d

    r692 r728  
    4646import sss.uninstall; 
    4747 
    48 const char[] DSSS_VERSION = "0.68"; 
     48const char[] DSSS_VERSION = "0.69"; 
    4949 
    5050private { 
     
    166166                doDocs = true; 
    167167                 
     168            } else if (parseArg(arg, "doc-binaries", false)) { 
     169                doDocs = true; 
     170                doDocBinaries = true; 
     171 
    168172            } else if (parseArg(arg, "prefix", true, &val)) { 
    169173                // force a prefix 
     
    381385    --prefix=<prefix>: set the install prefix 
    382386    --doc: Generate/install documentation for libraries 
     387    --doc-binaries: Generate/install documentation for libraries and binaries. 
     388        This will generate a lot of needless documentation for prerequisite 
     389        libraries, and is therefore not recommended for general use. 
    383390    --use=<directory containing import library includes and libs> 
    384391    --keep-response-files: Do not delete temporary rebuild response files