joyent/libuv — pull request #507 by JustinVenus (2012-07-29 02:56:02+00:00)
Title: Issue486 pull request #2

The discussion for the first attempt at resolving issue 486 was https://github.com/joyent/libuv/pull/501

Recap of what this change does:
############################################################################################
Use the autotool build system for system packagers.

The old Makefile is renamed Makefile.old. Please note this pull request updates .gitignore as well.

I have successfully tested the changes on OSX, Linux, and Solaris 11.

Enhancements over the previous build system:

Solaris sunpro (solarisstudio) compiler 12.3 is supported.
You may build with c99
initial support in "configure.ac" for using the system provided libev, libeio, and libcares.
How to test the changes.

sh autogen.sh #runs all of the utilities to generate configure
./configure #generates an autotooled "Makefile"

make #builds a shared and static library
make check #runs the unittest test/runtests, note you may short circuit and skip "make"
make bench #runs the unittest test/runbenchmarks, note you may short circuit and skip "make"
make dist #creates a tarball gz file for distribution

make install #installs the software on the system
make DESTDIR='/var/tmp/libuv' install #installs the software at the specified prefix

############################################################################################

Corrections based on feedback from the first review:
1) Erroneous references to libevent were corrected to libev.
2) "make install" includes ev.h and eio.h in uv-private if it is required.
3) "make dist" no longer invokes the unittest.
4) "make check" will run the builtin unittest.

Issues not directly addressed:
1) "make dist" includes build artifacts in the tarball.
- I believe "make distclean" prior to "make dist" resolves this.

Additional Enhancements:
1) RPM specfile added to a new directory called "contrib".
2) Script to create a Solaris datastream in "contrib".