home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / socks5v1.zip / aclocal.m4 < prev    next >
M4 Source File  |  1999-05-27  |  11KB  |  350 lines

  1. dnl try to find an ansi compiler.
  2. AC_DEFUN(AC_PROG_ANSI_CC, [
  3. if test -n "$CC"; then use_env_cc="yes"; fi
  4. AC_CHECK_PROG(CC, gcc2, gcc2)
  5. dnl We want to put the -g -O stuff from AC_PROG_CC in CDEBUG_FLAGS, not CFLAGS, so
  6. dnl store the old ones...then switch back
  7. OCFLAGS="$CFLAGS"
  8. CFLAGS=
  9. AC_PROG_CC
  10. CDEBUG_FLAGS="$CFLAGS"
  11. CFLAGS="$OCFLAGS"
  12. savedcc="$CC"
  13. OS=`uname -s`
  14. OSVER=`uname -r`
  15. if test "$OS" = "SunOS"; then
  16.     case $OSVER in
  17.     5.5*)
  18.     AC_DEFINE(USE_SYSTEM_SEMAPHORE)
  19.     esac
  20. fi
  21. if test "$GCC" = "yes"; then
  22.         CFLAGS="$CFLAGS -D__USE_FIXED_PROTOTYPES__"
  23. elif test "$OS" = "HP-UX" -a "$use_env_cc" != "yes"; then
  24.         CFLAGS="-Ae"
  25.         AC_TRY_COMPILE([void foo(int bar){}],,s5_have_ansi_cc="yes",s5_have_ansi_cc="no")
  26.         if test "$s5_have_ansi_cc" = "no"; then
  27.                 CFLAGS=""
  28.                 unset CC
  29.                 unset ac_cv_prog_CC   #unset cached CC
  30.                 AC_CHECK_PROG(CC, c89, c89, $savedcc)
  31.                 if test "$CC" = "c89" ; then CFLAGS="-D_HPUX_SOURCE"; fi
  32.         fi
  33. elif test "$OS" = "SunOS"  -a "$use_env_cc" != "yes"; then
  34.         AC_TRY_COMPILE([void foo(int bar){}],,s5_have_ansi_cc="yes",s5_have_ansi_cc="no")
  35.         if test "$s5_have_ansi_cc" = "no"; then
  36.             unset CC
  37.             unset ac_cv_prog_CC   #unset cached CC
  38.             AC_CHECK_PROG(CC, acc, acc, $savedcc)
  39.             if test "$CC" = "acc" ; then CFLAGS=""; fi
  40.     fi
  41. fi
  42. if test "$savedcc" != "$CC"; then AC_MSG_RESULT(resetting CC to $CC); fi
  43. AC_TRY_COMPILE([void foo(int bar){}],,AC_DEFINE(HAVE_FUNC_PROTOTYPE), AC_MSG_WARN(--> no ANSI C compiler found!\n))
  44. ])dnl
  45.  
  46. AC_DEFUN(AC_KERBEROS5, [
  47. AC_ARG_WITH(krb5,           --with-krb5        Turn on Kerberos 5,                             [KRB5="$withval"], [KRB5="no"])
  48. if test "$KRB5" != "no"; then
  49. echo
  50. AC_MSG_CHECKING(Kerberos 5)
  51. AC_CACHE_VAL(r_cv_krb5_home, [
  52. if test "$KRB5" = "yes" -o "$KRB5" = ""; then
  53.     r_cv_krb5_home=`egrep \^klogin /etc/inetd.conf|awk '{print [$]6;}'|awk -F/ '{ORS="/";for(i=1;i<=NF-2;i++) print $i;}'`
  54. else
  55.     r_cv_krb5_home=$KRB5
  56. fi])dnl
  57.  
  58. if test "$KRB5" = "" -a "$r_cv_krb5_home" != "" -a  ! -d $r_cv_krb5_home/include/krb5; then
  59.     r_cv_krb5_home=""
  60. fi
  61. KRB5_HOME=$r_cv_krb5_home
  62. if test "$KRB5_HOME" != ""; then
  63.     AC_MSG_RESULT("$KRB5_HOME")
  64. elif test "$KRB5" != ""; then
  65.     AC_MSG_RESULT("default")
  66. else 
  67.     AC_MSG_RESULT("no")
  68. fi
  69. if test "$KRB5" != "" -o "$KRB5_HOME" != ""; then
  70.     if test "$KRB5_HOME" != ""; then
  71.         [CFLAGS="$CFLAGS -I$KRB5_HOME/include"]
  72.         [LDFLAGS="$LDFLAGS -L$KRB5_HOME/lib"]
  73.     fi
  74.     AC_CHECK_LIB(db,          main)
  75.     dnl check whether db has been found
  76.     if test "$ac_cv_lib_db_main" = "no"; then
  77.         AC_CHECK_LIB(ndbm,main)
  78.     fi
  79.     AC_CHECK_LIB(isode,       main)
  80.     AC_CHECK_LIB(com_err,     main)
  81.     AC_CHECK_LIB(crypto,      main)
  82.     AC_CHECK_LIB(krb5,        main)
  83.     AC_CHECK_LIB(gssapi_krb5, main)
  84. fi
  85. fi
  86. ])dnl
  87.  
  88. AC_DEFUN(AC_MAKE_SHAREDLIB, [
  89. SHLIB_LD="ld"
  90. SHLIB_LIB=""
  91. SHLIB_LFLAGS="-shared"
  92. SHLIB_CFLAGS="-r"
  93. SHLIB_OFLAGS="-o "
  94. if test "$exec_prefix" != "NONE"; then
  95.     SHLIB_DIR=$exec_prefix/lib
  96. elif test "$prefix" != "NONE"; then
  97.     SHLIB_DIR=$prefix/lib
  98. else
  99.     SHLIB_DIR=/usr/local/lib
  100. fi
  101. PRELOADS="echo Shared libraries not supported; exit; :"
  102. PRELOADA=""
  103. AC_MSG_CHECKING(shared library support)
  104. if test "$ac_cv_func_dlopen" = "yes" -o "$ac_cv_func_shl_load" = "yes"; then
  105.     SHARED_LIBSOCKS5_CFLAGS="-DFOR_SHARED_LIBRARY -DIN_LIBRARY"
  106. dnl can't socksify HP 9.* applications even it has shl_load()
  107.     if test  "$ac_cv_func_dlopen" = "yes"; then SHLIB_LIB="libsocks5_sh.so"; fi
  108.     case `uname -rs` in
  109.     UNIX_SV*|UNIX_System_V*)
  110.         SHLIB_LFLAGS="-G"
  111.         ;;
  112.     FreeBSD*|NetBSD*)
  113.         SHLIB_LFLAGS="-Bshareable"
  114.         SHLIB_CFLAGS="-fpic"
  115.         PRELOADS="LD_PRELOAD"
  116.         ;;
  117.     SunOS*4.*)
  118.          SHLIB_CFLAGS="-P"
  119.         SHLIB_LFLAGS="-dp -assert pure-text -assert nodefinitions"
  120.         PRELOADS="LD_PRELOAD"
  121.         ;;
  122.     SunOS*5.*)
  123.         SHLIB_LD="cc"
  124.         SHLIB_CFLAGS="-KPIC"
  125.         SHLIB_LFLAGS="-G"
  126.         SHLIB_OFLAGS="-W0,-y-o -W0,-y"
  127.         PRELOADS="LD_PRELOAD"
  128.         ;;    
  129.     IRIX*5.*|IRIX*6.*)
  130.         SHLIB_CFLAGS="-KPIC"
  131.         PRELOADS="_RLD_LIST"
  132.         PRELOADA=":DEFAULT"
  133.         ;;
  134.     BSD/OS*)
  135.         SHLIB_LIB=
  136.         ;;
  137.     OSF1*)
  138.         PRELOADS="_RLD_LIST"
  139.         PRELOADA=":DEFAULT"
  140.         SHLIB_LFLAGS='-shared -expect_unresolved "*"'
  141.         ;;
  142.     AIX*)
  143.         SHLIB_LIB=""
  144.         ;;
  145.     *)
  146.         PRELOADS="LD_PRELOAD"
  147.         ;;
  148.     esac
  149.  
  150.     if test "$GCC" = "yes" ; then
  151.         SHLIB_CFLAGS="-fpic"
  152.         case `uname -rs` in
  153.         SunOS*4.*)
  154.             DLLIBS="-lc"
  155.             ;;
  156.         SunOS*5.*)
  157.             SHLIB_LD="gcc"
  158.             SHLIB_OFLAGS="-o "
  159.             SHLIB_LFLAGS="-shared"
  160.             ;;
  161.         UNIX_SV*|UNIX_System_V*)
  162.             SHLIB_CFLAGS=
  163.             ;;
  164.         FreeBSD*|NetBSD*)
  165.             ;;
  166.         *)
  167.             SHLIB_LD="gcc"
  168.             SHLIB_LFLAGS="-shared"
  169.         esac
  170.     fi
  171.  
  172. dnl I don't think this works, -r should produce the svr3.2 
  173. dnl shared libs, not the svr4 ones that we want...
  174.  
  175.     if test `uname -s` = "FreeBSD"; then
  176.         SHLIB_CFLAGS="-fpic -r"
  177.     fi
  178.  
  179.     AC_MSG_RESULT("lflags: $SHLIB_LFLAGS cflags: $SHLIB_CFLAGS")
  180.     else
  181.     AC_MSG_RESULT(no)
  182. fi
  183. SHLIB_LIBS="$SHLIB_LIBS $LIBS"
  184. if test "`uname`" = "Linux"; then
  185.     SHLIB_LIBS="$SHLIB_LIBS -lc"
  186. fi
  187. AC_SUBST(DLLIBS)
  188. AC_SUBST(SHLIB_LD)
  189. AC_SUBST(SHLIB_DIR)
  190. AC_SUBST(SHLIB_LIB)
  191. AC_SUBST(SHLIB_CFLAGS)
  192. AC_SUBST(SHLIB_OFLAGS)
  193. AC_SUBST(SHARED_LIBSOCKS5_CFLAGS)
  194. AC_SUBST(PRELOADS)
  195. AC_SUBST(PRELOADA)
  196. ])dnl
  197.  
  198. AC_DEFUN(AC_CHECK_SHLIB, [
  199. ac_safe=`echo "$1" | tr './\055' '___'`
  200. AC_MSG_CHECKING(for shared $1)
  201. AC_CACHE_VAL(r_cv_name_$ac_safe, [
  202. case `uname -rs` in
  203.     IRIX*5.*)
  204. dnl         1 versioned number takes precedence over unversioned...
  205. dnl         2 /usr/lib, lib
  206.         if test -n "`ls /usr/lib/$ac_safe.so.* 2>/dev/null | sort -r | head -1`"; then
  207.             eval "r_cv_name_$ac_safe=`cd /usr/lib; ls $ac_safe.so.* | sort -r | head -1`"
  208.         elif test -n "`ls /lib/$ac_safe.so.* 2>/dev/null | sort -r | head -1`"; then
  209.             eval "r_cv_name_$ac_safe=`cd /lib; ls $ac_safe.so.* | sort -r | head -1`"
  210.         elif test -f /usr/lib/$ac_safe.so; then
  211.             eval "r_cv_name_$ac_safe=$ac_safe.so"
  212.         elif test -f /lib/$ac_safe.so; then
  213.             eval "r_cv_name_$ac_safe=$ac_safe.so"
  214.         fi
  215.         ;;
  216.     OSF1*)
  217. dnl        1 no versioning
  218. dnl           2 /usr/shlib, /usr/lib, /lib
  219.         if test -f /usr/shlib/$ac_safe.so; then
  220.             eval "r_cv_name_$ac_safe=$ac_safe.so"
  221.         elif test -f /usr/lib/$ac_safe.so; then
  222.             eval "r_cv_name_$ac_safe=$ac_safe.so"
  223.         elif test -f /lib/$ac_safe.so; then
  224.             eval "r_cv_name_$ac_safe=$ac_safe.so"
  225.         fi
  226.         ;;
  227.     Linux*)
  228. dnl        1 versioned (w/o maj/min), versioned, unversioned 
  229. dnl        2 /lib, /usr/lib
  230. dnl        no path
  231.         if test -n "`ls /lib/$ac_safe.so.? 2>/dev/null | sort -r | head -1`"; then
  232.             eval "r_cv_name_$ac_safe=`cd /lib; ls $ac_safe.so.? | sort -r | head -1`"
  233.         elif test -n "`ls /usr/lib/$ac_safe.so.? 2>/dev/null | sort -r | head -1`"; then
  234.             eval "r_cv_name_$ac_safe=`cd /usr/lib; ls $ac_safe.so.* | sort -r | head -1`"
  235.         elif test -n "`ls /lib/$ac_safe.so.* 2>/dev/null | sort -r | head -1`"; then
  236.             eval "r_cv_name_$ac_safe=`cd /lib; ls $ac_safe.so.* | sort -r | head -1`"
  237.         elif test -n "`ls /usr/lib/$ac_safe.so.* 2>/dev/null | sort -r | head -1`"; then
  238.             eval "r_cv_name_$ac_safe=`cd /usr/lib; ls $ac_safe.so.* | sort -r | head -1`"
  239.         elif test -f /lib/$ac_safe.so; then
  240.             eval "r_cv_name_$ac_safe=$ac_safe.so"
  241.         elif test -f /usr/lib/$ac_safe.so; then
  242.             eval "r_cv_name_$ac_safe=$ac_safe.so"
  243.         fi
  244.         ;;
  245.     SunOS*)
  246. dnl        1 unversioned takes precedence over versioned
  247. dnl        2 /usr/lib /lib
  248.         if test -f /usr/lib/$ac_safe.so; then
  249.             eval "r_cv_name_$ac_safe=$ac_safe.so"
  250.         elif test -n "`ls /usr/lib/$ac_safe.so.* 2>/dev/null | sort -r | head -1`"; then
  251.             eval "r_cv_name_$ac_safe=`cd /usr/lib; ls $ac_safe.so.* | sort -r | head -1`"
  252.         elif test -f /lib/$ac_safe.so; then
  253.             eval "r_cv_name_$ac_safe=$ac_safe.so"
  254.         elif test -n "`ls /lib/$ac_safe.so.* 2>/dev/null | sort -r | head -1`"; then
  255.             eval "r_cv_name_$ac_safe=`cd /lib; ls $ac_safe.so.* | sort -r | head -1`"
  256.         fi
  257.         ;;
  258.     dgux*)
  259. dnl        1 /usr/dglib 
  260. dnl        2 versioned, unversioned
  261.         if test -f /usr/dglib/$ac_safe.so; then
  262.             eval "r_cv_name_$ac_safe=$ac_safe.so"
  263.         elif test -n "`ls /usr/dglib/$ac_safe.so.* 2>/dev/null | sort -r | head -1`"; then
  264.             eval "r_cv_name_$ac_safe=`cd /usr/dglib; ls $ac_safe.so.* | sort -r | head -1`"
  265.         fi
  266.         ;;
  267.     FreeBSD*)
  268. dnl        1 unversioned number takes precedence over versioned...
  269. dnl        2 /lib, /usr/lib
  270.         if test -f /lib/$ac_safe.so; then
  271.             eval "r_cv_name_$ac_safe=/lib/$ac_safe.so"
  272.         elif test -n "`ls /lib/$ac_safe.so.* 2>/dev/null | sort -r | head -1`"; then
  273.             eval "r_cv_name_$ac_safe=`ls /lib/$ac_safe.so.* | sort -r | head -1`"
  274.         elif test -f /usr/lib/$ac_safe.so; then
  275.             eval "r_cv_name_$ac_safe=/usr/lib/$ac_safe.so"
  276.         elif test -n "`ls /usr/lib/$ac_safe.so.* 2>/dev/null | sort -r | head -1`"; then
  277.             eval "r_cv_name_$ac_safe=`ls /usr/lib/$ac_safe.so.* | sort -r | head -1`"
  278.         fi
  279.         ;;
  280.     *)
  281. dnl        1 unversioned number takes precedence over versioned...
  282. dnl        2 /lib, /usr/lib
  283.         if test -f /lib/$ac_safe.so; then
  284.             eval "r_cv_name_$ac_safe=$ac_safe.so"
  285.         elif test -n "`ls /lib/$ac_safe.so.* 2>/dev/null | sort -r | head -1`"; then
  286.             eval "r_cv_name_$ac_safe=`cd /lib; ls $ac_safe.so.* | sort -r | head -1`"
  287.         elif test -f /usr/lib/$ac_safe.so; then
  288.             eval "r_cv_name_$ac_safe=$ac_safe.so"
  289.         elif test -n "`ls /usr/lib/$ac_safe.so.* 2>/dev/null | sort -r | head -1`"; then
  290.             eval "r_cv_name_$ac_safe=`cd /usr/lib; ls $ac_safe.so.* | sort -r | head -1`"
  291.         fi
  292.         ;;
  293. esac
  294. ])dnl
  295. ac_result=`eval echo '$r_cv_name_'$ac_safe`
  296. if test "$ac_result" != ""; then
  297.     AC_MSG_RESULT($ac_result)
  298.     ifelse([$2], , :, [$2])dnl
  299. else 
  300.     AC_MSG_RESULT(no)
  301.     ifelse([$3], , , [$3])dnl
  302. fi
  303. ])dnl    
  304.  
  305. AC_DEFUN(AC_CHECK_SHLIBS, [
  306. for r_lib_name in $1
  307. do
  308. AC_CHECK_SHLIB($r_lib_name, [
  309. changequote(, )dnl
  310. r_fixed=`echo $r_lib_name | tr '[a-z]./\055' '[A-Z]___'`_NAME
  311. changequote([, ])dnl
  312. AC_DEFINE_UNQUOTED($r_fixed, "$ac_result") $2], $3)dnl
  313. done
  314. ])
  315.  
  316. AC_DEFUN(AC_IDENT, [
  317. AC_ARG_WITH(ident,           --with-ident        Turn on ident verification, [IDENT="$withval"], [IDENT="no"])
  318. if test "$IDENT" != "no"; then
  319.     if test "$IDENT" != "yes"; then
  320.     [CFLAGS="$CFLAGS -I$IDENT/include"]
  321.     [LDFLAGS="$LDFLAGS -L$IDENT/lib -lident"]
  322.     fi
  323.     S5_CHECK_HEADERS(ident.h, $IDENT)
  324.     AC_CHECK_LIB(ident, main, [AC_DEFINE(HAVE_LIBIDENT) SERVER_LIBS="$SERVER_LIBS -lident"])
  325. fi
  326. ])
  327.  
  328.  
  329. dnl Check if struct sockaddr_un has sun_len
  330. AC_DEFUN(AC_SOCKADDR_SUN_LEN,[
  331. AC_MSG_CHECKING(whether sockaddr_un has sun_len)
  332. AC_CACHE_VAL(sc_cv_sockaddr_sun_len,
  333. [AC_TRY_COMPILE([#include <sys/types.h>
  334. #include <sys/un.h>],
  335. [struct sockaddr_un s_un; s_un.sun_len=0;],
  336. sc_cv_sockaddr_sun_len=yes, sc_cv_sockaddr_sun_len=no)])
  337. if test "$sc_cv_sockaddr_sun_len" = "yes"; then AC_DEFINE(HAVE_SOCKADDR_SUN_LEN) fi
  338. AC_MSG_RESULT($sc_cv_sockaddr_sun_len)
  339. ])
  340.  
  341. dnl check headers by temporarily appending an include directory
  342. AC_DEFUN(S5_CHECK_HEADERS, [
  343. SAVED_CPPFLAGS="$CPPFLAGS"
  344. if test "$2" != ""; then
  345. CPPFLAGS="$CPPFLAGS -I$2/include"
  346. fi
  347. AC_CHECK_HEADERS($1)
  348. CPPFLAGS="$SAVED_CPPFLAGS"
  349. ])
  350.