Next: , Previous: cFunctions, Up: Top



4 Installation

4.1 How to install

These are installation instructions for siliconBrainLib. (Version: 0.0.4 from Tuesday December 14 23:09:02 2004)

4.1.1 The simplest way

The simplest way to use this package is by not installing it at all, but just use it from where it is. Yes you don't have to install it. You can just call the programs. If that's your way do the following:

  1. cd into the packages root directory. For example cd ~/myPackages/siliconBrainLib.
  2. Call ./siliconBrainInstall without any parameters.
  3. The last two lines contain settings, which you should include somewhere to be executed, where you like to use this package. So for instance you can add these two lines to your .bash_profile. All output of siliconBrainInstall is written to stderr except the last two lines, which are written to stdout. So you can also call:
              ./siliconBrainInstall > fileToRememberTheSettings
         

4.1.2 Install the package somewhere

If you want the package to be installed somewhere, you have to follow this section.

First we have to clarify some concepts.

The installationPath is the directory, where to the package directory will be installed. An example is /usr/local or ~/myPackages. This directory must exist prior to installation. You can use /usr/local (or a directory below), if you use siliconBrain for your own developed software. You can use /usr (or a directory below), if this package is deliverd by someone else.

The installationDirectory is the newly created package root directory. The installationDirectory will be created by siliconBrainInstall. Normally part of its name is the package name and/or the release number. When you specify the installationDirectory you can use some placeholders:

%p
This is replaced by the package name. You an use this placeholder when you write a script, which will be used for more than one soliconBrain package.
%r
The release nunmber of the package. For example “0.1.42”.
%R
The release number, but with underscores instead of dots. For example “0_1_42”.

So specifying %p_%R will result in siliconBrainLib_0_1_42.

There are three ways to specify installation path and directory:

As in subsection “The simplest way” at the end the script will output two lines which you can add to your configuration. And all output is written to stderr and just the two last lines are written to stdout. Thus you can collect the two lines with redirection.

4.1.3 Compile this package

  1. Make sure that the siliconBrain main package is installed.
  2. Make sure that the packages root directory has the same name as the package (siliconBrainLib). (If not the directory name will become the new package name.)
  3. cd to the directory containing the package's source code and type make.
  4. Use ./siliconBrainInstall as described in section “Install the package somewhere”. Or you can use make install, which just calls siliconBrainInstall with no arguments. If you do so, siliconBrainInstallPath and siliconBrainInstallDirectory should be set correctly.

4.2 Overview

This is siliconBrainLib (0.0.4). It is a c include file plus a library to make c usable as a scripting language.

siliconBrainLib contains c macros and functions, which allow a very easy use of c. String handling, variable substitution, process creation, regular expression usage and the like, should be as easy as in perl, bash and other environments. The idea is, that everythng could be written in c. Later it even should replace makefile's.

Current version is: 0.0.4 from Tuesday December 14 23:09:02 2004

The primary distribution point is ftp://ftp.siliconbrain.com/pub/ and the primary home page is http://www.siliconbrain.com/siliconBrainLib.

Mail to: Joerg Kunze

For generic installation instructions on compiling and installing this distribution, please read the file `INSTALL'.

This distribution includes the following files, among others:

AUTORS
Who has worked on this project.
COPYING
Terms and conditions for copying program sources.
COPYING.DOC
Terms and conditions for copying the documents.
ChangeLog
History of changes.
INSTALL
Basic installation guidelines.
INTRODUCTION
Brief introduction to the system.
NEWS
Summary of new features by release.
README
This file.
RELEASE
The release number of this package.
TODO
What is still to be done.
makefile
The file for "make" to recompile the package.
temporary
Directory containing all iterim generated and compiled files, which are only needed for the make and build process.
distribution
The results of make, which will be used when using this package.
distribution/documentation/siliconBrainLib.info
The main documentation as info file.
distribution/documentation/siliconBrainLib.dvi
The main documentation for printed output.
distribution/documentation/web/index.html
The main documentation in HTML.
distribution/documentation/siliconBrainLib.info
The main documentation as info file.
distribution/documentation/siliconBrainLib.dvi
The main documentation for printed output.
distribution/documentation/web/index.html
The main documentation in HTML.

Note: the same file with the ".template" extension do not describe the siliconBrain package, but are templates used by siliconBrain to set up new projects or packages.

4.3 NEWS

This file records noteworthy changes.


4.3.1 0.0.3 (14 December 2004)

A String class (actually a struct) has been introduced. Together with a couple of superfast macros, which work either on a gnu obstack or with alloca().

An additional design idea here is, the seperation of freeing memory and the destruction of an object. Many objects (hre strings) can be created in an obstack, but all are freed in bulk, when the complete obstack is no longer used.


4.3.2 0.0.2 (18 August 2004)

There was an error in the siliconBrain publish.bash: the www main entry directory of a new package was not created. This is just a new relasing with no internal changes.


4.3.3 0.0.1 (18 August 2004)

The main step of this first release is the very existens of the project at all. In this state it is already of major importance for the siliconBrain project.

• SiliconBrainPrinter:
− creation of this XML output device.
− standard pretty printing of XML (indentation, ...).
− colorize if stdout is a tty.
− optional output in bash or perl syntax.
• siliconBrainLib.h:
− start of some convenience macros like equal.
− start of some convenience functions like osprintf.

4.4 TODO

4.4.1 These are the things, which are to be done sometimes:

• everything:
− The first thing we have is the very existence.
− And the xml printer.
• string:
− String class.
− StringStream class.
− obstack convenience.
• preprocessor:
− Allow here documments in c sources to
suppport more easy quoting.
− Allow variable substitution (at compile time).
− Allow formating substitution (at compile time).

4.4.2 Ideas that will not be implemented:

4.5 AUTHORS

The following persons have contributed to this package: