update some documentation
This commit is contained in:
parent
1875a2ea66
commit
5989e24ee6
62
README.md
62
README.md
@ -12,7 +12,7 @@ Add this line to your application's Gemfile:
|
|||||||
|
|
||||||
And then execute:
|
And then execute:
|
||||||
|
|
||||||
$ bundle
|
$ bundle install
|
||||||
|
|
||||||
Or install it yourself as:
|
Or install it yourself as:
|
||||||
|
|
||||||
@ -176,11 +176,14 @@ subset of build targets or source files.
|
|||||||
The `build_op` parameter to the build hook block is a Hash describing the
|
The `build_op` parameter to the build hook block is a Hash describing the
|
||||||
build operation with the following keys:
|
build operation with the following keys:
|
||||||
* `:builder` - `Builder` instance in use
|
* `:builder` - `Builder` instance in use
|
||||||
|
* `:env` - `Environment` calling the build hook; note that this may be
|
||||||
|
different from the Environment that the build hook was added to in the case
|
||||||
|
that the original Environment was cloned with build hooks!
|
||||||
* `:target` - `String` name of the target file
|
* `:target` - `String` name of the target file
|
||||||
* `:sources` - `Array` of the source files
|
* `:sources` - `Array` of the source files
|
||||||
* `:vars` - `Rscons::VarSet` containing the construction variables to use
|
* `:vars` - `Rscons::VarSet` containing the construction variables to use.
|
||||||
The build hook can overwrite entries in `build_op[:vars]` to alter the
|
The build hook can overwrite entries in `build_op[:vars]` to alter the
|
||||||
construction variables in use for this specific build operation.
|
construction variables in use for this specific build operation.
|
||||||
|
|
||||||
### Example: Creating a static library
|
### Example: Creating a static library
|
||||||
|
|
||||||
@ -190,12 +193,21 @@ Rscons::Environment.new do |env|
|
|||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Example: Creating a C++ parser source from a Yacc/Bison input file
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
Rscons::Environment.new do |env|
|
||||||
|
env.CFile("#{env.build_root}/parser.tab.cc", "parser.yy")
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
## Details
|
## Details
|
||||||
|
|
||||||
### Default Builders
|
### Builders
|
||||||
|
|
||||||
Rscons ships with a number of default builders:
|
Rscons ships with a number of builders:
|
||||||
|
|
||||||
|
* CFile, which builds a C or C++ source file from a lex or yacc input file
|
||||||
* Library, which collects object files into a static library archive file
|
* Library, which collects object files into a static library archive file
|
||||||
* Object, which compiles source files to produce an object file
|
* Object, which compiles source files to produce an object file
|
||||||
* Program, which links object files to produce an executable
|
* Program, which links object files to produce an executable
|
||||||
@ -203,6 +215,41 @@ Rscons ships with a number of default builders:
|
|||||||
If you want to create an Environment that does not contain any builders,
|
If you want to create an Environment that does not contain any builders,
|
||||||
you can use the `exclude_builders` key to the Environment constructor.
|
you can use the `exclude_builders` key to the Environment constructor.
|
||||||
|
|
||||||
|
#### CFile
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
env.CFile(target, source)
|
||||||
|
```
|
||||||
|
|
||||||
|
The CFile builder will generate a C or C++ source file from a lex (.l, .ll)
|
||||||
|
or yacc (.y, .yy) input file.
|
||||||
|
|
||||||
|
#### Library
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
env.Library(target, sources)
|
||||||
|
```
|
||||||
|
|
||||||
|
The Library builder creates a static library archive from the given source
|
||||||
|
files.
|
||||||
|
|
||||||
|
#### Object
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
env.Object(target, sources)
|
||||||
|
```
|
||||||
|
|
||||||
|
The Object builder compiles the given sources to an object file.
|
||||||
|
|
||||||
|
#### Program
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
env.Program(target, sources)
|
||||||
|
```
|
||||||
|
|
||||||
|
The Program builder compiles and links the given sources to an executable file.
|
||||||
|
Object files or source files can be given as `sources`.
|
||||||
|
|
||||||
### Managing Environments
|
### Managing Environments
|
||||||
|
|
||||||
An Rscons::Environment consists of:
|
An Rscons::Environment consists of:
|
||||||
@ -233,8 +280,7 @@ cloned_env["CPPPATH"] << "three"
|
|||||||
### Construction Variable Naming
|
### Construction Variable Naming
|
||||||
|
|
||||||
* uppercase strings - the default construction variables that Rscons uses
|
* uppercase strings - the default construction variables that Rscons uses
|
||||||
* lowercase symbols - Rscons options
|
* symbols, lowercase strings - reserved as user-defined construction variables
|
||||||
* lowercase strings - reserved as user-defined construction variables
|
|
||||||
|
|
||||||
### API documentation
|
### API documentation
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user