• Show log

    Commit

  • Hash : d3a8ccb8
    Author : Nick Mathewson
    Date : 2009-07-10T19:38:16

    Change use of AC_CHECK_LIB to AC_SEARCH_LIBS.
    
    Patch from Zack Weinberg.  His message:
    
      This one eliminates all use of AC_CHECK_LIB in the configure script.
      AC_CHECK_LIB has a serious flaw: if the library you mention *exists*
      but is not *necessary* for the function you want, it adds it to
      $(LIBS) anyway.  This was fine in the days of static libraries,
      because the linker would ignore an .a library that didn't contain
      anything you needed. However, ELF shared libraries are different
      (let's not get into why): the linker will by default record a
      DT_NEEDED entry for every shared object mentioned on the link
      command line. Thus, every use of AC_CHECK_LIB is a potential
      unnecessary DT_NEEDED, making extra work for the dynamic loader. The
      cure is simply to use AC_SEARCH_LIBS instead; it first tries to find
      the function you ask for in libc, and only if that doesn't work does
      it try to use the extra library you mention.
    
      For the same reasons, pkg-config .pc files should distinguish
      between the libraries to use for shared linkage (Libs:) and the
      additional libraries needed for static linkage (Libs.private:). I
      have also made that correction in this patch. I also took the
      opportunity to clean up the substitution variables a little and make
      absolutely sure that the core library does not get linked against
      zlib.
    
    svn:r1338
    

  • README

  • To build libevent, type
    
    $ ./configure && make
    
         (If you got libevent from the subversion repository, you will
          first need to run the included "autogen.sh" script in order to
          generate the configure script.)
    
    Install as root via
    
    # make install
    
    You can run the regression tests by
    
    $ make verify
    
    Before, reporting any problems, please run the regression tests.
    
    To enable the low-level tracing build the library as:
    
    CFLAGS=-DUSE_DEBUG ./configure [...]
    
    Acknowledgements:
    -----------------
    
    The following people have helped with suggestions, ideas, code or
    fixing bugs:
    
      Alejo
      Weston Andros Adamson
      William Ahern
      Stas Bekman
      Andrew Danforth
      Mike Davis
      Shie Erlich
      Alexander von Gernler
      Artur Grabowski
      Aaron Hopkins
      Claudio Jeker
      Scott Lamb
      Adam Langley
      Philip Lewis
      David Libenzi
      Nick Mathewson
      Andrey Matveev
      Richard Nyberg
      Jon Oberheide
      Phil Oleson
      Dave Pacheco
      Tassilo von Parseval
      Pierre Phaneuf
      Jon Poland
      Bert JW Regeer
      Dug Song
      Taral
    
    If I have forgotten your name, please contact me.