Fossil SCM

Add the new "fossil system" command (expected to abbreviate to "fossil sys" with commands that are useful on unprovisioned Windows machines, such as "ls". The "fossil which" command is change to "fossil sys which". Still a work in progress.

drh 2025-11-01 21:13 trunk
Commit 27baef45ca87c48a7cb5174031e731592a8bca3a4f8ab2965c83a112cf70351c
-10
--- src/cgi.c
+++ src/cgi.c
@@ -2962,20 +2962,10 @@
29622962
pTm->tm_year+1900, pTm->tm_mon+1, pTm->tm_mday,
29632963
pTm->tm_hour, pTm->tm_min, pTm->tm_sec);
29642964
}
29652965
}
29662966
2967
-/*
2968
-** COMMAND: test-date
2969
-**
2970
-** Show the current date and time in both RFC822 and ISO8601.
2971
-*/
2972
-void test_date(void){
2973
- fossil_print("%z = ", cgi_iso8601_datestamp());
2974
- fossil_print("%z\n", cgi_rfc822_datestamp(time(0)));
2975
-}
2976
-
29772967
/*
29782968
** Parse an RFC822-formatted timestamp as we'd expect from HTTP and return
29792969
** a Unix epoch time. <= zero is returned on failure.
29802970
**
29812971
** Note that this won't handle all the _allowed_ HTTP formats, just the
29822972
--- src/cgi.c
+++ src/cgi.c
@@ -2962,20 +2962,10 @@
2962 pTm->tm_year+1900, pTm->tm_mon+1, pTm->tm_mday,
2963 pTm->tm_hour, pTm->tm_min, pTm->tm_sec);
2964 }
2965 }
2966
2967 /*
2968 ** COMMAND: test-date
2969 **
2970 ** Show the current date and time in both RFC822 and ISO8601.
2971 */
2972 void test_date(void){
2973 fossil_print("%z = ", cgi_iso8601_datestamp());
2974 fossil_print("%z\n", cgi_rfc822_datestamp(time(0)));
2975 }
2976
2977 /*
2978 ** Parse an RFC822-formatted timestamp as we'd expect from HTTP and return
2979 ** a Unix epoch time. <= zero is returned on failure.
2980 **
2981 ** Note that this won't handle all the _allowed_ HTTP formats, just the
2982
--- src/cgi.c
+++ src/cgi.c
@@ -2962,20 +2962,10 @@
2962 pTm->tm_year+1900, pTm->tm_mon+1, pTm->tm_mday,
2963 pTm->tm_hour, pTm->tm_min, pTm->tm_sec);
2964 }
2965 }
2966
 
 
 
 
 
 
 
 
 
 
2967 /*
2968 ** Parse an RFC822-formatted timestamp as we'd expect from HTTP and return
2969 ** a Unix epoch time. <= zero is returned on failure.
2970 **
2971 ** Note that this won't handle all the _allowed_ HTTP formats, just the
2972
+1 -1
--- src/checkout.c
+++ src/checkout.c
@@ -546,11 +546,11 @@
546546
if( file_isdir(zSqlArchive, ExtFILE)>0 ){
547547
fossil_fatal("file already exists: \"%s\"", zSqlArchive);
548548
}
549549
}else if( file_isdir(zDest, ExtFILE)>0 ){
550550
if( fossil_strcmp(zDest,".")==0 ){
551
- if( file_directory_size(zDest,0,1) ){
551
+ if( file_directory_list(zDest,0,1,1,0) ){
552552
fossil_fatal("current directory is not empty");
553553
}
554554
}else{
555555
fossil_fatal("\"%s\" already exists", zDest);
556556
}
557557
--- src/checkout.c
+++ src/checkout.c
@@ -546,11 +546,11 @@
546 if( file_isdir(zSqlArchive, ExtFILE)>0 ){
547 fossil_fatal("file already exists: \"%s\"", zSqlArchive);
548 }
549 }else if( file_isdir(zDest, ExtFILE)>0 ){
550 if( fossil_strcmp(zDest,".")==0 ){
551 if( file_directory_size(zDest,0,1) ){
552 fossil_fatal("current directory is not empty");
553 }
554 }else{
555 fossil_fatal("\"%s\" already exists", zDest);
556 }
557
--- src/checkout.c
+++ src/checkout.c
@@ -546,11 +546,11 @@
546 if( file_isdir(zSqlArchive, ExtFILE)>0 ){
547 fossil_fatal("file already exists: \"%s\"", zSqlArchive);
548 }
549 }else if( file_isdir(zDest, ExtFILE)>0 ){
550 if( fossil_strcmp(zDest,".")==0 ){
551 if( file_directory_list(zDest,0,1,1,0) ){
552 fossil_fatal("current directory is not empty");
553 }
554 }else{
555 fossil_fatal("\"%s\" already exists", zDest);
556 }
557
+1 -1
--- src/db.c
+++ src/db.c
@@ -4339,11 +4339,11 @@
43394339
fossil_fatal("unable to make %s the working directory", zWorkDir);
43404340
}
43414341
}
43424342
if( keepFlag==0
43434343
&& bForce==0
4344
- && (nLocal = file_directory_size(".", 0, 1))>0
4344
+ && (nLocal = file_directory_list(".", 0, 1, 2, 0))>0
43454345
&& (nLocal>1 || isUri || !file_in_cwd(zRepo))
43464346
){
43474347
fossil_fatal("directory %s is not empty\n"
43484348
"use the -f (--force) option to override\n"
43494349
"or the -k (--keep) option to keep local files unchanged",
43504350
--- src/db.c
+++ src/db.c
@@ -4339,11 +4339,11 @@
4339 fossil_fatal("unable to make %s the working directory", zWorkDir);
4340 }
4341 }
4342 if( keepFlag==0
4343 && bForce==0
4344 && (nLocal = file_directory_size(".", 0, 1))>0
4345 && (nLocal>1 || isUri || !file_in_cwd(zRepo))
4346 ){
4347 fossil_fatal("directory %s is not empty\n"
4348 "use the -f (--force) option to override\n"
4349 "or the -k (--keep) option to keep local files unchanged",
4350
--- src/db.c
+++ src/db.c
@@ -4339,11 +4339,11 @@
4339 fossil_fatal("unable to make %s the working directory", zWorkDir);
4340 }
4341 }
4342 if( keepFlag==0
4343 && bForce==0
4344 && (nLocal = file_directory_list(".", 0, 1, 2, 0))>0
4345 && (nLocal>1 || isUri || !file_in_cwd(zRepo))
4346 ){
4347 fossil_fatal("directory %s is not empty\n"
4348 "use the -f (--force) option to override\n"
4349 "or the -k (--keep) option to keep local files unchanged",
4350
+80 -15
--- src/file.c
+++ src/file.c
@@ -2543,69 +2543,134 @@
25432543
#endif
25442544
return z;
25452545
}
25462546
25472547
/*
2548
-** Count the number of objects (files and subdirectories) in a given
2549
-** directory. Return the count. Return -1 if the object is not a
2550
-** directory.
2548
+** Find the name of all objects (files and subdirectories) in a given
2549
+** directory that match a GLOB pattern. If zGlob is NULL, then return
2550
+** all objects. The list is written into *pazList and the number of
2551
+** entries is returned. If pazList is NULL, then only the count is
2552
+** returned.
2553
+**
2554
+** If zDir is not a directory, *pazList is unchanged and -1 is returned.
2555
+**
2556
+** Memory used to old *pazList should be freed using a subsequent call
2557
+** to file_directory_list_free().
25512558
**
25522559
** This routine never counts the two "." and ".." special directory
25532560
** entries, even if the provided glob would match them.
25542561
*/
2555
-int file_directory_size(const char *zDir, const char *zGlob, int omitDotFiles){
2562
+int file_directory_list(
2563
+ const char *zDir, /* Directory to get a listing of */
2564
+ const char *zGlob, /* Only list objects matching this pattern */
2565
+ int omitDotFiles, /* Omit files that begin with "." if true */
2566
+ int nLimit, /* Find at most this many files. 0 means "all" */
2567
+ char ***pazList /* OUT: Write the list here, if not NULL */
2568
+){
25562569
void *zNative;
25572570
DIR *d;
25582571
int n = -1;
2572
+ int nAlloc = 0;
2573
+ if( pazList ) *pazList = 0;
25592574
zNative = fossil_utf8_to_path(zDir,1);
25602575
d = opendir(zNative);
25612576
if( d ){
25622577
struct dirent *pEntry;
25632578
n = 0;
25642579
while( (pEntry=readdir(d))!=0 ){
2580
+ char *zUtf8 = 0;
25652581
if( pEntry->d_name[0]==0 ) continue;
25662582
if( pEntry->d_name[0]=='.' &&
25672583
(omitDotFiles
25682584
/* Skip the special "." and ".." entries. */
25692585
|| pEntry->d_name[1]==0
25702586
|| (pEntry->d_name[1]=='.' && pEntry->d_name[2]==0))){
25712587
continue;
25722588
}
25732589
if( zGlob ){
2574
- char *zUtf8 = fossil_path_to_utf8(pEntry->d_name);
2575
- int rc = sqlite3_strglob(zGlob, zUtf8);
2576
- fossil_path_free(zUtf8);
2577
- if( rc ) continue;
2590
+ int rc;
2591
+ zUtf8 = fossil_path_to_utf8(pEntry->d_name);
2592
+ rc = sqlite3_strglob(zGlob, zUtf8);
2593
+ if( rc ){
2594
+ fossil_path_free(zUtf8);
2595
+ continue;
2596
+ }
2597
+ }
2598
+ if( pazList ){
2599
+ if( n+1 >= nAlloc ){
2600
+ nAlloc = 100 + n;
2601
+ *pazList = fossil_realloc(*pazList, nAlloc*sizeof(char*));
2602
+ }
2603
+ if( zUtf8==0 ){
2604
+ zUtf8 = fossil_path_to_utf8(pEntry->d_name);
2605
+ }
2606
+ (*pazList)[n] = fossil_strdup(zUtf8);
25782607
}
25792608
n++;
2609
+ if( zUtf8 ) fossil_path_free(zUtf8);
2610
+ if( nLimit>0 && n>=nLimit ) break;
25802611
}
25812612
closedir(d);
25822613
}
25832614
fossil_path_free(zNative);
2615
+ if( pazList ) (*pazList)[n] = 0;
25842616
return n;
25852617
}
2618
+void file_directory_list_free(char **azList){
2619
+ char **az;
2620
+ if( azList==0 ) return;
2621
+ az = azList;
2622
+ while( az[0] ){
2623
+ fossil_free(az[0]);
2624
+ az++;
2625
+ }
2626
+ fossil_free(azList);
2627
+}
25862628
25872629
/*
2588
-** COMMAND: test-dir-size
2630
+** COMMAND: test-dir-list
2631
+**
2632
+** Usage: %fossil test-dir-list NAME [GLOB] [OPTIONS]
2633
+**
2634
+** Return the names of up to N objects in the directory NAME. If GLOB is
2635
+** provided, then only show objects that match the GLOB pattern.
2636
+**
2637
+** This command is intended for testing the file_directory_list() function.
25892638
**
2590
-** Usage: %fossil test-dir-size NAME [GLOB] [--nodots]
2639
+** Options:
25912640
**
2592
-** Return the number of objects in the directory NAME. If GLOB is
2593
-** provided, then only count objects that match the GLOB pattern.
2594
-** if --nodots is specified, omit files that begin with ".".
2641
+** --count Only count files, do not list them.
2642
+** --limit N Only show the first N files seen
2643
+** --nodots Do not show or count files that start with '.'
25952644
*/
2596
-void test_dir_size_cmd(void){
2645
+void test_dir_list_cmd(void){
25972646
int omitDotFiles = find_option("nodots",0,0)!=0;
2647
+ const char *zLimit = find_option("limit",0,1);
2648
+ int countOnly = find_option("count",0,0)!=0;
25982649
const char *zGlob;
25992650
const char *zDir;
2651
+ char **azList = 0;
2652
+ int nList;
2653
+
26002654
verify_all_options();
26012655
if( g.argc!=3 && g.argc!=4 ){
26022656
usage("NAME [GLOB] [-nodots]");
26032657
}
26042658
zDir = g.argv[2];
26052659
zGlob = g.argc==4 ? g.argv[3] : 0;
2606
- fossil_print("%d\n", file_directory_size(zDir, zGlob, omitDotFiles));
2660
+ nList = file_directory_list(zDir, zGlob, omitDotFiles,
2661
+ zLimit ? atoi(zLimit) : 0,
2662
+ countOnly ? 0 : &azList);
2663
+ if( countOnly ){
2664
+ fossil_print("%d\n", nList);
2665
+ }else{
2666
+ int i;
2667
+ for(i=0; i<nList; i++){
2668
+ fossil_print(" %s\n", azList[i]);
2669
+ }
2670
+ }
2671
+ file_directory_list_free(azList);
26072672
}
26082673
26092674
/*
26102675
** Internal helper for touch_cmd(). zAbsName must be resolvable as-is
26112676
** to an existing file - this function does not expand/normalize
26122677
--- src/file.c
+++ src/file.c
@@ -2543,69 +2543,134 @@
2543 #endif
2544 return z;
2545 }
2546
2547 /*
2548 ** Count the number of objects (files and subdirectories) in a given
2549 ** directory. Return the count. Return -1 if the object is not a
2550 ** directory.
 
 
 
 
 
 
 
2551 **
2552 ** This routine never counts the two "." and ".." special directory
2553 ** entries, even if the provided glob would match them.
2554 */
2555 int file_directory_size(const char *zDir, const char *zGlob, int omitDotFiles){
 
 
 
 
 
 
2556 void *zNative;
2557 DIR *d;
2558 int n = -1;
 
 
2559 zNative = fossil_utf8_to_path(zDir,1);
2560 d = opendir(zNative);
2561 if( d ){
2562 struct dirent *pEntry;
2563 n = 0;
2564 while( (pEntry=readdir(d))!=0 ){
 
2565 if( pEntry->d_name[0]==0 ) continue;
2566 if( pEntry->d_name[0]=='.' &&
2567 (omitDotFiles
2568 /* Skip the special "." and ".." entries. */
2569 || pEntry->d_name[1]==0
2570 || (pEntry->d_name[1]=='.' && pEntry->d_name[2]==0))){
2571 continue;
2572 }
2573 if( zGlob ){
2574 char *zUtf8 = fossil_path_to_utf8(pEntry->d_name);
2575 int rc = sqlite3_strglob(zGlob, zUtf8);
2576 fossil_path_free(zUtf8);
2577 if( rc ) continue;
 
 
 
 
 
 
 
 
 
 
 
 
 
2578 }
2579 n++;
 
 
2580 }
2581 closedir(d);
2582 }
2583 fossil_path_free(zNative);
 
2584 return n;
2585 }
 
 
 
 
 
 
 
 
 
 
2586
2587 /*
2588 ** COMMAND: test-dir-size
 
 
 
 
 
 
 
2589 **
2590 ** Usage: %fossil test-dir-size NAME [GLOB] [--nodots]
2591 **
2592 ** Return the number of objects in the directory NAME. If GLOB is
2593 ** provided, then only count objects that match the GLOB pattern.
2594 ** if --nodots is specified, omit files that begin with ".".
2595 */
2596 void test_dir_size_cmd(void){
2597 int omitDotFiles = find_option("nodots",0,0)!=0;
 
 
2598 const char *zGlob;
2599 const char *zDir;
 
 
 
2600 verify_all_options();
2601 if( g.argc!=3 && g.argc!=4 ){
2602 usage("NAME [GLOB] [-nodots]");
2603 }
2604 zDir = g.argv[2];
2605 zGlob = g.argc==4 ? g.argv[3] : 0;
2606 fossil_print("%d\n", file_directory_size(zDir, zGlob, omitDotFiles));
 
 
 
 
 
 
 
 
 
 
 
2607 }
2608
2609 /*
2610 ** Internal helper for touch_cmd(). zAbsName must be resolvable as-is
2611 ** to an existing file - this function does not expand/normalize
2612
--- src/file.c
+++ src/file.c
@@ -2543,69 +2543,134 @@
2543 #endif
2544 return z;
2545 }
2546
2547 /*
2548 ** Find the name of all objects (files and subdirectories) in a given
2549 ** directory that match a GLOB pattern. If zGlob is NULL, then return
2550 ** all objects. The list is written into *pazList and the number of
2551 ** entries is returned. If pazList is NULL, then only the count is
2552 ** returned.
2553 **
2554 ** If zDir is not a directory, *pazList is unchanged and -1 is returned.
2555 **
2556 ** Memory used to old *pazList should be freed using a subsequent call
2557 ** to file_directory_list_free().
2558 **
2559 ** This routine never counts the two "." and ".." special directory
2560 ** entries, even if the provided glob would match them.
2561 */
2562 int file_directory_list(
2563 const char *zDir, /* Directory to get a listing of */
2564 const char *zGlob, /* Only list objects matching this pattern */
2565 int omitDotFiles, /* Omit files that begin with "." if true */
2566 int nLimit, /* Find at most this many files. 0 means "all" */
2567 char ***pazList /* OUT: Write the list here, if not NULL */
2568 ){
2569 void *zNative;
2570 DIR *d;
2571 int n = -1;
2572 int nAlloc = 0;
2573 if( pazList ) *pazList = 0;
2574 zNative = fossil_utf8_to_path(zDir,1);
2575 d = opendir(zNative);
2576 if( d ){
2577 struct dirent *pEntry;
2578 n = 0;
2579 while( (pEntry=readdir(d))!=0 ){
2580 char *zUtf8 = 0;
2581 if( pEntry->d_name[0]==0 ) continue;
2582 if( pEntry->d_name[0]=='.' &&
2583 (omitDotFiles
2584 /* Skip the special "." and ".." entries. */
2585 || pEntry->d_name[1]==0
2586 || (pEntry->d_name[1]=='.' && pEntry->d_name[2]==0))){
2587 continue;
2588 }
2589 if( zGlob ){
2590 int rc;
2591 zUtf8 = fossil_path_to_utf8(pEntry->d_name);
2592 rc = sqlite3_strglob(zGlob, zUtf8);
2593 if( rc ){
2594 fossil_path_free(zUtf8);
2595 continue;
2596 }
2597 }
2598 if( pazList ){
2599 if( n+1 >= nAlloc ){
2600 nAlloc = 100 + n;
2601 *pazList = fossil_realloc(*pazList, nAlloc*sizeof(char*));
2602 }
2603 if( zUtf8==0 ){
2604 zUtf8 = fossil_path_to_utf8(pEntry->d_name);
2605 }
2606 (*pazList)[n] = fossil_strdup(zUtf8);
2607 }
2608 n++;
2609 if( zUtf8 ) fossil_path_free(zUtf8);
2610 if( nLimit>0 && n>=nLimit ) break;
2611 }
2612 closedir(d);
2613 }
2614 fossil_path_free(zNative);
2615 if( pazList ) (*pazList)[n] = 0;
2616 return n;
2617 }
2618 void file_directory_list_free(char **azList){
2619 char **az;
2620 if( azList==0 ) return;
2621 az = azList;
2622 while( az[0] ){
2623 fossil_free(az[0]);
2624 az++;
2625 }
2626 fossil_free(azList);
2627 }
2628
2629 /*
2630 ** COMMAND: test-dir-list
2631 **
2632 ** Usage: %fossil test-dir-list NAME [GLOB] [OPTIONS]
2633 **
2634 ** Return the names of up to N objects in the directory NAME. If GLOB is
2635 ** provided, then only show objects that match the GLOB pattern.
2636 **
2637 ** This command is intended for testing the file_directory_list() function.
2638 **
2639 ** Options:
2640 **
2641 ** --count Only count files, do not list them.
2642 ** --limit N Only show the first N files seen
2643 ** --nodots Do not show or count files that start with '.'
2644 */
2645 void test_dir_list_cmd(void){
2646 int omitDotFiles = find_option("nodots",0,0)!=0;
2647 const char *zLimit = find_option("limit",0,1);
2648 int countOnly = find_option("count",0,0)!=0;
2649 const char *zGlob;
2650 const char *zDir;
2651 char **azList = 0;
2652 int nList;
2653
2654 verify_all_options();
2655 if( g.argc!=3 && g.argc!=4 ){
2656 usage("NAME [GLOB] [-nodots]");
2657 }
2658 zDir = g.argv[2];
2659 zGlob = g.argc==4 ? g.argv[3] : 0;
2660 nList = file_directory_list(zDir, zGlob, omitDotFiles,
2661 zLimit ? atoi(zLimit) : 0,
2662 countOnly ? 0 : &azList);
2663 if( countOnly ){
2664 fossil_print("%d\n", nList);
2665 }else{
2666 int i;
2667 for(i=0; i<nList; i++){
2668 fossil_print(" %s\n", azList[i]);
2669 }
2670 }
2671 file_directory_list_free(azList);
2672 }
2673
2674 /*
2675 ** Internal helper for touch_cmd(). zAbsName must be resolvable as-is
2676 ** to an existing file - this function does not expand/normalize
2677
+12
--- src/main.mk
+++ src/main.mk
@@ -162,10 +162,11 @@
162162
$(SRCDIR)/wikiformat.c \
163163
$(SRCDIR)/winfile.c \
164164
$(SRCDIR)/winhttp.c \
165165
$(SRCDIR)/xfer.c \
166166
$(SRCDIR)/xfersetup.c \
167
+ $(SRCDIR)/xsystem.c \
167168
$(SRCDIR)/zip.c
168169
169170
EXTRA_FILES = \
170171
$(SRCDIR)/../extsrc/pikchr-worker.js \
171172
$(SRCDIR)/../extsrc/pikchr.js \
@@ -430,10 +431,11 @@
430431
$(OBJDIR)/wikiformat_.c \
431432
$(OBJDIR)/winfile_.c \
432433
$(OBJDIR)/winhttp_.c \
433434
$(OBJDIR)/xfer_.c \
434435
$(OBJDIR)/xfersetup_.c \
436
+ $(OBJDIR)/xsystem_.c \
435437
$(OBJDIR)/zip_.c
436438
437439
OBJ = \
438440
$(OBJDIR)/add.o \
439441
$(OBJDIR)/ajax.o \
@@ -581,10 +583,11 @@
581583
$(OBJDIR)/wikiformat.o \
582584
$(OBJDIR)/winfile.o \
583585
$(OBJDIR)/winhttp.o \
584586
$(OBJDIR)/xfer.o \
585587
$(OBJDIR)/xfersetup.o \
588
+ $(OBJDIR)/xsystem.o \
586589
$(OBJDIR)/zip.o
587590
all: $(APPNAME)
588591
589592
install: all
590593
mkdir -p $(INSTALLDIR)
@@ -925,10 +928,11 @@
925928
$(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
926929
$(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
927930
$(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
928931
$(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
929932
$(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
933
+ $(OBJDIR)/xsystem_.c:$(OBJDIR)/xsystem.h \
930934
$(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
931935
$(SRCDIR_extsrc)/pikchr.c:$(OBJDIR)/pikchr.h \
932936
$(SRCDIR_extsrc)/sqlite3.h \
933937
$(SRCDIR)/th.h \
934938
$(OBJDIR)/VERSION.h
@@ -2117,10 +2121,18 @@
21172121
21182122
$(OBJDIR)/xfersetup.o: $(OBJDIR)/xfersetup_.c $(OBJDIR)/xfersetup.h $(SRCDIR)/config.h
21192123
$(XTCC) -o $(OBJDIR)/xfersetup.o -c $(OBJDIR)/xfersetup_.c
21202124
21212125
$(OBJDIR)/xfersetup.h: $(OBJDIR)/headers
2126
+
2127
+$(OBJDIR)/xsystem_.c: $(SRCDIR)/xsystem.c $(OBJDIR)/translate
2128
+ $(OBJDIR)/translate $(SRCDIR)/xsystem.c >$@
2129
+
2130
+$(OBJDIR)/xsystem.o: $(OBJDIR)/xsystem_.c $(OBJDIR)/xsystem.h $(SRCDIR)/config.h
2131
+ $(XTCC) -o $(OBJDIR)/xsystem.o -c $(OBJDIR)/xsystem_.c
2132
+
2133
+$(OBJDIR)/xsystem.h: $(OBJDIR)/headers
21222134
21232135
$(OBJDIR)/zip_.c: $(SRCDIR)/zip.c $(OBJDIR)/translate
21242136
$(OBJDIR)/translate $(SRCDIR)/zip.c >$@
21252137
21262138
$(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
21272139
--- src/main.mk
+++ src/main.mk
@@ -162,10 +162,11 @@
162 $(SRCDIR)/wikiformat.c \
163 $(SRCDIR)/winfile.c \
164 $(SRCDIR)/winhttp.c \
165 $(SRCDIR)/xfer.c \
166 $(SRCDIR)/xfersetup.c \
 
167 $(SRCDIR)/zip.c
168
169 EXTRA_FILES = \
170 $(SRCDIR)/../extsrc/pikchr-worker.js \
171 $(SRCDIR)/../extsrc/pikchr.js \
@@ -430,10 +431,11 @@
430 $(OBJDIR)/wikiformat_.c \
431 $(OBJDIR)/winfile_.c \
432 $(OBJDIR)/winhttp_.c \
433 $(OBJDIR)/xfer_.c \
434 $(OBJDIR)/xfersetup_.c \
 
435 $(OBJDIR)/zip_.c
436
437 OBJ = \
438 $(OBJDIR)/add.o \
439 $(OBJDIR)/ajax.o \
@@ -581,10 +583,11 @@
581 $(OBJDIR)/wikiformat.o \
582 $(OBJDIR)/winfile.o \
583 $(OBJDIR)/winhttp.o \
584 $(OBJDIR)/xfer.o \
585 $(OBJDIR)/xfersetup.o \
 
586 $(OBJDIR)/zip.o
587 all: $(APPNAME)
588
589 install: all
590 mkdir -p $(INSTALLDIR)
@@ -925,10 +928,11 @@
925 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
926 $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
927 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
928 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
929 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
 
930 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
931 $(SRCDIR_extsrc)/pikchr.c:$(OBJDIR)/pikchr.h \
932 $(SRCDIR_extsrc)/sqlite3.h \
933 $(SRCDIR)/th.h \
934 $(OBJDIR)/VERSION.h
@@ -2117,10 +2121,18 @@
2117
2118 $(OBJDIR)/xfersetup.o: $(OBJDIR)/xfersetup_.c $(OBJDIR)/xfersetup.h $(SRCDIR)/config.h
2119 $(XTCC) -o $(OBJDIR)/xfersetup.o -c $(OBJDIR)/xfersetup_.c
2120
2121 $(OBJDIR)/xfersetup.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
2122
2123 $(OBJDIR)/zip_.c: $(SRCDIR)/zip.c $(OBJDIR)/translate
2124 $(OBJDIR)/translate $(SRCDIR)/zip.c >$@
2125
2126 $(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
2127
--- src/main.mk
+++ src/main.mk
@@ -162,10 +162,11 @@
162 $(SRCDIR)/wikiformat.c \
163 $(SRCDIR)/winfile.c \
164 $(SRCDIR)/winhttp.c \
165 $(SRCDIR)/xfer.c \
166 $(SRCDIR)/xfersetup.c \
167 $(SRCDIR)/xsystem.c \
168 $(SRCDIR)/zip.c
169
170 EXTRA_FILES = \
171 $(SRCDIR)/../extsrc/pikchr-worker.js \
172 $(SRCDIR)/../extsrc/pikchr.js \
@@ -430,10 +431,11 @@
431 $(OBJDIR)/wikiformat_.c \
432 $(OBJDIR)/winfile_.c \
433 $(OBJDIR)/winhttp_.c \
434 $(OBJDIR)/xfer_.c \
435 $(OBJDIR)/xfersetup_.c \
436 $(OBJDIR)/xsystem_.c \
437 $(OBJDIR)/zip_.c
438
439 OBJ = \
440 $(OBJDIR)/add.o \
441 $(OBJDIR)/ajax.o \
@@ -581,10 +583,11 @@
583 $(OBJDIR)/wikiformat.o \
584 $(OBJDIR)/winfile.o \
585 $(OBJDIR)/winhttp.o \
586 $(OBJDIR)/xfer.o \
587 $(OBJDIR)/xfersetup.o \
588 $(OBJDIR)/xsystem.o \
589 $(OBJDIR)/zip.o
590 all: $(APPNAME)
591
592 install: all
593 mkdir -p $(INSTALLDIR)
@@ -925,10 +928,11 @@
928 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
929 $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
930 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
931 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
932 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
933 $(OBJDIR)/xsystem_.c:$(OBJDIR)/xsystem.h \
934 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
935 $(SRCDIR_extsrc)/pikchr.c:$(OBJDIR)/pikchr.h \
936 $(SRCDIR_extsrc)/sqlite3.h \
937 $(SRCDIR)/th.h \
938 $(OBJDIR)/VERSION.h
@@ -2117,10 +2121,18 @@
2121
2122 $(OBJDIR)/xfersetup.o: $(OBJDIR)/xfersetup_.c $(OBJDIR)/xfersetup.h $(SRCDIR)/config.h
2123 $(XTCC) -o $(OBJDIR)/xfersetup.o -c $(OBJDIR)/xfersetup_.c
2124
2125 $(OBJDIR)/xfersetup.h: $(OBJDIR)/headers
2126
2127 $(OBJDIR)/xsystem_.c: $(SRCDIR)/xsystem.c $(OBJDIR)/translate
2128 $(OBJDIR)/translate $(SRCDIR)/xsystem.c >$@
2129
2130 $(OBJDIR)/xsystem.o: $(OBJDIR)/xsystem_.c $(OBJDIR)/xsystem.h $(SRCDIR)/config.h
2131 $(XTCC) -o $(OBJDIR)/xsystem.o -c $(OBJDIR)/xsystem_.c
2132
2133 $(OBJDIR)/xsystem.h: $(OBJDIR)/headers
2134
2135 $(OBJDIR)/zip_.c: $(SRCDIR)/zip.c $(OBJDIR)/translate
2136 $(OBJDIR)/translate $(SRCDIR)/zip.c >$@
2137
2138 $(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
2139
+1 -1
--- src/stat.c
+++ src/stat.c
@@ -94,11 +94,11 @@
9494
}else
9595
if( fossil_strcmp(zDest,"dir")==0
9696
&& (zDir = db_get("email-send-dir",0))!=0
9797
){
9898
@ Written to files in "%h(zDir)"
99
- @ (%,d(file_directory_size(zDir,0,1)) messages)
99
+ @ (%,d(file_directory_list(zDir,0,1,0,0)) messages)
100100
}else
101101
if( fossil_strcmp(zDest,"relay")==0
102102
&& (zRelay = db_get("email-send-relayhost",0))!=0
103103
){
104104
@ Relay to %h(zRelay) using SMTP
105105
--- src/stat.c
+++ src/stat.c
@@ -94,11 +94,11 @@
94 }else
95 if( fossil_strcmp(zDest,"dir")==0
96 && (zDir = db_get("email-send-dir",0))!=0
97 ){
98 @ Written to files in "%h(zDir)"
99 @ (%,d(file_directory_size(zDir,0,1)) messages)
100 }else
101 if( fossil_strcmp(zDest,"relay")==0
102 && (zRelay = db_get("email-send-relayhost",0))!=0
103 ){
104 @ Relay to %h(zRelay) using SMTP
105
--- src/stat.c
+++ src/stat.c
@@ -94,11 +94,11 @@
94 }else
95 if( fossil_strcmp(zDest,"dir")==0
96 && (zDir = db_get("email-send-dir",0))!=0
97 ){
98 @ Written to files in "%h(zDir)"
99 @ (%,d(file_directory_list(zDir,0,1,0,0)) messages)
100 }else
101 if( fossil_strcmp(zDest,"relay")==0
102 && (zRelay = db_get("email-send-relayhost",0))!=0
103 ){
104 @ Relay to %h(zRelay) using SMTP
105
-24
--- src/util.c
+++ src/util.c
@@ -995,34 +995,10 @@
995995
zPath += i;
996996
}
997997
return bFound;
998998
}
999999
1000
-/*
1001
-** COMMAND: which*
1002
-**
1003
-** Usage: fossil which [-a] NAME ...
1004
-**
1005
-** For each NAME mentioned as an argument, print the first location on the
1006
-** on PATH of the executable with that name. Or, show all locations on PATH
1007
-** for each argument if the -a option is used.
1008
-**
1009
-** This command is a substitute for the unix "which" command, which is not
1010
-** always available, especially on Windows.
1011
-*/
1012
-void test_app_on_path(void){
1013
- int i;
1014
- int ePrint = 1;
1015
- if( find_option("all","a",0)!=0 ) ePrint = 2;
1016
- verify_all_options();
1017
- for(i=2; i<g.argc; i++){
1018
- if( fossil_app_on_path(g.argv[i], ePrint)==0 ){
1019
- fossil_print("NOT FOUND: %s\n", g.argv[i]);
1020
- }
1021
- }
1022
-}
1023
-
10241000
/*
10251001
** Return the name of a command that will launch a web-browser.
10261002
*/
10271003
const char *fossil_web_browser(void){
10281004
const char *zBrowser = 0;
10291005
10301006
ADDED src/xsystem.c
--- src/util.c
+++ src/util.c
@@ -995,34 +995,10 @@
995 zPath += i;
996 }
997 return bFound;
998 }
999
1000 /*
1001 ** COMMAND: which*
1002 **
1003 ** Usage: fossil which [-a] NAME ...
1004 **
1005 ** For each NAME mentioned as an argument, print the first location on the
1006 ** on PATH of the executable with that name. Or, show all locations on PATH
1007 ** for each argument if the -a option is used.
1008 **
1009 ** This command is a substitute for the unix "which" command, which is not
1010 ** always available, especially on Windows.
1011 */
1012 void test_app_on_path(void){
1013 int i;
1014 int ePrint = 1;
1015 if( find_option("all","a",0)!=0 ) ePrint = 2;
1016 verify_all_options();
1017 for(i=2; i<g.argc; i++){
1018 if( fossil_app_on_path(g.argv[i], ePrint)==0 ){
1019 fossil_print("NOT FOUND: %s\n", g.argv[i]);
1020 }
1021 }
1022 }
1023
1024 /*
1025 ** Return the name of a command that will launch a web-browser.
1026 */
1027 const char *fossil_web_browser(void){
1028 const char *zBrowser = 0;
1029
1030 DDED src/xsystem.c
--- src/util.c
+++ src/util.c
@@ -995,34 +995,10 @@
995 zPath += i;
996 }
997 return bFound;
998 }
999
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1000 /*
1001 ** Return the name of a command that will launch a web-browser.
1002 */
1003 const char *fossil_web_browser(void){
1004 const char *zBrowser = 0;
1005
1006 DDED src/xsystem.c
+179
--- a/src/xsystem.c
+++ b/src/xsystem.c
@@ -0,0 +1,179 @@
1
+/*
2
+** Copyright (c) 2025 D. Richard Hipp
3
+**
4
+** This program is free software; you can redistribute it and/or
5
+** modify it under the terms of the Simplified BSD License (also
6
+** known as the "2-Clause License" or "FreeBSD License".)
7
+
8
+** This program is distributed in the hope that it will be useful,
9
+** but without any warranty; without even the implied warranty of
10
+** merchantability or fitness for a particular purpose.
11
+**
12
+** Author contact information:
13
+** [email protected]
14
+**
15
+*******************************************************************************
16
+**
17
+** This file contains code used to implement "fossil system ..." command.
18
+**
19
+** Fossil is frequently used by people familiar with Unix but who must
20
+** sometimes also work on Windows systems. The "fossil sys ..." command
21
+** provides a few work-arounds for command unix command-line utilitieif* help make development on W==1 ){
22
+x
23
+** users. The comnList = if( fossil_strcmplly cheap substitutesch unix counterparts. }else{
24
+e is called "xsystem.c" with the aList[1] = 0;
25
+ azList = aList;
26
+ nList = 1;
27
+ zPrefix = 0;de <windows.h>
28
+#endif
29
+
30
+
31
+/* Date and time */
32
+void xsystem_date(int ){
33
+ (void)argc;
34
+ (void)argv;
35
+ fossil_print("%z = ", cgi_iso8601_datestamp());
36
+ fossil_print("%z\n", cgi_rfc822_datestamp(time(0)));tory */
37
+void xsystem_pwd(int argc, char **argv){
38
+ char *zPwd = file_getcwd(0, 0);
39
+ fossil_print("%z\n", zPwd);
40
+}
41
+
42
+/* Implement "stty size" */
43
+void xsystem_stty(int argc, char **argv){
44
+ TerminalSize ts;
45
+ if( argc!=2 || strcmp(argv[1],"size" fossil_app_on_path(z, ePrint);
46
+ }else{
47
+ if( z[1]=='-' && z[2]!=0 ) z++;
48
+ if( fossil_strcmp(z,"-a")==0 ){
49
+ ePrint = 2;
50
+ }else
51
+ {
52
+ fossil_fatal("unknown option \"%s\"", argv[i]);
53
+ }
54
+ }
55
+ }
56
+}
57
+
58
+/*
59
+** Bit values for the mFlags paramater to "ls"
60
+*/
61
+#define LS_LONG 0x001 /* -l Long format - one object 1* -r azList = 0;
62
+);tory */
63
+void xsystem_pwd(0x08Pwd = file_getcwd(0, 0);
64
+
65
+}
66
+
67
+/* Implement "stty sizebreak;v){
68
+ TerminalSize ts;
69
+ if( argc!=2 || strcmp(argv[1],"size" fossil_app_on_path(z, ePrint);
70
+ }else{
71
+ if( z[1]=='-' && z[2]!=0 ) z++;
72
+ if( fossil_strcmp(z,"-a")==0 ){
73
+ ePrint = 2;
74
+ }else
75
+ {
76
+ fossil_fatal("unknown option \"%s\"", argv[i]);
77
+ }
78
+ }
79
+ }
80
+}
81
+
82
+/*
83
+** Bit values for the mFlags paramater to "ls"
84
+*/
85
+#define LS_LONG 0x001 /* -l Long format - one object per line */
86
+#define LS_REVERSE 0x002 /* -r Reverse the sort order */
87
+#define LS_MTIME 0x004 /* -t Sort by mtime, newest ve implementation that does *not* introduce color */
88
+static void nocolorNameFunc(
89
+ sqlite3_context *contema-separate list */
90
+ int mx = terminal_get_width(80);
91
+ int sumW = 0;
92
+ char *zSql;
93
+ zSql = mprintf("SELECT color(fn,mode), dlen FROM ls ORDER BYumW = w;
94
+ }else{
95
+ fossil_print(", %s", z);
96
+ sumW += w+2;
97
+ }
98
+ }
99
+ fossil_free(zSql);
100
+ sqlite3_finalize(pStmt);
101
+ nt bDesc = (mFlags & 0x02)!=0;
102
+ if( mFlags & 0x04 ) bDesc = !bDesc;
103
+ if( (mFlags & 0x01);
104
+ if( sumW>0 ) fossil_print("\n");
105
+ }else{
106
+ /* Column mode with jnt files "ls", 0);
107
+strftime('%%Y-%%m-%%d %%H:%%M',"rint("\n");
108
+ }el"t files "ls"0);
109
+}
110
+
111
+/* List files "ls"n with "."
112
+** %s",
113
+ if(lumn_text(pStmt, 0);
114
+ int w = sqlite3_column_int(pStmt, 1);
115
+ if( sumW==0 ){
116
+ fossil_print("%s", z);
117
+ sumW = w;
118
+ }else if( suOrderBy = mprintf("%s %s", (mFlagibute it and/or
119
+** modify it under the terms of the Simplified BSD License (also
120
+** known as the "2-Clause License" or "FreeBSD License".)
121
+
122
+** This program is distributed in the hope that it will be useful,
123
+** but without any warranty; without even the implied warranty of
124
+** merchantability or fitness for a particular purpose.
125
+**
126
+** Author contact information:
127
+** [email protected]
128
+**
129
+*******************************************************************************
130
+**
131
+** This file contains code used to implement "fossil system ..." command.
132
+**
133
+** Fossil is frequently used by people familiar with Unix but who must
134
+** sometimes also work on Windows systems. The "fossil sys ..." command
135
+** provides a few work-arounds for command unix command-line utilities to
136
+** help make development on Windows more habitable for long-time unix
137
+** users. The commands provided here are normally cheap substitutes to
138
+** their more feature-reach unix counterparts. But they are sufficient to
139
+** get the job done.
140
+**
141
+** This source code file is called "xsystem.c" with the 'x' up front because
142
+** if it were called "system.c", then makeheaders would generate a "system.h"
143
+** header file, and that might be connclude <windows.h>
144
+#endif
145
+
146
+
147
+/* Date and time */
148
+void xsystem_date(int ){
149
+ (void)argc;
150
+ (void)argv;
151
+ fossil_print("%z = ", cgi_iso8601_datestamp());
152
+ fossil_print("%z\n", cgi_rfc822_datestamp(time(0)));tory */
153
+void xsystem_pwd(int argc, char **argv){
154
+ char *zPwd = file_getcwd(0, 0);
155
+ fossil_print("%z\n", zPwd);
156
+}
157
+
158
+/* Implement "stty size" */
159
+void xsystem_stty(int argc, char **argv){
160
+ TerminalSize ts;
161
+ if( argc!=2 || strcmp(argv[1],"size" fossil_app_on_path(z, ePrint);
162
+ }else{
163
+ if( z[1]=='-' && z[2]!=0 ) z++;
164
+ if( fossil_strcmp(z,"-a")==0 ){
165
+ ePrint = 2;
166
+ }else
167
+ {
168
+ fossil_fatal("unknown option \"%s\"", argv[i]);
169
+ }
170
+ }
171
+ }
172
+}
173
+
174
+/*
175
+** Bit values for the mFlags paramater to "ls"
176
+*/
177
+#define LS_LONG 0x001 /* -l Long format - one object per line */
178
+#define LS_REVERSE 0x002 /* -r Reverse the sort order */
179
+#def
--- a/src/xsystem.c
+++ b/src/xsystem.c
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/src/xsystem.c
+++ b/src/xsystem.c
@@ -0,0 +1,179 @@
1 /*
2 ** Copyright (c) 2025 D. Richard Hipp
3 **
4 ** This program is free software; you can redistribute it and/or
5 ** modify it under the terms of the Simplified BSD License (also
6 ** known as the "2-Clause License" or "FreeBSD License".)
7
8 ** This program is distributed in the hope that it will be useful,
9 ** but without any warranty; without even the implied warranty of
10 ** merchantability or fitness for a particular purpose.
11 **
12 ** Author contact information:
13 ** [email protected]
14 **
15 *******************************************************************************
16 **
17 ** This file contains code used to implement "fossil system ..." command.
18 **
19 ** Fossil is frequently used by people familiar with Unix but who must
20 ** sometimes also work on Windows systems. The "fossil sys ..." command
21 ** provides a few work-arounds for command unix command-line utilitieif* help make development on W==1 ){
22 x
23 ** users. The comnList = if( fossil_strcmplly cheap substitutesch unix counterparts. }else{
24 e is called "xsystem.c" with the aList[1] = 0;
25 azList = aList;
26 nList = 1;
27 zPrefix = 0;de <windows.h>
28 #endif
29
30
31 /* Date and time */
32 void xsystem_date(int ){
33 (void)argc;
34 (void)argv;
35 fossil_print("%z = ", cgi_iso8601_datestamp());
36 fossil_print("%z\n", cgi_rfc822_datestamp(time(0)));tory */
37 void xsystem_pwd(int argc, char **argv){
38 char *zPwd = file_getcwd(0, 0);
39 fossil_print("%z\n", zPwd);
40 }
41
42 /* Implement "stty size" */
43 void xsystem_stty(int argc, char **argv){
44 TerminalSize ts;
45 if( argc!=2 || strcmp(argv[1],"size" fossil_app_on_path(z, ePrint);
46 }else{
47 if( z[1]=='-' && z[2]!=0 ) z++;
48 if( fossil_strcmp(z,"-a")==0 ){
49 ePrint = 2;
50 }else
51 {
52 fossil_fatal("unknown option \"%s\"", argv[i]);
53 }
54 }
55 }
56 }
57
58 /*
59 ** Bit values for the mFlags paramater to "ls"
60 */
61 #define LS_LONG 0x001 /* -l Long format - one object 1* -r azList = 0;
62 );tory */
63 void xsystem_pwd(0x08Pwd = file_getcwd(0, 0);
64
65 }
66
67 /* Implement "stty sizebreak;v){
68 TerminalSize ts;
69 if( argc!=2 || strcmp(argv[1],"size" fossil_app_on_path(z, ePrint);
70 }else{
71 if( z[1]=='-' && z[2]!=0 ) z++;
72 if( fossil_strcmp(z,"-a")==0 ){
73 ePrint = 2;
74 }else
75 {
76 fossil_fatal("unknown option \"%s\"", argv[i]);
77 }
78 }
79 }
80 }
81
82 /*
83 ** Bit values for the mFlags paramater to "ls"
84 */
85 #define LS_LONG 0x001 /* -l Long format - one object per line */
86 #define LS_REVERSE 0x002 /* -r Reverse the sort order */
87 #define LS_MTIME 0x004 /* -t Sort by mtime, newest ve implementation that does *not* introduce color */
88 static void nocolorNameFunc(
89 sqlite3_context *contema-separate list */
90 int mx = terminal_get_width(80);
91 int sumW = 0;
92 char *zSql;
93 zSql = mprintf("SELECT color(fn,mode), dlen FROM ls ORDER BYumW = w;
94 }else{
95 fossil_print(", %s", z);
96 sumW += w+2;
97 }
98 }
99 fossil_free(zSql);
100 sqlite3_finalize(pStmt);
101 nt bDesc = (mFlags & 0x02)!=0;
102 if( mFlags & 0x04 ) bDesc = !bDesc;
103 if( (mFlags & 0x01);
104 if( sumW>0 ) fossil_print("\n");
105 }else{
106 /* Column mode with jnt files "ls", 0);
107 strftime('%%Y-%%m-%%d %%H:%%M',"rint("\n");
108 }el"t files "ls"0);
109 }
110
111 /* List files "ls"n with "."
112 ** %s",
113 if(lumn_text(pStmt, 0);
114 int w = sqlite3_column_int(pStmt, 1);
115 if( sumW==0 ){
116 fossil_print("%s", z);
117 sumW = w;
118 }else if( suOrderBy = mprintf("%s %s", (mFlagibute it and/or
119 ** modify it under the terms of the Simplified BSD License (also
120 ** known as the "2-Clause License" or "FreeBSD License".)
121
122 ** This program is distributed in the hope that it will be useful,
123 ** but without any warranty; without even the implied warranty of
124 ** merchantability or fitness for a particular purpose.
125 **
126 ** Author contact information:
127 ** [email protected]
128 **
129 *******************************************************************************
130 **
131 ** This file contains code used to implement "fossil system ..." command.
132 **
133 ** Fossil is frequently used by people familiar with Unix but who must
134 ** sometimes also work on Windows systems. The "fossil sys ..." command
135 ** provides a few work-arounds for command unix command-line utilities to
136 ** help make development on Windows more habitable for long-time unix
137 ** users. The commands provided here are normally cheap substitutes to
138 ** their more feature-reach unix counterparts. But they are sufficient to
139 ** get the job done.
140 **
141 ** This source code file is called "xsystem.c" with the 'x' up front because
142 ** if it were called "system.c", then makeheaders would generate a "system.h"
143 ** header file, and that might be connclude <windows.h>
144 #endif
145
146
147 /* Date and time */
148 void xsystem_date(int ){
149 (void)argc;
150 (void)argv;
151 fossil_print("%z = ", cgi_iso8601_datestamp());
152 fossil_print("%z\n", cgi_rfc822_datestamp(time(0)));tory */
153 void xsystem_pwd(int argc, char **argv){
154 char *zPwd = file_getcwd(0, 0);
155 fossil_print("%z\n", zPwd);
156 }
157
158 /* Implement "stty size" */
159 void xsystem_stty(int argc, char **argv){
160 TerminalSize ts;
161 if( argc!=2 || strcmp(argv[1],"size" fossil_app_on_path(z, ePrint);
162 }else{
163 if( z[1]=='-' && z[2]!=0 ) z++;
164 if( fossil_strcmp(z,"-a")==0 ){
165 ePrint = 2;
166 }else
167 {
168 fossil_fatal("unknown option \"%s\"", argv[i]);
169 }
170 }
171 }
172 }
173
174 /*
175 ** Bit values for the mFlags paramater to "ls"
176 */
177 #define LS_LONG 0x001 /* -l Long format - one object per line */
178 #define LS_REVERSE 0x002 /* -r Reverse the sort order */
179 #def
--- tools/makemake.tcl
+++ tools/makemake.tcl
@@ -195,10 +195,11 @@
195195
wikiformat
196196
winfile
197197
winhttp
198198
xfer
199199
xfersetup
200
+ xsystem
200201
zip
201202
http_ssl
202203
}
203204
204205
# Source files which live under $srcDirExt, but only those for which
205206
--- tools/makemake.tcl
+++ tools/makemake.tcl
@@ -195,10 +195,11 @@
195 wikiformat
196 winfile
197 winhttp
198 xfer
199 xfersetup
 
200 zip
201 http_ssl
202 }
203
204 # Source files which live under $srcDirExt, but only those for which
205
--- tools/makemake.tcl
+++ tools/makemake.tcl
@@ -195,10 +195,11 @@
195 wikiformat
196 winfile
197 winhttp
198 xfer
199 xfersetup
200 xsystem
201 zip
202 http_ssl
203 }
204
205 # Source files which live under $srcDirExt, but only those for which
206
+10 -4
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -32,13 +32,13 @@
3232
3333
SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_SETLK_TIMEOUT -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DHAVE_USLEEP -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
3434
3535
PIKCHR_OPTIONS = -DPIKCHR_TOKEN_LIMIT=10000
3636
37
-SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c chat_.c checkin_.c checkout_.c clearsign_.c clone_.c color_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c interwiki_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c match_.c md5_.c merge_.c merge3_.c moderate_.c name_.c patch_.c path_.c piechart_.c pikchrshow_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c robot_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c xfer_.c xfersetup_.c zip_.c
37
+SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c chat_.c checkin_.c checkout_.c clearsign_.c clone_.c color_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c interwiki_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c match_.c md5_.c merge_.c merge3_.c moderate_.c name_.c patch_.c path_.c piechart_.c pikchrshow_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c robot_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c xfer_.c xfersetup_.c xsystem_.c zip_.c
3838
39
-OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\chat$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\color$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\interwiki$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\match$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\patch$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pikchrshow$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\robot$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
39
+OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\chat$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\color$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\interwiki$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\match$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\patch$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pikchrshow$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\robot$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\xsystem$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
4040
4141
4242
RC=$(DMDIR)\bin\rcc
4343
RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
4444
@@ -53,11 +53,11 @@
5353
5454
$(OBJDIR)\fossil.res: $B\win\fossil.rc
5555
$(RC) $(RCFLAGS) -o$@ $**
5656
5757
$(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
58
- +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi chat checkin checkout clearsign clone color comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info interwiki json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html match md5 merge merge3 moderate name patch path piechart pikchrshow pivot popen pqueue printf publish purge rebuild regexp repolist report robot rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp xfer xfersetup zip shell sqlite3 th th_lang > $@
58
+ +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi chat checkin checkout clearsign clone color comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info interwiki json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html match md5 merge merge3 moderate name patch path piechart pikchrshow pivot popen pqueue printf publish purge rebuild regexp repolist report robot rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp xfer xfersetup xsystem zip shell sqlite3 th th_lang > $@
5959
+echo fossil >> $@
6060
+echo fossil >> $@
6161
+echo $(LIBS) >> $@
6262
+echo. >> $@
6363
+echo fossil >> $@
@@ -1013,15 +1013,21 @@
10131013
$(OBJDIR)\xfersetup$O : xfersetup_.c xfersetup.h
10141014
$(TCC) -o$@ -c xfersetup_.c
10151015
10161016
xfersetup_.c : $(SRCDIR)\xfersetup.c
10171017
+translate$E $** > $@
1018
+
1019
+$(OBJDIR)\xsystem$O : xsystem_.c xsystem.h
1020
+ $(TCC) -o$@ -c xsystem_.c
1021
+
1022
+xsystem_.c : $(SRCDIR)\xsystem.c
1023
+ +translate$E $** > $@
10181024
10191025
$(OBJDIR)\zip$O : zip_.c zip.h
10201026
$(TCC) -o$@ -c zip_.c
10211027
10221028
zip_.c : $(SRCDIR)\zip.c
10231029
+translate$E $** > $@
10241030
10251031
headers: makeheaders$E page_index.h builtin_data.h VERSION.h
1026
- +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h chat_.c:chat.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h color_.c:color.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h interwiki_.c:interwiki.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h match_.c:match.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h patch_.c:patch.h path_.c:path.h piechart_.c:piechart.h pikchrshow_.c:pikchrshow.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h robot_.c:robot.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR_extsrc)\pikchr.c:pikchr.h $(SRCDIR_extsrc)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR_extsrc)\cson_amalgamation.h
1032
+ +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h chat_.c:chat.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h color_.c:color.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h interwiki_.c:interwiki.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h match_.c:match.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h patch_.c:patch.h path_.c:path.h piechart_.c:piechart.h pikchrshow_.c:pikchrshow.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h robot_.c:robot.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h xsystem_.c:xsystem.h zip_.c:zip.h $(SRCDIR_extsrc)\pikchr.c:pikchr.h $(SRCDIR_extsrc)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR_extsrc)\cson_amalgamation.h
10271033
@copy /Y nul: headers
10281034
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -32,13 +32,13 @@
32
33 SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_SETLK_TIMEOUT -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DHAVE_USLEEP -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
34
35 PIKCHR_OPTIONS = -DPIKCHR_TOKEN_LIMIT=10000
36
37 SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c chat_.c checkin_.c checkout_.c clearsign_.c clone_.c color_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c interwiki_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c match_.c md5_.c merge_.c merge3_.c moderate_.c name_.c patch_.c path_.c piechart_.c pikchrshow_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c robot_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c xfer_.c xfersetup_.c zip_.c
38
39 OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\chat$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\color$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\interwiki$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\match$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\patch$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pikchrshow$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\robot$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
40
41
42 RC=$(DMDIR)\bin\rcc
43 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
44
@@ -53,11 +53,11 @@
53
54 $(OBJDIR)\fossil.res: $B\win\fossil.rc
55 $(RC) $(RCFLAGS) -o$@ $**
56
57 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
58 +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi chat checkin checkout clearsign clone color comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info interwiki json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html match md5 merge merge3 moderate name patch path piechart pikchrshow pivot popen pqueue printf publish purge rebuild regexp repolist report robot rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp xfer xfersetup zip shell sqlite3 th th_lang > $@
59 +echo fossil >> $@
60 +echo fossil >> $@
61 +echo $(LIBS) >> $@
62 +echo. >> $@
63 +echo fossil >> $@
@@ -1013,15 +1013,21 @@
1013 $(OBJDIR)\xfersetup$O : xfersetup_.c xfersetup.h
1014 $(TCC) -o$@ -c xfersetup_.c
1015
1016 xfersetup_.c : $(SRCDIR)\xfersetup.c
1017 +translate$E $** > $@
 
 
 
 
 
 
1018
1019 $(OBJDIR)\zip$O : zip_.c zip.h
1020 $(TCC) -o$@ -c zip_.c
1021
1022 zip_.c : $(SRCDIR)\zip.c
1023 +translate$E $** > $@
1024
1025 headers: makeheaders$E page_index.h builtin_data.h VERSION.h
1026 +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h chat_.c:chat.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h color_.c:color.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h interwiki_.c:interwiki.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h match_.c:match.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h patch_.c:patch.h path_.c:path.h piechart_.c:piechart.h pikchrshow_.c:pikchrshow.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h robot_.c:robot.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR_extsrc)\pikchr.c:pikchr.h $(SRCDIR_extsrc)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR_extsrc)\cson_amalgamation.h
1027 @copy /Y nul: headers
1028
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -32,13 +32,13 @@
32
33 SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_SETLK_TIMEOUT -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DHAVE_USLEEP -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
34
35 PIKCHR_OPTIONS = -DPIKCHR_TOKEN_LIMIT=10000
36
37 SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c chat_.c checkin_.c checkout_.c clearsign_.c clone_.c color_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c interwiki_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c match_.c md5_.c merge_.c merge3_.c moderate_.c name_.c patch_.c path_.c piechart_.c pikchrshow_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c robot_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c xfer_.c xfersetup_.c xsystem_.c zip_.c
38
39 OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\chat$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\color$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\interwiki$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\match$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\patch$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pikchrshow$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\robot$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\xsystem$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
40
41
42 RC=$(DMDIR)\bin\rcc
43 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
44
@@ -53,11 +53,11 @@
53
54 $(OBJDIR)\fossil.res: $B\win\fossil.rc
55 $(RC) $(RCFLAGS) -o$@ $**
56
57 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
58 +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi chat checkin checkout clearsign clone color comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info interwiki json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html match md5 merge merge3 moderate name patch path piechart pikchrshow pivot popen pqueue printf publish purge rebuild regexp repolist report robot rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp xfer xfersetup xsystem zip shell sqlite3 th th_lang > $@
59 +echo fossil >> $@
60 +echo fossil >> $@
61 +echo $(LIBS) >> $@
62 +echo. >> $@
63 +echo fossil >> $@
@@ -1013,15 +1013,21 @@
1013 $(OBJDIR)\xfersetup$O : xfersetup_.c xfersetup.h
1014 $(TCC) -o$@ -c xfersetup_.c
1015
1016 xfersetup_.c : $(SRCDIR)\xfersetup.c
1017 +translate$E $** > $@
1018
1019 $(OBJDIR)\xsystem$O : xsystem_.c xsystem.h
1020 $(TCC) -o$@ -c xsystem_.c
1021
1022 xsystem_.c : $(SRCDIR)\xsystem.c
1023 +translate$E $** > $@
1024
1025 $(OBJDIR)\zip$O : zip_.c zip.h
1026 $(TCC) -o$@ -c zip_.c
1027
1028 zip_.c : $(SRCDIR)\zip.c
1029 +translate$E $** > $@
1030
1031 headers: makeheaders$E page_index.h builtin_data.h VERSION.h
1032 +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h chat_.c:chat.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h color_.c:color.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h interwiki_.c:interwiki.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h match_.c:match.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h patch_.c:patch.h path_.c:path.h piechart_.c:piechart.h pikchrshow_.c:pikchrshow.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h robot_.c:robot.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h xsystem_.c:xsystem.h zip_.c:zip.h $(SRCDIR_extsrc)\pikchr.c:pikchr.h $(SRCDIR_extsrc)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR_extsrc)\cson_amalgamation.h
1033 @copy /Y nul: headers
1034
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -548,10 +548,11 @@
548548
$(SRCDIR)/wikiformat.c \
549549
$(SRCDIR)/winfile.c \
550550
$(SRCDIR)/winhttp.c \
551551
$(SRCDIR)/xfer.c \
552552
$(SRCDIR)/xfersetup.c \
553
+ $(SRCDIR)/xsystem.c \
553554
$(SRCDIR)/zip.c
554555
555556
EXTRA_FILES = \
556557
$(SRCDIR)/../extsrc/pikchr-worker.js \
557558
$(SRCDIR)/../extsrc/pikchr.js \
@@ -816,10 +817,11 @@
816817
$(OBJDIR)/wikiformat_.c \
817818
$(OBJDIR)/winfile_.c \
818819
$(OBJDIR)/winhttp_.c \
819820
$(OBJDIR)/xfer_.c \
820821
$(OBJDIR)/xfersetup_.c \
822
+ $(OBJDIR)/xsystem_.c \
821823
$(OBJDIR)/zip_.c
822824
823825
OBJ = \
824826
$(OBJDIR)/add.o \
825827
$(OBJDIR)/ajax.o \
@@ -967,10 +969,11 @@
967969
$(OBJDIR)/wikiformat.o \
968970
$(OBJDIR)/winfile.o \
969971
$(OBJDIR)/winhttp.o \
970972
$(OBJDIR)/xfer.o \
971973
$(OBJDIR)/xfersetup.o \
974
+ $(OBJDIR)/xsystem.o \
972975
$(OBJDIR)/zip.o
973976
974977
APPNAME = fossil.exe
975978
APPTARGETS =
976979
@@ -1322,10 +1325,11 @@
13221325
$(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
13231326
$(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
13241327
$(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
13251328
$(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
13261329
$(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
1330
+ $(OBJDIR)/xsystem_.c:$(OBJDIR)/xsystem.h \
13271331
$(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
13281332
$(SRCDIR_extsrc)/pikchr.c:$(OBJDIR)/pikchr.h \
13291333
$(SRCDIR_extsrc)/sqlite3.h \
13301334
$(SRCDIR)/th.h \
13311335
$(OBJDIR)/VERSION.h
@@ -2516,10 +2520,18 @@
25162520
25172521
$(OBJDIR)/xfersetup.o: $(OBJDIR)/xfersetup_.c $(OBJDIR)/xfersetup.h $(SRCDIR)/config.h
25182522
$(XTCC) -o $(OBJDIR)/xfersetup.o -c $(OBJDIR)/xfersetup_.c
25192523
25202524
$(OBJDIR)/xfersetup.h: $(OBJDIR)/headers
2525
+
2526
+$(OBJDIR)/xsystem_.c: $(SRCDIR)/xsystem.c $(TRANSLATE)
2527
+ $(TRANSLATE) $(SRCDIR)/xsystem.c >$@
2528
+
2529
+$(OBJDIR)/xsystem.o: $(OBJDIR)/xsystem_.c $(OBJDIR)/xsystem.h $(SRCDIR)/config.h
2530
+ $(XTCC) -o $(OBJDIR)/xsystem.o -c $(OBJDIR)/xsystem_.c
2531
+
2532
+$(OBJDIR)/xsystem.h: $(OBJDIR)/headers
25212533
25222534
$(OBJDIR)/zip_.c: $(SRCDIR)/zip.c $(TRANSLATE)
25232535
$(TRANSLATE) $(SRCDIR)/zip.c >$@
25242536
25252537
$(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
25262538
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -548,10 +548,11 @@
548 $(SRCDIR)/wikiformat.c \
549 $(SRCDIR)/winfile.c \
550 $(SRCDIR)/winhttp.c \
551 $(SRCDIR)/xfer.c \
552 $(SRCDIR)/xfersetup.c \
 
553 $(SRCDIR)/zip.c
554
555 EXTRA_FILES = \
556 $(SRCDIR)/../extsrc/pikchr-worker.js \
557 $(SRCDIR)/../extsrc/pikchr.js \
@@ -816,10 +817,11 @@
816 $(OBJDIR)/wikiformat_.c \
817 $(OBJDIR)/winfile_.c \
818 $(OBJDIR)/winhttp_.c \
819 $(OBJDIR)/xfer_.c \
820 $(OBJDIR)/xfersetup_.c \
 
821 $(OBJDIR)/zip_.c
822
823 OBJ = \
824 $(OBJDIR)/add.o \
825 $(OBJDIR)/ajax.o \
@@ -967,10 +969,11 @@
967 $(OBJDIR)/wikiformat.o \
968 $(OBJDIR)/winfile.o \
969 $(OBJDIR)/winhttp.o \
970 $(OBJDIR)/xfer.o \
971 $(OBJDIR)/xfersetup.o \
 
972 $(OBJDIR)/zip.o
973
974 APPNAME = fossil.exe
975 APPTARGETS =
976
@@ -1322,10 +1325,11 @@
1322 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
1323 $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
1324 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
1325 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
1326 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
 
1327 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
1328 $(SRCDIR_extsrc)/pikchr.c:$(OBJDIR)/pikchr.h \
1329 $(SRCDIR_extsrc)/sqlite3.h \
1330 $(SRCDIR)/th.h \
1331 $(OBJDIR)/VERSION.h
@@ -2516,10 +2520,18 @@
2516
2517 $(OBJDIR)/xfersetup.o: $(OBJDIR)/xfersetup_.c $(OBJDIR)/xfersetup.h $(SRCDIR)/config.h
2518 $(XTCC) -o $(OBJDIR)/xfersetup.o -c $(OBJDIR)/xfersetup_.c
2519
2520 $(OBJDIR)/xfersetup.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
2521
2522 $(OBJDIR)/zip_.c: $(SRCDIR)/zip.c $(TRANSLATE)
2523 $(TRANSLATE) $(SRCDIR)/zip.c >$@
2524
2525 $(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
2526
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -548,10 +548,11 @@
548 $(SRCDIR)/wikiformat.c \
549 $(SRCDIR)/winfile.c \
550 $(SRCDIR)/winhttp.c \
551 $(SRCDIR)/xfer.c \
552 $(SRCDIR)/xfersetup.c \
553 $(SRCDIR)/xsystem.c \
554 $(SRCDIR)/zip.c
555
556 EXTRA_FILES = \
557 $(SRCDIR)/../extsrc/pikchr-worker.js \
558 $(SRCDIR)/../extsrc/pikchr.js \
@@ -816,10 +817,11 @@
817 $(OBJDIR)/wikiformat_.c \
818 $(OBJDIR)/winfile_.c \
819 $(OBJDIR)/winhttp_.c \
820 $(OBJDIR)/xfer_.c \
821 $(OBJDIR)/xfersetup_.c \
822 $(OBJDIR)/xsystem_.c \
823 $(OBJDIR)/zip_.c
824
825 OBJ = \
826 $(OBJDIR)/add.o \
827 $(OBJDIR)/ajax.o \
@@ -967,10 +969,11 @@
969 $(OBJDIR)/wikiformat.o \
970 $(OBJDIR)/winfile.o \
971 $(OBJDIR)/winhttp.o \
972 $(OBJDIR)/xfer.o \
973 $(OBJDIR)/xfersetup.o \
974 $(OBJDIR)/xsystem.o \
975 $(OBJDIR)/zip.o
976
977 APPNAME = fossil.exe
978 APPTARGETS =
979
@@ -1322,10 +1325,11 @@
1325 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
1326 $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
1327 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
1328 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
1329 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
1330 $(OBJDIR)/xsystem_.c:$(OBJDIR)/xsystem.h \
1331 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
1332 $(SRCDIR_extsrc)/pikchr.c:$(OBJDIR)/pikchr.h \
1333 $(SRCDIR_extsrc)/sqlite3.h \
1334 $(SRCDIR)/th.h \
1335 $(OBJDIR)/VERSION.h
@@ -2516,10 +2520,18 @@
2520
2521 $(OBJDIR)/xfersetup.o: $(OBJDIR)/xfersetup_.c $(OBJDIR)/xfersetup.h $(SRCDIR)/config.h
2522 $(XTCC) -o $(OBJDIR)/xfersetup.o -c $(OBJDIR)/xfersetup_.c
2523
2524 $(OBJDIR)/xfersetup.h: $(OBJDIR)/headers
2525
2526 $(OBJDIR)/xsystem_.c: $(SRCDIR)/xsystem.c $(TRANSLATE)
2527 $(TRANSLATE) $(SRCDIR)/xsystem.c >$@
2528
2529 $(OBJDIR)/xsystem.o: $(OBJDIR)/xsystem_.c $(OBJDIR)/xsystem.h $(SRCDIR)/config.h
2530 $(XTCC) -o $(OBJDIR)/xsystem.o -c $(OBJDIR)/xsystem_.c
2531
2532 $(OBJDIR)/xsystem.h: $(OBJDIR)/headers
2533
2534 $(OBJDIR)/zip_.c: $(SRCDIR)/zip.c $(TRANSLATE)
2535 $(TRANSLATE) $(SRCDIR)/zip.c >$@
2536
2537 $(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
2538
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -510,10 +510,11 @@
510510
"$(OX)\wikiformat_.c" \
511511
"$(OX)\winfile_.c" \
512512
"$(OX)\winhttp_.c" \
513513
"$(OX)\xfer_.c" \
514514
"$(OX)\xfersetup_.c" \
515
+ "$(OX)\xsystem_.c" \
515516
"$(OX)\zip_.c" \
516517
"$(SRCDIR_extsrc)\pikchr.c"
517518
518519
EXTRA_FILES = "$(SRCDIR)\..\extsrc\pikchr-worker.js" \
519520
"$(SRCDIR)\..\extsrc\pikchr.js" \
@@ -784,10 +785,11 @@
784785
"$(OX)\wikiformat$O" \
785786
"$(OX)\winfile$O" \
786787
"$(OX)\winhttp$O" \
787788
"$(OX)\xfer$O" \
788789
"$(OX)\xfersetup$O" \
790
+ "$(OX)\xsystem$O" \
789791
"$(OX)\zip$O" \
790792
"$(OX)\fossil.res"
791793
792794
793795
!ifndef BASEAPPNAME
@@ -1035,10 +1037,11 @@
10351037
echo "$(OX)\wikiformat.obj" >> $@
10361038
echo "$(OX)\winfile.obj" >> $@
10371039
echo "$(OX)\winhttp.obj" >> $@
10381040
echo "$(OX)\xfer.obj" >> $@
10391041
echo "$(OX)\xfersetup.obj" >> $@
1042
+ echo "$(OX)\xsystem.obj" >> $@
10401043
echo "$(OX)\zip.obj" >> $@
10411044
echo $(LIBS) >> $@
10421045
10431046
"$(OBJDIR)\translate$E": "$(SRCDIR_tools)\translate.c"
10441047
$(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $**
@@ -2152,10 +2155,16 @@
21522155
"$(OX)\xfersetup$O" : "$(OX)\xfersetup_.c" "$(OX)\xfersetup.h"
21532156
$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfersetup_.c"
21542157
21552158
"$(OX)\xfersetup_.c" : "$(SRCDIR)\xfersetup.c"
21562159
"$(OBJDIR)\translate$E" $** > $@
2160
+
2161
+"$(OX)\xsystem$O" : "$(OX)\xsystem_.c" "$(OX)\xsystem.h"
2162
+ $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xsystem_.c"
2163
+
2164
+"$(OX)\xsystem_.c" : "$(SRCDIR)\xsystem.c"
2165
+ "$(OBJDIR)\translate$E" $** > $@
21572166
21582167
"$(OX)\zip$O" : "$(OX)\zip_.c" "$(OX)\zip.h"
21592168
$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\zip_.c"
21602169
21612170
"$(OX)\zip_.c" : "$(SRCDIR)\zip.c"
@@ -2311,12 +2320,13 @@
23112320
"$(OX)\wikiformat_.c":"$(OX)\wikiformat.h" \
23122321
"$(OX)\winfile_.c":"$(OX)\winfile.h" \
23132322
"$(OX)\winhttp_.c":"$(OX)\winhttp.h" \
23142323
"$(OX)\xfer_.c":"$(OX)\xfer.h" \
23152324
"$(OX)\xfersetup_.c":"$(OX)\xfersetup.h" \
2325
+ "$(OX)\xsystem_.c":"$(OX)\xsystem.h" \
23162326
"$(OX)\zip_.c":"$(OX)\zip.h" \
23172327
"$(SRCDIR_extsrc)\pikchr.c":"$(OX)\pikchr.h" \
23182328
"$(SRCDIR_extsrc)\sqlite3.h" \
23192329
"$(SRCDIR)\th.h" \
23202330
"$(OX)\VERSION.h" \
23212331
"$(SRCDIR_extsrc)\cson_amalgamation.h"
23222332
@copy /Y nul: $@
23232333
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -510,10 +510,11 @@
510 "$(OX)\wikiformat_.c" \
511 "$(OX)\winfile_.c" \
512 "$(OX)\winhttp_.c" \
513 "$(OX)\xfer_.c" \
514 "$(OX)\xfersetup_.c" \
 
515 "$(OX)\zip_.c" \
516 "$(SRCDIR_extsrc)\pikchr.c"
517
518 EXTRA_FILES = "$(SRCDIR)\..\extsrc\pikchr-worker.js" \
519 "$(SRCDIR)\..\extsrc\pikchr.js" \
@@ -784,10 +785,11 @@
784 "$(OX)\wikiformat$O" \
785 "$(OX)\winfile$O" \
786 "$(OX)\winhttp$O" \
787 "$(OX)\xfer$O" \
788 "$(OX)\xfersetup$O" \
 
789 "$(OX)\zip$O" \
790 "$(OX)\fossil.res"
791
792
793 !ifndef BASEAPPNAME
@@ -1035,10 +1037,11 @@
1035 echo "$(OX)\wikiformat.obj" >> $@
1036 echo "$(OX)\winfile.obj" >> $@
1037 echo "$(OX)\winhttp.obj" >> $@
1038 echo "$(OX)\xfer.obj" >> $@
1039 echo "$(OX)\xfersetup.obj" >> $@
 
1040 echo "$(OX)\zip.obj" >> $@
1041 echo $(LIBS) >> $@
1042
1043 "$(OBJDIR)\translate$E": "$(SRCDIR_tools)\translate.c"
1044 $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $**
@@ -2152,10 +2155,16 @@
2152 "$(OX)\xfersetup$O" : "$(OX)\xfersetup_.c" "$(OX)\xfersetup.h"
2153 $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfersetup_.c"
2154
2155 "$(OX)\xfersetup_.c" : "$(SRCDIR)\xfersetup.c"
2156 "$(OBJDIR)\translate$E" $** > $@
 
 
 
 
 
 
2157
2158 "$(OX)\zip$O" : "$(OX)\zip_.c" "$(OX)\zip.h"
2159 $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\zip_.c"
2160
2161 "$(OX)\zip_.c" : "$(SRCDIR)\zip.c"
@@ -2311,12 +2320,13 @@
2311 "$(OX)\wikiformat_.c":"$(OX)\wikiformat.h" \
2312 "$(OX)\winfile_.c":"$(OX)\winfile.h" \
2313 "$(OX)\winhttp_.c":"$(OX)\winhttp.h" \
2314 "$(OX)\xfer_.c":"$(OX)\xfer.h" \
2315 "$(OX)\xfersetup_.c":"$(OX)\xfersetup.h" \
 
2316 "$(OX)\zip_.c":"$(OX)\zip.h" \
2317 "$(SRCDIR_extsrc)\pikchr.c":"$(OX)\pikchr.h" \
2318 "$(SRCDIR_extsrc)\sqlite3.h" \
2319 "$(SRCDIR)\th.h" \
2320 "$(OX)\VERSION.h" \
2321 "$(SRCDIR_extsrc)\cson_amalgamation.h"
2322 @copy /Y nul: $@
2323
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -510,10 +510,11 @@
510 "$(OX)\wikiformat_.c" \
511 "$(OX)\winfile_.c" \
512 "$(OX)\winhttp_.c" \
513 "$(OX)\xfer_.c" \
514 "$(OX)\xfersetup_.c" \
515 "$(OX)\xsystem_.c" \
516 "$(OX)\zip_.c" \
517 "$(SRCDIR_extsrc)\pikchr.c"
518
519 EXTRA_FILES = "$(SRCDIR)\..\extsrc\pikchr-worker.js" \
520 "$(SRCDIR)\..\extsrc\pikchr.js" \
@@ -784,10 +785,11 @@
785 "$(OX)\wikiformat$O" \
786 "$(OX)\winfile$O" \
787 "$(OX)\winhttp$O" \
788 "$(OX)\xfer$O" \
789 "$(OX)\xfersetup$O" \
790 "$(OX)\xsystem$O" \
791 "$(OX)\zip$O" \
792 "$(OX)\fossil.res"
793
794
795 !ifndef BASEAPPNAME
@@ -1035,10 +1037,11 @@
1037 echo "$(OX)\wikiformat.obj" >> $@
1038 echo "$(OX)\winfile.obj" >> $@
1039 echo "$(OX)\winhttp.obj" >> $@
1040 echo "$(OX)\xfer.obj" >> $@
1041 echo "$(OX)\xfersetup.obj" >> $@
1042 echo "$(OX)\xsystem.obj" >> $@
1043 echo "$(OX)\zip.obj" >> $@
1044 echo $(LIBS) >> $@
1045
1046 "$(OBJDIR)\translate$E": "$(SRCDIR_tools)\translate.c"
1047 $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $**
@@ -2152,10 +2155,16 @@
2155 "$(OX)\xfersetup$O" : "$(OX)\xfersetup_.c" "$(OX)\xfersetup.h"
2156 $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfersetup_.c"
2157
2158 "$(OX)\xfersetup_.c" : "$(SRCDIR)\xfersetup.c"
2159 "$(OBJDIR)\translate$E" $** > $@
2160
2161 "$(OX)\xsystem$O" : "$(OX)\xsystem_.c" "$(OX)\xsystem.h"
2162 $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xsystem_.c"
2163
2164 "$(OX)\xsystem_.c" : "$(SRCDIR)\xsystem.c"
2165 "$(OBJDIR)\translate$E" $** > $@
2166
2167 "$(OX)\zip$O" : "$(OX)\zip_.c" "$(OX)\zip.h"
2168 $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\zip_.c"
2169
2170 "$(OX)\zip_.c" : "$(SRCDIR)\zip.c"
@@ -2311,12 +2320,13 @@
2320 "$(OX)\wikiformat_.c":"$(OX)\wikiformat.h" \
2321 "$(OX)\winfile_.c":"$(OX)\winfile.h" \
2322 "$(OX)\winhttp_.c":"$(OX)\winhttp.h" \
2323 "$(OX)\xfer_.c":"$(OX)\xfer.h" \
2324 "$(OX)\xfersetup_.c":"$(OX)\xfersetup.h" \
2325 "$(OX)\xsystem_.c":"$(OX)\xsystem.h" \
2326 "$(OX)\zip_.c":"$(OX)\zip.h" \
2327 "$(SRCDIR_extsrc)\pikchr.c":"$(OX)\pikchr.h" \
2328 "$(SRCDIR_extsrc)\sqlite3.h" \
2329 "$(SRCDIR)\th.h" \
2330 "$(OX)\VERSION.h" \
2331 "$(SRCDIR_extsrc)\cson_amalgamation.h"
2332 @copy /Y nul: $@
2333

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button