moved sed command to its own script(for BSD with non-GNU make users) + improved confi...
authorbaalberith <baalberith>
Tue, 2 Dec 2008 14:49:13 +0000 (14:49 +0000)
committerbaalberith <baalberith>
Tue, 2 Dec 2008 14:49:13 +0000 (14:49 +0000)
Makefile.in
apxs.sh [new file with mode: 0755]
configure.in
src/mod_auth_kerb.c

index 9c40491..36f6046 100644 (file)
@@ -10,20 +10,13 @@ CPPFLAGS = -I. -Ispnegokrb5 $(KRB5_CPPFLAGS) $(KRB4_CPPFLAGS) $(DEFS)
 LDFLAGS = $(KRB5_LDFLAGS) $(KRB4_LDFLAGS) $(LIB_resolv)
 CFLAGS =
 
-# Use these assignements instead of the default ones if your're building on BSD
-# systems. A 'if' statemet would be better, of course.
-#APXS_CPPFLAGS != [ -n "${CPPFLAGS}" ] && echo ${CPPFLAGS} | sed -e 's/\([^ ]*\)/-Wc,\1/g'
-#APXS_LDFLAGS  != [ -n "${LDFLAGS}"  ] && echo ${LDFLAGS} | sed -e 's/\([^ ]*\)/-Wl,\1/g'
-APXS_CPPFLAGS = ${shell [ -n "${CPPFLAGS}" ] && echo ${CPPFLAGS} | sed -e 's/\([^ ]*\)/-Wc,\1/g'}
-APXS_LDFLAGS  = ${shell [ -n "${LDFLAGS}"  ] && echo ${LDFLAGS} | sed -e 's/\([^ ]*\)/-Wl,\1/g'}
-
 all: src/mod_auth_kerb.so
 
 src/mod_auth_kerb.so: src/mod_auth_kerb.c $(SPNEGO_SRCS)
-       $(APXS) -c $(APXS_CPPFLAGS) $(APXS_CFLAGS) $(APXS_LDFLAGS) src/mod_auth_kerb.c $(SPNEGO_SRCS)
+       ./apxs.sh "${CPPFLAGS}" "${LDFLAGS}" "${SPNEGO_SRCS}" "${APXS}" "-c" "src/mod_auth_kerb.c"
 
 install:
-       $(APXS) -c -i $(APXS_CPPFLAGS) $(APXS_CFLAGS) $(APXS_LDFLAGS) src/mod_auth_kerb.c $(SPNEGO_SRCS)
+       ./apxs.sh "${CPPFLAGS}" "${LDFLAGS}" "${SPNEGO_SRCS}" "${APXS}" "-c -i" "src/mod_auth_kerb.c"
 
 clean:
        for i in . src spnegokrb5; do \
diff --git a/apxs.sh b/apxs.sh
new file mode 100755 (executable)
index 0000000..cdb3e65
--- /dev/null
+++ b/apxs.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+cppflags=`[ -n "$1" ] && echo $1 | sed -e 's/\([^ ]*\)/-Wc,\1/g'`
+ldflags=`[ -n "$2"  ] && echo $2 | sed -e 's/\([^ ]*\)/-Wl,\1/g'`
+ret=eval "$4" $5 $cppflags $ldflags src/mod_auth_kerb.c $3
+exit $ret
index 341dcb4..2029216 100644 (file)
@@ -43,10 +43,6 @@ if test "x$with_krb5" = "xyes" ; then
   with_krb5=""
 fi
 
-if test "x$with_krb4" = "xyes" ; then
-  with_krb4=""
-fi
-
 if test "x$with_krb5" != "xno" ; then
   ac_save_CPPFLAGS="$CPPFLAGS"
   ac_save_LDFLAGS="$LDFLAGS"
@@ -69,7 +65,7 @@ if test "x$with_krb5" != "xno" ; then
      if test -n "$krb5_config_command"; then
         TMP_KRB5_CPPFLAGS=`$krb5_config_command --cflags gssapi 2>/dev/null`
      fi
-     if test -z "$TMP_KRB5_CPPFLAGS"; then
+     if test -z "$TMP_KRB5_CPPFLAGS" -a -n "with_krb5"; then
         TMP_KRB5_CPPFLAGS="-I$with_krb5/include"
      fi
      CPPFLAGS="$CPPFLAGS $TMP_KRB5_CPPFLAGS"
@@ -95,10 +91,14 @@ if test "x$with_krb5" != "xno" ; then
         LIBS="$ac_save_LIBS"
      fi
   fi
