my rage from v8 is spilling over
Go to file
kenton@google.com 3e91fcdd87 Work around GCC 4.3.0 x86_64 compiler bug (seen on Fedora 9).
Details:

For each message type, protoc generates an array of byte offsets of each of
the fields within the message class.  These offsets are later used by the
reflection implementation.  Prior to this revision, the offset arrays were
allocated as global variables.  Since they were just arrays of ints, they
should have been initialized at compile time.  Unfortunately, GCC 4.3.0
incorrectly decides that they cannot be initialized at compile time because
the values used to initialize the array have type ptrdiff_t, and GCC 4.3.0
does not recognize that it can convert ptrdiff_t to int at compile time.  This
bug did not seem to exist in previous versions of GCC.  Google's compiler
team has submitted a fix for this bug back to the GCC project, but we will
have to work around it anyway since Fedora 9 shipped with GCC 4.3.0.
2008-11-06 04:37:30 +00:00
editors Integrate changes from internal Google-internal branch. 2008-09-24 20:31:01 +00:00
examples Make Python example output identical to C++ and Java by removing redundant 2008-10-07 02:38:12 +00:00
java Update version number to 2.0.3-SNAPSHOT. 2008-10-16 22:56:18 +00:00
m4 Initial checkin. 2008-07-10 02:12:20 +00:00
python Update version number to 2.0.3-SNAPSHOT. 2008-10-16 22:56:18 +00:00
src Work around GCC 4.3.0 x86_64 compiler bug (seen on Fedora 9). 2008-11-06 04:37:30 +00:00
vsprojects Update MSVC installation instructions for static linking change. 2008-10-21 17:18:26 +00:00
autogen.sh Pass -Wall,no-obsolete to autoreconf. 2008-09-30 22:01:45 +00:00
CHANGES.txt * Fix build on MSVC. 2008-09-30 00:09:40 +00:00
configure.ac Update version number to 2.0.3-SNAPSHOT. 2008-10-16 22:56:18 +00:00
CONTRIBUTORS.txt Add @Override annotation to generated Java code where appropriate. 2008-09-17 02:41:14 +00:00
COPYING.txt Added clarification to license that generated code is owned by the owner of the 2008-09-30 18:30:23 +00:00
generate_descriptor_proto.sh Integrate recent changes from google3. 2008-08-13 03:15:00 +00:00
INSTALL.txt Initial checkin. 2008-07-10 02:12:20 +00:00
Makefile.am Improve autogen.sh. 2008-09-30 20:55:25 +00:00
README.txt 2.0.1 release. 2008-08-27 19:25:48 +00:00

Protocol Buffers - Google's data interchange format
Copyright 2008 Google Inc.
http://code.google.com/apis/protocolbuffers/

C++ Installation - Unix
=======================

To build and install the C++ Protocol Buffer runtime and the Protocol
Buffer compiler (protoc) execute the following:

  $ ./configure
  $ make
  $ make check
  $ make install

If "make check" fails, you can still install, but it is likely that
some features of this library will not work correctly on your system.
Proceed at your own risk.

"make install" may require superuser privileges.

For advanced usage information on configure and make, see INSTALL.txt.

** Hint on insall location **

  By default, the package will be installed to /usr/local.  However,
  on many platforms, /usr/local/lib is not part of LD_LIBRARY_PATH.
  You can add it, but it may be easier to just install to /usr
  instead.  To do this, invoke configure as follows:

    ./configure --prefix=/usr

  If you already built the package with a different prefix, make sure
  to run "make clean" before building again.

** Note for Solaris users **

  Solaris 10 x86 has a bug that will make linking fail, complaining
  about libstdc++.la being invalid.  We have included a work-around
  in this package.  To use the work-around, run configure as follows:

    ./configure LDFLAGS=-L$PWD/src/solaris

  See src/solaris/libstdc++.la for more info on this bug.

C++ Installation - Windows
==========================

If you are using Micosoft Visual C++, see vsprojects/readme.txt.

If you are using Cygwin or MinGW, follow the Unix installation
instructions, above.

Binary Compatibility Warning
============================

Due to the nature of C++, it is unlikely that any two versions of the
Protocol Buffers C++ runtime libraries will have compatible ABIs.
That is, if you linked an executable against an older version of
libprotobuf, it is unlikely to work with a newer version without
re-compiling.  This problem, when it occurs, will normally be detected
immediately on startup of your app.  Still, you may want to consider
using static linkage.  You can configure this package to install
static libraries only using:

  ./configure --disable-shared

Java and Python Installation
============================

The Java and Python runtime libraries for Protocol Buffers are located
in the java and python directories.  See the README file in each
directory for more information on how to compile and install them.
Note that both of them require you to first install the Protocol
Buffer compiler (protoc), which is part of the C++ package.

Usage
=====

The complete documentation for Protocol Buffers is available via the
web at:

  http://code.google.com/apis/protocolbuffers/