Fossil

Changes On Branch wolfgangFormat2CSS_2
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Changes In Branch wolfgangFormat2CSS_2 Excluding Merge-Ins

This is equivalent to a diff from daf28132 to 2502567f

2010-10-07
18:40
Merge in changes from wolfgangFormat2CSS_2, with a few minor corrections. (check-in: b525add4 user: drh tags: trunk)
16:12
merged from trunk (check-in: 09397a62 user: wolfgang tags: wolfgangTicketCmd)
16:04
merged from trunk (Closed-Leaf check-in: 2502567f user: wolfgang tags: wolfgangFormat2CSS_2)
13:37
Update the built-in SQLite to the latest 3.7.3 beta. (check-in: daf28132 user: drh tags: trunk)
13:34
Add the optional "showsql" query parameter to the timeline. (check-in: 3efdd657 user: drh tags: trunk)
2010-10-06
13:10
added command line help page to the gui (check-in: ffbfb4d5 user: wolfgang tags: wolfgangFormat2CSS_2)

Changes to src/config.h.

    23     23   */
    24     24   #define _LARGE_FILE       1
    25     25   #ifndef _FILE_OFFSET_BITS
    26     26   #  define _FILE_OFFSET_BITS 64
    27     27   #endif
    28     28   #define _LARGEFILE_SOURCE 1
    29     29   
           30  +#ifndef _RC_COMPILE_
    30     31   
    31     32   /*
    32     33   ** System header files used by all modules
    33     34   */
    34     35   #include <unistd.h>
    35     36   #include <stdio.h>
    36     37   #include <stdlib.h>
    37     38   #include <ctype.h>
    38     39   #include <string.h>
    39     40   #include <stdarg.h>
    40     41   #include <assert.h>
           42  +
           43  +#endif
           44  +
    41     45   #if defined( __MINGW32__) ||  defined(__DMC__) || defined(_MSC_VER) || defined(__POCC__)
    42     46   #  if defined(__DMC__)  || defined(_MSC_VER) || defined(__POCC__)
    43     47        typedef int socklen_t;
    44     48   #  endif
    45     49   #  ifndef _WIN32
    46     50   #    define _WIN32
    47     51   #  endif
    48     52   #else
    49     53   # include <sys/types.h>
    50     54   # include <signal.h>
    51     55   # include <pwd.h>
    52     56   #endif
    53     57   
           58  +/*
           59  +** Define the compiler variant, used to compile the project
           60  +*/
           61  +#if !defined(COMPILER_NAME)
           62  +#  if defined(__DMC__)
           63  +#    define COMPILER_NAME "dmc"
           64  +#  elif defined(__POCC__)
           65  +#    if defined(_M_X64)
           66  +#      define COMPILER_NAME "pellesc64"
           67  +#    else
           68  +#      define COMPILER_NAME "pellesc32"
           69  +#    endif
           70  +#  elif defined(_MSC_VER)
           71  +#    define COMPILER_NAME "msc"
           72  +#  elif defined(__MINGW32__)
           73  +#    define COMPILER_NAME "mingw32"
           74  +#  elif defined(_WIN32)
           75  +#    define COMPILER_NAME "win32"
           76  +#  elif defined(__GNUC__)
           77  +#    define COMPILER_NAME "gcc-" __VERSION__
           78  +#  else
           79  +#    define COMPILER_NAME "unknown"
           80  +#  endif
           81  +#endif
           82  +
           83  +#ifndef _RC_COMPILE_
           84  +
    54     85   #include "sqlite3.h"
    55     86   
    56     87   /*
    57     88   ** Typedef for a 64-bit integer
    58     89   */
    59     90   typedef sqlite_int64 i64;
    60     91   typedef sqlite_uint64 u64;
................................................................................
   121    152   #if FOSSIL_I18N
   122    153   # include <locale.h>
   123    154   # include <langinfo.h>
   124    155   #endif
   125    156   #ifndef CODESET
   126    157   # undef FOSSIL_I18N
   127    158   # define FOSSIL_I18N 0
          159  +#endif
          160  +
   128    161   #endif

