diff options
Diffstat (limited to 'samwise/README.txt')
-rw-r--r-- | samwise/README.txt | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/samwise/README.txt b/samwise/README.txt deleted file mode 100644 index 0e84ed2ac22..00000000000 --- a/samwise/README.txt +++ /dev/null @@ -1,77 +0,0 @@ -Welcome to the top-secret Samwise project. - -------------------------------------------------------------------------------- -Somewhat of an Overview - -Samwise is a Perl-based system for generating project/makefiles for ACE/TAO -from a common configuration file. - -The plan is to use an XML based configuration file and generate MSVC6, MSVC7, -Borland, and GNU Makefiles from this file. Possibly other targets (MSEVC and -AutoMake) will be added. - -------------------------------------------------------------------------------- -Why? - -People are lazy and do not want to hand edit the 5 or so files that may need -to be changed for each additional file change for a project. And very few -people know how to correctly edit all of them (those that know the Makefiles -well are not good with MSVC6's DSP files, and vice-versa). Also, MSVC7 -requires a new set of project files, making the problem even worse. - -The makefile scheme could do with some enforcement of consistency and I don't -actually trust anybody to keep the DSP files correct (and actually, after -seeing the inconsistency of them, I guess I shouldn't have trusted myself to -keep them consistent either). - -A couple of other extra bonuses are that a standard generator of project files -can make the task of system wide changes easier. If the ace library were -ever moved into a subdirectory (so ace->ACE/ace, tests->ACE/tests, etc.) it -would require only changing the samwise scripts instead of the individual -project files. And having a common source for project information allows new -generators to be added to output for new targets. - -And finally, ACE/TAO needed more complex Perl scripts. - -------------------------------------------------------------------------------- -Use - -- Run create_sam.pl in a directory to create a sam.xml file. -- Run sam.pl to generate files - -Right now only the msvc6 target is on my default. To output other targets, -pass "-target foo". Example: If you wanted to target both Borland and -GNUMake, use: - -sam.pl -target borland -target gnumake - -------------------------------------------------------------------------------- -Random Notes - -Documentation? You're looking at it; beautiful, ain't it? TODO.txt has more -of the current progress. - -Each directory should have one sam.xml file, which specifies one workspace -and one or more projects. The workspace details which projects should be -included in the default set. It also details which subdirectories which -should be recursed into (for those targets that support it). - -The sam.pl script contains two main sections, the Parser and the Generator. -The only parser is a light-weight custom parser that can understand a limited -set of XML, which happily coincides with the limited set of XML used by -create_sam.pl to produce sam.xml files. I wouldn't try to push it that much. -Hand generated sam.xml files should look just like the generated ones: -keep <tag></tag> pairs on separate lines, don't mess too much with spacing, -and so on. - -I use a tab size of 4 for perl scripts and sam.xml files. - -The create_sam.pl script is intended to only be needed in the initial -converstion to sam.xml files. Hence I don't intend on it surviving the -switchover. All it does is read the dsp files for project information, and -Makefiles for subdir information. - -------------------------------------------------------------------------------- -Closing - -So has been written by the self-proclaimed Chief Architect, Darrell Brunsch
\ No newline at end of file |