Skip to content
Agnos - The Agnostic RPC Framework
Python Java C++ C# C CSS Other
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
compiler
demos
libagnos
site
tests
.gitignore
CHANGELOG.rst
CONTRIBUTORS.rst
LICENSE.rst
NOTICE
README
__init__.py
build.sh

README

Agnos - The Agnostic RPC Framework

Agnos is a cross-platform, cross-language, lightweight RPC framework.


==============================================================================
  Discloure
==============================================================================
Agnos is being developed at IBM XIV (http://www.xivstorage.com/), 
at the Host Side Group, and is released as an Open Source project under the 
Apache 2 license. See the LICENSE file for more info.

The following statements was required by our lawyers:
 * The design of the project had been inspired by Thrift 
   (http://incubator.apache.org/thrift), although the projects do not share 
   code. Thrift is licensed as Apache 2, which allows deriviative works.
 
 * The name "Microsoft" appears several times in the repository, in 
   Visual Studio solution and project files (.sln, .csproj, .vcxproj), as
   these files reference XML schemas; in paths of some executable tools;
   and in documentation material. This does not imply that Microsoft is in 
   anyway affiliated with this project.


==============================================================================
  How to run the Agnos Toolchain from a cloned repository:
==============================================================================
1) Clone this repository

2) Install scons (http://www.scons.com)

3) Create a symlink (on Windows use mklink) to compiler/src/agnos_compiler and place
   it somewhere in your PYTHONPATH, e.g.:
   
   $ ln -s /absolute/path/of/agnos_toolchain/compiler/src/agnos_compiler /usr/lib/python2.6/site-packages/agnos_compiler
   
   Note: the link should be named "agnos_compiler"

4) Create a symlink to libagnos/python/src/agnos and place it somewhere in your 
   PYTHONPATH, e.g:

   $ ln -s /absolute/path/of/agnos_toolchain/libagnos/python/src/agnos /usr/lib/python2.6/site-packages/agnos
   
   Note: the link should be named "agnos"

5) Put compiler/bin/agnosc and compiler/bin/agnosrc-py in your PATH (either by
   adding them to the PATH or by creating symlinks to /usr/bin, etc.)

   $ ln -s /absolute/path/of/agnos_toolchain/compiler/bin/agnosc /usr/bin/agnosc
   $ ln -s /absolute/path/of/agnos_toolchain/compiler/bin/agnosrc-py /usr/bin/agnosrc-py
   
   Note: on Windows, create the links to agnos.bat and agnosrc-py.bat

6) Build the parts of libagnos that you wish to use:
   * Java: cd to libagnos/java and run scons

   * C#: cd to libagnos/csharp/src and run "msbuild Agnos.sln" or "xbuild Agnos.sln" 
   
   * C++: cd to libagnos/cpp and run scons
     you may need to tweak the scons file, to define/undefine 
     BOOST_PROCESS_SUPPORTED

7) See that everything's working:
   $ agnosc
   Usage: agnosc [options]
    
   agnosc: error: must specify agnos input file(s)
    
   $ agnosrc-py
   Usage: agnosrc-py [options]
    
   agnosrc-py: error: must specify agnos input file(s)


Something went wrong with that request. Please try again.