Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Sep 19, 2013
  1. @capflam

    Add the way to configure the version of sendfile method to use

    capflam authored
    Now, at compile time, we only check if sendfile syscall and file:sendfile/5
    are supported. Then, dynamically, we can configure which version to use.
    This can be done using the directive large_file_sendfile. Supported values
     * erlang: if supported, use file:sendfile/5
     * yaws: if supported, use the Yaws sendfile linked-in driver
     * disable: do not use any sendfile method, but gen_tcp:send/2
    If an unsupported method is configured, we fall back on gen_tcp:send/2.
    file:sendfile/5 implementation is buggy (in R15 & R16). When async-threads
    are enabled, in efile driver, the tcp socket is set in blocking mode and the
    sendfile syscall is executed on an async-thread. So an unresponsive client
    could block it for a very long time and therefore block the async-thread.
    In this way, all async-threads could be easily blocked.
    So, by default, the use of sendfile is disable.
Commits on Sep 6, 2013
  1. @capflam

    Fix option to enable/disable sendfile support in the configure script

    capflam authored
    Now it is possible to disable sendfile in yaws passing the option
    '--disable-senfile' (or '--enable-sendfile=no') to the configure script.
    It is also possible to choose between the erlang implementation (the default)
    and the yaws implementation.
Commits on Jun 26, 2013
  1. @fjoanis

    Use proper linker command for drivers on OpenBSD

    fjoanis authored
    This fixes the "Cannot load specified object" / undefined symbol '__guard_local' error that occurs on OpenBSD 5.3. It changes the LD_SHARED variable to use gcc rather than ld. A similar issue is documented here: Tested on OpenBSD 5.3 and FreeBSD 9.
Commits on Jun 25, 2013
  1. @weisslj @vinoski

    Fix configure checks requiring module loading

    weisslj authored vinoski committed
    After 98db40b the check outputs:
        $ erl -noshell -eval 'code:load_file(file), io:format("~p~n",[[erlang:function_exported(file,sendfile,5)]]), erlang:halt().'
        =ERROR REPORT==== 25-Jun-2013::09:40:51 ===
        Can't load module that resides in sticky dir
    Use code:ensure_loaded/1 instead as suggested by Tuncer Ayaz. Fix similar
    module loading check in rebar.config.script.
Commits on Jun 20, 2013
  1. @vinoski

    changes for R16B01

    vinoski authored
    In R16B01, crypto:sha/1 is deprecated in favor of crypto:hash/2, but the
    latter is not available prior to R15B02. Change the configure script and
    rebar support to look for crypto:hash/2 and use it if found, otherwise fall
    back to crypto:sha/1.
    Also in R16B01 the public_key application, used by some of the tests, now
    requires the asn1 application to be started first. Change the tests to
    accommodate that.
Commits on Nov 29, 2012
  1. @capflam

    Fix compilation of mime_types.erl when working directory is not 'yaws'

    capflam authored
    When mime_types.erl is generated, we must check if it is done during a Yaws
    compilation or a Yaws startup. In the first case, we must use a relative
    path for includes. Else include_lib must be used.
    This issue was reported by Andrei Zavada and avoid a compile error when the
    working directory is not 'yaws'.
    The mechanisms to generate and compile this file have also changed.
    Then, to centralize calls to yaws_generated:is_local_install/0, following
    functions was added in yaws.erl:
      get_app_dir/0, get_src_dir/0, get_ebin_dir/0, get_priv_dir/0, get_inc_dir/0
Commits on Aug 7, 2012
  1. @vinoski
Commits on Apr 3, 2012
  1. @vinoski

    fix configure's ERTS version checking for file:sendfile/5

    vinoski authored
    R15B01 is ERTS version 5.9.1. In commit ddfa25, made before R15B01 was
    released, it was erroneously assumed to be 5.10. This prevented
    file:sendfile/5 from being configured properly for R15B01.
Commits on Apr 1, 2012
  1. @tuncer @vinoski

    Use file:sendfile/5 if available

    tuncer authored vinoski committed
    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.
Commits on Dec 24, 2011
  1. @vinoski
Commits on Sep 23, 2011
  1. @vinoski

    changes for OS X Lion for build and test

    vinoski authored
    The configure script had a place verifying Darwin version 10.*, which
    doesn't work for Lion since it's version 11.*. Allow any version
    greater than or equal to 10. Also the wgettest script under test/t1
    uses grep in a way that no longer seems to work under Lion (very odd),
    so change it to work around the issue.