-
+  if test "x$with_krb5"="x"; then
+        tmp_lf_inc=""
+     else
+        tmp_lf_inc="-L"
+  fi
   if test -z "$KRB5_LDFLAGS"; then
      #try MIT
-     TMP_KRB5_LDFLAGS="-L$with_krb5/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err"
+     TMP_KRB5_LDFLAGS="$tmp_lf_inc$with_krb5/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err"
      LIBS="$LIBS $TMP_KRB5_LDFLAGS $LIB_resolv"
      AC_CHECK_LIB(krb5, krb5_init_context, [ KRB5_LDFLAGS="$TMP_KRB5_LDFLAGS" ])
      LIBS="$ac_save_LIBS"
@@ -106,7 +106,7 @@ if test "x$with_krb5" != "xno" ; then
 
   if test -z "$KRB5_LDFLAGS"; then
      #Try Heimdal
-     TMP_KRB5_LDFLAGS="-L$with_krb5/lib -lgssapi -lkrb5 -lasn1 -lcrypto -lroken -lcrypt"
+     TMP_KRB5_LDFLAGS="$tmp_lf_inc$with_krb5/lib -lgssapi -lkrb5 -lasn1 -lcrypto -lroken -lcrypt"
      LIBS="$LIBS $TMP_KRB5_LDFLAGS $LIB_resolv"
      AC_CHECK_LIB(krb5, krb5_init_context, [ KRB5_LDFLAGS="$TMP_KRB5_LDFLAGS" ])
      LIBS="$ac_save_LIBS"
@@ -114,7 +114,7 @@ if test "x$with_krb5" != "xno" ; then
 
   if test -z "$KRB5_LDFLAGS"; then
      #Try Heimdal on OpenBSD
-     TMP_KRB5_LDFLAGS="-L$with_krb5/lib -lgssapi -lkrb5 -lasn1 -ldes -lcrypto"
+     TMP_KRB5_LDFLAGS="$tmp_lf_inc$with_krb5/lib -lgssapi -lkrb5 -lasn1 -ldes -lcrypto"
      LIBS="$LIBS $TMP_KRB5_LDFLAGS $LIB_resolv"
      AC_CHECK_LIB(krb5, krb5_init_context, [ KRB5_LDFLAGS="$TMP_KRB5_LDFLAGS" ])
      LIBS="$ac_save_LIBS"
@@ -123,7 +123,6 @@ if test "x$with_krb5" != "xno" ; then
   if test -z "$KRB5_LDFLAGS"; then
      with_krb5=no
   else
-     with_krb5=yes
      AC_DEFINE(KRB5)
      AC_CHECK_LIB(krb5,
                   krb5_cc_new_unique,
@@ -150,8 +149,11 @@ if test "x$with_krb5" != "xno" ; then
      ac_save_CFLAGS="$CFLAGS"
      CFLAGS="$KRB5_CPPFLAGS"
      ac_save_LDFLAGS="$LDFLAGS"
-     LDFLAGS=$KRB5_LDFLAGS
-
+     if test -n "$with_krb5"; then
+        LDFLAGS="$KRB5_LDFLAGS -Wl,-rpath -Wl,$with_krb5/lib"
+     else 
+        LDFLAGS="$KRB5_LDFLAGS"
+     fi
      AC_TRY_RUN([
 #include <string.h>
 #include <krb5.h>
@@ -242,6 +244,10 @@ AC_ARG_WITH(krb4,
   AC_HELP_STRING([--with-krb4=dir], [use krb4 in dir]),
   [ with_krb4="$withval" ])
 
+if test "x$with_krb4" = "xyes" ; then
+  with_krb4=""
+fi
+
 if test "x$with_krb4" != "xno"; then
   AC_MSG_CHECKING([for Kerberos4 installation])
   if test "x$with_krb4" != "x"; then
index 0574c5d..70bd9f1 100644 (file)
@@ -154,7 +154,7 @@ typedef struct {
        char *krb_auth_realms;
        int krb_save_credentials;
        int krb_verify_kdc;
-       const char *krb_service_name;
+       char *krb_service_name;
        int krb_authoritative;
        int krb_delegate_basic;
 #if 0
@@ -933,7 +933,7 @@ authenticate_user_krb5pwd(request_rec *r,
                           const char *auth_line)
 {
    const char      *sent_pw = NULL; 
-   const char      *sent_name = NULL;
+   char      *sent_name = NULL;
    const char      *realms = NULL;
    const char      *realm = NULL;
    krb5_context    kcontext = NULL;