Add rabbitmq-codegen as a submodule

The following commands can be used to update the submodule:

    $ git submodule init
    $ git sumodule update

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Convert to non-recursive Automake

This change should speed up parallel builds considerably. It also
simplifies the structure of the build system making it possible to
properly track dependencies.

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Store macros in m4 sub-directory

This is a recommended practice for Automake. The correct macros will be
distributed with the source tarball making it easier for users to
regenerate configure/Makefile if they wish.

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Enable silent build rules

This change makes it much easier to spot warnings in compiler output.
To see the full build commands, build with:

    $ make V=1

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Add a .gitignore file

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Add proper libtool versioning

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Add -Wall, -Wextra & -pedantic by default

This change also adds a couple small autoconf macros to make it easier
to deal with compiler options.

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
General cleanup in configure.ac

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Make configure options more sensible

`--disable-tools` will disable the AMQP tools.

`--disable-docs` will disable the AMQP tools documentation.

The `XMLTO` environment variable can be used to override the location of
the `xmlto` command at configure time.

The `POPT_CFLAGS` & `POPT_LIBS` environment variables can be used to
influence Libpopt configuration.

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Cleanup python check

Also remove old compiler flag settings (should have been in a previous
commit).

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Cleanup 64-bit option

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Cleanup platform checks in configure.ac

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Remove unnecessary files

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Add a pkg-config file

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Add config.h header guards

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Add new codegen directory to CMakeLists.txt

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Move TestCInline.cmake into cmake directory

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Fix compiler warnings (checked clang & gcc)

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Set default visibility to hidden & enable a couple more warnings

Enable the following GCC options:

1. -Wstrict-prototypes
2. -Wcast-align
3. -fno-common
4. -fvisibility=hidden

This commit also includes some general cleanup of header files (mostly
for readability).

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Cleanup Win32 artifacts

1. Standardize on `win32` vs `windows/win32`
2. Move `msinttypes` into platform directory

Signed-off-by: Michael Steinert <mike.steinert@gmail.com>