Commits on Jun 19, 2011
  1. @vinoski

    let configure handle erlang built from git clone

    vinoski authored
    A normal Erlang installation has versioned directory names for
    applications such as sasl, kernel, and ssl. The yaws configure script
    checks for these. But an Erlang built from a git clone of the OTP
    repository, the versions for these applications do not exist. Trying
    to build yaws using erl built in such a git clone would fail due to
    this lack of versioned applications.
    Change to look for normal application versions first and
    if not found, look for application dirs containing files. If
    found, use those versions instead. Also change to get the
    erts version from running the emulator instead of from the erts
    versioned directory name.
Commits on May 31, 2011
  1. @vinoski

    use {wordsize, external} in configure script

    vinoski authored
    To properly check to see whether the Erlang emulator is 32-bit or
    64-bit in the configure script, call erlang:system_info with the
    argument {wordsize, external} instead of just wordsize. The latter
    reveals only the internal word size, which happened to work previously
    (and is the only option for older versions of Erlang) but doesn't work
    for halfword emulators. Fallback to an argument of just wordsize for
    older versions of Erlang.
Commits on Feb 17, 2011
  1. @vinoski
  2. @jamesleegwu @vinoski

    configure ERLBINDIR relative to ERLDIR

    jamesleegwu authored vinoski committed
    Rather than configuring ERLBINDIR relative to ERL, which doesn't work
    when ERL is in a strange location such as /usr/bin/amd64/erl,
    configure it relative to ERLDIR.
Commits on Feb 14, 2011
  1. @yrashk

    Fix configure failing to determine word size on Linux platform.

    yrashk authored
    It was not explicitly specifying that it needs Erlang to run the test so autoconf was trying to
    compile that halt(...) code test as a C program, which obviously leads to a failure
Commits on Jan 26, 2011
  1. @vinoski

    filter erl output for setting ERLDIR

    vinoski authored
    A user reported a problem with yaws-1.89 where ERLDIR was getting set
    incorrectly because his R14B01 Erlang installation was emitting the
    string "Running Erlang" as part of the output used to set the ERLDIR
    variable. (I don't know why, since that string doesn't appear anywhere
    in the sources as far as I can see.) Change the command used to set
    ERLDIR so that only the last line of output is kept.
Commits on Jan 18, 2011
  1. @vinoski

    teach linux build to distinguish 32- and 64-bit erlang

    vinoski authored
    Change Linux build to check whether the Erlang system available is
    32-bit or 64-bit and use the right build flags for c_src to
    match. This support is mostly the same as changes added some time ago
    to distinguish 32- and 64-bit builds on OS X.
    Also change configure script to use "host" where "target" used to be
    used, since according to autotools documentation "host" is what was
    really meant.
Commits on Dec 8, 2010
  1. @vinoski

    add configure detection of erts bits support

    vinoski authored
    The websockets support relies on bits support in Erlang. The
    src/Makefile used to contain a gmake shell command for checking the
    erts version to see if bits support was present. This change moves
    that test into the configure scripts and adds a new make variable to that src/Makefile can use instead. This keeps configuration
    checks out of the makefiles and in the configure script where they
    Also fixed the test for bits support, which would have been incorrect
    once the erts major version number increases above 5 because it also
    unconditionally wanted the erts minor number to be greater than 6, so
    a major/minor version such as 6.0 would have failed.
Commits on Feb 18, 2010
  1. dialyzer work

Commits on Feb 9, 2010
Commits on Jan 6, 2010
  1. @vinoski
Commits on Jan 5, 2010
Commits on Nov 11, 2009
  1. rm configure

Commits on Sep 26, 2009
  1. @vinoski
Commits on Jul 1, 2009
  1. yaws [PATCH] Use $CC instead of gcc authored committed
    I'm just a newbie, but these fixes seemed obvious.
    Hope it's useful.
Commits on Jun 30, 2009
  1. configure patch by dnz

Commits on Apr 25, 2009
  1. @vinoski
Commits on Mar 18, 2009
  1. configure woes

Commits on Mar 17, 2009
Commits on Jan 29, 2009
  1. @vinoski
  2. @vinoski
Commits on Jan 22, 2009
  1. cygwin build patch by Davide marques

    git-svn-id: 9fbdc01b-0d2c-0410-bfb7-fb27d70d8b52
Commits on Dec 27, 2008
  1. test case number 1

    git-svn-id: 9fbdc01b-0d2c-0410-bfb7-fb27d70d8b52
Something went wrong with that request. Please try again.