Fossil SCM
Merge trunk
Commit
74a5873cca56f617b2444a8737a3a069f3152fbf
Parent
2862f1c293af891…
7 files changed
+25
-12
+25
-12
+5
-5
-5
+29
-2
+18
-7
+25
-12
| --- src/checkin.c | ||
| +++ src/checkin.c | ||
| @@ -631,25 +631,38 @@ | ||
| 631 | 631 | } |
| 632 | 632 | |
| 633 | 633 | /* |
| 634 | 634 | ** COMMAND: ls |
| 635 | 635 | ** |
| 636 | -** Usage: %fossil ls ?OPTIONS? ?FILENAMES? | |
| 637 | -** | |
| 638 | -** Show the names of all files in the current checkout. The -v provides | |
| 639 | -** extra information about each file. If FILENAMES are included, only | |
| 640 | -** the files listed (or their children if they are directories) are shown. | |
| 641 | -** | |
| 642 | -** If -r is given a specific check-in is listed. In this case -R can be | |
| 643 | -** given to query another repository. | |
| 636 | +** Usage: %fossil ls ?OPTIONS? ?PATHS ...? | |
| 637 | +** | |
| 638 | +** List all files in the current checkout. If PATHS is included, only the | |
| 639 | +** named files (or their children if directories) are shown. | |
| 640 | +** | |
| 641 | +** The ls command is essentially two related commands in one, depending on | |
| 642 | +** whether or not the -r option is given. -r selects a specific check-in | |
| 643 | +** version to list, in which case -R can be used to select the repository. | |
| 644 | +** The fine behavior of the --age, -v, and -t options is altered by the -r | |
| 645 | +** option as well, as explained below. | |
| 646 | +** | |
| 647 | +** The --age option displays file commit times. Like -r, --age has the | |
| 648 | +** side effect of making -t sort by commit time, not modification time. | |
| 649 | +** | |
| 650 | +** The -v option provides extra information about each file. Without -r, | |
| 651 | +** -v displays the change status, in the manner of the changes command. | |
| 652 | +** With -r, -v shows the commit time and size of the checked-in files. | |
| 653 | +** | |
| 654 | +** The -t option changes the sort order. Without -t, files are sorted by | |
| 655 | +** path and name (case insensitive sort if -r). If neither --age nor -r | |
| 656 | +** are used, -t sorts by modification time, otherwise by commit time. | |
| 644 | 657 | ** |
| 645 | 658 | ** Options: |
| 646 | -** --age Show when each file was committed | |
| 659 | +** --age Show when each file was committed. | |
| 647 | 660 | ** -v|--verbose Provide extra information about each file. |
| 648 | 661 | ** -t Sort output in time order. |
| 649 | -** -r VERSION The specific check-in to list | |
| 650 | -** -R|--repository FILE Extract info from repository FILE | |
| 662 | +** -r VERSION The specific check-in to list. | |
| 663 | +** -R|--repository FILE Extract info from repository FILE. | |
| 651 | 664 | ** |
| 652 | 665 | ** See also: changes, extras, status |
| 653 | 666 | */ |
| 654 | 667 | void ls_cmd(void){ |
| 655 | 668 | int vid; |
| @@ -1729,11 +1742,11 @@ | ||
| 1729 | 1742 | if( binOk ){ |
| 1730 | 1743 | return 0; /* We don't want binary warnings for this file. */ |
| 1731 | 1744 | } |
| 1732 | 1745 | if( !fHasNul && fHasLong ){ |
| 1733 | 1746 | zWarning = "long lines"; |
| 1734 | - zConvert = ""; /* We cannot convert binary files. */ | |
| 1747 | + zConvert = ""; /* We cannot convert overlong lines. */ | |
| 1735 | 1748 | }else{ |
| 1736 | 1749 | zWarning = "binary data"; |
| 1737 | 1750 | zConvert = ""; /* We cannot convert binary files. */ |
| 1738 | 1751 | } |
| 1739 | 1752 | zDisable = "\"binary-glob\" setting"; |
| 1740 | 1753 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -631,25 +631,38 @@ | |
| 631 | } |
| 632 | |
| 633 | /* |
| 634 | ** COMMAND: ls |
| 635 | ** |
| 636 | ** Usage: %fossil ls ?OPTIONS? ?FILENAMES? |
| 637 | ** |
| 638 | ** Show the names of all files in the current checkout. The -v provides |
| 639 | ** extra information about each file. If FILENAMES are included, only |
| 640 | ** the files listed (or their children if they are directories) are shown. |
| 641 | ** |
| 642 | ** If -r is given a specific check-in is listed. In this case -R can be |
| 643 | ** given to query another repository. |
| 644 | ** |
| 645 | ** Options: |
| 646 | ** --age Show when each file was committed |
| 647 | ** -v|--verbose Provide extra information about each file. |
| 648 | ** -t Sort output in time order. |
| 649 | ** -r VERSION The specific check-in to list |
| 650 | ** -R|--repository FILE Extract info from repository FILE |
| 651 | ** |
| 652 | ** See also: changes, extras, status |
| 653 | */ |
| 654 | void ls_cmd(void){ |
| 655 | int vid; |
| @@ -1729,11 +1742,11 @@ | |
| 1729 | if( binOk ){ |
| 1730 | return 0; /* We don't want binary warnings for this file. */ |
| 1731 | } |
| 1732 | if( !fHasNul && fHasLong ){ |
| 1733 | zWarning = "long lines"; |
| 1734 | zConvert = ""; /* We cannot convert binary files. */ |
| 1735 | }else{ |
| 1736 | zWarning = "binary data"; |
| 1737 | zConvert = ""; /* We cannot convert binary files. */ |
| 1738 | } |
| 1739 | zDisable = "\"binary-glob\" setting"; |
| 1740 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -631,25 +631,38 @@ | |
| 631 | } |
| 632 | |
| 633 | /* |
| 634 | ** COMMAND: ls |
| 635 | ** |
| 636 | ** Usage: %fossil ls ?OPTIONS? ?PATHS ...? |
| 637 | ** |
| 638 | ** List all files in the current checkout. If PATHS is included, only the |
| 639 | ** named files (or their children if directories) are shown. |
| 640 | ** |
| 641 | ** The ls command is essentially two related commands in one, depending on |
| 642 | ** whether or not the -r option is given. -r selects a specific check-in |
| 643 | ** version to list, in which case -R can be used to select the repository. |
| 644 | ** The fine behavior of the --age, -v, and -t options is altered by the -r |
| 645 | ** option as well, as explained below. |
| 646 | ** |
| 647 | ** The --age option displays file commit times. Like -r, --age has the |
| 648 | ** side effect of making -t sort by commit time, not modification time. |
| 649 | ** |
| 650 | ** The -v option provides extra information about each file. Without -r, |
| 651 | ** -v displays the change status, in the manner of the changes command. |
| 652 | ** With -r, -v shows the commit time and size of the checked-in files. |
| 653 | ** |
| 654 | ** The -t option changes the sort order. Without -t, files are sorted by |
| 655 | ** path and name (case insensitive sort if -r). If neither --age nor -r |
| 656 | ** are used, -t sorts by modification time, otherwise by commit time. |
| 657 | ** |
| 658 | ** Options: |
| 659 | ** --age Show when each file was committed. |
| 660 | ** -v|--verbose Provide extra information about each file. |
| 661 | ** -t Sort output in time order. |
| 662 | ** -r VERSION The specific check-in to list. |
| 663 | ** -R|--repository FILE Extract info from repository FILE. |
| 664 | ** |
| 665 | ** See also: changes, extras, status |
| 666 | */ |
| 667 | void ls_cmd(void){ |
| 668 | int vid; |
| @@ -1729,11 +1742,11 @@ | |
| 1742 | if( binOk ){ |
| 1743 | return 0; /* We don't want binary warnings for this file. */ |
| 1744 | } |
| 1745 | if( !fHasNul && fHasLong ){ |
| 1746 | zWarning = "long lines"; |
| 1747 | zConvert = ""; /* We cannot convert overlong lines. */ |
| 1748 | }else{ |
| 1749 | zWarning = "binary data"; |
| 1750 | zConvert = ""; /* We cannot convert binary files. */ |
| 1751 | } |
| 1752 | zDisable = "\"binary-glob\" setting"; |
| 1753 |
+25
-12
| --- src/checkin.c | ||
| +++ src/checkin.c | ||
| @@ -631,25 +631,38 @@ | ||
| 631 | 631 | } |
| 632 | 632 | |
| 633 | 633 | /* |
| 634 | 634 | ** COMMAND: ls |
| 635 | 635 | ** |
| 636 | -** Usage: %fossil ls ?OPTIONS? ?FILENAMES? | |
| 637 | -** | |
| 638 | -** Show the names of all files in the current checkout. The -v provides | |
| 639 | -** extra information about each file. If FILENAMES are included, only | |
| 640 | -** the files listed (or their children if they are directories) are shown. | |
| 641 | -** | |
| 642 | -** If -r is given a specific check-in is listed. In this case -R can be | |
| 643 | -** given to query another repository. | |
| 636 | +** Usage: %fossil ls ?OPTIONS? ?PATHS ...? | |
| 637 | +** | |
| 638 | +** List all files in the current checkout. If PATHS is included, only the | |
| 639 | +** named files (or their children if directories) are shown. | |
| 640 | +** | |
| 641 | +** The ls command is essentially two related commands in one, depending on | |
| 642 | +** whether or not the -r option is given. -r selects a specific check-in | |
| 643 | +** version to list, in which case -R can be used to select the repository. | |
| 644 | +** The fine behavior of the --age, -v, and -t options is altered by the -r | |
| 645 | +** option as well, as explained below. | |
| 646 | +** | |
| 647 | +** The --age option displays file commit times. Like -r, --age has the | |
| 648 | +** side effect of making -t sort by commit time, not modification time. | |
| 649 | +** | |
| 650 | +** The -v option provides extra information about each file. Without -r, | |
| 651 | +** -v displays the change status, in the manner of the changes command. | |
| 652 | +** With -r, -v shows the commit time and size of the checked-in files. | |
| 653 | +** | |
| 654 | +** The -t option changes the sort order. Without -t, files are sorted by | |
| 655 | +** path and name (case insensitive sort if -r). If neither --age nor -r | |
| 656 | +** are used, -t sorts by modification time, otherwise by commit time. | |
| 644 | 657 | ** |
| 645 | 658 | ** Options: |
| 646 | -** --age Show when each file was committed | |
| 659 | +** --age Show when each file was committed. | |
| 647 | 660 | ** -v|--verbose Provide extra information about each file. |
| 648 | 661 | ** -t Sort output in time order. |
| 649 | -** -r VERSION The specific check-in to list | |
| 650 | -** -R|--repository FILE Extract info from repository FILE | |
| 662 | +** -r VERSION The specific check-in to list. | |
| 663 | +** -R|--repository FILE Extract info from repository FILE. | |
| 651 | 664 | ** |
| 652 | 665 | ** See also: changes, extras, status |
| 653 | 666 | */ |
| 654 | 667 | void ls_cmd(void){ |
| 655 | 668 | int vid; |
| @@ -1729,11 +1742,11 @@ | ||
| 1729 | 1742 | if( binOk ){ |
| 1730 | 1743 | return 0; /* We don't want binary warnings for this file. */ |
| 1731 | 1744 | } |
| 1732 | 1745 | if( !fHasNul && fHasLong ){ |
| 1733 | 1746 | zWarning = "long lines"; |
| 1734 | - zConvert = ""; /* We cannot convert binary files. */ | |
| 1747 | + zConvert = ""; /* We cannot convert overlong lines. */ | |
| 1735 | 1748 | }else{ |
| 1736 | 1749 | zWarning = "binary data"; |
| 1737 | 1750 | zConvert = ""; /* We cannot convert binary files. */ |
| 1738 | 1751 | } |
| 1739 | 1752 | zDisable = "\"binary-glob\" setting"; |
| 1740 | 1753 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -631,25 +631,38 @@ | |
| 631 | } |
| 632 | |
| 633 | /* |
| 634 | ** COMMAND: ls |
| 635 | ** |
| 636 | ** Usage: %fossil ls ?OPTIONS? ?FILENAMES? |
| 637 | ** |
| 638 | ** Show the names of all files in the current checkout. The -v provides |
| 639 | ** extra information about each file. If FILENAMES are included, only |
| 640 | ** the files listed (or their children if they are directories) are shown. |
| 641 | ** |
| 642 | ** If -r is given a specific check-in is listed. In this case -R can be |
| 643 | ** given to query another repository. |
| 644 | ** |
| 645 | ** Options: |
| 646 | ** --age Show when each file was committed |
| 647 | ** -v|--verbose Provide extra information about each file. |
| 648 | ** -t Sort output in time order. |
| 649 | ** -r VERSION The specific check-in to list |
| 650 | ** -R|--repository FILE Extract info from repository FILE |
| 651 | ** |
| 652 | ** See also: changes, extras, status |
| 653 | */ |
| 654 | void ls_cmd(void){ |
| 655 | int vid; |
| @@ -1729,11 +1742,11 @@ | |
| 1729 | if( binOk ){ |
| 1730 | return 0; /* We don't want binary warnings for this file. */ |
| 1731 | } |
| 1732 | if( !fHasNul && fHasLong ){ |
| 1733 | zWarning = "long lines"; |
| 1734 | zConvert = ""; /* We cannot convert binary files. */ |
| 1735 | }else{ |
| 1736 | zWarning = "binary data"; |
| 1737 | zConvert = ""; /* We cannot convert binary files. */ |
| 1738 | } |
| 1739 | zDisable = "\"binary-glob\" setting"; |
| 1740 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -631,25 +631,38 @@ | |
| 631 | } |
| 632 | |
| 633 | /* |
| 634 | ** COMMAND: ls |
| 635 | ** |
| 636 | ** Usage: %fossil ls ?OPTIONS? ?PATHS ...? |
| 637 | ** |
| 638 | ** List all files in the current checkout. If PATHS is included, only the |
| 639 | ** named files (or their children if directories) are shown. |
| 640 | ** |
| 641 | ** The ls command is essentially two related commands in one, depending on |
| 642 | ** whether or not the -r option is given. -r selects a specific check-in |
| 643 | ** version to list, in which case -R can be used to select the repository. |
| 644 | ** The fine behavior of the --age, -v, and -t options is altered by the -r |
| 645 | ** option as well, as explained below. |
| 646 | ** |
| 647 | ** The --age option displays file commit times. Like -r, --age has the |
| 648 | ** side effect of making -t sort by commit time, not modification time. |
| 649 | ** |
| 650 | ** The -v option provides extra information about each file. Without -r, |
| 651 | ** -v displays the change status, in the manner of the changes command. |
| 652 | ** With -r, -v shows the commit time and size of the checked-in files. |
| 653 | ** |
| 654 | ** The -t option changes the sort order. Without -t, files are sorted by |
| 655 | ** path and name (case insensitive sort if -r). If neither --age nor -r |
| 656 | ** are used, -t sorts by modification time, otherwise by commit time. |
| 657 | ** |
| 658 | ** Options: |
| 659 | ** --age Show when each file was committed. |
| 660 | ** -v|--verbose Provide extra information about each file. |
| 661 | ** -t Sort output in time order. |
| 662 | ** -r VERSION The specific check-in to list. |
| 663 | ** -R|--repository FILE Extract info from repository FILE. |
| 664 | ** |
| 665 | ** See also: changes, extras, status |
| 666 | */ |
| 667 | void ls_cmd(void){ |
| 668 | int vid; |
| @@ -1729,11 +1742,11 @@ | |
| 1742 | if( binOk ){ |
| 1743 | return 0; /* We don't want binary warnings for this file. */ |
| 1744 | } |
| 1745 | if( !fHasNul && fHasLong ){ |
| 1746 | zWarning = "long lines"; |
| 1747 | zConvert = ""; /* We cannot convert overlong lines. */ |
| 1748 | }else{ |
| 1749 | zWarning = "binary data"; |
| 1750 | zConvert = ""; /* We cannot convert binary files. */ |
| 1751 | } |
| 1752 | zDisable = "\"binary-glob\" setting"; |
| 1753 |
+5
| --- src/config.h | ||
| +++ src/config.h | ||
| @@ -227,6 +227,11 @@ | ||
| 227 | 227 | # define NORETURN __attribute__((__noreturn__)) |
| 228 | 228 | #else |
| 229 | 229 | # define NORETURN |
| 230 | 230 | #endif |
| 231 | 231 | |
| 232 | +/* | |
| 233 | +** Number of elements in an array | |
| 234 | +*/ | |
| 235 | +#define count(X) (sizeof(X)/sizeof(X[0])) | |
| 236 | + | |
| 232 | 237 | #endif /* _RC_COMPILE_ */ |
| 233 | 238 |
| --- src/config.h | |
| +++ src/config.h | |
| @@ -227,6 +227,11 @@ | |
| 227 | # define NORETURN __attribute__((__noreturn__)) |
| 228 | #else |
| 229 | # define NORETURN |
| 230 | #endif |
| 231 | |
| 232 | #endif /* _RC_COMPILE_ */ |
| 233 |
| --- src/config.h | |
| +++ src/config.h | |
| @@ -227,6 +227,11 @@ | |
| 227 | # define NORETURN __attribute__((__noreturn__)) |
| 228 | #else |
| 229 | # define NORETURN |
| 230 | #endif |
| 231 | |
| 232 | /* |
| 233 | ** Number of elements in an array |
| 234 | */ |
| 235 | #define count(X) (sizeof(X)/sizeof(X[0])) |
| 236 | |
| 237 | #endif /* _RC_COMPILE_ */ |
| 238 |
-5
| --- src/main.c | ||
| +++ src/main.c | ||
| @@ -49,15 +49,10 @@ | ||
| 49 | 49 | #ifdef FOSSIL_ENABLE_JSON |
| 50 | 50 | # include "cson_amalgamation.h" /* JSON API. */ |
| 51 | 51 | # include "json_detail.h" |
| 52 | 52 | #endif |
| 53 | 53 | |
| 54 | -/* | |
| 55 | -** Number of elements in an array | |
| 56 | -*/ | |
| 57 | -#define count(X) (sizeof(X)/sizeof(X[0])) | |
| 58 | - | |
| 59 | 54 | /* |
| 60 | 55 | ** Size of a UUID in characters |
| 61 | 56 | */ |
| 62 | 57 | #define UUID_SIZE 40 |
| 63 | 58 | |
| 64 | 59 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -49,15 +49,10 @@ | |
| 49 | #ifdef FOSSIL_ENABLE_JSON |
| 50 | # include "cson_amalgamation.h" /* JSON API. */ |
| 51 | # include "json_detail.h" |
| 52 | #endif |
| 53 | |
| 54 | /* |
| 55 | ** Number of elements in an array |
| 56 | */ |
| 57 | #define count(X) (sizeof(X)/sizeof(X[0])) |
| 58 | |
| 59 | /* |
| 60 | ** Size of a UUID in characters |
| 61 | */ |
| 62 | #define UUID_SIZE 40 |
| 63 | |
| 64 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -49,15 +49,10 @@ | |
| 49 | #ifdef FOSSIL_ENABLE_JSON |
| 50 | # include "cson_amalgamation.h" /* JSON API. */ |
| 51 | # include "json_detail.h" |
| 52 | #endif |
| 53 | |
| 54 | /* |
| 55 | ** Size of a UUID in characters |
| 56 | */ |
| 57 | #define UUID_SIZE 40 |
| 58 | |
| 59 |
-5
| --- src/main.c | ||
| +++ src/main.c | ||
| @@ -49,15 +49,10 @@ | ||
| 49 | 49 | #ifdef FOSSIL_ENABLE_JSON |
| 50 | 50 | # include "cson_amalgamation.h" /* JSON API. */ |
| 51 | 51 | # include "json_detail.h" |
| 52 | 52 | #endif |
| 53 | 53 | |
| 54 | -/* | |
| 55 | -** Number of elements in an array | |
| 56 | -*/ | |
| 57 | -#define count(X) (sizeof(X)/sizeof(X[0])) | |
| 58 | - | |
| 59 | 54 | /* |
| 60 | 55 | ** Size of a UUID in characters |
| 61 | 56 | */ |
| 62 | 57 | #define UUID_SIZE 40 |
| 63 | 58 | |
| 64 | 59 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -49,15 +49,10 @@ | |
| 49 | #ifdef FOSSIL_ENABLE_JSON |
| 50 | # include "cson_amalgamation.h" /* JSON API. */ |
| 51 | # include "json_detail.h" |
| 52 | #endif |
| 53 | |
| 54 | /* |
| 55 | ** Number of elements in an array |
| 56 | */ |
| 57 | #define count(X) (sizeof(X)/sizeof(X[0])) |
| 58 | |
| 59 | /* |
| 60 | ** Size of a UUID in characters |
| 61 | */ |
| 62 | #define UUID_SIZE 40 |
| 63 | |
| 64 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -49,15 +49,10 @@ | |
| 49 | #ifdef FOSSIL_ENABLE_JSON |
| 50 | # include "cson_amalgamation.h" /* JSON API. */ |
| 51 | # include "json_detail.h" |
| 52 | #endif |
| 53 | |
| 54 | /* |
| 55 | ** Size of a UUID in characters |
| 56 | */ |
| 57 | #define UUID_SIZE 40 |
| 58 | |
| 59 |
+29
-2
| --- src/makeheaders.html | ||
| +++ src/makeheaders.html | ||
| @@ -42,11 +42,13 @@ | ||
| 42 | 42 | </ul> |
| 43 | 43 | <li><a href="#H0015">4.0 Using Makeheaders To Generate Documentation</a> |
| 44 | 44 | |
| 45 | 45 | <li><a href="#H0016">5.0 Compiling The Makeheaders Program</a> |
| 46 | 46 | |
| 47 | -<li><a href="#H0017">6.0 Summary And Conclusion</a> | |
| 47 | +<li><a href="#H0017">6.0 History</a> | |
| 48 | + | |
| 49 | +<li><a href="#H0018">7.0 Summary And Conclusion</a> | |
| 48 | 50 | </ul><a name="H0002"></a> |
| 49 | 51 | <h2>1.0 Background</h2> |
| 50 | 52 | |
| 51 | 53 | <p> |
| 52 | 54 | A piece of C source code can be one of two things: |
| @@ -1094,11 +1096,36 @@ | ||
| 1094 | 1096 | It is known to compile using several variations of GCC for Unix |
| 1095 | 1097 | as well as Cygwin32 and MSVC 5.0 for Win32. |
| 1096 | 1098 | </p> |
| 1097 | 1099 | |
| 1098 | 1100 | <a name="H0017"></a> |
| 1099 | -<h2>6.0 Summary And Conclusion</h2> | |
| 1101 | +<h2>6.0 History</h2> | |
| 1102 | + | |
| 1103 | +<p> | |
| 1104 | +The makeheaders program was first written by D. Richard Hipp | |
| 1105 | +(also the original author of | |
| 1106 | +<a href="https://sqlite.org/">SQLite</a> and | |
| 1107 | +<a href="https://www.fossil-scm.org/">Fossil</a>) in 1993. | |
| 1108 | +Hipp open-sourced the project immediately, but it never caught | |
| 1109 | +on with any other developers and it continued to be used mostly | |
| 1110 | +by Hipp himself for over a decade. When Hipp was first writing | |
| 1111 | +the Fossil version control system in 2006 and 2007, he used | |
| 1112 | +makeheaders on that project to help simplify the source code. | |
| 1113 | +As the popularity of Fossil increased, the makeheaders | |
| 1114 | +that was incorporated into the Fossil source tree became the | |
| 1115 | +"official" makeheaders implementation. | |
| 1116 | +</p> | |
| 1117 | + | |
| 1118 | +<p> | |
| 1119 | +As this paragraph is being composed (2016-11-05), Fossil is the | |
| 1120 | +only project known to Hipp that is still using makeheaders. On | |
| 1121 | +the other hand, makeheaders has served the Fossil project well and | |
| 1122 | +there are no plans remove it. | |
| 1123 | +</p> | |
| 1124 | + | |
| 1125 | +<a name="H0018"></a> | |
| 1126 | +<h2>7.0 Summary And Conclusion</h2> | |
| 1100 | 1127 | |
| 1101 | 1128 | <p> |
| 1102 | 1129 | The makeheaders program will automatically generate a minimal header file |
| 1103 | 1130 | for each of a set of C source and header files, and will |
| 1104 | 1131 | generate a composite header file for the entire source file suite, |
| 1105 | 1132 |
| --- src/makeheaders.html | |
| +++ src/makeheaders.html | |
| @@ -42,11 +42,13 @@ | |
| 42 | </ul> |
| 43 | <li><a href="#H0015">4.0 Using Makeheaders To Generate Documentation</a> |
| 44 | |
| 45 | <li><a href="#H0016">5.0 Compiling The Makeheaders Program</a> |
| 46 | |
| 47 | <li><a href="#H0017">6.0 Summary And Conclusion</a> |
| 48 | </ul><a name="H0002"></a> |
| 49 | <h2>1.0 Background</h2> |
| 50 | |
| 51 | <p> |
| 52 | A piece of C source code can be one of two things: |
| @@ -1094,11 +1096,36 @@ | |
| 1094 | It is known to compile using several variations of GCC for Unix |
| 1095 | as well as Cygwin32 and MSVC 5.0 for Win32. |
| 1096 | </p> |
| 1097 | |
| 1098 | <a name="H0017"></a> |
| 1099 | <h2>6.0 Summary And Conclusion</h2> |
| 1100 | |
| 1101 | <p> |
| 1102 | The makeheaders program will automatically generate a minimal header file |
| 1103 | for each of a set of C source and header files, and will |
| 1104 | generate a composite header file for the entire source file suite, |
| 1105 |
| --- src/makeheaders.html | |
| +++ src/makeheaders.html | |
| @@ -42,11 +42,13 @@ | |
| 42 | </ul> |
| 43 | <li><a href="#H0015">4.0 Using Makeheaders To Generate Documentation</a> |
| 44 | |
| 45 | <li><a href="#H0016">5.0 Compiling The Makeheaders Program</a> |
| 46 | |
| 47 | <li><a href="#H0017">6.0 History</a> |
| 48 | |
| 49 | <li><a href="#H0018">7.0 Summary And Conclusion</a> |
| 50 | </ul><a name="H0002"></a> |
| 51 | <h2>1.0 Background</h2> |
| 52 | |
| 53 | <p> |
| 54 | A piece of C source code can be one of two things: |
| @@ -1094,11 +1096,36 @@ | |
| 1096 | It is known to compile using several variations of GCC for Unix |
| 1097 | as well as Cygwin32 and MSVC 5.0 for Win32. |
| 1098 | </p> |
| 1099 | |
| 1100 | <a name="H0017"></a> |
| 1101 | <h2>6.0 History</h2> |
| 1102 | |
| 1103 | <p> |
| 1104 | The makeheaders program was first written by D. Richard Hipp |
| 1105 | (also the original author of |
| 1106 | <a href="https://sqlite.org/">SQLite</a> and |
| 1107 | <a href="https://www.fossil-scm.org/">Fossil</a>) in 1993. |
| 1108 | Hipp open-sourced the project immediately, but it never caught |
| 1109 | on with any other developers and it continued to be used mostly |
| 1110 | by Hipp himself for over a decade. When Hipp was first writing |
| 1111 | the Fossil version control system in 2006 and 2007, he used |
| 1112 | makeheaders on that project to help simplify the source code. |
| 1113 | As the popularity of Fossil increased, the makeheaders |
| 1114 | that was incorporated into the Fossil source tree became the |
| 1115 | "official" makeheaders implementation. |
| 1116 | </p> |
| 1117 | |
| 1118 | <p> |
| 1119 | As this paragraph is being composed (2016-11-05), Fossil is the |
| 1120 | only project known to Hipp that is still using makeheaders. On |
| 1121 | the other hand, makeheaders has served the Fossil project well and |
| 1122 | there are no plans remove it. |
| 1123 | </p> |
| 1124 | |
| 1125 | <a name="H0018"></a> |
| 1126 | <h2>7.0 Summary And Conclusion</h2> |
| 1127 | |
| 1128 | <p> |
| 1129 | The makeheaders program will automatically generate a minimal header file |
| 1130 | for each of a set of C source and header files, and will |
| 1131 | generate a composite header file for the entire source file suite, |
| 1132 |
+18
-7
| --- www/makefile.wiki | ||
| +++ www/makefile.wiki | ||
| @@ -44,49 +44,57 @@ | ||
| 44 | 44 | The shell.c source file is code for the SQLite |
| 45 | 45 | [http://www.sqlite.org/sqlite.html | command-line shell] that is used |
| 46 | 46 | to help implement the [/help/sqlite3 | fossil sql] command. The |
| 47 | 47 | shell.c source file is also a byte-for-byte copy of the |
| 48 | 48 | shell.c file from the SQLite release. |
| 49 | + | |
| 50 | +The SQLite shell.c file uses the [https://github.com/antirez/linenoise | | |
| 51 | +linenoise] library to implement line editing. linenoise comprises two | |
| 52 | +source files which were copied from the upstream repository with only | |
| 53 | +very minor portability edits: | |
| 54 | + | |
| 55 | + 7. linenoise.c | |
| 56 | + 8. linenoise.h | |
| 49 | 57 | |
| 50 | 58 | The TH1 script engine is implemented using files: |
| 51 | 59 | |
| 52 | - 7. th.c | |
| 53 | - 8. th.h | |
| 60 | + 9. th.c | |
| 61 | + 10. th.h | |
| 54 | 62 | |
| 55 | 63 | These two files are imports like the SQLite source files, |
| 56 | 64 | and so are not preprocessed. |
| 57 | 65 | |
| 58 | 66 | The VERSION.h header file is generated from other information sources |
| 59 | 67 | using a small program called: |
| 60 | 68 | |
| 61 | - 9. mkversion.c | |
| 69 | + 11. mkversion.c | |
| 62 | 70 | |
| 63 | 71 | The builtin_data.h header file contains the definitions of C-language |
| 64 | 72 | byte-array constants that contain various resources such as scripts and |
| 65 | 73 | images. The builtin_data.h header file is generate from the original |
| 66 | 74 | resource files using a small program called: |
| 67 | 75 | |
| 68 | - 10 mkbuiltin.c | |
| 76 | + 12 mkbuiltin.c | |
| 69 | 77 | |
| 70 | 78 | The src/ subdirectory also contains documentation about the |
| 71 | 79 | makeheaders preprocessor program: |
| 72 | 80 | |
| 73 | - 11. [../src/makeheaders.html | makeheaders.html] | |
| 81 | + 13. [../src/makeheaders.html | makeheaders.html] | |
| 74 | 82 | |
| 75 | 83 | Click on the link to read this documentation. In addition there is |
| 76 | 84 | a [http://www.tcl-lang.org/ | Tcl] script used to build the various makefiles: |
| 77 | 85 | |
| 78 | - 12. makemake.tcl | |
| 86 | + 14. makemake.tcl | |
| 79 | 87 | |
| 80 | 88 | Running this Tcl script will automatically regenerate all makefiles. |
| 81 | 89 | In order to add a new source file to the Fossil implementation, simply |
| 82 | 90 | edit makemake.tcl to add the new filename, then rerun the script, and |
| 83 | 91 | all of the makefiles for all targets will be rebuild. |
| 84 | 92 | |
| 85 | 93 | Finally, there is one of the makefiles generated by makemake.tcl: |
| 86 | 94 | |
| 87 | - 13. main.mk | |
| 95 | + 15. main.mk | |
| 88 | 96 | |
| 89 | 97 | The main.mk makefile is invoked from the Makefile in the top-level |
| 90 | 98 | directory. The main.mk is generated by makemake.tcl and should not |
| 91 | 99 | be hand edited. Other makefiles generated by makemake.tcl are in |
| 92 | 100 | other subdirectories (currently all in the win/ subdirectory). |
| @@ -260,10 +268,13 @@ | ||
| 260 | 268 | Fossil needs to be linked against [http://www.zlib.net | zlib]. If |
| 261 | 269 | the HTTPS option is enabled, then it will also need to link against |
| 262 | 270 | the appropriate SSL implementation. And, of course, Fossil needs to |
| 263 | 271 | link against the standard C library. No other libraries or external |
| 264 | 272 | dependences are used. |
| 273 | + | |
| 274 | +Fossil includes a copy of [https://github.com/richgel999/miniz | miniz] | |
| 275 | +which can be used as an alternative to zlib. | |
| 265 | 276 | |
| 266 | 277 | <h1>7.0 See Also</h1> |
| 267 | 278 | |
| 268 | 279 | * [./tech_overview.wiki | A Technical Overview Of Fossil] |
| 269 | 280 | * [./adding_code.wiki | How To Add Features To Fossil] |
| 270 | 281 |
| --- www/makefile.wiki | |
| +++ www/makefile.wiki | |
| @@ -44,49 +44,57 @@ | |
| 44 | The shell.c source file is code for the SQLite |
| 45 | [http://www.sqlite.org/sqlite.html | command-line shell] that is used |
| 46 | to help implement the [/help/sqlite3 | fossil sql] command. The |
| 47 | shell.c source file is also a byte-for-byte copy of the |
| 48 | shell.c file from the SQLite release. |
| 49 | |
| 50 | The TH1 script engine is implemented using files: |
| 51 | |
| 52 | 7. th.c |
| 53 | 8. th.h |
| 54 | |
| 55 | These two files are imports like the SQLite source files, |
| 56 | and so are not preprocessed. |
| 57 | |
| 58 | The VERSION.h header file is generated from other information sources |
| 59 | using a small program called: |
| 60 | |
| 61 | 9. mkversion.c |
| 62 | |
| 63 | The builtin_data.h header file contains the definitions of C-language |
| 64 | byte-array constants that contain various resources such as scripts and |
| 65 | images. The builtin_data.h header file is generate from the original |
| 66 | resource files using a small program called: |
| 67 | |
| 68 | 10 mkbuiltin.c |
| 69 | |
| 70 | The src/ subdirectory also contains documentation about the |
| 71 | makeheaders preprocessor program: |
| 72 | |
| 73 | 11. [../src/makeheaders.html | makeheaders.html] |
| 74 | |
| 75 | Click on the link to read this documentation. In addition there is |
| 76 | a [http://www.tcl-lang.org/ | Tcl] script used to build the various makefiles: |
| 77 | |
| 78 | 12. makemake.tcl |
| 79 | |
| 80 | Running this Tcl script will automatically regenerate all makefiles. |
| 81 | In order to add a new source file to the Fossil implementation, simply |
| 82 | edit makemake.tcl to add the new filename, then rerun the script, and |
| 83 | all of the makefiles for all targets will be rebuild. |
| 84 | |
| 85 | Finally, there is one of the makefiles generated by makemake.tcl: |
| 86 | |
| 87 | 13. main.mk |
| 88 | |
| 89 | The main.mk makefile is invoked from the Makefile in the top-level |
| 90 | directory. The main.mk is generated by makemake.tcl and should not |
| 91 | be hand edited. Other makefiles generated by makemake.tcl are in |
| 92 | other subdirectories (currently all in the win/ subdirectory). |
| @@ -260,10 +268,13 @@ | |
| 260 | Fossil needs to be linked against [http://www.zlib.net | zlib]. If |
| 261 | the HTTPS option is enabled, then it will also need to link against |
| 262 | the appropriate SSL implementation. And, of course, Fossil needs to |
| 263 | link against the standard C library. No other libraries or external |
| 264 | dependences are used. |
| 265 | |
| 266 | <h1>7.0 See Also</h1> |
| 267 | |
| 268 | * [./tech_overview.wiki | A Technical Overview Of Fossil] |
| 269 | * [./adding_code.wiki | How To Add Features To Fossil] |
| 270 |
| --- www/makefile.wiki | |
| +++ www/makefile.wiki | |
| @@ -44,49 +44,57 @@ | |
| 44 | The shell.c source file is code for the SQLite |
| 45 | [http://www.sqlite.org/sqlite.html | command-line shell] that is used |
| 46 | to help implement the [/help/sqlite3 | fossil sql] command. The |
| 47 | shell.c source file is also a byte-for-byte copy of the |
| 48 | shell.c file from the SQLite release. |
| 49 | |
| 50 | The SQLite shell.c file uses the [https://github.com/antirez/linenoise | |
| 51 | linenoise] library to implement line editing. linenoise comprises two |
| 52 | source files which were copied from the upstream repository with only |
| 53 | very minor portability edits: |
| 54 | |
| 55 | 7. linenoise.c |
| 56 | 8. linenoise.h |
| 57 | |
| 58 | The TH1 script engine is implemented using files: |
| 59 | |
| 60 | 9. th.c |
| 61 | 10. th.h |
| 62 | |
| 63 | These two files are imports like the SQLite source files, |
| 64 | and so are not preprocessed. |
| 65 | |
| 66 | The VERSION.h header file is generated from other information sources |
| 67 | using a small program called: |
| 68 | |
| 69 | 11. mkversion.c |
| 70 | |
| 71 | The builtin_data.h header file contains the definitions of C-language |
| 72 | byte-array constants that contain various resources such as scripts and |
| 73 | images. The builtin_data.h header file is generate from the original |
| 74 | resource files using a small program called: |
| 75 | |
| 76 | 12 mkbuiltin.c |
| 77 | |
| 78 | The src/ subdirectory also contains documentation about the |
| 79 | makeheaders preprocessor program: |
| 80 | |
| 81 | 13. [../src/makeheaders.html | makeheaders.html] |
| 82 | |
| 83 | Click on the link to read this documentation. In addition there is |
| 84 | a [http://www.tcl-lang.org/ | Tcl] script used to build the various makefiles: |
| 85 | |
| 86 | 14. makemake.tcl |
| 87 | |
| 88 | Running this Tcl script will automatically regenerate all makefiles. |
| 89 | In order to add a new source file to the Fossil implementation, simply |
| 90 | edit makemake.tcl to add the new filename, then rerun the script, and |
| 91 | all of the makefiles for all targets will be rebuild. |
| 92 | |
| 93 | Finally, there is one of the makefiles generated by makemake.tcl: |
| 94 | |
| 95 | 15. main.mk |
| 96 | |
| 97 | The main.mk makefile is invoked from the Makefile in the top-level |
| 98 | directory. The main.mk is generated by makemake.tcl and should not |
| 99 | be hand edited. Other makefiles generated by makemake.tcl are in |
| 100 | other subdirectories (currently all in the win/ subdirectory). |
| @@ -260,10 +268,13 @@ | |
| 268 | Fossil needs to be linked against [http://www.zlib.net | zlib]. If |
| 269 | the HTTPS option is enabled, then it will also need to link against |
| 270 | the appropriate SSL implementation. And, of course, Fossil needs to |
| 271 | link against the standard C library. No other libraries or external |
| 272 | dependences are used. |
| 273 | |
| 274 | Fossil includes a copy of [https://github.com/richgel999/miniz | miniz] |
| 275 | which can be used as an alternative to zlib. |
| 276 | |
| 277 | <h1>7.0 See Also</h1> |
| 278 | |
| 279 | * [./tech_overview.wiki | A Technical Overview Of Fossil] |
| 280 | * [./adding_code.wiki | How To Add Features To Fossil] |
| 281 |