diff options
author | Nick Mathewson <nickm@torproject.org> | 2005-05-17 01:51:23 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2005-05-17 01:51:23 +0000 |
commit | 79c056cbe1246fbefc7c2eed66e1665b8678657e (patch) | |
tree | 4a1af1e311acfb89aad769ffd2c9b37112fa383d | |
parent | c5b986ec6cb773e0acf60da551622e6dbb4c04f1 (diff) | |
download | tor-79c056cbe1246fbefc7c2eed66e1665b8678657e.tar tor-79c056cbe1246fbefc7c2eed66e1665b8678657e.tar.gz |
Very experimental code to try to make libevent work from bad /usr/local/libs
svn:r4238
-rw-r--r-- | configure.in | 83 |
1 files changed, 82 insertions, 1 deletions
diff --git a/configure.in b/configure.in index 4b3b6bec3..f4cfaf183 100644 --- a/configure.in +++ b/configure.in @@ -56,7 +56,88 @@ AC_SEARCH_LIBS(socket, [socket]) AC_SEARCH_LIBS(gethostbyname, [nsl]) AC_SEARCH_LIBS(pthread_create, [pthread]) AC_SEARCH_LIBS(pthread_detach, [pthread]) -AC_SEARCH_LIBS(event_loop, [event], , AC_MSG_ERROR(Libevent library not found. Tor requires libevent to build. You can get the latest version of libevent at http://www.monkey.org/~provos/libevent/ )) + +dnl ------------------------------------------------------ +dnl Where do you live, libevent? + +AC_SEARCH_LIBS(event_loop, [event], event_found=yes, event_found=no) + +if test "$event_found" = no; then + echo FLOOIE + saved_LIBS="$LIBS" + saved_LDFLAGS="$LDFLAGS" + saved_CPPFLAGS="$CPPFLAGS" + AC_CACHE_CHECK([for libevent in /usr/local/lib], ac_cv_libevent_local, [ + LIBS="$LIBS -levent" + LDFLAGS="$LDFLAGS -L/usr/local/lib" + CPPFLAGS="$CPPFLAGS -I/usr/local/include" + AC_TRY_COMPILE([ +#include <event.h> +int main(void) +{ + event_init(); + return 0; +}], [ libevent_is_in_local=yes ], [ libevent_is_in_local=no ]) + if test libevent_is_in_local = yes; then + AC_TRY_RUN([ +#include <event.h> +int main(void) +{ + event_init(); + return 0; +}], , [ ac_cv_libevent_local=unlinked ]) + else + ac_cv_libevent_local=no + fi + if test "$GCC" = yes -a $ac_vc_libevent_local = unlinked ; then + LDFLAGS="$LDFLAGS -Wl,-R/usr/local/lib" + AC_TRY_RUN([ +#include <event.h> +int main(void) +{ + event_init(); + return 0; +}], [ ac_cv_libevent_local=unlinked_gcc_elf ]) + fi + + LIBS="$saved_LIBS" + CFLAGS="$saved_CFLAGS" + LDFLAGS="$saved_LDFLAGS" ]) + + if test $ac_cv_libevent_local != no; then + LIBS="$LIBS -levent" + LDFLAGS="$LDFLAGS -L/usr/local/lib" + CFLAGS="$CFLAGS -I/usr/local/include" + fi + if test $av_cv_libevent_local = unlinked_gcc_elf; then + LDFLAGS="$LDFLAGS -Wl,-R/usr/local/lib" + fi + + if test $ac_cv_libevent_local = unlinked; then + echo <<EOF +===================================================== +HEY!!!! + +Your libevent library is installed in /usr/local/lib, +but your dynamic linker isn't configured to look for +it there. + +EOF + if test -f /etc/ld.so.conf; then + echo <<EOF +Maybe you need to add /usr/local/lib to /etc/ld.so.conf, +and then run ldconfig -v ? +EOF + fi + echo <<EOF + +===================================================== +EOF + fi +fi + +dnl ------------------------------------------------------ +dnl Where do you live, OpenSSL? saved_LIBS="$LIBS" saved_LDFLAGS="$LDFLAGS" |