Due to a bug in file:sendfile/5 in R15B, the yaws configure script enables the use of file:sendfile/5 only for versions R15B01 or greater.
Clean up some duplicate options and extra whitespace in examples/src/Makefile, and add examples/src to rebar.config to make sure it gets built under rebar.
Running "rebar generate" now creates a self-contained yaws system under the build directory's "rel" subdirectory. The yaws script it provides at ./rel/yaws/bin/yaws isn't the same as the normal yaws script (the one normally found at ./bin/yaws); rather, it's a special script that starts yaws and the Erlang applications on which it depends as a local self-contained Erlang node. You can run ./rel/yaws/bin/yaws console to start an interactive yaws node, or ./rel/yaws/bin/yaws start to run it as a daemon, which you can later stop with ./rel/yaws/bin/yaws stop This script does not accept the command-line options that ./bin/yaws does, at least for now. If this is a problem, please raise an issue at the Yaws github repo or on the Yaws mailing list.
Fix compilation warning in yaws_dav.erl so that no compilation errors exist in the build, allowing us to treat warnings as errors in rebar.config and in src/Makefile.
Modify scripts/rebar-pre-scripts and scripts/local-install to avoid rebuilding generated files that haven't changed since the last build. Modify scripts/Makefile to account for local-install changes. Also apply minor fix to rebar.config indentation.
Add support for building yaws with rebar. The original configure and make support is kept intact. If you build with rebar you get a local install. The rebar approach does not support a regular install, which defaults into /usr/local. If you want a regular install, use configure and make. Create a new top-level contrib directory and move unused src files there. Also move src/benchmarks and src/contrib contents there as well. Remove the obsolete src/patches directory. This is all to keep rebar from compiling this unused code (since by default it compiles everything under the src dir). Move a number of build rules out of Makefiles into separate scripts so they can be used by both rebar and make. Modify yaws version specifier and handling to be amenable to rebar. Clean up trailing whitespace in a number of scripts and Makefiles. Use the following environment variables to customize the rebar build defaults: DEFAULT_CHARSET: used in mime type table (default: "") ERLBINDIR: e.g. /usr/local/bin ETCDIR: etc directory (default: ./etc) VARDIR: var directory (default: ./var)