Fossil SCM

Add the "builtin_file()" internal interface for accessing whole files compiled into the executable as byte-arrays. Use this new mechanism to split out the TCL source code for the diff viewer (for the --tk option) into a separate source file.

drh 2014-10-27 17:26 trunk merge
Commit db6a8e8d3c9882efe3c8d85b12f43142f0e0da17
--- a/src/builtin.c
+++ b/src/builtin.c
@@ -0,0 +1 @@
1
+sizeof(aBuiltinFilesizeof(aBuiltinFil/if(==0 )
--- a/src/builtin.c
+++ b/src/builtin.c
@@ -0,0 +1 @@
 
--- a/src/builtin.c
+++ b/src/builtin.c
@@ -0,0 +1 @@
1 sizeof(aBuiltinFilesizeof(aBuiltinFil/if(==0 )

No diff available

+1 -387
--- src/diffcmd.c
+++ src/diffcmd.c
@@ -617,396 +617,10 @@
617617
zName = "diff-command";
618618
}
619619
return db_get(zName, zDefault);
620620
}
621621
622
-/* A Tcl/Tk script used to render diff output.
623
-*/
624
-static const char zDiffScript[] =
625
-@ set prog {
626
-@ package require Tk
627
-@
628
-@ array set CFG {
629
-@ TITLE {Fossil Diff}
630
-@ LN_COL_BG #dddddd
631
-@ LN_COL_FG #444444
632
-@ TXT_COL_BG #ffffff
633
-@ TXT_COL_FG #000000
634
-@ MKR_COL_BG #444444
635
-@ MKR_COL_FG #dddddd
636
-@ CHNG_BG #d0d0ff
637
-@ ADD_BG #c0ffc0
638
-@ RM_BG #ffc0c0
639
-@ HR_FG #888888
640
-@ HR_PAD_TOP 4
641
-@ HR_PAD_BTM 8
642
-@ FN_BG #444444
643
-@ FN_FG #ffffff
644
-@ FN_PAD 5
645
-@ ERR_FG #ee0000
646
-@ PADX 5
647
-@ WIDTH 80
648
-@ HEIGHT 45
649
-@ LB_HEIGHT 25
650
-@ }
651
-@
652
-@ if {![namespace exists ttk]} {
653
-@ interp alias {} ::ttk::scrollbar {} ::scrollbar
654
-@ interp alias {} ::ttk::menubutton {} ::menubutton
655
-@ }
656
-@
657
-@ proc dehtml {x} {
658
-@ set x [regsub -all {<[^>]*>} $x {}]
659
-@ return [string map {&amp; & &lt; < &gt; > &#39; ' &quot; \"} $x]
660
-@ }
661
-@
662
-@ proc cols {} {
663
-@ return [list .lnA .txtA .mkr .lnB .txtB]
664
-@ }
665
-@
666
-@ proc colType {c} {
667
-@ regexp {[a-z]+} $c type
668
-@ return $type
669
-@ }
670
-@
671
-@ proc getLine {difftxt N iivar} {
672
-@ upvar $iivar ii
673
-@ if {$ii>=$N} {return -1}
674
-@ set x [lindex $difftxt $ii]
675
-@ incr ii
676
-@ return $x
677
-@ }
678
-@
679
-@ proc readDiffs {fossilcmd} {
680
-@ global difftxt
681
-@ if {![info exists difftxt]} {
682
-@ set in [open $fossilcmd r]
683
-@ fconfigure $in -encoding utf-8
684
-@ set difftxt [split [read $in] \n]
685
-@ close $in
686
-@ }
687
-@ set N [llength $difftxt]
688
-@ set ii 0
689
-@ set nDiffs 0
690
-@ array set widths {txt 0 ln 0 mkr 0}
691
-@ while {[set line [getLine $difftxt $N ii]] != -1} {
692
-@ set fn2 {}
693
-@ if {![regexp {^=+ (.*?) =+ versus =+ (.*?) =+$} $line all fn fn2]
694
-@ && ![regexp {^=+ (.*?) =+$} $line all fn]
695
-@ } {
696
-@ continue
697
-@ }
698
-@ set errMsg ""
699
-@ set line [getLine $difftxt $N ii]
700
-@ if {[string compare -length 6 $line "<table"]
701
-@ && ![regexp {<p[^>]*>(.+)} $line - errMsg]} {
702
-@ continue
703
-@ }
704
-@ incr nDiffs
705
-@ set idx [expr {$nDiffs > 1 ? [.txtA index end] : "1.0"}]
706
-@ .wfiles.lb insert end $fn
707
-@
708
-@ foreach c [cols] {
709
-@ if {$nDiffs > 1} {
710
-@ $c insert end \n -
711
-@ }
712
-@ if {[colType $c] eq "txt"} {
713
-@ $c insert end $fn\n fn
714
-@ if {$fn2!=""} {set fn $fn2}
715
-@ } else {
716
-@ $c insert end \n fn
717
-@ }
718
-@ $c insert end \n -
719
-@
720
-@ if {$errMsg ne ""} continue
721
-@ while {[getLine $difftxt $N ii] ne "<pre>"} continue
722
-@ set type [colType $c]
723
-@ set str {}
724
-@ while {[set line [getLine $difftxt $N ii]] ne "</pre>"} {
725
-@ set len [string length [dehtml $line]]
726
-@ if {$len > $widths($type)} {
727
-@ set widths($type) $len
728
-@ }
729
-@ append str $line\n
730
-@ }
731
-@
732
-@ set re {<span class="diff([a-z]+)">([^<]*)</span>}
733
-@ # Use \r as separator since it can't appear in the diff output (it gets
734
-@ # converted to a space).
735
-@ set str [regsub -all $re $str "\r\\1\r\\2\r"]
736
-@ foreach {pre class mid} [split $str \r] {
737
-@ if {$class ne ""} {
738
-@ $c insert end [dehtml $pre] - [dehtml $mid] [list $class -]
739
-@ } else {
740
-@ $c insert end [dehtml $pre] -
741
-@ }
742
-@ }
743
-@ }
744
-@
745
-@ if {$errMsg ne ""} {
746
-@ foreach c {.txtA .txtB} {$c insert end [string trim $errMsg] err}
747
-@ foreach c [cols] {$c insert end \n -}
748
-@ }
749
-@ }
750
-@
751
-@ foreach c [cols] {
752
-@ set type [colType $c]
753
-@ if {$type ne "txt"} {
754
-@ $c config -width $widths($type)
755
-@ }
756
-@ $c config -state disabled
757
-@ }
758
-@ if {$nDiffs <= [.wfiles.lb cget -height]} {
759
-@ .wfiles.lb config -height $nDiffs
760
-@ grid remove .wfiles.sb
761
-@ }
762
-@
763
-@ return $nDiffs
764
-@ }
765
-@
766
-@ proc viewDiff {idx} {
767
-@ .txtA yview $idx
768
-@ .txtA xview moveto 0
769
-@ }
770
-@
771
-@ proc cycleDiffs {{reverse 0}} {
772
-@ if {$reverse} {
773
-@ set range [.txtA tag prevrange fn @0,0 1.0]
774
-@ if {$range eq ""} {
775
-@ viewDiff {fn.last -1c}
776
-@ } else {
777
-@ viewDiff [lindex $range 0]
778
-@ }
779
-@ } else {
780
-@ set range [.txtA tag nextrange fn {@0,0 +1c} end]
781
-@ if {$range eq "" || [lindex [.txtA yview] 1] == 1} {
782
-@ viewDiff fn.first
783
-@ } else {
784
-@ viewDiff [lindex $range 0]
785
-@ }
786
-@ }
787
-@ }
788
-@
789
-@ proc xvis {col} {
790
-@ set view [$col xview]
791
-@ return [expr {[lindex $view 1]-[lindex $view 0]}]
792
-@ }
793
-@
794
-@ proc scroll-x {args} {
795
-@ set c .txt[expr {[xvis .txtA] < [xvis .txtB] ? "A" : "B"}]
796
-@ eval $c xview $args
797
-@ }
798
-@
799
-@ interp alias {} scroll-y {} .txtA yview
800
-@
801
-@ proc noop {args} {}
802
-@
803
-@ proc enableSync {axis} {
804
-@ update idletasks
805
-@ interp alias {} sync-$axis {}
806
-@ rename _sync-$axis sync-$axis
807
-@ }
808
-@
809
-@ proc disableSync {axis} {
810
-@ rename sync-$axis _sync-$axis
811
-@ interp alias {} sync-$axis {} noop
812
-@ }
813
-@
814
-@ proc sync-x {col first last} {
815
-@ disableSync x
816
-@ $col xview moveto [expr {$first*[xvis $col]/($last-$first)}]
817
-@ foreach side {A B} {
818
-@ set sb .sbx$side
819
-@ set xview [.txt$side xview]
820
-@ if {[lindex $xview 0] > 0 || [lindex $xview 1] < 1} {
821
-@ grid $sb
822
-@ eval $sb set $xview
823
-@ } else {
824
-@ grid remove $sb
825
-@ }
826
-@ }
827
-@ enableSync x
828
-@ }
829
-@
830
-@ proc sync-y {first last} {
831
-@ disableSync y
832
-@ foreach c [cols] {
833
-@ $c yview moveto $first
834
-@ }
835
-@ if {$first > 0 || $last < 1} {
836
-@ grid .sby
837
-@ .sby set $first $last
838
-@ } else {
839
-@ grid remove .sby
840
-@ }
841
-@ enableSync y
842
-@ }
843
-@
844
-@ wm withdraw .
845
-@ wm title . $CFG(TITLE)
846
-@ wm iconname . $CFG(TITLE)
847
-@ bind . <q> exit
848
-@ bind . <Destroy> {after 0 exit}
849
-@ bind . <Tab> {cycleDiffs; break}
850
-@ bind . <<PrevWindow>> {cycleDiffs 1; break}
851
-@ bind . <Return> {
852
-@ event generate .bb.files <1>
853
-@ event generate .bb.files <ButtonRelease-1>
854
-@ break
855
-@ }
856
-@ foreach {key axis args} {
857
-@ Up y {scroll -5 units}
858
-@ Down y {scroll 5 units}
859
-@ Left x {scroll -5 units}
860
-@ Right x {scroll 5 units}
861
-@ Prior y {scroll -1 page}
862
-@ Next y {scroll 1 page}
863
-@ Home y {moveto 0}
864
-@ End y {moveto 1}
865
-@ } {
866
-@ bind . <$key> "scroll-$axis $args; break"
867
-@ bind . <Shift-$key> continue
868
-@ }
869
-@
870
-@ frame .bb
871
-@ ::ttk::menubutton .bb.files -text "Files"
872
-@ toplevel .wfiles
873
-@ wm withdraw .wfiles
874
-@ update idletasks
875
-@ wm transient .wfiles .
876
-@ wm overrideredirect .wfiles 1
877
-@ listbox .wfiles.lb -width 0 -height $CFG(LB_HEIGHT) -activestyle none \
878
-@ -yscroll {.wfiles.sb set}
879
-@ ::ttk::scrollbar .wfiles.sb -command {.wfiles.lb yview}
880
-@ grid .wfiles.lb .wfiles.sb -sticky ns
881
-@ bind .bb.files <1> {
882
-@ set x [winfo rootx %W]
883
-@ set y [expr {[winfo rooty %W]+[winfo height %W]}]
884
-@ wm geometry .wfiles +$x+$y
885
-@ wm deiconify .wfiles
886
-@ focus .wfiles.lb
887
-@ }
888
-@ bind .wfiles <FocusOut> {wm withdraw .wfiles}
889
-@ bind .wfiles <Escape> {focus .}
890
-@ foreach evt {1 Return} {
891
-@ bind .wfiles.lb <$evt> {
892
-@ catch {
893
-@ set idx [lindex [.txtA tag ranges fn] [expr {[%W curselection]*2}]]
894
-@ viewDiff $idx
895
-@ }
896
-@ focus .
897
-@ break
898
-@ }
899
-@ }
900
-@ bind .wfiles.lb <Motion> {
901
-@ %W selection clear 0 end
902
-@ %W selection set @%x,%y
903
-@ }
904
-@
905
-@ foreach {side syncCol} {A .txtB B .txtA} {
906
-@ set ln .ln$side
907
-@ text $ln
908
-@ $ln tag config - -justify right
909
-@
910
-@ set txt .txt$side
911
-@ text $txt -width $CFG(WIDTH) -height $CFG(HEIGHT) -wrap none \
912
-@ -xscroll "sync-x $syncCol"
913
-@ catch {$txt config -tabstyle wordprocessor} ;# Required for Tk>=8.5
914
-@ foreach tag {add rm chng} {
915
-@ $txt tag config $tag -background $CFG([string toupper $tag]_BG)
916
-@ $txt tag lower $tag
917
-@ }
918
-@ $txt tag config fn -background $CFG(FN_BG) -foreground $CFG(FN_FG) \
919
-@ -justify center
920
-@ $txt tag config err -foreground $CFG(ERR_FG)
921
-@ }
922
-@ text .mkr
923
-@
924
-@ foreach c [cols] {
925
-@ set keyPrefix [string toupper [colType $c]]_COL_
926
-@ if {[tk windowingsystem] eq "win32"} {$c config -font {courier 9}}
927
-@ $c config -bg $CFG(${keyPrefix}BG) -fg $CFG(${keyPrefix}FG) -borderwidth 0 \
928
-@ -padx $CFG(PADX) -yscroll sync-y
929
-@ $c tag config hr -spacing1 $CFG(HR_PAD_TOP) -spacing3 $CFG(HR_PAD_BTM) \
930
-@ -foreground $CFG(HR_FG)
931
-@ $c tag config fn -spacing1 $CFG(FN_PAD) -spacing3 $CFG(FN_PAD)
932
-@ bindtags $c ". $c Text all"
933
-@ bind $c <1> {focus %W}
934
-@ }
935
-@
936
-@ ::ttk::scrollbar .sby -command {.txtA yview} -orient vertical
937
-@ ::ttk::scrollbar .sbxA -command {.txtA xview} -orient horizontal
938
-@ ::ttk::scrollbar .sbxB -command {.txtB xview} -orient horizontal
939
-@ frame .spacer
940
-@
941
-@ if {[readDiffs $fossilcmd] == 0} {
942
-@ tk_messageBox -type ok -title $CFG(TITLE) -message "No changes"
943
-@ exit
944
-@ }
945
-@ update idletasks
946
-@
947
-@ proc saveDiff {} {
948
-@ set fn [tk_getSaveFile]
949
-@ if {$fn==""} return
950
-@ set out [open $fn wb]
951
-@ puts $out "#!/usr/bin/tclsh\n#\n# Run this script using 'tclsh' or 'wish'"
952
-@ puts $out "# to see the graphical diff.\n#"
953
-@ puts $out "set fossilcmd {}"
954
-@ puts $out "set prog [list $::prog]"
955
-@ puts $out "set difftxt \173"
956
-@ foreach e $::difftxt {puts $out [list $e]}
957
-@ puts $out "\175"
958
-@ puts $out "eval \$prog"
959
-@ close $out
960
-@ }
961
-@ proc invertDiff {} {
962
-@ global CFG
963
-@ array set x [grid info .txtA]
964
-@ if {$x(-column)==1} {
965
-@ grid config .lnB -column 0
966
-@ grid config .txtB -column 1
967
-@ .txtB tag config add -background $CFG(RM_BG)
968
-@ grid config .lnA -column 3
969
-@ grid config .txtA -column 4
970
-@ .txtA tag config rm -background $CFG(ADD_BG)
971
-@ } else {
972
-@ grid config .lnA -column 0
973
-@ grid config .txtA -column 1
974
-@ .txtA tag config rm -background $CFG(RM_BG)
975
-@ grid config .lnB -column 3
976
-@ grid config .txtB -column 4
977
-@ .txtB tag config add -background $CFG(ADD_BG)
978
-@ }
979
-@ .mkr config -state normal
980
-@ set clt [.mkr search -all < 1.0 end]
981
-@ set cgt [.mkr search -all > 1.0 end]
982
-@ foreach c $clt {.mkr replace $c "$c +1 chars" >}
983
-@ foreach c $cgt {.mkr replace $c "$c +1 chars" <}
984
-@ .mkr config -state disabled
985
-@ }
986
-@ ::ttk::button .bb.quit -text {Quit} -command exit
987
-@ ::ttk::button .bb.invert -text {Invert} -command invertDiff
988
-@ ::ttk::button .bb.save -text {Save As...} -command saveDiff
989
-@ pack .bb.quit .bb.invert -side left
990
-@ if {$fossilcmd!=""} {pack .bb.save -side left}
991
-@ pack .bb.files -side left
992
-@ grid rowconfigure . 1 -weight 1
993
-@ grid columnconfigure . 1 -weight 1
994
-@ grid columnconfigure . 4 -weight 1
995
-@ grid .bb -row 0 -columnspan 6
996
-@ eval grid [cols] -row 1 -sticky nsew
997
-@ grid .sby -row 1 -column 5 -sticky ns
998
-@ grid .sbxA -row 2 -columnspan 2 -sticky ew
999
-@ grid .spacer -row 2 -column 2
1000
-@ grid .sbxB -row 2 -column 3 -columnspan 2 -sticky ew
1001
-@
1002
-@ .spacer config -height [winfo height .sbxA]
1003
-@ wm deiconify .
1004
-@ }
1005
-@ eval $prog
1006
-;
1007
-
1008622
/*
1009623
** Show diff output in a Tcl/Tk window, in response to the --tk option
1010624
** to the diff command.
1011625
**
1012626
** If fossil has direct access to a Tcl interpreter (either loaded
@@ -1040,11 +654,11 @@
1040654
int j;
1041655
blob_append(&script, " ", 1);
1042656
for(j=0; z[j]; j++) blob_appendf(&script, "\\%03o", (unsigned char)z[j]);
1043657
}
1044658
}
1045
- blob_appendf(&script, "}\n%s", zDiffScript);
659
+ blob_appendf(&script, "}\n%s", builtin_file("diff.tcl", 0));
1046660
if( zTempFile ){
1047661
blob_write_to_file(&script, zTempFile);
1048662
fossil_print("To see diff, run: tclsh \"%s\"\n", zTempFile);
1049663
}else{
1050664
#if defined(FOSSIL_ENABLE_TCL)
1051665
--- src/diffcmd.c
+++ src/diffcmd.c
@@ -617,396 +617,10 @@
617 zName = "diff-command";
618 }
619 return db_get(zName, zDefault);
620 }
621
622 /* A Tcl/Tk script used to render diff output.
623 */
624 static const char zDiffScript[] =
625 @ set prog {
626 @ package require Tk
627 @
628 @ array set CFG {
629 @ TITLE {Fossil Diff}
630 @ LN_COL_BG #dddddd
631 @ LN_COL_FG #444444
632 @ TXT_COL_BG #ffffff
633 @ TXT_COL_FG #000000
634 @ MKR_COL_BG #444444
635 @ MKR_COL_FG #dddddd
636 @ CHNG_BG #d0d0ff
637 @ ADD_BG #c0ffc0
638 @ RM_BG #ffc0c0
639 @ HR_FG #888888
640 @ HR_PAD_TOP 4
641 @ HR_PAD_BTM 8
642 @ FN_BG #444444
643 @ FN_FG #ffffff
644 @ FN_PAD 5
645 @ ERR_FG #ee0000
646 @ PADX 5
647 @ WIDTH 80
648 @ HEIGHT 45
649 @ LB_HEIGHT 25
650 @ }
651 @
652 @ if {![namespace exists ttk]} {
653 @ interp alias {} ::ttk::scrollbar {} ::scrollbar
654 @ interp alias {} ::ttk::menubutton {} ::menubutton
655 @ }
656 @
657 @ proc dehtml {x} {
658 @ set x [regsub -all {<[^>]*>} $x {}]
659 @ return [string map {&amp; & &lt; < &gt; > &#39; ' &quot; \"} $x]
660 @ }
661 @
662 @ proc cols {} {
663 @ return [list .lnA .txtA .mkr .lnB .txtB]
664 @ }
665 @
666 @ proc colType {c} {
667 @ regexp {[a-z]+} $c type
668 @ return $type
669 @ }
670 @
671 @ proc getLine {difftxt N iivar} {
672 @ upvar $iivar ii
673 @ if {$ii>=$N} {return -1}
674 @ set x [lindex $difftxt $ii]
675 @ incr ii
676 @ return $x
677 @ }
678 @
679 @ proc readDiffs {fossilcmd} {
680 @ global difftxt
681 @ if {![info exists difftxt]} {
682 @ set in [open $fossilcmd r]
683 @ fconfigure $in -encoding utf-8
684 @ set difftxt [split [read $in] \n]
685 @ close $in
686 @ }
687 @ set N [llength $difftxt]
688 @ set ii 0
689 @ set nDiffs 0
690 @ array set widths {txt 0 ln 0 mkr 0}
691 @ while {[set line [getLine $difftxt $N ii]] != -1} {
692 @ set fn2 {}
693 @ if {![regexp {^=+ (.*?) =+ versus =+ (.*?) =+$} $line all fn fn2]
694 @ && ![regexp {^=+ (.*?) =+$} $line all fn]
695 @ } {
696 @ continue
697 @ }
698 @ set errMsg ""
699 @ set line [getLine $difftxt $N ii]
700 @ if {[string compare -length 6 $line "<table"]
701 @ && ![regexp {<p[^>]*>(.+)} $line - errMsg]} {
702 @ continue
703 @ }
704 @ incr nDiffs
705 @ set idx [expr {$nDiffs > 1 ? [.txtA index end] : "1.0"}]
706 @ .wfiles.lb insert end $fn
707 @
708 @ foreach c [cols] {
709 @ if {$nDiffs > 1} {
710 @ $c insert end \n -
711 @ }
712 @ if {[colType $c] eq "txt"} {
713 @ $c insert end $fn\n fn
714 @ if {$fn2!=""} {set fn $fn2}
715 @ } else {
716 @ $c insert end \n fn
717 @ }
718 @ $c insert end \n -
719 @
720 @ if {$errMsg ne ""} continue
721 @ while {[getLine $difftxt $N ii] ne "<pre>"} continue
722 @ set type [colType $c]
723 @ set str {}
724 @ while {[set line [getLine $difftxt $N ii]] ne "</pre>"} {
725 @ set len [string length [dehtml $line]]
726 @ if {$len > $widths($type)} {
727 @ set widths($type) $len
728 @ }
729 @ append str $line\n
730 @ }
731 @
732 @ set re {<span class="diff([a-z]+)">([^<]*)</span>}
733 @ # Use \r as separator since it can't appear in the diff output (it gets
734 @ # converted to a space).
735 @ set str [regsub -all $re $str "\r\\1\r\\2\r"]
736 @ foreach {pre class mid} [split $str \r] {
737 @ if {$class ne ""} {
738 @ $c insert end [dehtml $pre] - [dehtml $mid] [list $class -]
739 @ } else {
740 @ $c insert end [dehtml $pre] -
741 @ }
742 @ }
743 @ }
744 @
745 @ if {$errMsg ne ""} {
746 @ foreach c {.txtA .txtB} {$c insert end [string trim $errMsg] err}
747 @ foreach c [cols] {$c insert end \n -}
748 @ }
749 @ }
750 @
751 @ foreach c [cols] {
752 @ set type [colType $c]
753 @ if {$type ne "txt"} {
754 @ $c config -width $widths($type)
755 @ }
756 @ $c config -state disabled
757 @ }
758 @ if {$nDiffs <= [.wfiles.lb cget -height]} {
759 @ .wfiles.lb config -height $nDiffs
760 @ grid remove .wfiles.sb
761 @ }
762 @
763 @ return $nDiffs
764 @ }
765 @
766 @ proc viewDiff {idx} {
767 @ .txtA yview $idx
768 @ .txtA xview moveto 0
769 @ }
770 @
771 @ proc cycleDiffs {{reverse 0}} {
772 @ if {$reverse} {
773 @ set range [.txtA tag prevrange fn @0,0 1.0]
774 @ if {$range eq ""} {
775 @ viewDiff {fn.last -1c}
776 @ } else {
777 @ viewDiff [lindex $range 0]
778 @ }
779 @ } else {
780 @ set range [.txtA tag nextrange fn {@0,0 +1c} end]
781 @ if {$range eq "" || [lindex [.txtA yview] 1] == 1} {
782 @ viewDiff fn.first
783 @ } else {
784 @ viewDiff [lindex $range 0]
785 @ }
786 @ }
787 @ }
788 @
789 @ proc xvis {col} {
790 @ set view [$col xview]
791 @ return [expr {[lindex $view 1]-[lindex $view 0]}]
792 @ }
793 @
794 @ proc scroll-x {args} {
795 @ set c .txt[expr {[xvis .txtA] < [xvis .txtB] ? "A" : "B"}]
796 @ eval $c xview $args
797 @ }
798 @
799 @ interp alias {} scroll-y {} .txtA yview
800 @
801 @ proc noop {args} {}
802 @
803 @ proc enableSync {axis} {
804 @ update idletasks
805 @ interp alias {} sync-$axis {}
806 @ rename _sync-$axis sync-$axis
807 @ }
808 @
809 @ proc disableSync {axis} {
810 @ rename sync-$axis _sync-$axis
811 @ interp alias {} sync-$axis {} noop
812 @ }
813 @
814 @ proc sync-x {col first last} {
815 @ disableSync x
816 @ $col xview moveto [expr {$first*[xvis $col]/($last-$first)}]
817 @ foreach side {A B} {
818 @ set sb .sbx$side
819 @ set xview [.txt$side xview]
820 @ if {[lindex $xview 0] > 0 || [lindex $xview 1] < 1} {
821 @ grid $sb
822 @ eval $sb set $xview
823 @ } else {
824 @ grid remove $sb
825 @ }
826 @ }
827 @ enableSync x
828 @ }
829 @
830 @ proc sync-y {first last} {
831 @ disableSync y
832 @ foreach c [cols] {
833 @ $c yview moveto $first
834 @ }
835 @ if {$first > 0 || $last < 1} {
836 @ grid .sby
837 @ .sby set $first $last
838 @ } else {
839 @ grid remove .sby
840 @ }
841 @ enableSync y
842 @ }
843 @
844 @ wm withdraw .
845 @ wm title . $CFG(TITLE)
846 @ wm iconname . $CFG(TITLE)
847 @ bind . <q> exit
848 @ bind . <Destroy> {after 0 exit}
849 @ bind . <Tab> {cycleDiffs; break}
850 @ bind . <<PrevWindow>> {cycleDiffs 1; break}
851 @ bind . <Return> {
852 @ event generate .bb.files <1>
853 @ event generate .bb.files <ButtonRelease-1>
854 @ break
855 @ }
856 @ foreach {key axis args} {
857 @ Up y {scroll -5 units}
858 @ Down y {scroll 5 units}
859 @ Left x {scroll -5 units}
860 @ Right x {scroll 5 units}
861 @ Prior y {scroll -1 page}
862 @ Next y {scroll 1 page}
863 @ Home y {moveto 0}
864 @ End y {moveto 1}
865 @ } {
866 @ bind . <$key> "scroll-$axis $args; break"
867 @ bind . <Shift-$key> continue
868 @ }
869 @
870 @ frame .bb
871 @ ::ttk::menubutton .bb.files -text "Files"
872 @ toplevel .wfiles
873 @ wm withdraw .wfiles
874 @ update idletasks
875 @ wm transient .wfiles .
876 @ wm overrideredirect .wfiles 1
877 @ listbox .wfiles.lb -width 0 -height $CFG(LB_HEIGHT) -activestyle none \
878 @ -yscroll {.wfiles.sb set}
879 @ ::ttk::scrollbar .wfiles.sb -command {.wfiles.lb yview}
880 @ grid .wfiles.lb .wfiles.sb -sticky ns
881 @ bind .bb.files <1> {
882 @ set x [winfo rootx %W]
883 @ set y [expr {[winfo rooty %W]+[winfo height %W]}]
884 @ wm geometry .wfiles +$x+$y
885 @ wm deiconify .wfiles
886 @ focus .wfiles.lb
887 @ }
888 @ bind .wfiles <FocusOut> {wm withdraw .wfiles}
889 @ bind .wfiles <Escape> {focus .}
890 @ foreach evt {1 Return} {
891 @ bind .wfiles.lb <$evt> {
892 @ catch {
893 @ set idx [lindex [.txtA tag ranges fn] [expr {[%W curselection]*2}]]
894 @ viewDiff $idx
895 @ }
896 @ focus .
897 @ break
898 @ }
899 @ }
900 @ bind .wfiles.lb <Motion> {
901 @ %W selection clear 0 end
902 @ %W selection set @%x,%y
903 @ }
904 @
905 @ foreach {side syncCol} {A .txtB B .txtA} {
906 @ set ln .ln$side
907 @ text $ln
908 @ $ln tag config - -justify right
909 @
910 @ set txt .txt$side
911 @ text $txt -width $CFG(WIDTH) -height $CFG(HEIGHT) -wrap none \
912 @ -xscroll "sync-x $syncCol"
913 @ catch {$txt config -tabstyle wordprocessor} ;# Required for Tk>=8.5
914 @ foreach tag {add rm chng} {
915 @ $txt tag config $tag -background $CFG([string toupper $tag]_BG)
916 @ $txt tag lower $tag
917 @ }
918 @ $txt tag config fn -background $CFG(FN_BG) -foreground $CFG(FN_FG) \
919 @ -justify center
920 @ $txt tag config err -foreground $CFG(ERR_FG)
921 @ }
922 @ text .mkr
923 @
924 @ foreach c [cols] {
925 @ set keyPrefix [string toupper [colType $c]]_COL_
926 @ if {[tk windowingsystem] eq "win32"} {$c config -font {courier 9}}
927 @ $c config -bg $CFG(${keyPrefix}BG) -fg $CFG(${keyPrefix}FG) -borderwidth 0 \
928 @ -padx $CFG(PADX) -yscroll sync-y
929 @ $c tag config hr -spacing1 $CFG(HR_PAD_TOP) -spacing3 $CFG(HR_PAD_BTM) \
930 @ -foreground $CFG(HR_FG)
931 @ $c tag config fn -spacing1 $CFG(FN_PAD) -spacing3 $CFG(FN_PAD)
932 @ bindtags $c ". $c Text all"
933 @ bind $c <1> {focus %W}
934 @ }
935 @
936 @ ::ttk::scrollbar .sby -command {.txtA yview} -orient vertical
937 @ ::ttk::scrollbar .sbxA -command {.txtA xview} -orient horizontal
938 @ ::ttk::scrollbar .sbxB -command {.txtB xview} -orient horizontal
939 @ frame .spacer
940 @
941 @ if {[readDiffs $fossilcmd] == 0} {
942 @ tk_messageBox -type ok -title $CFG(TITLE) -message "No changes"
943 @ exit
944 @ }
945 @ update idletasks
946 @
947 @ proc saveDiff {} {
948 @ set fn [tk_getSaveFile]
949 @ if {$fn==""} return
950 @ set out [open $fn wb]
951 @ puts $out "#!/usr/bin/tclsh\n#\n# Run this script using 'tclsh' or 'wish'"
952 @ puts $out "# to see the graphical diff.\n#"
953 @ puts $out "set fossilcmd {}"
954 @ puts $out "set prog [list $::prog]"
955 @ puts $out "set difftxt \173"
956 @ foreach e $::difftxt {puts $out [list $e]}
957 @ puts $out "\175"
958 @ puts $out "eval \$prog"
959 @ close $out
960 @ }
961 @ proc invertDiff {} {
962 @ global CFG
963 @ array set x [grid info .txtA]
964 @ if {$x(-column)==1} {
965 @ grid config .lnB -column 0
966 @ grid config .txtB -column 1
967 @ .txtB tag config add -background $CFG(RM_BG)
968 @ grid config .lnA -column 3
969 @ grid config .txtA -column 4
970 @ .txtA tag config rm -background $CFG(ADD_BG)
971 @ } else {
972 @ grid config .lnA -column 0
973 @ grid config .txtA -column 1
974 @ .txtA tag config rm -background $CFG(RM_BG)
975 @ grid config .lnB -column 3
976 @ grid config .txtB -column 4
977 @ .txtB tag config add -background $CFG(ADD_BG)
978 @ }
979 @ .mkr config -state normal
980 @ set clt [.mkr search -all < 1.0 end]
981 @ set cgt [.mkr search -all > 1.0 end]
982 @ foreach c $clt {.mkr replace $c "$c +1 chars" >}
983 @ foreach c $cgt {.mkr replace $c "$c +1 chars" <}
984 @ .mkr config -state disabled
985 @ }
986 @ ::ttk::button .bb.quit -text {Quit} -command exit
987 @ ::ttk::button .bb.invert -text {Invert} -command invertDiff
988 @ ::ttk::button .bb.save -text {Save As...} -command saveDiff
989 @ pack .bb.quit .bb.invert -side left
990 @ if {$fossilcmd!=""} {pack .bb.save -side left}
991 @ pack .bb.files -side left
992 @ grid rowconfigure . 1 -weight 1
993 @ grid columnconfigure . 1 -weight 1
994 @ grid columnconfigure . 4 -weight 1
995 @ grid .bb -row 0 -columnspan 6
996 @ eval grid [cols] -row 1 -sticky nsew
997 @ grid .sby -row 1 -column 5 -sticky ns
998 @ grid .sbxA -row 2 -columnspan 2 -sticky ew
999 @ grid .spacer -row 2 -column 2
1000 @ grid .sbxB -row 2 -column 3 -columnspan 2 -sticky ew
1001 @
1002 @ .spacer config -height [winfo height .sbxA]
1003 @ wm deiconify .
1004 @ }
1005 @ eval $prog
1006 ;
1007
1008 /*
1009 ** Show diff output in a Tcl/Tk window, in response to the --tk option
1010 ** to the diff command.
1011 **
1012 ** If fossil has direct access to a Tcl interpreter (either loaded
@@ -1040,11 +654,11 @@
1040 int j;
1041 blob_append(&script, " ", 1);
1042 for(j=0; z[j]; j++) blob_appendf(&script, "\\%03o", (unsigned char)z[j]);
1043 }
1044 }
1045 blob_appendf(&script, "}\n%s", zDiffScript);
1046 if( zTempFile ){
1047 blob_write_to_file(&script, zTempFile);
1048 fossil_print("To see diff, run: tclsh \"%s\"\n", zTempFile);
1049 }else{
1050 #if defined(FOSSIL_ENABLE_TCL)
1051
--- src/diffcmd.c
+++ src/diffcmd.c
@@ -617,396 +617,10 @@
617 zName = "diff-command";
618 }
619 return db_get(zName, zDefault);
620 }
621
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
622 /*
623 ** Show diff output in a Tcl/Tk window, in response to the --tk option
624 ** to the diff command.
625 **
626 ** If fossil has direct access to a Tcl interpreter (either loaded
@@ -1040,11 +654,11 @@
654 int j;
655 blob_append(&script, " ", 1);
656 for(j=0; z[j]; j++) blob_appendf(&script, "\\%03o", (unsigned char)z[j]);
657 }
658 }
659 blob_appendf(&script, "}\n%s", builtin_file("diff.tcl", 0));
660 if( zTempFile ){
661 blob_write_to_file(&script, zTempFile);
662 fossil_print("To see diff, run: tclsh \"%s\"\n", zTempFile);
663 }else{
664 #if defined(FOSSIL_ENABLE_TCL)
665
+22 -1
--- src/main.mk
+++ src/main.mk
@@ -20,10 +20,11 @@
2020
$(SRCDIR)/bag.c \
2121
$(SRCDIR)/bisect.c \
2222
$(SRCDIR)/blob.c \
2323
$(SRCDIR)/branch.c \
2424
$(SRCDIR)/browse.c \
25
+ $(SRCDIR)/builtin.c \
2526
$(SRCDIR)/cache.c \
2627
$(SRCDIR)/captcha.c \
2728
$(SRCDIR)/cgi.c \
2829
$(SRCDIR)/checkin.c \
2930
$(SRCDIR)/checkout.c \
@@ -124,19 +125,23 @@
124125
$(SRCDIR)/wysiwyg.c \
125126
$(SRCDIR)/xfer.c \
126127
$(SRCDIR)/xfersetup.c \
127128
$(SRCDIR)/zip.c
128129
130
+EXTRA_FILES = \
131
+ $(SRCDIR)/diff.tcl
132
+
129133
TRANS_SRC = \
130134
$(OBJDIR)/add_.c \
131135
$(OBJDIR)/allrepo_.c \
132136
$(OBJDIR)/attach_.c \
133137
$(OBJDIR)/bag_.c \
134138
$(OBJDIR)/bisect_.c \
135139
$(OBJDIR)/blob_.c \
136140
$(OBJDIR)/branch_.c \
137141
$(OBJDIR)/browse_.c \
142
+ $(OBJDIR)/builtin_.c \
138143
$(OBJDIR)/cache_.c \
139144
$(OBJDIR)/captcha_.c \
140145
$(OBJDIR)/cgi_.c \
141146
$(OBJDIR)/checkin_.c \
142147
$(OBJDIR)/checkout_.c \
@@ -246,10 +251,11 @@
246251
$(OBJDIR)/bag.o \
247252
$(OBJDIR)/bisect.o \
248253
$(OBJDIR)/blob.o \
249254
$(OBJDIR)/branch.o \
250255
$(OBJDIR)/browse.o \
256
+ $(OBJDIR)/builtin.o \
251257
$(OBJDIR)/cache.o \
252258
$(OBJDIR)/captcha.o \
253259
$(OBJDIR)/cgi.o \
254260
$(OBJDIR)/checkin.o \
255261
$(OBJDIR)/checkout.o \
@@ -375,10 +381,13 @@
375381
$(BCC) -o $(OBJDIR)/makeheaders $(SRCDIR)/makeheaders.c
376382
377383
$(OBJDIR)/mkindex: $(SRCDIR)/mkindex.c
378384
$(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
379385
386
+$(OBJDIR)/mkbuiltin: $(SRCDIR)/mkbuiltin.c
387
+ $(BCC) -o $(OBJDIR)/mkbuiltin $(SRCDIR)/mkbuiltin.c
388
+
380389
$(OBJDIR)/mkversion: $(SRCDIR)/mkversion.c
381390
$(BCC) -o $(OBJDIR)/mkversion $(SRCDIR)/mkversion.c
382391
383392
$(OBJDIR)/codecheck1: $(SRCDIR)/codecheck1.c
384393
$(BCC) -o $(OBJDIR)/codecheck1 $(SRCDIR)/codecheck1.c
@@ -452,19 +461,24 @@
452461
rm -rf $(OBJDIR)/* $(APPNAME)
453462
454463
455464
$(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
456465
$(OBJDIR)/mkindex $(TRANS_SRC) >$@
457
-$(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
466
+
467
+$(OBJDIR)/builtin_data.h: $(OBJDIR)/mkbuiltin $(EXTRA_FILES)
468
+ $(OBJDIR)/mkbuiltin $(EXTRA_FILES) >$@
469
+
470
+$(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
458471
$(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h \
459472
$(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \
460473
$(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \
461474
$(OBJDIR)/bag_.c:$(OBJDIR)/bag.h \
462475
$(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h \
463476
$(OBJDIR)/blob_.c:$(OBJDIR)/blob.h \
464477
$(OBJDIR)/branch_.c:$(OBJDIR)/branch.h \
465478
$(OBJDIR)/browse_.c:$(OBJDIR)/browse.h \
479
+ $(OBJDIR)/builtin_.c:$(OBJDIR)/builtin.h \
466480
$(OBJDIR)/cache_.c:$(OBJDIR)/cache.h \
467481
$(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h \
468482
$(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h \
469483
$(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h \
470484
$(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h \
@@ -627,10 +641,17 @@
627641
628642
$(OBJDIR)/browse.o: $(OBJDIR)/browse_.c $(OBJDIR)/browse.h $(SRCDIR)/config.h
629643
$(XTCC) -o $(OBJDIR)/browse.o -c $(OBJDIR)/browse_.c
630644
631645
$(OBJDIR)/browse.h: $(OBJDIR)/headers
646
+$(OBJDIR)/builtin_.c: $(SRCDIR)/builtin.c $(OBJDIR)/translate
647
+ $(OBJDIR)/translate $(SRCDIR)/builtin.c >$(OBJDIR)/builtin_.c
648
+
649
+$(OBJDIR)/builtin.o: $(OBJDIR)/builtin_.c $(OBJDIR)/builtin.h $(OBJDIR)/builtin_data.h $(SRCDIR)/config.h
650
+ $(XTCC) -o $(OBJDIR)/builtin.o -c $(OBJDIR)/builtin_.c
651
+
652
+$(OBJDIR)/builtin.h: $(OBJDIR)/headers
632653
$(OBJDIR)/cache_.c: $(SRCDIR)/cache.c $(OBJDIR)/translate
633654
$(OBJDIR)/translate $(SRCDIR)/cache.c >$(OBJDIR)/cache_.c
634655
635656
$(OBJDIR)/cache.o: $(OBJDIR)/cache_.c $(OBJDIR)/cache.h $(SRCDIR)/config.h
636657
$(XTCC) -o $(OBJDIR)/cache.o -c $(OBJDIR)/cache_.c
637658
--- src/main.mk
+++ src/main.mk
@@ -20,10 +20,11 @@
20 $(SRCDIR)/bag.c \
21 $(SRCDIR)/bisect.c \
22 $(SRCDIR)/blob.c \
23 $(SRCDIR)/branch.c \
24 $(SRCDIR)/browse.c \
 
25 $(SRCDIR)/cache.c \
26 $(SRCDIR)/captcha.c \
27 $(SRCDIR)/cgi.c \
28 $(SRCDIR)/checkin.c \
29 $(SRCDIR)/checkout.c \
@@ -124,19 +125,23 @@
124 $(SRCDIR)/wysiwyg.c \
125 $(SRCDIR)/xfer.c \
126 $(SRCDIR)/xfersetup.c \
127 $(SRCDIR)/zip.c
128
 
 
 
129 TRANS_SRC = \
130 $(OBJDIR)/add_.c \
131 $(OBJDIR)/allrepo_.c \
132 $(OBJDIR)/attach_.c \
133 $(OBJDIR)/bag_.c \
134 $(OBJDIR)/bisect_.c \
135 $(OBJDIR)/blob_.c \
136 $(OBJDIR)/branch_.c \
137 $(OBJDIR)/browse_.c \
 
138 $(OBJDIR)/cache_.c \
139 $(OBJDIR)/captcha_.c \
140 $(OBJDIR)/cgi_.c \
141 $(OBJDIR)/checkin_.c \
142 $(OBJDIR)/checkout_.c \
@@ -246,10 +251,11 @@
246 $(OBJDIR)/bag.o \
247 $(OBJDIR)/bisect.o \
248 $(OBJDIR)/blob.o \
249 $(OBJDIR)/branch.o \
250 $(OBJDIR)/browse.o \
 
251 $(OBJDIR)/cache.o \
252 $(OBJDIR)/captcha.o \
253 $(OBJDIR)/cgi.o \
254 $(OBJDIR)/checkin.o \
255 $(OBJDIR)/checkout.o \
@@ -375,10 +381,13 @@
375 $(BCC) -o $(OBJDIR)/makeheaders $(SRCDIR)/makeheaders.c
376
377 $(OBJDIR)/mkindex: $(SRCDIR)/mkindex.c
378 $(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
379
 
 
 
380 $(OBJDIR)/mkversion: $(SRCDIR)/mkversion.c
381 $(BCC) -o $(OBJDIR)/mkversion $(SRCDIR)/mkversion.c
382
383 $(OBJDIR)/codecheck1: $(SRCDIR)/codecheck1.c
384 $(BCC) -o $(OBJDIR)/codecheck1 $(SRCDIR)/codecheck1.c
@@ -452,19 +461,24 @@
452 rm -rf $(OBJDIR)/* $(APPNAME)
453
454
455 $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
456 $(OBJDIR)/mkindex $(TRANS_SRC) >$@
457 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
 
 
 
 
458 $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h \
459 $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \
460 $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \
461 $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h \
462 $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h \
463 $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h \
464 $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h \
465 $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h \
 
466 $(OBJDIR)/cache_.c:$(OBJDIR)/cache.h \
467 $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h \
468 $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h \
469 $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h \
470 $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h \
@@ -627,10 +641,17 @@
627
628 $(OBJDIR)/browse.o: $(OBJDIR)/browse_.c $(OBJDIR)/browse.h $(SRCDIR)/config.h
629 $(XTCC) -o $(OBJDIR)/browse.o -c $(OBJDIR)/browse_.c
630
631 $(OBJDIR)/browse.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
632 $(OBJDIR)/cache_.c: $(SRCDIR)/cache.c $(OBJDIR)/translate
633 $(OBJDIR)/translate $(SRCDIR)/cache.c >$(OBJDIR)/cache_.c
634
635 $(OBJDIR)/cache.o: $(OBJDIR)/cache_.c $(OBJDIR)/cache.h $(SRCDIR)/config.h
636 $(XTCC) -o $(OBJDIR)/cache.o -c $(OBJDIR)/cache_.c
637
--- src/main.mk
+++ src/main.mk
@@ -20,10 +20,11 @@
20 $(SRCDIR)/bag.c \
21 $(SRCDIR)/bisect.c \
22 $(SRCDIR)/blob.c \
23 $(SRCDIR)/branch.c \
24 $(SRCDIR)/browse.c \
25 $(SRCDIR)/builtin.c \
26 $(SRCDIR)/cache.c \
27 $(SRCDIR)/captcha.c \
28 $(SRCDIR)/cgi.c \
29 $(SRCDIR)/checkin.c \
30 $(SRCDIR)/checkout.c \
@@ -124,19 +125,23 @@
125 $(SRCDIR)/wysiwyg.c \
126 $(SRCDIR)/xfer.c \
127 $(SRCDIR)/xfersetup.c \
128 $(SRCDIR)/zip.c
129
130 EXTRA_FILES = \
131 $(SRCDIR)/diff.tcl
132
133 TRANS_SRC = \
134 $(OBJDIR)/add_.c \
135 $(OBJDIR)/allrepo_.c \
136 $(OBJDIR)/attach_.c \
137 $(OBJDIR)/bag_.c \
138 $(OBJDIR)/bisect_.c \
139 $(OBJDIR)/blob_.c \
140 $(OBJDIR)/branch_.c \
141 $(OBJDIR)/browse_.c \
142 $(OBJDIR)/builtin_.c \
143 $(OBJDIR)/cache_.c \
144 $(OBJDIR)/captcha_.c \
145 $(OBJDIR)/cgi_.c \
146 $(OBJDIR)/checkin_.c \
147 $(OBJDIR)/checkout_.c \
@@ -246,10 +251,11 @@
251 $(OBJDIR)/bag.o \
252 $(OBJDIR)/bisect.o \
253 $(OBJDIR)/blob.o \
254 $(OBJDIR)/branch.o \
255 $(OBJDIR)/browse.o \
256 $(OBJDIR)/builtin.o \
257 $(OBJDIR)/cache.o \
258 $(OBJDIR)/captcha.o \
259 $(OBJDIR)/cgi.o \
260 $(OBJDIR)/checkin.o \
261 $(OBJDIR)/checkout.o \
@@ -375,10 +381,13 @@
381 $(BCC) -o $(OBJDIR)/makeheaders $(SRCDIR)/makeheaders.c
382
383 $(OBJDIR)/mkindex: $(SRCDIR)/mkindex.c
384 $(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
385
386 $(OBJDIR)/mkbuiltin: $(SRCDIR)/mkbuiltin.c
387 $(BCC) -o $(OBJDIR)/mkbuiltin $(SRCDIR)/mkbuiltin.c
388
389 $(OBJDIR)/mkversion: $(SRCDIR)/mkversion.c
390 $(BCC) -o $(OBJDIR)/mkversion $(SRCDIR)/mkversion.c
391
392 $(OBJDIR)/codecheck1: $(SRCDIR)/codecheck1.c
393 $(BCC) -o $(OBJDIR)/codecheck1 $(SRCDIR)/codecheck1.c
@@ -452,19 +461,24 @@
461 rm -rf $(OBJDIR)/* $(APPNAME)
462
463
464 $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
465 $(OBJDIR)/mkindex $(TRANS_SRC) >$@
466
467 $(OBJDIR)/builtin_data.h: $(OBJDIR)/mkbuiltin $(EXTRA_FILES)
468 $(OBJDIR)/mkbuiltin $(EXTRA_FILES) >$@
469
470 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
471 $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h \
472 $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \
473 $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \
474 $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h \
475 $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h \
476 $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h \
477 $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h \
478 $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h \
479 $(OBJDIR)/builtin_.c:$(OBJDIR)/builtin.h \
480 $(OBJDIR)/cache_.c:$(OBJDIR)/cache.h \
481 $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h \
482 $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h \
483 $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h \
484 $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h \
@@ -627,10 +641,17 @@
641
642 $(OBJDIR)/browse.o: $(OBJDIR)/browse_.c $(OBJDIR)/browse.h $(SRCDIR)/config.h
643 $(XTCC) -o $(OBJDIR)/browse.o -c $(OBJDIR)/browse_.c
644
645 $(OBJDIR)/browse.h: $(OBJDIR)/headers
646 $(OBJDIR)/builtin_.c: $(SRCDIR)/builtin.c $(OBJDIR)/translate
647 $(OBJDIR)/translate $(SRCDIR)/builtin.c >$(OBJDIR)/builtin_.c
648
649 $(OBJDIR)/builtin.o: $(OBJDIR)/builtin_.c $(OBJDIR)/builtin.h $(OBJDIR)/builtin_data.h $(SRCDIR)/config.h
650 $(XTCC) -o $(OBJDIR)/builtin.o -c $(OBJDIR)/builtin_.c
651
652 $(OBJDIR)/builtin.h: $(OBJDIR)/headers
653 $(OBJDIR)/cache_.c: $(SRCDIR)/cache.c $(OBJDIR)/translate
654 $(OBJDIR)/translate $(SRCDIR)/cache.c >$(OBJDIR)/cache_.c
655
656 $(OBJDIR)/cache.o: $(OBJDIR)/cache_.c $(OBJDIR)/cache.h $(SRCDIR)/config.h
657 $(XTCC) -o $(OBJDIR)/cache.o -c $(OBJDIR)/cache_.c
658
+78 -10
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -12,12 +12,15 @@
1212
# tclsh makemake.tcl
1313
#
1414
#############################################################################
1515
1616
# Basenames of all source files that get preprocessed using
17
-# "translate" and "makeheaders". To add new source files to the
17
+# "translate" and "makeheaders". To add new C-language source files to the
1818
# project, simply add the basename to this list and rerun this script.
19
+#
20
+# Set the separate extra_files variable further down for how to add non-C
21
+# files, such as string and BLOB resources.
1922
#
2023
set src {
2124
add
2225
allrepo
2326
attach
@@ -24,10 +27,11 @@
2427
bag
2528
bisect
2629
blob
2730
branch
2831
browse
32
+ builtin
2933
cache
3034
captcha
3135
cgi
3236
checkin
3337
checkout
@@ -128,10 +132,16 @@
128132
xfer
129133
xfersetup
130134
zip
131135
http_ssl
132136
}
137
+
138
+# Additional resource files that get built into the executable.
139
+#
140
+set extra_files {
141
+ diff.tcl
142
+}
133143
134144
# Options used to compile the included SQLite library.
135145
#
136146
set SQLITE_OPTIONS {
137147
-DNDEBUG=1
@@ -217,10 +227,15 @@
217227
}
218228
writeln -nonewline "SRC ="
219229
foreach s [lsort $src] {
220230
writeln -nonewline " \\\n \$(SRCDIR)/$s.c"
221231
}
232
+writeln "\n"
233
+writeln -nonewline "EXTRA_FILES ="
234
+foreach s [lsort $extra_files] {
235
+ writeln -nonewline " \\\n \$(SRCDIR)/$s"
236
+}
222237
writeln "\n"
223238
writeln -nonewline "TRANS_SRC ="
224239
foreach s [lsort $src] {
225240
writeln -nonewline " \\\n \$(OBJDIR)/${s}_.c"
226241
}
@@ -256,10 +271,13 @@
256271
$(BCC) -o $(OBJDIR)/makeheaders $(SRCDIR)/makeheaders.c
257272
258273
$(OBJDIR)/mkindex: $(SRCDIR)/mkindex.c
259274
$(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
260275
276
+$(OBJDIR)/mkbuiltin: $(SRCDIR)/mkbuiltin.c
277
+ $(BCC) -o $(OBJDIR)/mkbuiltin $(SRCDIR)/mkbuiltin.c
278
+
261279
$(OBJDIR)/mkversion: $(SRCDIR)/mkversion.c
262280
$(BCC) -o $(OBJDIR)/mkversion $(SRCDIR)/mkversion.c
263281
264282
$(OBJDIR)/codecheck1: $(SRCDIR)/codecheck1.c
265283
$(BCC) -o $(OBJDIR)/codecheck1 $(SRCDIR)/codecheck1.c
@@ -336,18 +354,23 @@
336354
append mhargs "\$(SRCDIR)/th.h <<<NEXT_LINE>>>"
337355
#append mhargs "\$(SRCDIR)/cson_amalgamation.h <<<NEXT_LINE>>>"
338356
append mhargs "\$(OBJDIR)/VERSION.h"
339357
set mhargs [string map [list <<<NEXT_LINE>>> \\\n\t] $mhargs]
340358
writeln "\$(OBJDIR)/page_index.h: \$(TRANS_SRC) \$(OBJDIR)/mkindex"
341
-writeln "\t\$(OBJDIR)/mkindex \$(TRANS_SRC) >$@"
342
-writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/makeheaders \$(OBJDIR)/VERSION.h"
359
+writeln "\t\$(OBJDIR)/mkindex \$(TRANS_SRC) >$@\n"
360
+
361
+writeln "\$(OBJDIR)/builtin_data.h: \$(OBJDIR)/mkbuiltin \$(EXTRA_FILES)"
362
+writeln "\t\$(OBJDIR)/mkbuiltin \$(EXTRA_FILES) >$@\n"
363
+
364
+writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/builtin_data.h \$(OBJDIR)/makeheaders \$(OBJDIR)/VERSION.h"
343365
writeln "\t\$(OBJDIR)/makeheaders $mhargs"
344366
writeln "\ttouch \$(OBJDIR)/headers"
345367
writeln "\$(OBJDIR)/headers: Makefile"
346368
writeln "\$(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 : \$(SRCDIR)/json_detail.h"
347369
writeln "Makefile:"
348370
set extra_h(main) " \$(OBJDIR)/page_index.h "
371
+set extra_h(builtin) " \$(OBJDIR)/builtin_data.h "
349372
350373
foreach s [lsort $src] {
351374
writeln "\$(OBJDIR)/${s}_.c:\t\$(SRCDIR)/$s.c \$(OBJDIR)/translate"
352375
writeln "\t\$(OBJDIR)/translate \$(SRCDIR)/$s.c >\$(OBJDIR)/${s}_.c\n"
353376
writeln "\$(OBJDIR)/$s.o:\t\$(OBJDIR)/${s}_.c \$(OBJDIR)/$s.h$extra_h($s)\$(SRCDIR)/config.h"
@@ -733,10 +756,15 @@
733756
}
734757
writeln -nonewline "SRC ="
735758
foreach s [lsort $src] {
736759
writeln -nonewline " \\\n \$(SRCDIR)/$s.c"
737760
}
761
+writeln "\n"
762
+writeln -nonewline "EXTRA_FILES ="
763
+foreach s [lsort $extra_files] {
764
+ writeln -nonewline " \\\n \$(SRCDIR)/$s"
765
+}
738766
writeln "\n"
739767
writeln -nonewline "TRANS_SRC ="
740768
foreach s [lsort $src] {
741769
writeln -nonewline " \\\n \$(OBJDIR)/${s}_.c"
742770
}
@@ -759,10 +787,11 @@
759787
#
760788
ifdef USE_WINDOWS
761789
TRANSLATE = $(subst /,\,$(OBJDIR)/translate.exe)
762790
MAKEHEADERS = $(subst /,\,$(OBJDIR)/makeheaders.exe)
763791
MKINDEX = $(subst /,\,$(OBJDIR)/mkindex.exe)
792
+MKBUILTIN = $(subst /,\,$(OBJDIR)/mkbuiltin.exe)
764793
VERSION = $(subst /,\,$(OBJDIR)/version.exe)
765794
CODECHECK1 = $(subst /,\,$(OBJDIR)/codecheck1.exe)
766795
CAT = type
767796
CP = copy
768797
GREP = find
@@ -772,10 +801,11 @@
772801
RMDIR = rmdir /S /Q
773802
else
774803
TRANSLATE = $(OBJDIR)/translate.exe
775804
MAKEHEADERS = $(OBJDIR)/makeheaders.exe
776805
MKINDEX = $(OBJDIR)/mkindex.exe
806
+MKBUILTIN = $(OBJDIR)/mkbuiltin.exe
777807
VERSION = $(OBJDIR)/version.exe
778808
CODECHECK1 = $(OBJDIR)/codecheck1.exe
779809
CAT = cat
780810
CP = cp
781811
GREP = grep
@@ -825,10 +855,13 @@
825855
$(BCC) -o $(MAKEHEADERS) $(SRCDIR)/makeheaders.c
826856
827857
$(MKINDEX): $(SRCDIR)/mkindex.c
828858
$(BCC) -o $(MKINDEX) $(SRCDIR)/mkindex.c
829859
860
+$(MKBUILTIN): $(SRCDIR)/mkbuiltin.c
861
+ $(BCC) -o $(MKBUILTIN) $(SRCDIR)/mkbuiltin.c
862
+
830863
$(VERSION): $(SRCDIR)/mkversion.c
831864
$(BCC) -o $(VERSION) $(SRCDIR)/mkversion.c
832865
833866
$(CODECHECK1): $(SRCDIR)/codecheck1.c
834867
$(BCC) -o $(CODECHECK1) $(SRCDIR)/codecheck1.c
@@ -935,16 +968,24 @@
935968
append mhargs " \\\n\t\t\$(SRCDIR)/sqlite3.h"
936969
append mhargs " \\\n\t\t\$(SRCDIR)/th.h"
937970
append mhargs " \\\n\t\t\$(OBJDIR)/VERSION.h"
938971
writeln "\$(OBJDIR)/page_index.h: \$(TRANS_SRC) \$(MKINDEX)"
939972
writeln "\t\$(MKINDEX) \$(TRANS_SRC) >$@\n"
940
-writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(MAKEHEADERS) \$(OBJDIR)/VERSION.h"
973
+
974
+writeln "\$(OBJDIR)/builtin_data.h:\t\$(MKBUILTIN) \$(EXTRA_FILES)"
975
+writeln "\t\$(MKBUILTIN) \$(EXTRA_FILES) >$@\n"
976
+
977
+writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/builtin_data.h \$(MAKEHEADERS) \$(OBJDIR)/VERSION.h"
941978
writeln "\t\$(MAKEHEADERS) $mhargs"
942979
writeln "\techo Done >\$(OBJDIR)/headers\n"
943980
writeln "\$(OBJDIR)/headers: Makefile\n"
944981
writeln "Makefile:\n"
945982
set extra_h(main) " \$(OBJDIR)/page_index.h "
983
+set extra_h(builtin) " \$(OBJDIR)/builtin_data.h "
984
+
985
+writeln "\$(OBJDIR)/builtin_data.h:\t\$(MKBUILTIN) \$(EXTRA_FILES)"
986
+writeln "\t\$(MKBUILTIN) \$(EXTRA_FILES) >\$(OBJDIR)/builtin_data.h\n"
946987
947988
foreach s [lsort $src] {
948989
writeln "\$(OBJDIR)/${s}_.c:\t\$(SRCDIR)/$s.c \$(TRANSLATE)"
949990
writeln "\t\$(TRANSLATE) \$(SRCDIR)/$s.c >\$(OBJDIR)/${s}_.c\n"
950991
writeln "\$(OBJDIR)/$s.o:\t\$(OBJDIR)/${s}_.c \$(OBJDIR)/$s.h$extra_h($s)\$(SRCDIR)/config.h"
@@ -1079,10 +1120,13 @@
10791120
makeheaders$E: $(SRCDIR)\makeheaders.c
10801121
$(BCC) -o$@ $**
10811122
10821123
mkindex$E: $(SRCDIR)\mkindex.c
10831124
$(BCC) -o$@ $**
1125
+
1126
+mkbuiltin$E: $(SRCDIR)\mkbuiltin.c
1127
+ $(BCC) -o$@ $**
10841128
10851129
mkversion$E: $(SRCDIR)\mkversion.c
10861130
$(BCC) -o$@ $**
10871131
10881132
codecheck1$E: $(SRCDIR)\codecheck1.c
@@ -1107,16 +1151,19 @@
11071151
+$** > $@
11081152
11091153
page_index.h: mkindex$E $(SRC)
11101154
+$** > $@
11111155
1156
+builtin_data.h: mkbuiltin$E $(EXTRA_FILES)
1157
+ +$** > $@
1158
+
11121159
clean:
11131160
-del $(OBJDIR)\*.obj
11141161
-del *.obj *_.c *.h *.map
11151162
11161163
realclean:
1117
- -del $(APPNAME) translate$E mkindex$E makeheaders$E mkversion$E codecheck1$E
1164
+ -del $(APPNAME) translate$E mkindex$E makeheaders$E mkversion$E codecheck1$E mkbuiltin$E
11181165
11191166
$(OBJDIR)\json$O : $(SRCDIR)\json_detail.h
11201167
$(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h
11211168
$(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h
11221169
$(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h
@@ -1139,11 +1186,11 @@
11391186
writeln "\t\$(TCC) -o\$@ -c ${s}_.c\n"
11401187
writeln "${s}_.c : \$(SRCDIR)\\$s.c"
11411188
writeln "\t+translate\$E \$** > \$@\n"
11421189
}
11431190
1144
-writeln -nonewline "headers: makeheaders\$E page_index.h VERSION.h\n\t +makeheaders\$E "
1191
+writeln -nonewline "headers: makeheaders\$E page_index.h builtin_data.h VERSION.h\n\t +makeheaders\$E "
11451192
foreach s [lsort $src] {
11461193
writeln -nonewline "${s}_.c:$s.h "
11471194
}
11481195
writeln "\$(SRCDIR)\\sqlite3.h \$(SRCDIR)\\th.h VERSION.h \$(SRCDIR)\\cson_amalgamation.h"
11491196
writeln "\t@copy /Y nul: headers"
@@ -1356,10 +1403,20 @@
13561403
writeln " \\"
13571404
writeln -nonewline " "
13581405
}
13591406
writeln -nonewline "${s}_.c"; incr i
13601407
}
1408
+writeln "\n"
1409
+writeln -nonewline "EXTRA_FILES = "
1410
+set i 0
1411
+foreach s [lsort $extra_files] {
1412
+ if {$i > 0} {
1413
+ writeln " \\"
1414
+ writeln -nonewline " "
1415
+ }
1416
+ writeln -nonewline "\$(SRCDIR)\\${s}"; incr i
1417
+}
13611418
writeln "\n"
13621419
set AdditionalObj [list shell sqlite3 th th_lang th_tcl cson_amalgamation]
13631420
writeln -nonewline "OBJ = "
13641421
set i 0
13651422
foreach s [lsort [concat $src $AdditionalObj]] {
@@ -1443,10 +1500,13 @@
14431500
makeheaders$E: $(SRCDIR)\makeheaders.c
14441501
$(BCC) $**
14451502
14461503
mkindex$E: $(SRCDIR)\mkindex.c
14471504
$(BCC) $**
1505
+
1506
+mkbuiltin$E: $(SRCDIR)\mkbuiltin.c
1507
+ $(BCC) $**
14481508
14491509
mkversion$E: $(SRCDIR)\mkversion.c
14501510
$(BCC) $**
14511511
14521512
codecheck1$E: $(SRCDIR)\codecheck1.c
@@ -1476,10 +1536,13 @@
14761536
$(TCC) /Fo$@ /c $**
14771537
14781538
page_index.h: mkindex$E $(SRC)
14791539
$** > $@
14801540
1541
+builtin_data.h: mkbuiltin$E $(EXTRA_FILES)
1542
+ $** > $@
1543
+
14811544
clean:
14821545
-del $(OX)\*.obj
14831546
-del *.obj
14841547
-del *_.c
14851548
-del *.h
@@ -1501,10 +1564,12 @@
15011564
-del makeheaders$P
15021565
-del mkversion$E
15031566
-del mkversion$P
15041567
-del codecheck1$E
15051568
-del codecheck1$P
1569
+ -del mkbuiltin$E
1570
+ -del mkbuiltin$P
15061571
15071572
$(OBJDIR)\json$O : $(SRCDIR)\json_detail.h
15081573
$(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h
15091574
$(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h
15101575
$(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h
@@ -1528,11 +1593,11 @@
15281593
}
15291594
15301595
writeln "fossil.res : \$B\\win\\fossil.rc"
15311596
writeln "\t\$(RCC) /fo \$@ \$**\n"
15321597
1533
-writeln "headers: makeheaders\$E page_index.h VERSION.h"
1598
+writeln "headers: makeheaders\$E page_index.h builtin_data.h VERSION.h"
15341599
writeln -nonewline "\tmakeheaders\$E "
15351600
set i 0
15361601
foreach s [lsort $src] {
15371602
if {$i > 0} {
15381603
writeln " \\"
@@ -1638,11 +1703,11 @@
16381703
RC=$(PellesCDir)\bin\porc.exe
16391704
RCFLAGS=$(INCLUDE) -D__POCC__=1 -D_M_X$(TARGETVERSION)
16401705
16411706
# define the special utilities files, needed to generate
16421707
# the automatically generated source files
1643
-UTILS=translate.exe mkindex.exe makeheaders.exe
1708
+UTILS=translate.exe mkindex.exe makeheaders.exe mkbuiltin.exe
16441709
UTILS_OBJ=$(UTILS:.exe=.obj)
16451710
UTILS_SRC=$(foreach uf,$(UTILS),$(SRCDIR)$(uf:.exe=.c))
16461711
16471712
# define the SQLite files, which need special flags on compile
16481713
SQLITESRC=sqlite3.c
@@ -1677,11 +1742,11 @@
16771742
# main target file is the application
16781743
APPLICATION=fossil.exe
16791744
16801745
# define the standard make target
16811746
.PHONY: default
1682
-default: page_index.h headers $(APPLICATION)
1747
+default: page_index.h builtin_data.h headers $(APPLICATION)
16831748
16841749
# symbolic target to generate the source generate utils
16851750
.PHONY: utils
16861751
utils: $(UTILS)
16871752
@@ -1702,17 +1767,20 @@
17021767
translate.exe $< >$@
17031768
17041769
# generate the index source, containing all web references,..
17051770
page_index.h: $(TRANSLATEDSRC) mkindex.exe
17061771
mkindex.exe $(TRANSLATEDSRC) >$@
1772
+
1773
+builtin_data.h: $(EXTRA_FILES) mkbuiltin.exe
1774
+ mkbuiltin.exe $(EXTRA_FILES) >$@
17071775
17081776
# extracting version info from manifest
17091777
VERSION.h: version.exe ..\manifest.uuid ..\manifest ..\VERSION
17101778
version.exe ..\manifest.uuid ..\manifest ..\VERSION > $@
17111779
17121780
# generate the simplified headers
1713
-headers: makeheaders.exe page_index.h VERSION.h ../src/sqlite3.h ../src/th.h VERSION.h
1781
+headers: makeheaders.exe page_index.h builtin_data.h VERSION.h ../src/sqlite3.h ../src/th.h VERSION.h
17141782
makeheaders.exe $(foreach ts,$(TRANSLATEDSRC),$(ts):$(ts:_.c=.h)) ../src/sqlite3.h ../src/th.h VERSION.h
17151783
echo Done >$@
17161784
17171785
# compile C sources with relevant options
17181786
17191787
17201788
ADDED src/mkbuiltin.c
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -12,12 +12,15 @@
12 # tclsh makemake.tcl
13 #
14 #############################################################################
15
16 # Basenames of all source files that get preprocessed using
17 # "translate" and "makeheaders". To add new source files to the
18 # project, simply add the basename to this list and rerun this script.
 
 
 
19 #
20 set src {
21 add
22 allrepo
23 attach
@@ -24,10 +27,11 @@
24 bag
25 bisect
26 blob
27 branch
28 browse
 
29 cache
30 captcha
31 cgi
32 checkin
33 checkout
@@ -128,10 +132,16 @@
128 xfer
129 xfersetup
130 zip
131 http_ssl
132 }
 
 
 
 
 
 
133
134 # Options used to compile the included SQLite library.
135 #
136 set SQLITE_OPTIONS {
137 -DNDEBUG=1
@@ -217,10 +227,15 @@
217 }
218 writeln -nonewline "SRC ="
219 foreach s [lsort $src] {
220 writeln -nonewline " \\\n \$(SRCDIR)/$s.c"
221 }
 
 
 
 
 
222 writeln "\n"
223 writeln -nonewline "TRANS_SRC ="
224 foreach s [lsort $src] {
225 writeln -nonewline " \\\n \$(OBJDIR)/${s}_.c"
226 }
@@ -256,10 +271,13 @@
256 $(BCC) -o $(OBJDIR)/makeheaders $(SRCDIR)/makeheaders.c
257
258 $(OBJDIR)/mkindex: $(SRCDIR)/mkindex.c
259 $(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
260
 
 
 
261 $(OBJDIR)/mkversion: $(SRCDIR)/mkversion.c
262 $(BCC) -o $(OBJDIR)/mkversion $(SRCDIR)/mkversion.c
263
264 $(OBJDIR)/codecheck1: $(SRCDIR)/codecheck1.c
265 $(BCC) -o $(OBJDIR)/codecheck1 $(SRCDIR)/codecheck1.c
@@ -336,18 +354,23 @@
336 append mhargs "\$(SRCDIR)/th.h <<<NEXT_LINE>>>"
337 #append mhargs "\$(SRCDIR)/cson_amalgamation.h <<<NEXT_LINE>>>"
338 append mhargs "\$(OBJDIR)/VERSION.h"
339 set mhargs [string map [list <<<NEXT_LINE>>> \\\n\t] $mhargs]
340 writeln "\$(OBJDIR)/page_index.h: \$(TRANS_SRC) \$(OBJDIR)/mkindex"
341 writeln "\t\$(OBJDIR)/mkindex \$(TRANS_SRC) >$@"
342 writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/makeheaders \$(OBJDIR)/VERSION.h"
 
 
 
 
343 writeln "\t\$(OBJDIR)/makeheaders $mhargs"
344 writeln "\ttouch \$(OBJDIR)/headers"
345 writeln "\$(OBJDIR)/headers: Makefile"
346 writeln "\$(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 : \$(SRCDIR)/json_detail.h"
347 writeln "Makefile:"
348 set extra_h(main) " \$(OBJDIR)/page_index.h "
 
349
350 foreach s [lsort $src] {
351 writeln "\$(OBJDIR)/${s}_.c:\t\$(SRCDIR)/$s.c \$(OBJDIR)/translate"
352 writeln "\t\$(OBJDIR)/translate \$(SRCDIR)/$s.c >\$(OBJDIR)/${s}_.c\n"
353 writeln "\$(OBJDIR)/$s.o:\t\$(OBJDIR)/${s}_.c \$(OBJDIR)/$s.h$extra_h($s)\$(SRCDIR)/config.h"
@@ -733,10 +756,15 @@
733 }
734 writeln -nonewline "SRC ="
735 foreach s [lsort $src] {
736 writeln -nonewline " \\\n \$(SRCDIR)/$s.c"
737 }
 
 
 
 
 
738 writeln "\n"
739 writeln -nonewline "TRANS_SRC ="
740 foreach s [lsort $src] {
741 writeln -nonewline " \\\n \$(OBJDIR)/${s}_.c"
742 }
@@ -759,10 +787,11 @@
759 #
760 ifdef USE_WINDOWS
761 TRANSLATE = $(subst /,\,$(OBJDIR)/translate.exe)
762 MAKEHEADERS = $(subst /,\,$(OBJDIR)/makeheaders.exe)
763 MKINDEX = $(subst /,\,$(OBJDIR)/mkindex.exe)
 
764 VERSION = $(subst /,\,$(OBJDIR)/version.exe)
765 CODECHECK1 = $(subst /,\,$(OBJDIR)/codecheck1.exe)
766 CAT = type
767 CP = copy
768 GREP = find
@@ -772,10 +801,11 @@
772 RMDIR = rmdir /S /Q
773 else
774 TRANSLATE = $(OBJDIR)/translate.exe
775 MAKEHEADERS = $(OBJDIR)/makeheaders.exe
776 MKINDEX = $(OBJDIR)/mkindex.exe
 
777 VERSION = $(OBJDIR)/version.exe
778 CODECHECK1 = $(OBJDIR)/codecheck1.exe
779 CAT = cat
780 CP = cp
781 GREP = grep
@@ -825,10 +855,13 @@
825 $(BCC) -o $(MAKEHEADERS) $(SRCDIR)/makeheaders.c
826
827 $(MKINDEX): $(SRCDIR)/mkindex.c
828 $(BCC) -o $(MKINDEX) $(SRCDIR)/mkindex.c
829
 
 
 
830 $(VERSION): $(SRCDIR)/mkversion.c
831 $(BCC) -o $(VERSION) $(SRCDIR)/mkversion.c
832
833 $(CODECHECK1): $(SRCDIR)/codecheck1.c
834 $(BCC) -o $(CODECHECK1) $(SRCDIR)/codecheck1.c
@@ -935,16 +968,24 @@
935 append mhargs " \\\n\t\t\$(SRCDIR)/sqlite3.h"
936 append mhargs " \\\n\t\t\$(SRCDIR)/th.h"
937 append mhargs " \\\n\t\t\$(OBJDIR)/VERSION.h"
938 writeln "\$(OBJDIR)/page_index.h: \$(TRANS_SRC) \$(MKINDEX)"
939 writeln "\t\$(MKINDEX) \$(TRANS_SRC) >$@\n"
940 writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(MAKEHEADERS) \$(OBJDIR)/VERSION.h"
 
 
 
 
941 writeln "\t\$(MAKEHEADERS) $mhargs"
942 writeln "\techo Done >\$(OBJDIR)/headers\n"
943 writeln "\$(OBJDIR)/headers: Makefile\n"
944 writeln "Makefile:\n"
945 set extra_h(main) " \$(OBJDIR)/page_index.h "
 
 
 
 
946
947 foreach s [lsort $src] {
948 writeln "\$(OBJDIR)/${s}_.c:\t\$(SRCDIR)/$s.c \$(TRANSLATE)"
949 writeln "\t\$(TRANSLATE) \$(SRCDIR)/$s.c >\$(OBJDIR)/${s}_.c\n"
950 writeln "\$(OBJDIR)/$s.o:\t\$(OBJDIR)/${s}_.c \$(OBJDIR)/$s.h$extra_h($s)\$(SRCDIR)/config.h"
@@ -1079,10 +1120,13 @@
1079 makeheaders$E: $(SRCDIR)\makeheaders.c
1080 $(BCC) -o$@ $**
1081
1082 mkindex$E: $(SRCDIR)\mkindex.c
1083 $(BCC) -o$@ $**
 
 
 
1084
1085 mkversion$E: $(SRCDIR)\mkversion.c
1086 $(BCC) -o$@ $**
1087
1088 codecheck1$E: $(SRCDIR)\codecheck1.c
@@ -1107,16 +1151,19 @@
1107 +$** > $@
1108
1109 page_index.h: mkindex$E $(SRC)
1110 +$** > $@
1111
 
 
 
1112 clean:
1113 -del $(OBJDIR)\*.obj
1114 -del *.obj *_.c *.h *.map
1115
1116 realclean:
1117 -del $(APPNAME) translate$E mkindex$E makeheaders$E mkversion$E codecheck1$E
1118
1119 $(OBJDIR)\json$O : $(SRCDIR)\json_detail.h
1120 $(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h
1121 $(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h
1122 $(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h
@@ -1139,11 +1186,11 @@
1139 writeln "\t\$(TCC) -o\$@ -c ${s}_.c\n"
1140 writeln "${s}_.c : \$(SRCDIR)\\$s.c"
1141 writeln "\t+translate\$E \$** > \$@\n"
1142 }
1143
1144 writeln -nonewline "headers: makeheaders\$E page_index.h VERSION.h\n\t +makeheaders\$E "
1145 foreach s [lsort $src] {
1146 writeln -nonewline "${s}_.c:$s.h "
1147 }
1148 writeln "\$(SRCDIR)\\sqlite3.h \$(SRCDIR)\\th.h VERSION.h \$(SRCDIR)\\cson_amalgamation.h"
1149 writeln "\t@copy /Y nul: headers"
@@ -1356,10 +1403,20 @@
1356 writeln " \\"
1357 writeln -nonewline " "
1358 }
1359 writeln -nonewline "${s}_.c"; incr i
1360 }
 
 
 
 
 
 
 
 
 
 
1361 writeln "\n"
1362 set AdditionalObj [list shell sqlite3 th th_lang th_tcl cson_amalgamation]
1363 writeln -nonewline "OBJ = "
1364 set i 0
1365 foreach s [lsort [concat $src $AdditionalObj]] {
@@ -1443,10 +1500,13 @@
1443 makeheaders$E: $(SRCDIR)\makeheaders.c
1444 $(BCC) $**
1445
1446 mkindex$E: $(SRCDIR)\mkindex.c
1447 $(BCC) $**
 
 
 
1448
1449 mkversion$E: $(SRCDIR)\mkversion.c
1450 $(BCC) $**
1451
1452 codecheck1$E: $(SRCDIR)\codecheck1.c
@@ -1476,10 +1536,13 @@
1476 $(TCC) /Fo$@ /c $**
1477
1478 page_index.h: mkindex$E $(SRC)
1479 $** > $@
1480
 
 
 
1481 clean:
1482 -del $(OX)\*.obj
1483 -del *.obj
1484 -del *_.c
1485 -del *.h
@@ -1501,10 +1564,12 @@
1501 -del makeheaders$P
1502 -del mkversion$E
1503 -del mkversion$P
1504 -del codecheck1$E
1505 -del codecheck1$P
 
 
1506
1507 $(OBJDIR)\json$O : $(SRCDIR)\json_detail.h
1508 $(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h
1509 $(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h
1510 $(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h
@@ -1528,11 +1593,11 @@
1528 }
1529
1530 writeln "fossil.res : \$B\\win\\fossil.rc"
1531 writeln "\t\$(RCC) /fo \$@ \$**\n"
1532
1533 writeln "headers: makeheaders\$E page_index.h VERSION.h"
1534 writeln -nonewline "\tmakeheaders\$E "
1535 set i 0
1536 foreach s [lsort $src] {
1537 if {$i > 0} {
1538 writeln " \\"
@@ -1638,11 +1703,11 @@
1638 RC=$(PellesCDir)\bin\porc.exe
1639 RCFLAGS=$(INCLUDE) -D__POCC__=1 -D_M_X$(TARGETVERSION)
1640
1641 # define the special utilities files, needed to generate
1642 # the automatically generated source files
1643 UTILS=translate.exe mkindex.exe makeheaders.exe
1644 UTILS_OBJ=$(UTILS:.exe=.obj)
1645 UTILS_SRC=$(foreach uf,$(UTILS),$(SRCDIR)$(uf:.exe=.c))
1646
1647 # define the SQLite files, which need special flags on compile
1648 SQLITESRC=sqlite3.c
@@ -1677,11 +1742,11 @@
1677 # main target file is the application
1678 APPLICATION=fossil.exe
1679
1680 # define the standard make target
1681 .PHONY: default
1682 default: page_index.h headers $(APPLICATION)
1683
1684 # symbolic target to generate the source generate utils
1685 .PHONY: utils
1686 utils: $(UTILS)
1687
@@ -1702,17 +1767,20 @@
1702 translate.exe $< >$@
1703
1704 # generate the index source, containing all web references,..
1705 page_index.h: $(TRANSLATEDSRC) mkindex.exe
1706 mkindex.exe $(TRANSLATEDSRC) >$@
 
 
 
1707
1708 # extracting version info from manifest
1709 VERSION.h: version.exe ..\manifest.uuid ..\manifest ..\VERSION
1710 version.exe ..\manifest.uuid ..\manifest ..\VERSION > $@
1711
1712 # generate the simplified headers
1713 headers: makeheaders.exe page_index.h VERSION.h ../src/sqlite3.h ../src/th.h VERSION.h
1714 makeheaders.exe $(foreach ts,$(TRANSLATEDSRC),$(ts):$(ts:_.c=.h)) ../src/sqlite3.h ../src/th.h VERSION.h
1715 echo Done >$@
1716
1717 # compile C sources with relevant options
1718
1719
1720 DDED src/mkbuiltin.c
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -12,12 +12,15 @@
12 # tclsh makemake.tcl
13 #
14 #############################################################################
15
16 # Basenames of all source files that get preprocessed using
17 # "translate" and "makeheaders". To add new C-language source files to the
18 # project, simply add the basename to this list and rerun this script.
19 #
20 # Set the separate extra_files variable further down for how to add non-C
21 # files, such as string and BLOB resources.
22 #
23 set src {
24 add
25 allrepo
26 attach
@@ -24,10 +27,11 @@
27 bag
28 bisect
29 blob
30 branch
31 browse
32 builtin
33 cache
34 captcha
35 cgi
36 checkin
37 checkout
@@ -128,10 +132,16 @@
132 xfer
133 xfersetup
134 zip
135 http_ssl
136 }
137
138 # Additional resource files that get built into the executable.
139 #
140 set extra_files {
141 diff.tcl
142 }
143
144 # Options used to compile the included SQLite library.
145 #
146 set SQLITE_OPTIONS {
147 -DNDEBUG=1
@@ -217,10 +227,15 @@
227 }
228 writeln -nonewline "SRC ="
229 foreach s [lsort $src] {
230 writeln -nonewline " \\\n \$(SRCDIR)/$s.c"
231 }
232 writeln "\n"
233 writeln -nonewline "EXTRA_FILES ="
234 foreach s [lsort $extra_files] {
235 writeln -nonewline " \\\n \$(SRCDIR)/$s"
236 }
237 writeln "\n"
238 writeln -nonewline "TRANS_SRC ="
239 foreach s [lsort $src] {
240 writeln -nonewline " \\\n \$(OBJDIR)/${s}_.c"
241 }
@@ -256,10 +271,13 @@
271 $(BCC) -o $(OBJDIR)/makeheaders $(SRCDIR)/makeheaders.c
272
273 $(OBJDIR)/mkindex: $(SRCDIR)/mkindex.c
274 $(BCC) -o $(OBJDIR)/mkindex $(SRCDIR)/mkindex.c
275
276 $(OBJDIR)/mkbuiltin: $(SRCDIR)/mkbuiltin.c
277 $(BCC) -o $(OBJDIR)/mkbuiltin $(SRCDIR)/mkbuiltin.c
278
279 $(OBJDIR)/mkversion: $(SRCDIR)/mkversion.c
280 $(BCC) -o $(OBJDIR)/mkversion $(SRCDIR)/mkversion.c
281
282 $(OBJDIR)/codecheck1: $(SRCDIR)/codecheck1.c
283 $(BCC) -o $(OBJDIR)/codecheck1 $(SRCDIR)/codecheck1.c
@@ -336,18 +354,23 @@
354 append mhargs "\$(SRCDIR)/th.h <<<NEXT_LINE>>>"
355 #append mhargs "\$(SRCDIR)/cson_amalgamation.h <<<NEXT_LINE>>>"
356 append mhargs "\$(OBJDIR)/VERSION.h"
357 set mhargs [string map [list <<<NEXT_LINE>>> \\\n\t] $mhargs]
358 writeln "\$(OBJDIR)/page_index.h: \$(TRANS_SRC) \$(OBJDIR)/mkindex"
359 writeln "\t\$(OBJDIR)/mkindex \$(TRANS_SRC) >$@\n"
360
361 writeln "\$(OBJDIR)/builtin_data.h: \$(OBJDIR)/mkbuiltin \$(EXTRA_FILES)"
362 writeln "\t\$(OBJDIR)/mkbuiltin \$(EXTRA_FILES) >$@\n"
363
364 writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/builtin_data.h \$(OBJDIR)/makeheaders \$(OBJDIR)/VERSION.h"
365 writeln "\t\$(OBJDIR)/makeheaders $mhargs"
366 writeln "\ttouch \$(OBJDIR)/headers"
367 writeln "\$(OBJDIR)/headers: Makefile"
368 writeln "\$(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 : \$(SRCDIR)/json_detail.h"
369 writeln "Makefile:"
370 set extra_h(main) " \$(OBJDIR)/page_index.h "
371 set extra_h(builtin) " \$(OBJDIR)/builtin_data.h "
372
373 foreach s [lsort $src] {
374 writeln "\$(OBJDIR)/${s}_.c:\t\$(SRCDIR)/$s.c \$(OBJDIR)/translate"
375 writeln "\t\$(OBJDIR)/translate \$(SRCDIR)/$s.c >\$(OBJDIR)/${s}_.c\n"
376 writeln "\$(OBJDIR)/$s.o:\t\$(OBJDIR)/${s}_.c \$(OBJDIR)/$s.h$extra_h($s)\$(SRCDIR)/config.h"
@@ -733,10 +756,15 @@
756 }
757 writeln -nonewline "SRC ="
758 foreach s [lsort $src] {
759 writeln -nonewline " \\\n \$(SRCDIR)/$s.c"
760 }
761 writeln "\n"
762 writeln -nonewline "EXTRA_FILES ="
763 foreach s [lsort $extra_files] {
764 writeln -nonewline " \\\n \$(SRCDIR)/$s"
765 }
766 writeln "\n"
767 writeln -nonewline "TRANS_SRC ="
768 foreach s [lsort $src] {
769 writeln -nonewline " \\\n \$(OBJDIR)/${s}_.c"
770 }
@@ -759,10 +787,11 @@
787 #
788 ifdef USE_WINDOWS
789 TRANSLATE = $(subst /,\,$(OBJDIR)/translate.exe)
790 MAKEHEADERS = $(subst /,\,$(OBJDIR)/makeheaders.exe)
791 MKINDEX = $(subst /,\,$(OBJDIR)/mkindex.exe)
792 MKBUILTIN = $(subst /,\,$(OBJDIR)/mkbuiltin.exe)
793 VERSION = $(subst /,\,$(OBJDIR)/version.exe)
794 CODECHECK1 = $(subst /,\,$(OBJDIR)/codecheck1.exe)
795 CAT = type
796 CP = copy
797 GREP = find
@@ -772,10 +801,11 @@
801 RMDIR = rmdir /S /Q
802 else
803 TRANSLATE = $(OBJDIR)/translate.exe
804 MAKEHEADERS = $(OBJDIR)/makeheaders.exe
805 MKINDEX = $(OBJDIR)/mkindex.exe
806 MKBUILTIN = $(OBJDIR)/mkbuiltin.exe
807 VERSION = $(OBJDIR)/version.exe
808 CODECHECK1 = $(OBJDIR)/codecheck1.exe
809 CAT = cat
810 CP = cp
811 GREP = grep
@@ -825,10 +855,13 @@
855 $(BCC) -o $(MAKEHEADERS) $(SRCDIR)/makeheaders.c
856
857 $(MKINDEX): $(SRCDIR)/mkindex.c
858 $(BCC) -o $(MKINDEX) $(SRCDIR)/mkindex.c
859
860 $(MKBUILTIN): $(SRCDIR)/mkbuiltin.c
861 $(BCC) -o $(MKBUILTIN) $(SRCDIR)/mkbuiltin.c
862
863 $(VERSION): $(SRCDIR)/mkversion.c
864 $(BCC) -o $(VERSION) $(SRCDIR)/mkversion.c
865
866 $(CODECHECK1): $(SRCDIR)/codecheck1.c
867 $(BCC) -o $(CODECHECK1) $(SRCDIR)/codecheck1.c
@@ -935,16 +968,24 @@
968 append mhargs " \\\n\t\t\$(SRCDIR)/sqlite3.h"
969 append mhargs " \\\n\t\t\$(SRCDIR)/th.h"
970 append mhargs " \\\n\t\t\$(OBJDIR)/VERSION.h"
971 writeln "\$(OBJDIR)/page_index.h: \$(TRANS_SRC) \$(MKINDEX)"
972 writeln "\t\$(MKINDEX) \$(TRANS_SRC) >$@\n"
973
974 writeln "\$(OBJDIR)/builtin_data.h:\t\$(MKBUILTIN) \$(EXTRA_FILES)"
975 writeln "\t\$(MKBUILTIN) \$(EXTRA_FILES) >$@\n"
976
977 writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/builtin_data.h \$(MAKEHEADERS) \$(OBJDIR)/VERSION.h"
978 writeln "\t\$(MAKEHEADERS) $mhargs"
979 writeln "\techo Done >\$(OBJDIR)/headers\n"
980 writeln "\$(OBJDIR)/headers: Makefile\n"
981 writeln "Makefile:\n"
982 set extra_h(main) " \$(OBJDIR)/page_index.h "
983 set extra_h(builtin) " \$(OBJDIR)/builtin_data.h "
984
985 writeln "\$(OBJDIR)/builtin_data.h:\t\$(MKBUILTIN) \$(EXTRA_FILES)"
986 writeln "\t\$(MKBUILTIN) \$(EXTRA_FILES) >\$(OBJDIR)/builtin_data.h\n"
987
988 foreach s [lsort $src] {
989 writeln "\$(OBJDIR)/${s}_.c:\t\$(SRCDIR)/$s.c \$(TRANSLATE)"
990 writeln "\t\$(TRANSLATE) \$(SRCDIR)/$s.c >\$(OBJDIR)/${s}_.c\n"
991 writeln "\$(OBJDIR)/$s.o:\t\$(OBJDIR)/${s}_.c \$(OBJDIR)/$s.h$extra_h($s)\$(SRCDIR)/config.h"
@@ -1079,10 +1120,13 @@
1120 makeheaders$E: $(SRCDIR)\makeheaders.c
1121 $(BCC) -o$@ $**
1122
1123 mkindex$E: $(SRCDIR)\mkindex.c
1124 $(BCC) -o$@ $**
1125
1126 mkbuiltin$E: $(SRCDIR)\mkbuiltin.c
1127 $(BCC) -o$@ $**
1128
1129 mkversion$E: $(SRCDIR)\mkversion.c
1130 $(BCC) -o$@ $**
1131
1132 codecheck1$E: $(SRCDIR)\codecheck1.c
@@ -1107,16 +1151,19 @@
1151 +$** > $@
1152
1153 page_index.h: mkindex$E $(SRC)
1154 +$** > $@
1155
1156 builtin_data.h: mkbuiltin$E $(EXTRA_FILES)
1157 +$** > $@
1158
1159 clean:
1160 -del $(OBJDIR)\*.obj
1161 -del *.obj *_.c *.h *.map
1162
1163 realclean:
1164 -del $(APPNAME) translate$E mkindex$E makeheaders$E mkversion$E codecheck1$E mkbuiltin$E
1165
1166 $(OBJDIR)\json$O : $(SRCDIR)\json_detail.h
1167 $(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h
1168 $(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h
1169 $(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h
@@ -1139,11 +1186,11 @@
1186 writeln "\t\$(TCC) -o\$@ -c ${s}_.c\n"
1187 writeln "${s}_.c : \$(SRCDIR)\\$s.c"
1188 writeln "\t+translate\$E \$** > \$@\n"
1189 }
1190
1191 writeln -nonewline "headers: makeheaders\$E page_index.h builtin_data.h VERSION.h\n\t +makeheaders\$E "
1192 foreach s [lsort $src] {
1193 writeln -nonewline "${s}_.c:$s.h "
1194 }
1195 writeln "\$(SRCDIR)\\sqlite3.h \$(SRCDIR)\\th.h VERSION.h \$(SRCDIR)\\cson_amalgamation.h"
1196 writeln "\t@copy /Y nul: headers"
@@ -1356,10 +1403,20 @@
1403 writeln " \\"
1404 writeln -nonewline " "
1405 }
1406 writeln -nonewline "${s}_.c"; incr i
1407 }
1408 writeln "\n"
1409 writeln -nonewline "EXTRA_FILES = "
1410 set i 0
1411 foreach s [lsort $extra_files] {
1412 if {$i > 0} {
1413 writeln " \\"
1414 writeln -nonewline " "
1415 }
1416 writeln -nonewline "\$(SRCDIR)\\${s}"; incr i
1417 }
1418 writeln "\n"
1419 set AdditionalObj [list shell sqlite3 th th_lang th_tcl cson_amalgamation]
1420 writeln -nonewline "OBJ = "
1421 set i 0
1422 foreach s [lsort [concat $src $AdditionalObj]] {
@@ -1443,10 +1500,13 @@
1500 makeheaders$E: $(SRCDIR)\makeheaders.c
1501 $(BCC) $**
1502
1503 mkindex$E: $(SRCDIR)\mkindex.c
1504 $(BCC) $**
1505
1506 mkbuiltin$E: $(SRCDIR)\mkbuiltin.c
1507 $(BCC) $**
1508
1509 mkversion$E: $(SRCDIR)\mkversion.c
1510 $(BCC) $**
1511
1512 codecheck1$E: $(SRCDIR)\codecheck1.c
@@ -1476,10 +1536,13 @@
1536 $(TCC) /Fo$@ /c $**
1537
1538 page_index.h: mkindex$E $(SRC)
1539 $** > $@
1540
1541 builtin_data.h: mkbuiltin$E $(EXTRA_FILES)
1542 $** > $@
1543
1544 clean:
1545 -del $(OX)\*.obj
1546 -del *.obj
1547 -del *_.c
1548 -del *.h
@@ -1501,10 +1564,12 @@
1564 -del makeheaders$P
1565 -del mkversion$E
1566 -del mkversion$P
1567 -del codecheck1$E
1568 -del codecheck1$P
1569 -del mkbuiltin$E
1570 -del mkbuiltin$P
1571
1572 $(OBJDIR)\json$O : $(SRCDIR)\json_detail.h
1573 $(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h
1574 $(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h
1575 $(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h
@@ -1528,11 +1593,11 @@
1593 }
1594
1595 writeln "fossil.res : \$B\\win\\fossil.rc"
1596 writeln "\t\$(RCC) /fo \$@ \$**\n"
1597
1598 writeln "headers: makeheaders\$E page_index.h builtin_data.h VERSION.h"
1599 writeln -nonewline "\tmakeheaders\$E "
1600 set i 0
1601 foreach s [lsort $src] {
1602 if {$i > 0} {
1603 writeln " \\"
@@ -1638,11 +1703,11 @@
1703 RC=$(PellesCDir)\bin\porc.exe
1704 RCFLAGS=$(INCLUDE) -D__POCC__=1 -D_M_X$(TARGETVERSION)
1705
1706 # define the special utilities files, needed to generate
1707 # the automatically generated source files
1708 UTILS=translate.exe mkindex.exe makeheaders.exe mkbuiltin.exe
1709 UTILS_OBJ=$(UTILS:.exe=.obj)
1710 UTILS_SRC=$(foreach uf,$(UTILS),$(SRCDIR)$(uf:.exe=.c))
1711
1712 # define the SQLite files, which need special flags on compile
1713 SQLITESRC=sqlite3.c
@@ -1677,11 +1742,11 @@
1742 # main target file is the application
1743 APPLICATION=fossil.exe
1744
1745 # define the standard make target
1746 .PHONY: default
1747 default: page_index.h builtin_data.h headers $(APPLICATION)
1748
1749 # symbolic target to generate the source generate utils
1750 .PHONY: utils
1751 utils: $(UTILS)
1752
@@ -1702,17 +1767,20 @@
1767 translate.exe $< >$@
1768
1769 # generate the index source, containing all web references,..
1770 page_index.h: $(TRANSLATEDSRC) mkindex.exe
1771 mkindex.exe $(TRANSLATEDSRC) >$@
1772
1773 builtin_data.h: $(EXTRA_FILES) mkbuiltin.exe
1774 mkbuiltin.exe $(EXTRA_FILES) >$@
1775
1776 # extracting version info from manifest
1777 VERSION.h: version.exe ..\manifest.uuid ..\manifest ..\VERSION
1778 version.exe ..\manifest.uuid ..\manifest ..\VERSION > $@
1779
1780 # generate the simplified headers
1781 headers: makeheaders.exe page_index.h builtin_data.h VERSION.h ../src/sqlite3.h ../src/th.h VERSION.h
1782 makeheaders.exe $(foreach ts,$(TRANSLATEDSRC),$(ts):$(ts:_.c=.h)) ../src/sqlite3.h ../src/th.h VERSION.h
1783 echo Done >$@
1784
1785 # compile C sources with relevant options
1786
1787
1788 DDED src/mkbuiltin.c
--- a/src/mkbuiltin.c
+++ b/src/mkbuiltin.c
@@ -0,0 +1,61 @@
1
+/*
2
+** Con = argc-1/*
3
+ /*
4
+** Con = argc-1/*
5
+** Const/*
6
+** Copyright (st/*
7
+** Copyright (c) 2014 D. Richard Hipp
8
+**
9
+** This program is free software; you can redistribute it and/or
10
+** modify it under the terms of the Simplif Copvoid *a, const v*)a;
11
+ Resource *pB = esource*)b;
12
+ return strcmp(pA->zName, pB->zName) nRes = argc - 1;
13
+ aRes = malloc( nRes*sizeof(aRes[0]) );
14
+ if( aRes==0t (c) 2014 D. Richard Hip/return 1;
15
+ }
16
+aRes[ireturn nErr;
17
+}
18
+const char *zTail;
19
+ int nSlash = 0;
20
+ zTail = z;
21
+ while( z && z[0] ){
22
+ if( z[0]=='/' || z[0]=='\\' ){
23
+ nSlash++;
24
+ if( nSlash<=2 || z[-1]=='.' ) zTail = &z[1];
25
+ }
26
+ z++;
27
+ }zTail);
28
+ for(j=Tail;/*
29
+** Con = argc-1/*
30
+** Const/*
31
+** Copyright (st/*
32
+** Copyright (c) 20gc-1/*
33
+** Const** Const/*
34
+** Copyright (st/*
35
+** Copyright (c) 2014 D. Richard Hipp
36
+**
37
+** This program is free software; you can redistribute it and/or
38
+** modify it under the terms of the Simplif Copvoid *a, const v*)a;
39
+ Resource *pB = esource*)b;
40
+ return strcmp(pA->zName, pB->zName) nRes = argc - 1;
41
+ aRes = malloc( nRes*sizeof(aRes[0]) );
42
+ if( aRes==0t (c) 2014 D. Richard Hip/return 1;
43
+ }
44
+aRes[ireturn nErr;
45
+}
46
+const char *zTail;
47
+ int nSlash = 0;
48
+ zTail = z;
49
+ while( z && z[0] ){
50
+ if( z[0]=='/' || z[0]=='\\' ){
51
+ nSlash++;
52
+ if( nSlash<=2 || z[-1]=='.' ) zTail = &z[1];
53
+ }
54
+ z++;
55
+ }zTail);
56
+ for(j=Tail;/*
57
+** Con = argc-1/*
58
+** Const/*
59
+** Copyright (st/*
60
+** Copyright (c) 20gc-1/*
61
+** Const
--- a/src/mkbuiltin.c
+++ b/src/mkbuiltin.c
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/src/mkbuiltin.c
+++ b/src/mkbuiltin.c
@@ -0,0 +1,61 @@
1 /*
2 ** Con = argc-1/*
3 /*
4 ** Con = argc-1/*
5 ** Const/*
6 ** Copyright (st/*
7 ** Copyright (c) 2014 D. Richard Hipp
8 **
9 ** This program is free software; you can redistribute it and/or
10 ** modify it under the terms of the Simplif Copvoid *a, const v*)a;
11 Resource *pB = esource*)b;
12 return strcmp(pA->zName, pB->zName) nRes = argc - 1;
13 aRes = malloc( nRes*sizeof(aRes[0]) );
14 if( aRes==0t (c) 2014 D. Richard Hip/return 1;
15 }
16 aRes[ireturn nErr;
17 }
18 const char *zTail;
19 int nSlash = 0;
20 zTail = z;
21 while( z && z[0] ){
22 if( z[0]=='/' || z[0]=='\\' ){
23 nSlash++;
24 if( nSlash<=2 || z[-1]=='.' ) zTail = &z[1];
25 }
26 z++;
27 }zTail);
28 for(j=Tail;/*
29 ** Con = argc-1/*
30 ** Const/*
31 ** Copyright (st/*
32 ** Copyright (c) 20gc-1/*
33 ** Const** Const/*
34 ** Copyright (st/*
35 ** Copyright (c) 2014 D. Richard Hipp
36 **
37 ** This program is free software; you can redistribute it and/or
38 ** modify it under the terms of the Simplif Copvoid *a, const v*)a;
39 Resource *pB = esource*)b;
40 return strcmp(pA->zName, pB->zName) nRes = argc - 1;
41 aRes = malloc( nRes*sizeof(aRes[0]) );
42 if( aRes==0t (c) 2014 D. Richard Hip/return 1;
43 }
44 aRes[ireturn nErr;
45 }
46 const char *zTail;
47 int nSlash = 0;
48 zTail = z;
49 while( z && z[0] ){
50 if( z[0]=='/' || z[0]=='\\' ){
51 nSlash++;
52 if( nSlash<=2 || z[-1]=='.' ) zTail = &z[1];
53 }
54 z++;
55 }zTail);
56 for(j=Tail;/*
57 ** Con = argc-1/*
58 ** Const/*
59 ** Copyright (st/*
60 ** Copyright (c) 20gc-1/*
61 ** Const
--- win/Makefile.PellesCGMake
+++ win/Makefile.PellesCGMake
@@ -75,11 +75,11 @@
7575
RC=$(PellesCDir)\bin\porc.exe
7676
RCFLAGS=$(INCLUDE) -D__POCC__=1 -D_M_X$(TARGETVERSION)
7777
7878
# define the special utilities files, needed to generate
7979
# the automatically generated source files
80
-UTILS=translate.exe mkindex.exe makeheaders.exe
80
+UTILS=translate.exe mkindex.exe makeheaders.exe mkbuiltin.exe
8181
UTILS_OBJ=$(UTILS:.exe=.obj)
8282
UTILS_SRC=$(foreach uf,$(UTILS),$(SRCDIR)$(uf:.exe=.c))
8383
8484
# define the SQLite files, which need special flags on compile
8585
SQLITESRC=sqlite3.c
@@ -114,11 +114,11 @@
114114
# main target file is the application
115115
APPLICATION=fossil.exe
116116
117117
# define the standard make target
118118
.PHONY: default
119
-default: page_index.h headers $(APPLICATION)
119
+default: page_index.h builtin_data.h headers $(APPLICATION)
120120
121121
# symbolic target to generate the source generate utils
122122
.PHONY: utils
123123
utils: $(UTILS)
124124
@@ -139,17 +139,20 @@
139139
translate.exe $< >$@
140140
141141
# generate the index source, containing all web references,..
142142
page_index.h: $(TRANSLATEDSRC) mkindex.exe
143143
mkindex.exe $(TRANSLATEDSRC) >$@
144
+
145
+builtin_data.h: $(EXTRA_FILES) mkbuiltin.exe
146
+ mkbuiltin.exe $(EXTRA_FILES) >$@
144147
145148
# extracting version info from manifest
146149
VERSION.h: version.exe ..\manifest.uuid ..\manifest ..\VERSION
147150
version.exe ..\manifest.uuid ..\manifest ..\VERSION > $@
148151
149152
# generate the simplified headers
150
-headers: makeheaders.exe page_index.h VERSION.h ../src/sqlite3.h ../src/th.h VERSION.h
153
+headers: makeheaders.exe page_index.h builtin_data.h VERSION.h ../src/sqlite3.h ../src/th.h VERSION.h
151154
makeheaders.exe $(foreach ts,$(TRANSLATEDSRC),$(ts):$(ts:_.c=.h)) ../src/sqlite3.h ../src/th.h VERSION.h
152155
echo Done >$@
153156
154157
# compile C sources with relevant options
155158
156159
--- win/Makefile.PellesCGMake
+++ win/Makefile.PellesCGMake
@@ -75,11 +75,11 @@
75 RC=$(PellesCDir)\bin\porc.exe
76 RCFLAGS=$(INCLUDE) -D__POCC__=1 -D_M_X$(TARGETVERSION)
77
78 # define the special utilities files, needed to generate
79 # the automatically generated source files
80 UTILS=translate.exe mkindex.exe makeheaders.exe
81 UTILS_OBJ=$(UTILS:.exe=.obj)
82 UTILS_SRC=$(foreach uf,$(UTILS),$(SRCDIR)$(uf:.exe=.c))
83
84 # define the SQLite files, which need special flags on compile
85 SQLITESRC=sqlite3.c
@@ -114,11 +114,11 @@
114 # main target file is the application
115 APPLICATION=fossil.exe
116
117 # define the standard make target
118 .PHONY: default
119 default: page_index.h headers $(APPLICATION)
120
121 # symbolic target to generate the source generate utils
122 .PHONY: utils
123 utils: $(UTILS)
124
@@ -139,17 +139,20 @@
139 translate.exe $< >$@
140
141 # generate the index source, containing all web references,..
142 page_index.h: $(TRANSLATEDSRC) mkindex.exe
143 mkindex.exe $(TRANSLATEDSRC) >$@
 
 
 
144
145 # extracting version info from manifest
146 VERSION.h: version.exe ..\manifest.uuid ..\manifest ..\VERSION
147 version.exe ..\manifest.uuid ..\manifest ..\VERSION > $@
148
149 # generate the simplified headers
150 headers: makeheaders.exe page_index.h VERSION.h ../src/sqlite3.h ../src/th.h VERSION.h
151 makeheaders.exe $(foreach ts,$(TRANSLATEDSRC),$(ts):$(ts:_.c=.h)) ../src/sqlite3.h ../src/th.h VERSION.h
152 echo Done >$@
153
154 # compile C sources with relevant options
155
156
--- win/Makefile.PellesCGMake
+++ win/Makefile.PellesCGMake
@@ -75,11 +75,11 @@
75 RC=$(PellesCDir)\bin\porc.exe
76 RCFLAGS=$(INCLUDE) -D__POCC__=1 -D_M_X$(TARGETVERSION)
77
78 # define the special utilities files, needed to generate
79 # the automatically generated source files
80 UTILS=translate.exe mkindex.exe makeheaders.exe mkbuiltin.exe
81 UTILS_OBJ=$(UTILS:.exe=.obj)
82 UTILS_SRC=$(foreach uf,$(UTILS),$(SRCDIR)$(uf:.exe=.c))
83
84 # define the SQLite files, which need special flags on compile
85 SQLITESRC=sqlite3.c
@@ -114,11 +114,11 @@
114 # main target file is the application
115 APPLICATION=fossil.exe
116
117 # define the standard make target
118 .PHONY: default
119 default: page_index.h builtin_data.h headers $(APPLICATION)
120
121 # symbolic target to generate the source generate utils
122 .PHONY: utils
123 utils: $(UTILS)
124
@@ -139,17 +139,20 @@
139 translate.exe $< >$@
140
141 # generate the index source, containing all web references,..
142 page_index.h: $(TRANSLATEDSRC) mkindex.exe
143 mkindex.exe $(TRANSLATEDSRC) >$@
144
145 builtin_data.h: $(EXTRA_FILES) mkbuiltin.exe
146 mkbuiltin.exe $(EXTRA_FILES) >$@
147
148 # extracting version info from manifest
149 VERSION.h: version.exe ..\manifest.uuid ..\manifest ..\VERSION
150 version.exe ..\manifest.uuid ..\manifest ..\VERSION > $@
151
152 # generate the simplified headers
153 headers: makeheaders.exe page_index.h builtin_data.h VERSION.h ../src/sqlite3.h ../src/th.h VERSION.h
154 makeheaders.exe $(foreach ts,$(TRANSLATEDSRC),$(ts):$(ts:_.c=.h)) ../src/sqlite3.h ../src/th.h VERSION.h
155 echo Done >$@
156
157 # compile C sources with relevant options
158
159
+18 -6
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -28,13 +28,13 @@
2828
2929
SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS
3030
3131
SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=fossil_open -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
3232
33
-SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c fusefs_.c glob_.c graph_.c gzip_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.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 md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
33
+SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c fusefs_.c glob_.c graph_.c gzip_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.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 md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
3434
35
-OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\cache$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$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)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$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)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
35
+OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\cache$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$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)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$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)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
3636
3737
3838
RC=$(DMDIR)\bin\rcc
3939
RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
4040
@@ -49,11 +49,11 @@
4949
5050
$(OBJDIR)\fossil.res: $B\win\fossil.rc
5151
$(RC) $(RCFLAGS) -o$@ $**
5252
5353
$(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
54
- +echo add allrepo attach bag bisect blob branch browse cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo fusefs glob graph gzip http http_socket http_ssl http_transport import info 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 md5 merge merge3 moderate name path pivot popen pqueue printf rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
54
+ +echo add allrepo attach bag bisect blob branch browse builtin cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo fusefs glob graph gzip http http_socket http_ssl http_transport import info 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 md5 merge merge3 moderate name path pivot popen pqueue printf rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
5555
+echo fossil >> $@
5656
+echo fossil >> $@
5757
+echo $(LIBS) >> $@
5858
+echo. >> $@
5959
+echo fossil >> $@
@@ -64,10 +64,13 @@
6464
makeheaders$E: $(SRCDIR)\makeheaders.c
6565
$(BCC) -o$@ $**
6666
6767
mkindex$E: $(SRCDIR)\mkindex.c
6868
$(BCC) -o$@ $**
69
+
70
+mkbuiltin$E: $(SRCDIR)\mkbuiltin.c
71
+ $(BCC) -o$@ $**
6972
7073
mkversion$E: $(SRCDIR)\mkversion.c
7174
$(BCC) -o$@ $**
7275
7376
codecheck1$E: $(SRCDIR)\codecheck1.c
@@ -92,16 +95,19 @@
9295
+$** > $@
9396
9497
page_index.h: mkindex$E $(SRC)
9598
+$** > $@
9699
100
+builtin_data.h: mkbuiltin$E $(EXTRA_FILES)
101
+ +$** > $@
102
+
97103
clean:
98104
-del $(OBJDIR)\*.obj
99105
-del *.obj *_.c *.h *.map
100106
101107
realclean:
102
- -del $(APPNAME) translate$E mkindex$E makeheaders$E mkversion$E codecheck1$E
108
+ -del $(APPNAME) translate$E mkindex$E makeheaders$E mkversion$E codecheck1$E mkbuiltin$E
103109
104110
$(OBJDIR)\json$O : $(SRCDIR)\json_detail.h
105111
$(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h
106112
$(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h
107113
$(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h
@@ -164,10 +170,16 @@
164170
$(OBJDIR)\browse$O : browse_.c browse.h
165171
$(TCC) -o$@ -c browse_.c
166172
167173
browse_.c : $(SRCDIR)\browse.c
168174
+translate$E $** > $@
175
+
176
+$(OBJDIR)\builtin$O : builtin_.c builtin.h
177
+ $(TCC) -o$@ -c builtin_.c
178
+
179
+builtin_.c : $(SRCDIR)\builtin.c
180
+ +translate$E $** > $@
169181
170182
$(OBJDIR)\cache$O : cache_.c cache.h
171183
$(TCC) -o$@ -c cache_.c
172184
173185
cache_.c : $(SRCDIR)\cache.c
@@ -783,8 +795,8 @@
783795
$(TCC) -o$@ -c zip_.c
784796
785797
zip_.c : $(SRCDIR)\zip.c
786798
+translate$E $** > $@
787799
788
-headers: makeheaders$E page_index.h VERSION.h
789
- +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h cache_.c:cache.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.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 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 md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.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 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 wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
800
+headers: makeheaders$E page_index.h builtin_data.h VERSION.h
801
+ +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.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 cache_.c:cache.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.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 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 md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.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 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 wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
790802
@copy /Y nul: headers
791803
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -28,13 +28,13 @@
28
29 SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS
30
31 SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=fossil_open -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
32
33 SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c fusefs_.c glob_.c graph_.c gzip_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.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 md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
34
35 OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\cache$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$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)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$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)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
36
37
38 RC=$(DMDIR)\bin\rcc
39 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
40
@@ -49,11 +49,11 @@
49
50 $(OBJDIR)\fossil.res: $B\win\fossil.rc
51 $(RC) $(RCFLAGS) -o$@ $**
52
53 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
54 +echo add allrepo attach bag bisect blob branch browse cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo fusefs glob graph gzip http http_socket http_ssl http_transport import info 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 md5 merge merge3 moderate name path pivot popen pqueue printf rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
55 +echo fossil >> $@
56 +echo fossil >> $@
57 +echo $(LIBS) >> $@
58 +echo. >> $@
59 +echo fossil >> $@
@@ -64,10 +64,13 @@
64 makeheaders$E: $(SRCDIR)\makeheaders.c
65 $(BCC) -o$@ $**
66
67 mkindex$E: $(SRCDIR)\mkindex.c
68 $(BCC) -o$@ $**
 
 
 
69
70 mkversion$E: $(SRCDIR)\mkversion.c
71 $(BCC) -o$@ $**
72
73 codecheck1$E: $(SRCDIR)\codecheck1.c
@@ -92,16 +95,19 @@
92 +$** > $@
93
94 page_index.h: mkindex$E $(SRC)
95 +$** > $@
96
 
 
 
97 clean:
98 -del $(OBJDIR)\*.obj
99 -del *.obj *_.c *.h *.map
100
101 realclean:
102 -del $(APPNAME) translate$E mkindex$E makeheaders$E mkversion$E codecheck1$E
103
104 $(OBJDIR)\json$O : $(SRCDIR)\json_detail.h
105 $(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h
106 $(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h
107 $(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h
@@ -164,10 +170,16 @@
164 $(OBJDIR)\browse$O : browse_.c browse.h
165 $(TCC) -o$@ -c browse_.c
166
167 browse_.c : $(SRCDIR)\browse.c
168 +translate$E $** > $@
 
 
 
 
 
 
169
170 $(OBJDIR)\cache$O : cache_.c cache.h
171 $(TCC) -o$@ -c cache_.c
172
173 cache_.c : $(SRCDIR)\cache.c
@@ -783,8 +795,8 @@
783 $(TCC) -o$@ -c zip_.c
784
785 zip_.c : $(SRCDIR)\zip.c
786 +translate$E $** > $@
787
788 headers: makeheaders$E page_index.h VERSION.h
789 +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h cache_.c:cache.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.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 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 md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.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 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 wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
790 @copy /Y nul: headers
791
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -28,13 +28,13 @@
28
29 SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS
30
31 SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=fossil_open -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
32
33 SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c fusefs_.c glob_.c graph_.c gzip_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.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 md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
34
35 OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\cache$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$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)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$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)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
36
37
38 RC=$(DMDIR)\bin\rcc
39 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
40
@@ -49,11 +49,11 @@
49
50 $(OBJDIR)\fossil.res: $B\win\fossil.rc
51 $(RC) $(RCFLAGS) -o$@ $**
52
53 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
54 +echo add allrepo attach bag bisect blob branch browse builtin cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo fusefs glob graph gzip http http_socket http_ssl http_transport import info 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 md5 merge merge3 moderate name path pivot popen pqueue printf rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
55 +echo fossil >> $@
56 +echo fossil >> $@
57 +echo $(LIBS) >> $@
58 +echo. >> $@
59 +echo fossil >> $@
@@ -64,10 +64,13 @@
64 makeheaders$E: $(SRCDIR)\makeheaders.c
65 $(BCC) -o$@ $**
66
67 mkindex$E: $(SRCDIR)\mkindex.c
68 $(BCC) -o$@ $**
69
70 mkbuiltin$E: $(SRCDIR)\mkbuiltin.c
71 $(BCC) -o$@ $**
72
73 mkversion$E: $(SRCDIR)\mkversion.c
74 $(BCC) -o$@ $**
75
76 codecheck1$E: $(SRCDIR)\codecheck1.c
@@ -92,16 +95,19 @@
95 +$** > $@
96
97 page_index.h: mkindex$E $(SRC)
98 +$** > $@
99
100 builtin_data.h: mkbuiltin$E $(EXTRA_FILES)
101 +$** > $@
102
103 clean:
104 -del $(OBJDIR)\*.obj
105 -del *.obj *_.c *.h *.map
106
107 realclean:
108 -del $(APPNAME) translate$E mkindex$E makeheaders$E mkversion$E codecheck1$E mkbuiltin$E
109
110 $(OBJDIR)\json$O : $(SRCDIR)\json_detail.h
111 $(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h
112 $(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h
113 $(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h
@@ -164,10 +170,16 @@
170 $(OBJDIR)\browse$O : browse_.c browse.h
171 $(TCC) -o$@ -c browse_.c
172
173 browse_.c : $(SRCDIR)\browse.c
174 +translate$E $** > $@
175
176 $(OBJDIR)\builtin$O : builtin_.c builtin.h
177 $(TCC) -o$@ -c builtin_.c
178
179 builtin_.c : $(SRCDIR)\builtin.c
180 +translate$E $** > $@
181
182 $(OBJDIR)\cache$O : cache_.c cache.h
183 $(TCC) -o$@ -c cache_.c
184
185 cache_.c : $(SRCDIR)\cache.c
@@ -783,8 +795,8 @@
795 $(TCC) -o$@ -c zip_.c
796
797 zip_.c : $(SRCDIR)\zip.c
798 +translate$E $** > $@
799
800 headers: makeheaders$E page_index.h builtin_data.h VERSION.h
801 +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.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 cache_.c:cache.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.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 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 md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.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 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 wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
802 @copy /Y nul: headers
803
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -339,10 +339,11 @@
339339
$(SRCDIR)/bag.c \
340340
$(SRCDIR)/bisect.c \
341341
$(SRCDIR)/blob.c \
342342
$(SRCDIR)/branch.c \
343343
$(SRCDIR)/browse.c \
344
+ $(SRCDIR)/builtin.c \
344345
$(SRCDIR)/cache.c \
345346
$(SRCDIR)/captcha.c \
346347
$(SRCDIR)/cgi.c \
347348
$(SRCDIR)/checkin.c \
348349
$(SRCDIR)/checkout.c \
@@ -443,19 +444,23 @@
443444
$(SRCDIR)/wysiwyg.c \
444445
$(SRCDIR)/xfer.c \
445446
$(SRCDIR)/xfersetup.c \
446447
$(SRCDIR)/zip.c
447448
449
+EXTRA_FILES = \
450
+ $(SRCDIR)/diff.tcl
451
+
448452
TRANS_SRC = \
449453
$(OBJDIR)/add_.c \
450454
$(OBJDIR)/allrepo_.c \
451455
$(OBJDIR)/attach_.c \
452456
$(OBJDIR)/bag_.c \
453457
$(OBJDIR)/bisect_.c \
454458
$(OBJDIR)/blob_.c \
455459
$(OBJDIR)/branch_.c \
456460
$(OBJDIR)/browse_.c \
461
+ $(OBJDIR)/builtin_.c \
457462
$(OBJDIR)/cache_.c \
458463
$(OBJDIR)/captcha_.c \
459464
$(OBJDIR)/cgi_.c \
460465
$(OBJDIR)/checkin_.c \
461466
$(OBJDIR)/checkout_.c \
@@ -565,10 +570,11 @@
565570
$(OBJDIR)/bag.o \
566571
$(OBJDIR)/bisect.o \
567572
$(OBJDIR)/blob.o \
568573
$(OBJDIR)/branch.o \
569574
$(OBJDIR)/browse.o \
575
+ $(OBJDIR)/builtin.o \
570576
$(OBJDIR)/cache.o \
571577
$(OBJDIR)/captcha.o \
572578
$(OBJDIR)/cgi.o \
573579
$(OBJDIR)/checkin.o \
574580
$(OBJDIR)/checkout.o \
@@ -684,10 +690,11 @@
684690
#
685691
ifdef USE_WINDOWS
686692
TRANSLATE = $(subst /,\,$(OBJDIR)/translate.exe)
687693
MAKEHEADERS = $(subst /,\,$(OBJDIR)/makeheaders.exe)
688694
MKINDEX = $(subst /,\,$(OBJDIR)/mkindex.exe)
695
+MKBUILTIN = $(subst /,\,$(OBJDIR)/mkbuiltin.exe)
689696
VERSION = $(subst /,\,$(OBJDIR)/version.exe)
690697
CODECHECK1 = $(subst /,\,$(OBJDIR)/codecheck1.exe)
691698
CAT = type
692699
CP = copy
693700
GREP = find
@@ -697,10 +704,11 @@
697704
RMDIR = rmdir /S /Q
698705
else
699706
TRANSLATE = $(OBJDIR)/translate.exe
700707
MAKEHEADERS = $(OBJDIR)/makeheaders.exe
701708
MKINDEX = $(OBJDIR)/mkindex.exe
709
+MKBUILTIN = $(OBJDIR)/mkbuiltin.exe
702710
VERSION = $(OBJDIR)/version.exe
703711
CODECHECK1 = $(OBJDIR)/codecheck1.exe
704712
CAT = cat
705713
CP = cp
706714
GREP = grep
@@ -749,10 +757,13 @@
749757
$(BCC) -o $(MAKEHEADERS) $(SRCDIR)/makeheaders.c
750758
751759
$(MKINDEX): $(SRCDIR)/mkindex.c
752760
$(BCC) -o $(MKINDEX) $(SRCDIR)/mkindex.c
753761
762
+$(MKBUILTIN): $(SRCDIR)/mkbuiltin.c
763
+ $(BCC) -o $(MKBUILTIN) $(SRCDIR)/mkbuiltin.c
764
+
754765
$(VERSION): $(SRCDIR)/mkversion.c
755766
$(BCC) -o $(VERSION) $(SRCDIR)/mkversion.c
756767
757768
$(CODECHECK1): $(SRCDIR)/codecheck1.c
758769
$(BCC) -o $(CODECHECK1) $(SRCDIR)/codecheck1.c
@@ -820,11 +831,11 @@
820831
821832
ifdef FOSSIL_BUILD_SSL
822833
APPTARGETS += openssl
823834
endif
824835
825
-$(APPNAME): $(OBJDIR)/headers $(CODECHECK1) $(OBJ) $(EXTRAOBJ) $(OBJDIR)/fossil.o $(APPTARGETS)
836
+$(APPNAME): $(OBJDIR)/headers $(OBJ) $(CODECHECK1) $(EXTRAOBJ) $(OBJDIR)/fossil.o $(APPTARGETS)
826837
$(CODECHECK1) $(TRANS_SRC)
827838
$(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) $(OBJDIR)/fossil.o
828839
829840
# This rule prevents make from using its default rules to try build
830841
# an executable named "manifest" out of the file named "manifest.c"
@@ -848,19 +859,23 @@
848859
$(INNOSETUP) ./setup/fossil.iss -DAppVersion=$(shell $(CAT) ./VERSION)
849860
850861
$(OBJDIR)/page_index.h: $(TRANS_SRC) $(MKINDEX)
851862
$(MKINDEX) $(TRANS_SRC) >$@
852863
853
-$(OBJDIR)/headers: $(OBJDIR)/page_index.h $(MAKEHEADERS) $(OBJDIR)/VERSION.h
864
+$(OBJDIR)/builtin_data.h: $(MKBUILTIN) $(EXTRA_FILES)
865
+ $(MKBUILTIN) $(EXTRA_FILES) >$@
866
+
867
+$(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(MAKEHEADERS) $(OBJDIR)/VERSION.h
854868
$(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h \
855869
$(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \
856870
$(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \
857871
$(OBJDIR)/bag_.c:$(OBJDIR)/bag.h \
858872
$(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h \
859873
$(OBJDIR)/blob_.c:$(OBJDIR)/blob.h \
860874
$(OBJDIR)/branch_.c:$(OBJDIR)/branch.h \
861875
$(OBJDIR)/browse_.c:$(OBJDIR)/browse.h \
876
+ $(OBJDIR)/builtin_.c:$(OBJDIR)/builtin.h \
862877
$(OBJDIR)/cache_.c:$(OBJDIR)/cache.h \
863878
$(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h \
864879
$(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h \
865880
$(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h \
866881
$(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h \
@@ -969,10 +984,13 @@
969984
970985
$(OBJDIR)/headers: Makefile
971986
972987
Makefile:
973988
989
+$(OBJDIR)/builtin_data.h: $(MKBUILTIN) $(EXTRA_FILES)
990
+ $(MKBUILTIN) $(EXTRA_FILES) >$(OBJDIR)/builtin_data.h
991
+
974992
$(OBJDIR)/add_.c: $(SRCDIR)/add.c $(TRANSLATE)
975993
$(TRANSLATE) $(SRCDIR)/add.c >$(OBJDIR)/add_.c
976994
977995
$(OBJDIR)/add.o: $(OBJDIR)/add_.c $(OBJDIR)/add.h $(SRCDIR)/config.h
978996
$(XTCC) -o $(OBJDIR)/add.o -c $(OBJDIR)/add_.c
@@ -1032,10 +1050,18 @@
10321050
10331051
$(OBJDIR)/browse.o: $(OBJDIR)/browse_.c $(OBJDIR)/browse.h $(SRCDIR)/config.h
10341052
$(XTCC) -o $(OBJDIR)/browse.o -c $(OBJDIR)/browse_.c
10351053
10361054
$(OBJDIR)/browse.h: $(OBJDIR)/headers
1055
+
1056
+$(OBJDIR)/builtin_.c: $(SRCDIR)/builtin.c $(TRANSLATE)
1057
+ $(TRANSLATE) $(SRCDIR)/builtin.c >$(OBJDIR)/builtin_.c
1058
+
1059
+$(OBJDIR)/builtin.o: $(OBJDIR)/builtin_.c $(OBJDIR)/builtin.h $(OBJDIR)/builtin_data.h $(SRCDIR)/config.h
1060
+ $(XTCC) -o $(OBJDIR)/builtin.o -c $(OBJDIR)/builtin_.c
1061
+
1062
+$(OBJDIR)/builtin.h: $(OBJDIR)/headers
10371063
10381064
$(OBJDIR)/cache_.c: $(SRCDIR)/cache.c $(TRANSLATE)
10391065
$(TRANSLATE) $(SRCDIR)/cache.c >$(OBJDIR)/cache_.c
10401066
10411067
$(OBJDIR)/cache.o: $(OBJDIR)/cache_.c $(OBJDIR)/cache.h $(SRCDIR)/config.h
10421068
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -339,10 +339,11 @@
339 $(SRCDIR)/bag.c \
340 $(SRCDIR)/bisect.c \
341 $(SRCDIR)/blob.c \
342 $(SRCDIR)/branch.c \
343 $(SRCDIR)/browse.c \
 
344 $(SRCDIR)/cache.c \
345 $(SRCDIR)/captcha.c \
346 $(SRCDIR)/cgi.c \
347 $(SRCDIR)/checkin.c \
348 $(SRCDIR)/checkout.c \
@@ -443,19 +444,23 @@
443 $(SRCDIR)/wysiwyg.c \
444 $(SRCDIR)/xfer.c \
445 $(SRCDIR)/xfersetup.c \
446 $(SRCDIR)/zip.c
447
 
 
 
448 TRANS_SRC = \
449 $(OBJDIR)/add_.c \
450 $(OBJDIR)/allrepo_.c \
451 $(OBJDIR)/attach_.c \
452 $(OBJDIR)/bag_.c \
453 $(OBJDIR)/bisect_.c \
454 $(OBJDIR)/blob_.c \
455 $(OBJDIR)/branch_.c \
456 $(OBJDIR)/browse_.c \
 
457 $(OBJDIR)/cache_.c \
458 $(OBJDIR)/captcha_.c \
459 $(OBJDIR)/cgi_.c \
460 $(OBJDIR)/checkin_.c \
461 $(OBJDIR)/checkout_.c \
@@ -565,10 +570,11 @@
565 $(OBJDIR)/bag.o \
566 $(OBJDIR)/bisect.o \
567 $(OBJDIR)/blob.o \
568 $(OBJDIR)/branch.o \
569 $(OBJDIR)/browse.o \
 
570 $(OBJDIR)/cache.o \
571 $(OBJDIR)/captcha.o \
572 $(OBJDIR)/cgi.o \
573 $(OBJDIR)/checkin.o \
574 $(OBJDIR)/checkout.o \
@@ -684,10 +690,11 @@
684 #
685 ifdef USE_WINDOWS
686 TRANSLATE = $(subst /,\,$(OBJDIR)/translate.exe)
687 MAKEHEADERS = $(subst /,\,$(OBJDIR)/makeheaders.exe)
688 MKINDEX = $(subst /,\,$(OBJDIR)/mkindex.exe)
 
689 VERSION = $(subst /,\,$(OBJDIR)/version.exe)
690 CODECHECK1 = $(subst /,\,$(OBJDIR)/codecheck1.exe)
691 CAT = type
692 CP = copy
693 GREP = find
@@ -697,10 +704,11 @@
697 RMDIR = rmdir /S /Q
698 else
699 TRANSLATE = $(OBJDIR)/translate.exe
700 MAKEHEADERS = $(OBJDIR)/makeheaders.exe
701 MKINDEX = $(OBJDIR)/mkindex.exe
 
702 VERSION = $(OBJDIR)/version.exe
703 CODECHECK1 = $(OBJDIR)/codecheck1.exe
704 CAT = cat
705 CP = cp
706 GREP = grep
@@ -749,10 +757,13 @@
749 $(BCC) -o $(MAKEHEADERS) $(SRCDIR)/makeheaders.c
750
751 $(MKINDEX): $(SRCDIR)/mkindex.c
752 $(BCC) -o $(MKINDEX) $(SRCDIR)/mkindex.c
753
 
 
 
754 $(VERSION): $(SRCDIR)/mkversion.c
755 $(BCC) -o $(VERSION) $(SRCDIR)/mkversion.c
756
757 $(CODECHECK1): $(SRCDIR)/codecheck1.c
758 $(BCC) -o $(CODECHECK1) $(SRCDIR)/codecheck1.c
@@ -820,11 +831,11 @@
820
821 ifdef FOSSIL_BUILD_SSL
822 APPTARGETS += openssl
823 endif
824
825 $(APPNAME): $(OBJDIR)/headers $(CODECHECK1) $(OBJ) $(EXTRAOBJ) $(OBJDIR)/fossil.o $(APPTARGETS)
826 $(CODECHECK1) $(TRANS_SRC)
827 $(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) $(OBJDIR)/fossil.o
828
829 # This rule prevents make from using its default rules to try build
830 # an executable named "manifest" out of the file named "manifest.c"
@@ -848,19 +859,23 @@
848 $(INNOSETUP) ./setup/fossil.iss -DAppVersion=$(shell $(CAT) ./VERSION)
849
850 $(OBJDIR)/page_index.h: $(TRANS_SRC) $(MKINDEX)
851 $(MKINDEX) $(TRANS_SRC) >$@
852
853 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(MAKEHEADERS) $(OBJDIR)/VERSION.h
 
 
 
854 $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h \
855 $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \
856 $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \
857 $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h \
858 $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h \
859 $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h \
860 $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h \
861 $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h \
 
862 $(OBJDIR)/cache_.c:$(OBJDIR)/cache.h \
863 $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h \
864 $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h \
865 $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h \
866 $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h \
@@ -969,10 +984,13 @@
969
970 $(OBJDIR)/headers: Makefile
971
972 Makefile:
973
 
 
 
974 $(OBJDIR)/add_.c: $(SRCDIR)/add.c $(TRANSLATE)
975 $(TRANSLATE) $(SRCDIR)/add.c >$(OBJDIR)/add_.c
976
977 $(OBJDIR)/add.o: $(OBJDIR)/add_.c $(OBJDIR)/add.h $(SRCDIR)/config.h
978 $(XTCC) -o $(OBJDIR)/add.o -c $(OBJDIR)/add_.c
@@ -1032,10 +1050,18 @@
1032
1033 $(OBJDIR)/browse.o: $(OBJDIR)/browse_.c $(OBJDIR)/browse.h $(SRCDIR)/config.h
1034 $(XTCC) -o $(OBJDIR)/browse.o -c $(OBJDIR)/browse_.c
1035
1036 $(OBJDIR)/browse.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
1037
1038 $(OBJDIR)/cache_.c: $(SRCDIR)/cache.c $(TRANSLATE)
1039 $(TRANSLATE) $(SRCDIR)/cache.c >$(OBJDIR)/cache_.c
1040
1041 $(OBJDIR)/cache.o: $(OBJDIR)/cache_.c $(OBJDIR)/cache.h $(SRCDIR)/config.h
1042
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -339,10 +339,11 @@
339 $(SRCDIR)/bag.c \
340 $(SRCDIR)/bisect.c \
341 $(SRCDIR)/blob.c \
342 $(SRCDIR)/branch.c \
343 $(SRCDIR)/browse.c \
344 $(SRCDIR)/builtin.c \
345 $(SRCDIR)/cache.c \
346 $(SRCDIR)/captcha.c \
347 $(SRCDIR)/cgi.c \
348 $(SRCDIR)/checkin.c \
349 $(SRCDIR)/checkout.c \
@@ -443,19 +444,23 @@
444 $(SRCDIR)/wysiwyg.c \
445 $(SRCDIR)/xfer.c \
446 $(SRCDIR)/xfersetup.c \
447 $(SRCDIR)/zip.c
448
449 EXTRA_FILES = \
450 $(SRCDIR)/diff.tcl
451
452 TRANS_SRC = \
453 $(OBJDIR)/add_.c \
454 $(OBJDIR)/allrepo_.c \
455 $(OBJDIR)/attach_.c \
456 $(OBJDIR)/bag_.c \
457 $(OBJDIR)/bisect_.c \
458 $(OBJDIR)/blob_.c \
459 $(OBJDIR)/branch_.c \
460 $(OBJDIR)/browse_.c \
461 $(OBJDIR)/builtin_.c \
462 $(OBJDIR)/cache_.c \
463 $(OBJDIR)/captcha_.c \
464 $(OBJDIR)/cgi_.c \
465 $(OBJDIR)/checkin_.c \
466 $(OBJDIR)/checkout_.c \
@@ -565,10 +570,11 @@
570 $(OBJDIR)/bag.o \
571 $(OBJDIR)/bisect.o \
572 $(OBJDIR)/blob.o \
573 $(OBJDIR)/branch.o \
574 $(OBJDIR)/browse.o \
575 $(OBJDIR)/builtin.o \
576 $(OBJDIR)/cache.o \
577 $(OBJDIR)/captcha.o \
578 $(OBJDIR)/cgi.o \
579 $(OBJDIR)/checkin.o \
580 $(OBJDIR)/checkout.o \
@@ -684,10 +690,11 @@
690 #
691 ifdef USE_WINDOWS
692 TRANSLATE = $(subst /,\,$(OBJDIR)/translate.exe)
693 MAKEHEADERS = $(subst /,\,$(OBJDIR)/makeheaders.exe)
694 MKINDEX = $(subst /,\,$(OBJDIR)/mkindex.exe)
695 MKBUILTIN = $(subst /,\,$(OBJDIR)/mkbuiltin.exe)
696 VERSION = $(subst /,\,$(OBJDIR)/version.exe)
697 CODECHECK1 = $(subst /,\,$(OBJDIR)/codecheck1.exe)
698 CAT = type
699 CP = copy
700 GREP = find
@@ -697,10 +704,11 @@
704 RMDIR = rmdir /S /Q
705 else
706 TRANSLATE = $(OBJDIR)/translate.exe
707 MAKEHEADERS = $(OBJDIR)/makeheaders.exe
708 MKINDEX = $(OBJDIR)/mkindex.exe
709 MKBUILTIN = $(OBJDIR)/mkbuiltin.exe
710 VERSION = $(OBJDIR)/version.exe
711 CODECHECK1 = $(OBJDIR)/codecheck1.exe
712 CAT = cat
713 CP = cp
714 GREP = grep
@@ -749,10 +757,13 @@
757 $(BCC) -o $(MAKEHEADERS) $(SRCDIR)/makeheaders.c
758
759 $(MKINDEX): $(SRCDIR)/mkindex.c
760 $(BCC) -o $(MKINDEX) $(SRCDIR)/mkindex.c
761
762 $(MKBUILTIN): $(SRCDIR)/mkbuiltin.c
763 $(BCC) -o $(MKBUILTIN) $(SRCDIR)/mkbuiltin.c
764
765 $(VERSION): $(SRCDIR)/mkversion.c
766 $(BCC) -o $(VERSION) $(SRCDIR)/mkversion.c
767
768 $(CODECHECK1): $(SRCDIR)/codecheck1.c
769 $(BCC) -o $(CODECHECK1) $(SRCDIR)/codecheck1.c
@@ -820,11 +831,11 @@
831
832 ifdef FOSSIL_BUILD_SSL
833 APPTARGETS += openssl
834 endif
835
836 $(APPNAME): $(OBJDIR)/headers $(OBJ) $(CODECHECK1) $(EXTRAOBJ) $(OBJDIR)/fossil.o $(APPTARGETS)
837 $(CODECHECK1) $(TRANS_SRC)
838 $(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) $(OBJDIR)/fossil.o
839
840 # This rule prevents make from using its default rules to try build
841 # an executable named "manifest" out of the file named "manifest.c"
@@ -848,19 +859,23 @@
859 $(INNOSETUP) ./setup/fossil.iss -DAppVersion=$(shell $(CAT) ./VERSION)
860
861 $(OBJDIR)/page_index.h: $(TRANS_SRC) $(MKINDEX)
862 $(MKINDEX) $(TRANS_SRC) >$@
863
864 $(OBJDIR)/builtin_data.h: $(MKBUILTIN) $(EXTRA_FILES)
865 $(MKBUILTIN) $(EXTRA_FILES) >$@
866
867 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(MAKEHEADERS) $(OBJDIR)/VERSION.h
868 $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h \
869 $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \
870 $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \
871 $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h \
872 $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h \
873 $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h \
874 $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h \
875 $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h \
876 $(OBJDIR)/builtin_.c:$(OBJDIR)/builtin.h \
877 $(OBJDIR)/cache_.c:$(OBJDIR)/cache.h \
878 $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h \
879 $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h \
880 $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h \
881 $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h \
@@ -969,10 +984,13 @@
984
985 $(OBJDIR)/headers: Makefile
986
987 Makefile:
988
989 $(OBJDIR)/builtin_data.h: $(MKBUILTIN) $(EXTRA_FILES)
990 $(MKBUILTIN) $(EXTRA_FILES) >$(OBJDIR)/builtin_data.h
991
992 $(OBJDIR)/add_.c: $(SRCDIR)/add.c $(TRANSLATE)
993 $(TRANSLATE) $(SRCDIR)/add.c >$(OBJDIR)/add_.c
994
995 $(OBJDIR)/add.o: $(OBJDIR)/add_.c $(OBJDIR)/add.h $(SRCDIR)/config.h
996 $(XTCC) -o $(OBJDIR)/add.o -c $(OBJDIR)/add_.c
@@ -1032,10 +1050,18 @@
1050
1051 $(OBJDIR)/browse.o: $(OBJDIR)/browse_.c $(OBJDIR)/browse.h $(SRCDIR)/config.h
1052 $(XTCC) -o $(OBJDIR)/browse.o -c $(OBJDIR)/browse_.c
1053
1054 $(OBJDIR)/browse.h: $(OBJDIR)/headers
1055
1056 $(OBJDIR)/builtin_.c: $(SRCDIR)/builtin.c $(TRANSLATE)
1057 $(TRANSLATE) $(SRCDIR)/builtin.c >$(OBJDIR)/builtin_.c
1058
1059 $(OBJDIR)/builtin.o: $(OBJDIR)/builtin_.c $(OBJDIR)/builtin.h $(OBJDIR)/builtin_data.h $(SRCDIR)/config.h
1060 $(XTCC) -o $(OBJDIR)/builtin.o -c $(OBJDIR)/builtin_.c
1061
1062 $(OBJDIR)/builtin.h: $(OBJDIR)/headers
1063
1064 $(OBJDIR)/cache_.c: $(SRCDIR)/cache.c $(TRANSLATE)
1065 $(TRANSLATE) $(SRCDIR)/cache.c >$(OBJDIR)/cache_.c
1066
1067 $(OBJDIR)/cache.o: $(OBJDIR)/cache_.c $(OBJDIR)/cache.h $(SRCDIR)/config.h
1068
+21 -1
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -203,10 +203,11 @@
203203
bag_.c \
204204
bisect_.c \
205205
blob_.c \
206206
branch_.c \
207207
browse_.c \
208
+ builtin_.c \
208209
cache_.c \
209210
captcha_.c \
210211
cgi_.c \
211212
checkin_.c \
212213
checkout_.c \
@@ -307,18 +308,21 @@
307308
wysiwyg_.c \
308309
xfer_.c \
309310
xfersetup_.c \
310311
zip_.c
311312
313
+EXTRA_FILES = $(SRCDIR)\diff.tcl
314
+
312315
OBJ = $(OX)\add$O \
313316
$(OX)\allrepo$O \
314317
$(OX)\attach$O \
315318
$(OX)\bag$O \
316319
$(OX)\bisect$O \
317320
$(OX)\blob$O \
318321
$(OX)\branch$O \
319322
$(OX)\browse$O \
323
+ $(OX)\builtin$O \
320324
$(OX)\cache$O \
321325
$(OX)\captcha$O \
322326
$(OX)\cgi$O \
323327
$(OX)\checkin$O \
324328
$(OX)\checkout$O \
@@ -483,10 +487,11 @@
483487
echo $(OX)\bag.obj >> $@
484488
echo $(OX)\bisect.obj >> $@
485489
echo $(OX)\blob.obj >> $@
486490
echo $(OX)\branch.obj >> $@
487491
echo $(OX)\browse.obj >> $@
492
+ echo $(OX)\builtin.obj >> $@
488493
echo $(OX)\cache.obj >> $@
489494
echo $(OX)\captcha.obj >> $@
490495
echo $(OX)\cgi.obj >> $@
491496
echo $(OX)\checkin.obj >> $@
492497
echo $(OX)\checkout.obj >> $@
@@ -608,10 +613,13 @@
608613
makeheaders$E: $(SRCDIR)\makeheaders.c
609614
$(BCC) $**
610615
611616
mkindex$E: $(SRCDIR)\mkindex.c
612617
$(BCC) $**
618
+
619
+mkbuiltin$E: $(SRCDIR)\mkbuiltin.c
620
+ $(BCC) $**
613621
614622
mkversion$E: $(SRCDIR)\mkversion.c
615623
$(BCC) $**
616624
617625
codecheck1$E: $(SRCDIR)\codecheck1.c
@@ -641,10 +649,13 @@
641649
$(TCC) /Fo$@ /c $**
642650
643651
page_index.h: mkindex$E $(SRC)
644652
$** > $@
645653
654
+builtin_data.h: mkbuiltin$E $(EXTRA_FILES)
655
+ $** > $@
656
+
646657
clean:
647658
-del $(OX)\*.obj
648659
-del *.obj
649660
-del *_.c
650661
-del *.h
@@ -666,10 +677,12 @@
666677
-del makeheaders$P
667678
-del mkversion$E
668679
-del mkversion$P
669680
-del codecheck1$E
670681
-del codecheck1$P
682
+ -del mkbuiltin$E
683
+ -del mkbuiltin$P
671684
672685
$(OBJDIR)\json$O : $(SRCDIR)\json_detail.h
673686
$(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h
674687
$(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h
675688
$(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h
@@ -730,10 +743,16 @@
730743
$(OX)\browse$O : browse_.c browse.h
731744
$(TCC) /Fo$@ -c browse_.c
732745
733746
browse_.c : $(SRCDIR)\browse.c
734747
translate$E $** > $@
748
+
749
+$(OX)\builtin$O : builtin_.c builtin.h
750
+ $(TCC) /Fo$@ -c builtin_.c
751
+
752
+builtin_.c : $(SRCDIR)\builtin.c
753
+ translate$E $** > $@
735754
736755
$(OX)\cache$O : cache_.c cache.h
737756
$(TCC) /Fo$@ -c cache_.c
738757
739758
cache_.c : $(SRCDIR)\cache.c
@@ -1352,19 +1371,20 @@
13521371
translate$E $** > $@
13531372
13541373
fossil.res : $B\win\fossil.rc
13551374
$(RCC) /fo $@ $**
13561375
1357
-headers: makeheaders$E page_index.h VERSION.h
1376
+headers: makeheaders$E page_index.h builtin_data.h VERSION.h
13581377
makeheaders$E add_.c:add.h \
13591378
allrepo_.c:allrepo.h \
13601379
attach_.c:attach.h \
13611380
bag_.c:bag.h \
13621381
bisect_.c:bisect.h \
13631382
blob_.c:blob.h \
13641383
branch_.c:branch.h \
13651384
browse_.c:browse.h \
1385
+ builtin_.c:builtin.h \
13661386
cache_.c:cache.h \
13671387
captcha_.c:captcha.h \
13681388
cgi_.c:cgi.h \
13691389
checkin_.c:checkin.h \
13701390
checkout_.c:checkout.h \
13711391
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -203,10 +203,11 @@
203 bag_.c \
204 bisect_.c \
205 blob_.c \
206 branch_.c \
207 browse_.c \
 
208 cache_.c \
209 captcha_.c \
210 cgi_.c \
211 checkin_.c \
212 checkout_.c \
@@ -307,18 +308,21 @@
307 wysiwyg_.c \
308 xfer_.c \
309 xfersetup_.c \
310 zip_.c
311
 
 
312 OBJ = $(OX)\add$O \
313 $(OX)\allrepo$O \
314 $(OX)\attach$O \
315 $(OX)\bag$O \
316 $(OX)\bisect$O \
317 $(OX)\blob$O \
318 $(OX)\branch$O \
319 $(OX)\browse$O \
 
320 $(OX)\cache$O \
321 $(OX)\captcha$O \
322 $(OX)\cgi$O \
323 $(OX)\checkin$O \
324 $(OX)\checkout$O \
@@ -483,10 +487,11 @@
483 echo $(OX)\bag.obj >> $@
484 echo $(OX)\bisect.obj >> $@
485 echo $(OX)\blob.obj >> $@
486 echo $(OX)\branch.obj >> $@
487 echo $(OX)\browse.obj >> $@
 
488 echo $(OX)\cache.obj >> $@
489 echo $(OX)\captcha.obj >> $@
490 echo $(OX)\cgi.obj >> $@
491 echo $(OX)\checkin.obj >> $@
492 echo $(OX)\checkout.obj >> $@
@@ -608,10 +613,13 @@
608 makeheaders$E: $(SRCDIR)\makeheaders.c
609 $(BCC) $**
610
611 mkindex$E: $(SRCDIR)\mkindex.c
612 $(BCC) $**
 
 
 
613
614 mkversion$E: $(SRCDIR)\mkversion.c
615 $(BCC) $**
616
617 codecheck1$E: $(SRCDIR)\codecheck1.c
@@ -641,10 +649,13 @@
641 $(TCC) /Fo$@ /c $**
642
643 page_index.h: mkindex$E $(SRC)
644 $** > $@
645
 
 
 
646 clean:
647 -del $(OX)\*.obj
648 -del *.obj
649 -del *_.c
650 -del *.h
@@ -666,10 +677,12 @@
666 -del makeheaders$P
667 -del mkversion$E
668 -del mkversion$P
669 -del codecheck1$E
670 -del codecheck1$P
 
 
671
672 $(OBJDIR)\json$O : $(SRCDIR)\json_detail.h
673 $(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h
674 $(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h
675 $(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h
@@ -730,10 +743,16 @@
730 $(OX)\browse$O : browse_.c browse.h
731 $(TCC) /Fo$@ -c browse_.c
732
733 browse_.c : $(SRCDIR)\browse.c
734 translate$E $** > $@
 
 
 
 
 
 
735
736 $(OX)\cache$O : cache_.c cache.h
737 $(TCC) /Fo$@ -c cache_.c
738
739 cache_.c : $(SRCDIR)\cache.c
@@ -1352,19 +1371,20 @@
1352 translate$E $** > $@
1353
1354 fossil.res : $B\win\fossil.rc
1355 $(RCC) /fo $@ $**
1356
1357 headers: makeheaders$E page_index.h VERSION.h
1358 makeheaders$E add_.c:add.h \
1359 allrepo_.c:allrepo.h \
1360 attach_.c:attach.h \
1361 bag_.c:bag.h \
1362 bisect_.c:bisect.h \
1363 blob_.c:blob.h \
1364 branch_.c:branch.h \
1365 browse_.c:browse.h \
 
1366 cache_.c:cache.h \
1367 captcha_.c:captcha.h \
1368 cgi_.c:cgi.h \
1369 checkin_.c:checkin.h \
1370 checkout_.c:checkout.h \
1371
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -203,10 +203,11 @@
203 bag_.c \
204 bisect_.c \
205 blob_.c \
206 branch_.c \
207 browse_.c \
208 builtin_.c \
209 cache_.c \
210 captcha_.c \
211 cgi_.c \
212 checkin_.c \
213 checkout_.c \
@@ -307,18 +308,21 @@
308 wysiwyg_.c \
309 xfer_.c \
310 xfersetup_.c \
311 zip_.c
312
313 EXTRA_FILES = $(SRCDIR)\diff.tcl
314
315 OBJ = $(OX)\add$O \
316 $(OX)\allrepo$O \
317 $(OX)\attach$O \
318 $(OX)\bag$O \
319 $(OX)\bisect$O \
320 $(OX)\blob$O \
321 $(OX)\branch$O \
322 $(OX)\browse$O \
323 $(OX)\builtin$O \
324 $(OX)\cache$O \
325 $(OX)\captcha$O \
326 $(OX)\cgi$O \
327 $(OX)\checkin$O \
328 $(OX)\checkout$O \
@@ -483,10 +487,11 @@
487 echo $(OX)\bag.obj >> $@
488 echo $(OX)\bisect.obj >> $@
489 echo $(OX)\blob.obj >> $@
490 echo $(OX)\branch.obj >> $@
491 echo $(OX)\browse.obj >> $@
492 echo $(OX)\builtin.obj >> $@
493 echo $(OX)\cache.obj >> $@
494 echo $(OX)\captcha.obj >> $@
495 echo $(OX)\cgi.obj >> $@
496 echo $(OX)\checkin.obj >> $@
497 echo $(OX)\checkout.obj >> $@
@@ -608,10 +613,13 @@
613 makeheaders$E: $(SRCDIR)\makeheaders.c
614 $(BCC) $**
615
616 mkindex$E: $(SRCDIR)\mkindex.c
617 $(BCC) $**
618
619 mkbuiltin$E: $(SRCDIR)\mkbuiltin.c
620 $(BCC) $**
621
622 mkversion$E: $(SRCDIR)\mkversion.c
623 $(BCC) $**
624
625 codecheck1$E: $(SRCDIR)\codecheck1.c
@@ -641,10 +649,13 @@
649 $(TCC) /Fo$@ /c $**
650
651 page_index.h: mkindex$E $(SRC)
652 $** > $@
653
654 builtin_data.h: mkbuiltin$E $(EXTRA_FILES)
655 $** > $@
656
657 clean:
658 -del $(OX)\*.obj
659 -del *.obj
660 -del *_.c
661 -del *.h
@@ -666,10 +677,12 @@
677 -del makeheaders$P
678 -del mkversion$E
679 -del mkversion$P
680 -del codecheck1$E
681 -del codecheck1$P
682 -del mkbuiltin$E
683 -del mkbuiltin$P
684
685 $(OBJDIR)\json$O : $(SRCDIR)\json_detail.h
686 $(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h
687 $(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h
688 $(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h
@@ -730,10 +743,16 @@
743 $(OX)\browse$O : browse_.c browse.h
744 $(TCC) /Fo$@ -c browse_.c
745
746 browse_.c : $(SRCDIR)\browse.c
747 translate$E $** > $@
748
749 $(OX)\builtin$O : builtin_.c builtin.h
750 $(TCC) /Fo$@ -c builtin_.c
751
752 builtin_.c : $(SRCDIR)\builtin.c
753 translate$E $** > $@
754
755 $(OX)\cache$O : cache_.c cache.h
756 $(TCC) /Fo$@ -c cache_.c
757
758 cache_.c : $(SRCDIR)\cache.c
@@ -1352,19 +1371,20 @@
1371 translate$E $** > $@
1372
1373 fossil.res : $B\win\fossil.rc
1374 $(RCC) /fo $@ $**
1375
1376 headers: makeheaders$E page_index.h builtin_data.h VERSION.h
1377 makeheaders$E add_.c:add.h \
1378 allrepo_.c:allrepo.h \
1379 attach_.c:attach.h \
1380 bag_.c:bag.h \
1381 bisect_.c:bisect.h \
1382 blob_.c:blob.h \
1383 branch_.c:branch.h \
1384 browse_.c:browse.h \
1385 builtin_.c:builtin.h \
1386 cache_.c:cache.h \
1387 captcha_.c:captcha.h \
1388 cgi_.c:cgi.h \
1389 checkin_.c:checkin.h \
1390 checkout_.c:checkout.h \
1391

Keyboard Shortcuts

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