Commit b4b9ed35 authored by Kenton Varda's avatar Kenton Varda

Make complier package releasable.

parent 79bbedc2
...@@ -2,13 +2,26 @@ Cap'n Proto - Insanely Fast Data Serialization Format ...@@ -2,13 +2,26 @@ Cap'n Proto - Insanely Fast Data Serialization Format
Copyright 2013 Kenton Varda Copyright 2013 Kenton Varda
http://kentonv.github.com/capnproto/ http://kentonv.github.com/capnproto/
This package contains the C++ runtime implementation of Cap'n Proto.
Cap'n Proto is an insanely fast data interchange format and capability-based Cap'n Proto is an insanely fast data interchange format and capability-based
RPC system. Think JSON, except binary. Or think of Google's Protocol Buffers RPC system. Think JSON, except binary. Or think of Google's Protocol Buffers
(http://protobuf.googlecode.com), except faster. In fact, in benchmarks, (http://protobuf.googlecode.com), except faster. In fact, in benchmarks,
Cap'n Proto is INFINITY TIMES faster than Protocol Buffers. Cap'n Proto is INFINITY TIMES faster than Protocol Buffers.
Full installation instructions and other documentation are maintained on the This package contains the C++ runtime implementation of Cap'n Proto. To build
Cap'n Proto web site: and use it, you will first need to install the Cap'n Proto compiler, capnpc,
which comes in a separate package.
Full installation and usage instructions and other documentation are maintained
on the Cap'n Proto web site:
http://kentonv.github.io/capnproto/install.html http://kentonv.github.io/capnproto/install.html
To build and install (from a release package), simply do:
./configure
make -j4 check
sudo make install
The -j4 allows the build to use up to four processor cores instead of one.
You can increase this number if you have more cores. Specifying "check"
says to run tests in addition to building. This can be omitted to make the
build slightly faster, but running tests and reporting failures back to the
developers helps us out!
../LICENSE
\ No newline at end of file
Cap'n Proto - Insanely Fast Data Serialization Format
Copyright 2013 Kenton Varda
http://kentonv.github.com/capnproto/
Cap'n Proto is an insanely fast data interchange format and capability-based
RPC system. Think JSON, except binary. Or think of Google's Protocol Buffers
(http://protobuf.googlecode.com), except faster. In fact, in benchmarks,
Cap'n Proto is INFINITY TIMES faster than Protocol Buffers.
This package is the executable tool which parses Cap'n Proto schema definitions
and generates corresponding source code in various target languages. To be
useful, you will also need to obtain a runtime library for your target
language. These are distributed separately.
Full installation and usage instructions and other documentation are maintained
on the Cap'n Proto web site:
http://kentonv.github.io/capnproto/install.html
To build and install, simply do:
cabal install capnproto-compiler.cabal
name: capnproto-compiler name: capnproto-compiler
version: 0.1 version: 0.1-dev
cabal-version: >=1.2 cabal-version: >=1.2
build-type: Simple build-type: Simple
author: kenton author: Kenton Varda <temporal@gmail.com>
maintainer: capnproto@googlegroups.com
homepage: http://kentonv.github.io/capnproto/
-- actually BSD2, but that's not on the list for some reason
license: BSD3
license-file: LICENSE.txt
synopsis: Schema parser and code generator for Cap'n Proto serialization/RPC system.
category: Data
description:
Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. Think
JSON, except binary. Or think Protocol Buffers, except faster. In fact, in benchmarks, Cap’n
Proto is INFINITY TIMES faster than Protocol Buffers.
This package is the executable tool which parses Cap'n Proto schema definitions and generates
corresponding source code in various target languages. To be useful, you will also need to
obtain a runtime library for your target language. These are distributed separately.
See the web site for full documentation: http://kentonv.github.io/capnproto/
-- How to get stack traces: -- How to get stack traces:
-- 1. Compile normally and do not clean. -- 1. Compile normally and do not clean.
...@@ -11,6 +28,11 @@ author: kenton ...@@ -11,6 +28,11 @@ author: kenton
-- this file. --enable-executable-profiling alone doesn't appear to get the job done.) -- this file. --enable-executable-profiling alone doesn't appear to get the job done.)
-- 3. Run with +RTS -xc -RTS on the command line. -- 3. Run with +RTS -xc -RTS on the command line.
extra-source-files:
README.txt,
src/c++-source.mustache,
src/c++-header.mustache
executable capnpc executable capnpc
hs-source-dirs: src hs-source-dirs: src
main-is: Main.hs main-is: Main.hs
......
...@@ -51,10 +51,9 @@ import Data.Maybe(fromMaybe, catMaybes, mapMaybe) ...@@ -51,10 +51,9 @@ import Data.Maybe(fromMaybe, catMaybes, mapMaybe)
import Data.Function(on) import Data.Function(on)
import Semantics import Semantics
import WireFormat(encodeSchema) import WireFormat(encodeSchema)
import CxxGenerator(generateCxx) import CxxGenerator(generateCxx)
import Paths_capnproto_compiler
version = "Cap'n Proto Compiler 0.1-dev (from git)" import Data.Version(showVersion)
type GeneratorFn = [FileDesc] -> [Word8] -> Map.Map Word64 [Word8] -> IO [(FilePath, LZ.ByteString)] type GeneratorFn = [FileDesc] -> [Word8] -> Map.Map Word64 [Word8] -> IO [(FilePath, LZ.ByteString)]
...@@ -112,7 +111,7 @@ main = do ...@@ -112,7 +111,7 @@ main = do
let isVersion = not $ null [opt | opt@VersionOpt <- options] let isVersion = not $ null [opt | opt@VersionOpt <- options]
when isVersion (do when isVersion (do
putStr (version ++ "\n") putStr ("Cap'n Proto Compiler " ++ showVersion Paths_capnproto_compiler.version ++ "\n")
exitSuccess) exitSuccess)
let isGenId = not $ null [opt | opt@GenIdOpt <- options] let isGenId = not $ null [opt | opt@GenIdOpt <- options]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment