X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=readme.txt;h=d5cd8d7fbd08ee7b80faf2900e7cbc9d84fb054d;hb=1e872699fe6637f42312fb5fcc12a69ed1030451;hp=f6e49188f2760252e5178bdd294df55d173db3c2;hpb=5df1d19a3937a57d2594786e96dd67eaf364023a;p=feisty_meow.git diff --git a/readme.txt b/readme.txt index f6e49188..d5cd8d7f 100644 --- a/readme.txt +++ b/readme.txt @@ -1,128 +1,91 @@ -This is the "feisty meow® concerns" codebase top folder. - -This software is licensed *per* *file* using either the GNU General Public -License (GNU GPL) version 3 *or* the Apache Software License version 2.0. -If a file does not have a license statement attached and it is part of the -feisty meow® codebase (rather than attributed to some other author), then the -default license is the GNU GPL. - -For information on building the source code, see the file "building.txt". +============== +Quick Start Guide for the Feisty Meow Codebase -#### +(Commands that you should enter into your terminal are prefixed with "=>" and +conditional portions are prefixed with a '|' character.) -Feisty Meow Concerns Ltd. is a small software shop that concentrates on -building high quality, portable, open source projects in a variety of -languages (primarily bash, perl, C++, Java, and python). Here are some -highlights of our main products: +============== +How to get the feisty meow codebase - Bookmark Processing Tools - can take a mozilla bookmark file or arbitrary - web page and extract all the links out of it, building a csv database of - web links. Using that database, a variety of output formats are - provided, including one that outputs a mozilla bookmark file again. - The most useful feature is probably the marks checker that operates on - our csv format and that locates all unreachable links in the file and - separates them out. +| On Microsoft Windows, install the Cygwin tools as documented here: +| ~/feisty_meow/doc/cygwin_install_list.txt - CROMP protocol - supports transmission of objects across the network and - provides a platform independent method for RPC and other types of - communication. +Retrieve a clone of the feisty meow code: +=> git clone git://feistymeow.org/feisty_meow - Octopus design pattern - the underpinning of the CROMP protocol. An octopus - has an arbitrary number of tentacles (no, not just eight) which are each - responsible for consuming a different type of object (or datum). +The remainder of these notes assume that the code is stored in +~/feisty_meow (aka $HOME/feisty_meow). - Fast Templates and Portable Abstractions - the class libraries of Feisty Meow - provide numerous different data structures and programming language - abstractions (like threads and state machines). There are also some - fairly ancient templates (in use since late 80s) which in many cases - perform faster than their STL analogues. +============== +How to load the feisty meow script environment - CLAM System - Feisty Meow is the home site of the CLAM makefile system. The - CLAM system is a flexible and extensible method for building C++ and - C# files using makefiles. +Set up the feisty_meow scripts; this is only needed once, when you first get +the codebase. It can also regenerate the scripts using the latest version. +=> bash ~/feisty_meow/scripts/core/reconfigure_feisty_meow.sh -#### +Load the script environment into the current shell. +=> source ~/feisty_meow/scripts/core/launch_feisty_meow.sh -Historical note: -Feisty Meow® Concerns codebase comprises some but probably not all of several projects that -have come before. These include the Twain.COM library scripts, the Yeti / YetiCode library -scripts, the HOOPLE 1 and HOOPLE 2 C++ Codebases, the Fred Huffhines open source LSL scripts, -the CLAM build system, and a variety of other efforts. +With the feisty meow script environment loaded, several aliases are now +available for building the codebase and they are used in the sections below. -#### +Closing the current shell will lose the feisty meow environment. Loading the +environment can be made automatic by adding the 'source' line above to the +shell's startup file. Example startup files are available in: +~/feisty_meow/feisty_inits -Directories and files of interest here... +============== +How to install the feisty meow script dependencies -scripts/ - Stores the script files that we use a lot. These are usually written in interpreted - languages, such as bash and perl. These were the core of the YetiCode scripts library. +These perl modules are required by some of the scripts (e.g. the differ +utility and the feisty meow customization system). +=> cpan install Text::Diff File::Which -nucleus/ - Source for the basic modules of the Feisty Meow® codebase. This includes generic - data structures, useful utilities, and the like. This hierarchy, plus octopi and graphiq, - formed the major parts of hoople1 and hoople2. +============== +How to install the build dependencies for feisty meow -huffware/ - The library of LSL scripts for osgrid and Second Life written by the avatar named Fred - Huffhines. Fred Huffhines is a regular contributor and a well-loved member of our - development team. He also happens to be a fictional sock-puppet for adventuring around - the grids, but a lot of code has been written in his name. We are going to release the - full corpus of the Huffhines work over time. +| Ubuntu / Debian: +| => sudo apt-get install build-essential librtmp-dev libcurl4-gnutls-dev libssl-dev -octopi/ - Octopus design pattern and CROMP protocol reference implementations. Assorted applications - based on these. +| Centos / Redhat / Fedora: +| => sudo yum install gcc gcc-c++ openssl-devel.x86_64 curl-devel -database/ - Some files considered critical to the operations of Feisty Meow Concerns Ltd. This includes - the database of fortunes used by the Nechung Oracle Program. +| Microsoft Windows: +| Download and install the Cygwin environment first from cygwin.com, which is +| documented in ~/feisty_meow/doc/cygwin_install_list.txt -doc/ - Assorted documentation files for Feisty Meow and a code-scanning documentation generator - based on doxygen. +============== +How to build the feisty meow codebase -examples/ - Some files that show how to get work done with Feisty Meow or that show how to do certain - tasks in different scripting / programming languages. +Run the following command to build the feisty meow libraries and applications. +=> bash ~/feisty_meow/scripts/generator/produce_feisty_meow.sh -kona/ - Our burgeoning Java libraries. Not much to see here yet, but there is some code piling - up for these that we will try to release soon. +After the build is complete, the feisty meow applications can be found in +$FEISTY_MEOW_BINARIES (environment variable). +=> ls $FEISTY_MEOW_BINARIES -osgi/ - Some example bundles for Java OSGi. These may eventually fill out with real material, - but currently they are just tracking the investigation we did into creating bundles and - running using them. +============== +How to clean up the files generated by the build -production/ - Machinery for getting releases out the door, including the generated files such as binaries - and build system tools. +This command cleans out all the generated files: +=> bash ~/feisty_meow/scripts/generator/whack_build.sh clean -graphiq/ - GUI tools and components, somewhat busted or just absent right now. +============== +What are the feisty meow dependencies? -webby/ - Source code specifically for web programming and building sites. Mainly a few javascript - files we keep around. +The feisty meow scripts depend on these scripting languages and tools: + bash + perl (including Text::Diff and File::Which) + python + gnumake -#### - -Notable Prerequisites for Using the Feisty Meow® codebase: - - Software required to compile under Linux: - Gnu C++ - A few free source libraries (see "building.txt" for more information). - - Software required to compiler under MS-windows: - The free Microsoft compiler should build the codebase but it is untested. - The full version of MS Visual Studio 2010 (version 10) is supported. - --but this has fallen into disrepair. - Gnu C++ should compile the codebase but it is also untested recently. - -#### +The feisty meow libraries and applications depend on these tools: + Gnu C++ + RTMP streams (?still? not sure.) + Curl + Open SSL +============== More information is available at the official site http://feistymeow.org -#### -