Changes to src/main.c.

   589    589       }else{
   590    590         putchar(*z);
   591    591         z++;
   592    592       }
   593    593     }
   594    594     putchar('\n');
   595    595   }
          596  +
          597  +/*
          598  +** WEBPAGE: help
          599  +** URL: /help?cmd=CMD
          600  +*/
          601  +void help_page(void){
          602  +    const char * zCmd = P("cmd");
          603  +    
          604  +    style_header("Command line help %s%s",zCmd?" - ":"",zCmd?zCmd:"");
          605  +    if( zCmd ){
          606  +      int rc, idx;
          607  +      char *z, *s, *d;
          608  +
          609  +      @ <h1>%s(zCmd)</h1>
          610  +      rc = name_search(zCmd, aCommand, count(aCommand), &idx);
          611  +      if( rc==1 ){
          612  +        @ unknown command: %s(zCmd)
          613  +      }else if( rc==2 ){
          614  +        @ ambiguous command prefix: %s(zCmd)
          615  +      }else{
          616  +        z = (char*)aCmdHelp[idx];
          617  +        if( s==0 ){
          618  +          @ no help available for the %s(aCommand[idx].zName) command
          619  +        }else{
          620  +          z=s=d=mprintf("%s",z);
          621  +	  while( *s ){
          622  +	    if( *s=='%' && strncmp(s, "%fossil", 7)==0 ){
          623  +	      s++;
          624  +	    }else{
          625  +	      *d++ = *s++;
          626  +	    }
          627  +	  }
          628  +	  *d = 0;
          629  +	  @ <pre>%s(z)</pre>
          630  +	  free(z);
          631  +	}
          632  +      }
          633  +      @ <hr/><a href="help">available commands</a> in fossil version %s(MANIFEST_VERSION" "MANIFEST_DATE) UTC
          634  +    }else{
          635  +      int i;
          636  +      
          637  +      @ <h1>Available commands</h1>
          638  +      for(i=0; i<count(aCommand); i++){
          639  +        if( strncmp(aCommand[i].zName,"test",4)==0 ) continue;
          640  +        @ <kbd><a href="help?cmd=%s(aCommand[i].zName)">%s(aCommand[i].zName)</a></kbd>
          641  +      }
          642  +      @ <hr/>fossil version %s(MANIFEST_VERSION" "MANIFEST_DATE) UTC
          643  +    }
          644  +    style_footer();
          645  +}
   596    646   
   597    647   /*
   598    648   ** Set the g.zBaseURL value to the full URL for the toplevel of
   599    649   ** the fossil tree.  Set g.zTop to g.zBaseURL without the
   600    650   ** leading "http://" and the host and port.
   601    651   */
   602    652   void set_base_url(void){

Changes to src/makeheaders.c.

    11     11   */
    12     12   #include <stdio.h>
    13     13   #include <stdlib.h>
    14     14   #include <ctype.h>
    15     15   #include <memory.h>
    16     16   #include <sys/stat.h>
    17     17   #include <assert.h>
    18         -#if defined( __MINGW32__) ||  defined(__DMC__) || defined(_MSC_VER)
           18  +#if defined( __MINGW32__) ||  defined(__DMC__) || defined(_MSC_VER) || defined(__POCC__)
    19     19   #  ifndef WIN32
    20     20   #    define WIN32
    21     21   #  endif
    22     22   # include <string.h>
    23     23   #else
    24     24   # include <unistd.h>
    25     25   #endif

Changes to src/report.c.

   721    721       @ <tr><td colspan=%d(pState->nCol)><font size=1>&nbsp;</font></td></tr>
   722    722     }
   723    723   
   724    724     /* Output the data for this entry from the database
   725    725     */
   726    726     zBg = pState->iBg>=0 ? azArg[pState->iBg] : 0;
   727    727     if( zBg==0 ) zBg = "white";
   728         -  @ <tr bgcolor="%h(zBg)">
          728  +  @ <tr style="background-color:%h(zBg)">
   729    729     zTid = 0;
   730    730     zPage[0] = 0;
   731    731     for(i=0; i<nArg; i++){
   732    732       char *zData;
   733    733       if( i==pState->iBg ) continue;
   734    734       zData = azArg[i];
   735    735       if( zData==0 ) zData = "";
................................................................................
   736    736       if( pState->iNewRow>=0 && i>=pState->iNewRow ){
   737    737         if( zTid && g.okWrite ){
   738    738           @ <td valign="top"><a href="tktedit/%h(zTid)">edit</a></td>
   739    739           zTid = 0;
   740    740         }
   741    741         if( zData[0] ){
   742    742           Blob content;
   743         -        @ </tr><tr bgcolor="%h(zBg)"><td colspan=%d(pState->nCol)>
          743  +        @ </tr><tr style="background-color:%h(zBg)"><td colspan=%d(pState->nCol)>
   744    744           blob_init(&content, zData, -1);
   745    745           wiki_convert(&content, 0, 0);
   746    746           blob_reset(&content);
   747    747         }
   748    748       }else if( azName[i][0]=='#' ){
   749    749         zTid = zData;
   750    750         if( g.okHistory ){

Changes to src/stat.c.

   101    101     @ %h(db_get("project-code",""))
   102    102     @ </td></tr>
   103    103     @ <tr><th>Server&nbsp;ID:</th><td>
   104    104     @ %h(db_get("server-code",""))
   105    105     @ </td></tr>
   106    106   
   107    107     @ <tr><th>Fossil&nbsp;Version:</th><td>
   108         -  @ %h(MANIFEST_DATE) %h(MANIFEST_VERSION)
          108  +  @ %h(MANIFEST_DATE) %h(MANIFEST_VERSION) (%h(COMPILER_NAME))
   109    109     @ </td></tr>
   110    110     @ <tr><th>SQLite&nbsp;Version:</th><td>
   111    111     sqlite3_snprintf(sizeof(zBuf), zBuf, "%.19s [%.10s] (%s)",
   112    112                      SQLITE_SOURCE_ID, &SQLITE_SOURCE_ID[20], SQLITE_VERSION);
   113    113     @ %s(zBuf)
   114    114     @ </td></tr>
   115    115     @ <tr><th>Database&nbsp;Stats:</th><td>

Changes to src/style.c.

    99     99     Th_Store("project_name", db_get("project-name","Unnamed Fossil Project"));
   100    100     Th_Store("title", zTitle);
   101    101     Th_Store("baseurl", g.zBaseURL);
   102    102     Th_Store("index_page", db_get("index-page","/home"));
   103    103     Th_Store("current_page", g.zPath);
   104    104     Th_Store("manifest_version", MANIFEST_VERSION);
   105    105     Th_Store("manifest_date", MANIFEST_DATE);
          106  +  Th_Store("compiler_name", COMPILER_NAME);
   106    107     if( g.zLogin ){
   107    108       Th_Store("login", g.zLogin);
   108    109     }
   109    110     if( g.thTrace ) Th_Trace("BEGIN_HEADER_SCRIPT<br />\n", -1);
   110    111     Th_Render(zHeader);
   111    112     if( g.thTrace ) Th_Trace("END_HEADER<br />\n", -1);
   112    113     Th_Unstore("title");   /* Avoid collisions with ticket field names */

Changes to win/Makefile.PellesCGMake.

    42     42   else
    43     43   # 32 bit version
    44     44   TARGETMACHINE_CC=x86
    45     45   TARGETMACHINE_LN=ix86
    46     46   TARGETEXTEND=
    47     47   endif
    48     48   
           49  +# define the project directories
    49     50   B=..
    50     51   SRCDIR=$(B)/src/
    51     52   WINDIR=$(B)/win/
    52         -ZLIBSRCDIR=E:/fossil-w32/zlib/
           53  +ZLIBSRCDIR=../../zlib/
    53     54   
           55  +# define linker command and options
    54     56   LINK=$(PellesCDir)/bin/polink.exe
    55     57   LINKFLAGS=-subsystem:console -machine:$(TARGETMACHINE_LN) /LIBPATH:$(PellesCDir)\lib\win$(TARGETEXTEND) /LIBPATH:$(PellesCDir)\lib kernel32.lib advapi32.lib delayimp$(TARGETEXTEND).lib Wsock32.lib Crtmt$(TARGETEXTEND).lib
    56     58   
           59  +# define standard C-compiler and flags, used to compile
           60  +# the fossil binary. Some special definitions follow for
           61  +# special files follow
    57     62   CC=$(PellesCDir)\bin\pocc.exe
    58     63   DEFINES=-DFOSSIL_I18N=0 -Dstrncasecmp=memicmp -Dstrcasecmp=stricmp 
    59     64   CCFLAGS=-T$(TARGETMACHINE_CC)-coff -Ot -W2 -Gd -Go -Ze -MT $(DEFINES)
    60     65   INCLUDE=/I $(PellesCDir)\Include\Win /I $(PellesCDir)\Include /I $(ZLIBSRCDIR) /I $(SRCDIR)
    61     66   
           67  +# define commands for building the windows resource files
           68  +RESOURCE=fossil.res
           69  +RC=$(PellesCDir)\bin\porc.exe
           70  +RCFLAGS=$(INCLUDE) -D__POCC__=1 -D_M_X$(TARGETVERSION)
           71  +
           72  +# define the special utilities files, needed to generate
           73  +# the automatically generated source files
    62     74   UTILS=translate.exe mkindex.exe makeheaders.exe
    63     75   UTILS_OBJ=$(UTILS:.exe=.obj)
           76  +UTILS_SRC=$(foreach uf,$(UTILS),$(SRCDIR)$(uf:.exe=.c))
    64     77   
    65         -SRC=add.c allrepo.c attach.c bag.c blob.c branch.c browse.c captcha.c cgi.c checkin.c checkout.c clearsign.c clone.c comformat.c configure.c content.c db.c delta.c deltacmd.c descendants.c diff.c diffcmd.c doc.c encode.c event.c file.c finfo.c graph.c http.c http_socket.c http_ssl.c http_transport.c info.c login.c main.c manifest.c md5.c merge.c merge3.c name.c pivot.c popen.c pqueue.c printf.c rebuild.c report.c rss.c schema.c search.c setup.c sha1.c shun.c skins.c stat.c style.c sync.c tag.c th_main.c timeline.c tkt.c tktsetup.c undo.c update.c url.c user.c verify.c vfile.c wiki.c wikiformat.c winhttp.c xfer.c zip.c
    66         -ORIGSRC=$(foreach sf,$(SRC),$(SRCDIR)$(sf))
    67         -TRANSLATEDSRC=$(SRC:.c=_.c)
    68         -TRANSLATEDOBJ=$(TRANSLATEDSRC:.c=.obj)
    69         -
           78  +# define the sqlite files, which need special flags on compile
    70     79   SQLITESRC=sqlite3.c
    71     80   ORIGSQLITESRC=$(foreach sf,$(SQLITESRC),$(SRCDIR)$(sf))
    72     81   SQLITEOBJ=$(foreach sf,$(SQLITESRC),$(sf:.c=.obj))
    73     82   SQLITEDEFINES=-DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0
    74     83   
           84  +# define the th scripting files, which need special flags on compile
    75     85   THSRC=th.c th_lang.c
    76     86   ORIGTHSRC=$(foreach sf,$(THSRC),$(SRCDIR)$(sf))
    77     87   THOBJ=$(foreach sf,$(THSRC),$(sf:.c=.obj))
    78     88   
           89  +# define the zlib files, needed by this compile
    79     90   ZLIBSRC=adler32.c compress.c crc32.c deflate.c gzclose.c gzlib.c gzread.c gzwrite.c infback.c inffast.c inflate.c inftrees.c trees.c uncompr.c zutil.c
    80     91   ORIGZLIBSRC=$(foreach sf,$(ZLIBSRC),$(ZLIBSRCDIR)$(sf))
    81     92   ZLIBOBJ=$(foreach sf,$(ZLIBSRC),$(sf:.c=.obj))
    82     93   
           94  +# define all fossil sources, using the standard compile and
           95  +# source generation. These are all files in SRCDIR, which are not
           96  +# mentioned as special files above:
           97  +ORIGSRC=$(filter-out $(UTILS_SRC) $(ORIGTHSRC) $(ORIGSQLITESRC),$(wildcard $(SRCDIR)*.c))
           98  +SRC=$(subst $(SRCDIR),,$(ORIGSRC))
           99  +TRANSLATEDSRC=$(SRC:.c=_.c)
          100  +TRANSLATEDOBJ=$(TRANSLATEDSRC:.c=.obj)
          101  +
          102  +# main target file is the application
    83    103   APPLICATION=fossil.exe
    84    104   
          105  +# ###########################################################################
          106  +# define the standard make target
    85    107   .PHONY:	default
    86    108   default:	page_index.h headers $(APPLICATION)
    87    109   
    88         -$(UTILS):	%.exe:	%.obj
          110  +# ###########################################################################
          111  +# symbolic target to generate the source generate utils
          112  +.PHONY:	utils
          113  +utils:	$(UTILS)
          114  +
          115  +# link utils
          116  +$(UTILS) version.exe:	%.exe:	%.obj
    89    117   	$(LINK) $(LINKFLAGS) -out:"$@" $<
    90    118   
          119  +# compiling standard fossil utils
    91    120   $(UTILS_OBJ):	%.obj:	$(SRCDIR)%.c
    92    121   	$(CC) $(CCFLAGS) $(INCLUDE) "$<" -Fo"$@"
    93    122   
    94         -$(TRANSLATEDSRC):	%_.c:	$(SRCDIR)%.c translate.exe
    95         -	translate.exe $< >$@
    96         -
    97         -page_index.h:	$(TRANSLATEDSRC) mkindex.exe
    98         -	mkindex.exe $(TRANSLATEDSRC) >$@
    99         -
   100         -version.exe:	version.obj
   101         -	$(LINK) $(LINKFLAGS) -out:"$@" $<
   102         -
          123  +# compile special windows utils
   103    124   version.obj:	$(WINDIR)version.c
   104    125   	$(CC) $(CCFLAGS) $(INCLUDE) "$<" -Fo"$@"
   105    126   
          127  +# ###########################################################################
          128  +# generate the translated c-source files
          129  +$(TRANSLATEDSRC):	%_.c:	$(SRCDIR)%.c translate.exe
          130  +	translate.exe $< >$@
          131  +
          132  +# ###########################################################################
          133  +# generate the index source, containing all web references,..
          134  +page_index.h:	$(TRANSLATEDSRC) mkindex.exe
          135  +	mkindex.exe $(TRANSLATEDSRC) >$@
          136  +
          137  +# ###########################################################################
          138  +# extracting version info from manifest
   106    139   VERSION.h:	version.exe ..\manifest.uuid ..\manifest
   107    140   	version.exe ..\manifest.uuid ..\manifest  > $@
   108    141   
          142  +# ###########################################################################
          143  +# generate the simplified headers
   109    144   headers: makeheaders.exe page_index.h VERSION.h ../src/sqlite3.h ../src/th.h VERSION.h
   110    145   	makeheaders.exe $(foreach ts,$(TRANSLATEDSRC),$(ts):$(ts:_.c=.h)) ../src/sqlite3.h ../src/th.h VERSION.h
   111    146   	echo Done >$@
          147  +
          148  +# ###########################################################################
          149  +# compile C sources with relevant options
   112    150   
   113    151   $(TRANSLATEDOBJ):	%_.obj:	%_.c %.h
   114    152   	$(CC) $(CCFLAGS) $(INCLUDE) "$<" -Fo"$@"
   115    153   
   116    154   $(SQLITEOBJ):	%.obj:	$(SRCDIR)%.c $(SRCDIR)%.h
   117    155   	$(CC) $(CCFLAGS) $(SQLITEDEFINES) $(INCLUDE) "$<" -Fo"$@"
   118    156   
   119    157   $(THOBJ):	%.obj:	$(SRCDIR)%.c $(SRCDIR)th.h
   120    158   	$(CC) $(CCFLAGS) $(INCLUDE) "$<" -Fo"$@"
   121    159   
   122    160   $(ZLIBOBJ):	%.obj:	$(ZLIBSRCDIR)%.c
   123    161   	$(CC) $(CCFLAGS) $(INCLUDE) "$<" -Fo"$@"
   124    162   
   125         -$(APPLICATION):	$(TRANSLATEDOBJ) $(SQLITEOBJ) $(THOBJ) $(ZLIBOBJ) headers
   126         -	$(LINK) $(LINKFLAGS) -out:"$@" $(TRANSLATEDOBJ) $(SQLITEOBJ) $(THOBJ) $(ZLIBOBJ)
          163  +# ###########################################################################
          164  +# create the windows resource with icon and version info
          165  +$(RESOURCE):	%.res:	../win/%.rc ../win/*.ico
          166  +	$(RC) $(RCFLAGS) $< -Fo"$@"
          167  +
          168  +# ###########################################################################
          169  +# link the application
          170  +$(APPLICATION):	$(TRANSLATEDOBJ) $(SQLITEOBJ) $(THOBJ) $(ZLIBOBJ) headers $(RESOURCE)
          171  +	$(LINK) $(LINKFLAGS) -out:"$@" $(TRANSLATEDOBJ) $(SQLITEOBJ) $(THOBJ) $(ZLIBOBJ) $(RESOURCE)
          172  +
          173  +# ###########################################################################
          174  +# cleanup
   127    175   
   128    176   .PHONY: clean
   129    177   clean:
   130         -	del /F *.obj
   131         -	del /F *.c
          178  +	del /F $(TRANSLATEDOBJ) $(SQLITEOBJ) $(THOBJ) $(ZLIBOBJ) $(UTILS_OBJ) version.obj
          179  +	del /F $(TRANSLATEDSRC)
   132    180   	del /F *.h headers
          181  +	del /F $(RESOURCE)
   133    182   
   134    183   .PHONY: clobber
   135    184   clobber: clean
   136    185   	del /F *.exe
   137    186   

Changes to win/Makefile.dmc.

    22     22   I18N   =  -DFOSSIL_I18N=0
    23     23   
    24     24   CFLAGS = -o 
    25     25   BCC    = $(DMDIR)\bin\dmc $(CFLAGS)
    26     26   TCC    = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(I18N) $(SSL) $(INCL)
    27     27   LIBS   = $(DMDIR)\extra\lib\ zlib wsock32
    28     28   
    29         -SRC   = add_.c allrepo_.c attach_.c bag_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c file_.c finfo_.c graph_.c http_.c http_socket_.c http_ssl_.c http_transport_.c info_.c login_.c main_.c manifest_.c md5_.c merge_.c merge3_.c name_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c stat_.c style_.c sync_.c tag_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c update_.c url_.c user_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c xfer_.c zip_.c 
           29  +SRC   = add_.c allrepo_.c attach_.c bag_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c file_.c finfo_.c graph_.c http_.c http_socket_.c http_ssl_.c http_transport_.c info_.c login_.c main_.c manifest_.c md5_.c merge_.c merge3_.c name_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c stat_.c style_.c sync_.c tag_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c update_.c url_.c user_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c xfer_.c zip_.c 
    30     30   
    31         -OBJ   = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\graph$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\info$O $(OBJDIR)\login$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\name$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\zip$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O 
           31  +OBJ   = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\graph$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\info$O $(OBJDIR)\login$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\name$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\zip$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O 
    32     32   
           33  +RC=$(DMDIR)\bin\rcc
           34  +RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
    33     35   
    34     36   APPNAME = $(OBJDIR)\fossil$(E)
    35     37   
    36     38   all: $(APPNAME)
    37     39   
    38         -$(APPNAME) : translate$E mkindex$E headers  $(OBJ) $(OBJDIR)\link
           40  +$(APPNAME) : translate$E mkindex$E headers fossil.res $(OBJ) $(OBJDIR)\link
    39     41   	cd $(OBJDIR) 
    40     42   	$(DMDIR)\bin\link @link
           43  +
           44  +fossil.res:	$B\win\fossil.rc
           45  +	$(RC) $(RCFLAGS) -o$@ $**
    41     46   
    42     47   $(OBJDIR)\link: $B\win\Makefile.dmc
    43         -	+echo add allrepo attach bag blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode file finfo graph http http_socket http_ssl http_transport info login main manifest md5 merge merge3 name pivot popen pqueue printf rebuild report rss schema search setup sha1 shun skins stat style sync tag th_main timeline tkt tktsetup undo update url user verify vfile wiki wikiformat winhttp xfer zip sqlite3 th th_lang > $@
           48  +	+echo add allrepo attach bag blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event file finfo graph http http_socket http_ssl http_transport info login main manifest md5 merge merge3 name pivot popen pqueue printf rebuild report rss schema search setup sha1 shun skins stat style sync tag th_main timeline tkt tktsetup undo update url user verify vfile wiki wikiformat winhttp xfer zip sqlite3 th th_lang > $@
    44     49   	+echo fossil >> $@
    45     50   	+echo fossil >> $@
    46     51   	+echo $(LIBS) >> $@
           52  +	+echo. >> $@
           53  +	+echo fossil >> $@
    47     54   
    48     55   
    49     56   
    50     57   translate$E: $(SRCDIR)\translate.c
    51     58   	$(BCC) -o$@ $**
    52     59   
    53     60   makeheaders$E: $(SRCDIR)\makeheaders.c
................................................................................
   221    228   	+translate$E $** > $@
   222    229   
   223    230   $(OBJDIR)\encode$O : encode_.c encode.h
   224    231   	$(TCC) -o$@ -c encode_.c
   225    232   
   226    233   encode_.c : $(SRCDIR)\encode.c
   227    234   	+translate$E $** > $@
          235  +
          236  +$(OBJDIR)\event$O : event_.c event.h
          237  +	$(TCC) -o$@ -c event_.c
          238  +
          239  +event_.c : $(SRCDIR)\event.c
          240  +	+translate$E $** > $@
   228    241   
   229    242   $(OBJDIR)\file$O : file_.c file.h
   230    243   	$(TCC) -o$@ -c file_.c
   231    244   
   232    245   file_.c : $(SRCDIR)\file.c
   233    246   	+translate$E $** > $@
   234    247   
................................................................................
   505    518   $(OBJDIR)\zip$O : zip_.c zip.h
   506    519   	$(TCC) -o$@ -c zip_.c
   507    520   
   508    521   zip_.c : $(SRCDIR)\zip.c
   509    522   	+translate$E $** > $@
   510    523   
   511    524   headers: makeheaders$E page_index.h VERSION.h
   512         -	 +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h file_.c:file.h finfo_.c:finfo.h graph_.c:graph.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h info_.c:info.h login_.c:login.h main_.c:main.h manifest_.c:manifest.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h name_.c:name.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h update_.c:update.h url_.c:url.h user_.c:user.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winhttp_.c:winhttp.h xfer_.c:xfer.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h
          525  +	 +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h file_.c:file.h finfo_.c:finfo.h graph_.c:graph.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h info_.c:info.h login_.c:login.h main_.c:main.h manifest_.c:manifest.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h name_.c:name.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h update_.c:update.h url_.c:url.h user_.c:user.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winhttp_.c:winhttp.h xfer_.c:xfer.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h
   513    526   	@copy /Y nul: headers

Added win/fossil.ico.

cannot compute difference between binary files

Added win/fossil.rc.

            1  +#include <windows.h>
            2  +#include "VERSION.h"
            3  +#define _RC_COMPILE_
            4  +#include "config.h"
            5  +
            6  +LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US
            7  +
            8  +VS_VERSION_INFO VERSIONINFO
            9  +FILEVERSION 1,0,0,0
           10  +PRODUCTVERSION 1,0,0,0
           11  +FILEFLAGSMASK 0x3F
           12  +FILEFLAGS 0x0
           13  +FILEOS VOS__WINDOWS32
           14  +FILETYPE VFT_APP
           15  +FILESUBTYPE VFT2_UNKNOWN
           16  +BEGIN
           17  +  BLOCK "StringFileInfo"
           18  +  BEGIN
           19  +    BLOCK "040904B0"
           20  +    BEGIN
           21  +      VALUE "FileDescription", "distributed source code control system with integrated wiki and ticket-system\0"
           22  +      VALUE "Comments", "compiler: "COMPILER_NAME"\0"
           23  +      VALUE "FileVersion", MANIFEST_UUID"("COMPILER_NAME"\0"
           24  +      VALUE "InternalName", "fossil\0"
           25  +      VALUE "LegalCopyright", "Copyright (c) "MANIFEST_YEAR" D. Richard Hipp\0"
           26  +      VALUE "OriginalFilename", "fossil.exe\0"
           27  +      VALUE "ProductName", "fossil\0"
           28  +      VALUE "ProductVersion", MANIFEST_VERSION" "MANIFEST_DATE" UTC\0"
           29  +    END
           30  +  END
           31  +  BLOCK "VarFileInfo"
           32  +  BEGIN
           33  +    VALUE "Translation", 0x409, 0x4B0
           34  +  END
           35  +END
           36  +
           37  +8001 ICON "fossil.ico"
           38  +

Changes to win/version.c.

     8      8       b[strlen(b)-1] =0;
     9      9       printf("#define MANIFEST_UUID \"%s\"\n",b);
    10     10       printf("#define MANIFEST_VERSION \"[%10.10s]\"\n",b);
    11     11       m = fopen(argv[2],"r");
    12     12       while(b ==  fgets(b, sizeof(b)-1,m)){
    13     13           if(0 == strncmp("D ",b,2)){
    14     14               printf("#define MANIFEST_DATE \"%.10s %.8s\"\n",b+2,b+13);
           15  +            printf("#define MANIFEST_YEAR \"%.4s\"\n",b+2);
    15     16               return 0;
    16     17           }
    17     18       }
    18     19       return 1;
    19     20   }