rse         98/05/02 04:15:15

  Modified:    .        STATUS
               src      CHANGES Configure README.DSO
               src/include conf.h
               src/main http_main.c
               src/modules/proxy proxy_cache.c
               src/modules/standard mod_setenvif.c mod_so.c
               src/os/unix os-aix-dso.c
               src/support logresolve.c
  Log:
  The various fixes for the AIX 3.2, 4.1.5, 4.2 and 4.3 versions.
  
  Submitted by: Jens-Uwe Mager & Ralf S. Engelschall
  Reviewed by: Ralf S. Engelschall
  
  Revision  Changes    Path
  1.347     +1 -0      apache-1.3/STATUS
  
  Index: STATUS
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.346
  retrieving revision 1.347
  diff -u -r1.346 -r1.347
  --- STATUS    1998/05/01 18:42:41     1.346
  +++ STATUS    1998/05/02 11:15:06     1.347
  @@ -78,6 +78,7 @@
       * Ralf's DSO support for AIX
       * Ralf's DSO support for NetBSD, PR#2158
       * Some optimization defines for NetBSD, PR#2165
  +    * Ralf's various porting changes to support AIX 3.2, 4.1.5, 4.2 and 4.3.
   
   Available Patches:
   
  
  
  
  1.806     +7 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.805
  retrieving revision 1.806
  diff -u -r1.805 -r1.806
  --- CHANGES   1998/05/01 10:00:41     1.805
  +++ CHANGES   1998/05/02 11:15:07     1.806
  @@ -1,5 +1,12 @@
   Changes with Apache 1.3b7
   
  +  *) PORT: Various porting changes to support AIX 3.2, 4.1.5, 4.2 and 4.3.
  +     Additionally the checks for finding the vendor DSO library were moved
  +     from mod_so.c to Configure because first it needs $PLAT etc. and second
  +     mod_so already uses an abstraction layer and does not fiddle with the
  +     vendor functions itself.
  +     [Jens-Uwe Mager, Ralf S. Engelschall]
  +
     *) PORT: Some optimization defines for NetBSD
        [Jaromir Dolecek <[EMAIL PROTECTED]>] PR#2165
   
  
  
  
  1.252     +59 -8     apache-1.3/src/Configure
  
  Index: Configure
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/Configure,v
  retrieving revision 1.251
  retrieving revision 1.252
  diff -u -r1.251 -r1.252
  --- Configure 1998/05/01 10:00:42     1.251
  +++ Configure 1998/05/02 11:15:08     1.252
  @@ -304,19 +304,37 @@
        DEF_WANTHSREGEX=no
        ;;
       i386-ibm-aix*)
  -     OS='IBM AIX PS/2'
  +     OS='IBM AIX PS/2'
        CFLAGS="$CFLAGS -DAIX=1 -U__STR__ -DUSEBCOPY"
        DEF_WANTHSREGEX=no
        ;;
  -    *-ibm-aix[1-3].*|*-ibm-aix4.[0-1])
  -        OS='IBM AIX < v4.2'
  -        CFLAGS="$CFLAGS -DAIX=1 -DNEED_RLIM_T -U__STR__"
  -        ;;
  +    *-ibm-aix[1-2].*)
  +     OS='IBM AIX 1.x/2.x'
  +     CFLAGS="$CFLAGS -DAIX=1 -DNEED_RLIM_T -U__STR__"
  +     ;;
  +    *-ibm-aix3.*)
  +     OS='IBM AIX 3.x'
  +     CFLAGS="$CFLAGS -DAIX=30 -DNEED_RLIM_T -U__STR__"
  +     ;;
  +    *-ibm-aix4.1)
  +     OS='IBM AIX 4.1'
  +     CFLAGS="$CFLAGS -DAIX=41 -DNEED_RLIM_T -U__STR__"
  +     ;;
  +    *-ibm-aix4.2)
  +     OS='IBM AIX 4.2'
  +     CFLAGS="$CFLAGS -DAIX=42 -U__STR__"
  +     LDFLAGS="$LDFLAGS -lm"
  +     ;;
  +    *-ibm-aix4.3)
  +     OS='IBM AIX 4.3'
  +     CFLAGS="$CFLAGS -DAIX=43 -U__STR__"
  +     LDFLAGS="$LDFLAGS -lm"
  +     ;;
       *-ibm-aix*)
  -        OS='IBM AIX >= 4.2'
  -        CFLAGS="$CFLAGS -DAIX=42 -U__STR__"
  +     OS='IBM AIX'
  +     CFLAGS="$CFLAGS -DAIX=1 -U__STR__"
        LDFLAGS="$LDFLAGS -lm"
  -        ;;
  +     ;;
       *-apollo-*)
        OS='Apollo Domain'
        CFLAGS="$CFLAGS -DAPOLLO"
  @@ -1015,6 +1033,32 @@
   fi
   
   ####################################################################
  +## Some OS-related stuff for the DSO mechanism:
  +## Finding the vendor DSO functions
  +##
  +if [ "x$using_shlib" = "x1" ] ; then
  +    DL_LIB=""
  +    case $PLAT in
  +        *-ibm-aix* )
  +            DL_LIB="-lld"
  +            ;;
  +        * )
  +            if ./helpers/TestCompile func dlopen; then
  +                :
  +            else
  +                if ./helpers/TestCompile lib dl; then
  +                    DL_LIB="-ldl"
  +                fi
  +            fi
  +            ;;
  +    esac
  +    if [ ".$DL_LIB" != . ]; then
  +        LIBS="$LIBS $DL_LIB"
  +        echo " + using $DL_LIB for vendor DSO support"
  +    fi
  +fi
  +
  +####################################################################
   ## Now we do some OS specific adjustments... for some OSs, we need
   ## to adjust CFLAGS and/or OPTIM depending on which compiler we
   ## are going to use. This is easy, since this can be gleamed from
  @@ -1062,6 +1106,13 @@
            */cc|cc )
                CFLAGS="$CFLAGS -n32"
                LDFLAGS="$LDFLAGS -n32"
  +         ;;
  +     esac
  +     ;;
  +    'AIX 4.[123]')
  +     case $CC in
  +         */cc|cc ) 
  +             CFLAGS="$CFLAGS -qnogenpcomp -qnousepcomp"
            ;;
        esac
        ;;
  
  
  
  1.8       +1 -1      apache-1.3/src/README.DSO
  
  Index: README.DSO
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/README.DSO,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- README.DSO        1998/04/30 11:32:04     1.7
  +++ README.DSO        1998/05/02 11:15:08     1.8
  @@ -151,7 +151,7 @@
      o  IRIX               (6.2)
      o  HP/UX              (10.20)
      o  UnixWare           (2.01, 2.1.2)
  -   o  AIX                (4.2)
  +   o  AIX                (3.2, 4.1.5, 4.2, 4.3)
      o  ReliantUNIX/SINIX  (5.43)
      o  SVR4               (-)
   
  
  
  
  1.206     +2 -0      apache-1.3/src/include/conf.h
  
  Index: conf.h
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/include/conf.h,v
  retrieving revision 1.205
  retrieving revision 1.206
  diff -u -r1.205 -r1.206
  --- conf.h    1998/05/01 10:08:40     1.205
  +++ conf.h    1998/05/02 11:15:10     1.206
  @@ -814,9 +814,11 @@
   #if !defined(__GNUC__) || __GNUC__ < 2 || __GNUC_MINOR__ < 7 || defined(NEXT)
   #define ap_inline
   #define __attribute__(__x)
  +#define ENUM_BITFIELD(e,n,w)  signed int n : w
   #else
   #define ap_inline __inline__
   #define USE_GNU_INLINE
  +#define ENUM_BITFIELD(e,n,w)  e n : w
   #endif
   
   /* Do we have sys/resource.h; assume that BSD does. */
  
  
  
  1.328     +1 -1      apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.327
  retrieving revision 1.328
  diff -u -r1.327 -r1.328
  --- http_main.c       1998/04/28 05:59:53     1.327
  +++ http_main.c       1998/05/02 11:15:11     1.328
  @@ -3529,7 +3529,7 @@
       }
   
       if (!pid) {
  -#ifdef AIX
  +#if defined(AIX) && (AIX >= 41)
   /* by default AIX binds to a single processor
    * this bit unbinds children which will then bind to another cpu
    */
  
  
  
  1.38      +2 -0      apache-1.3/src/modules/proxy/proxy_cache.c
  
  Index: proxy_cache.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/modules/proxy/proxy_cache.c,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- proxy_cache.c     1998/04/15 17:09:29     1.37
  +++ proxy_cache.c     1998/05/02 11:15:12     1.38
  @@ -71,7 +71,9 @@
   
   DEF_Explain
   
  +#ifndef abs
   #define      abs(c)  ((c) >= 0 ? (c) : -(c))
  +#endif
   
   struct gc_ent {
       unsigned long int len;
  
  
  
  1.22      +3 -1      apache-1.3/src/modules/standard/mod_setenvif.c
  
  Index: mod_setenvif.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_setenvif.c,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- mod_setenvif.c    1998/04/11 12:00:51     1.21
  +++ mod_setenvif.c    1998/05/02 11:15:13     1.22
  @@ -132,7 +132,9 @@
       char *regex;                /* regex to match against */
       regex_t *preg;              /* compiled regex */
       table *features;            /* env vars to set (or unset) */
  -    enum special special_type : 4;   /* is it a "special" header ? */
  +    ENUM_BITFIELD(              /* is it a "special" header ? */
  +     enum special,
  +     special_type,4);
       unsigned icase : 1;              /* ignoring case? */
   } sei_entry;
   
  
  
  
  1.24      +0 -29     apache-1.3/src/modules/standard/mod_so.c
  
  Index: mod_so.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_so.c,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- mod_so.c  1998/04/28 08:42:10     1.23
  +++ mod_so.c  1998/05/02 11:15:13     1.24
  @@ -125,35 +125,6 @@
    */
   
   
  -/*
  - * Module definition information used by Configure
  - *
  - * MODULE-DEFINITION-START
  - * Name: so_module
  - * ConfigStart
  -    if ./helpers/TestCompile func dlopen; then
  -     :
  -    else
  -        DL_LIB=""
  -        case $PLAT in
  -             *-ibm-aix* )
  -                 DL_LIB="-lld"
  -                 ;;
  -             * )
  -                 if ./helpers/TestCompile lib dl; then
  -                  DL_LIB="-ldl"
  -                 fi
  -                 ;;
  -        esac 
  -        if [ ".$DL_LIB" != . ]; then
  -         LIBS="$LIBS $DL_LIB"
  -         echo " + using $DL_LIB for DSO support"
  -        fi
  -    fi
  - * ConfigEnd
  - * MODULE-DEFINITION-END
  - */
  -
   #include "httpd.h"
   #include "http_config.h"
   #include "http_log.h"
  
  
  
  1.2       +14 -0     apache-1.3/src/os/unix/os-aix-dso.c
  
  Index: os-aix-dso.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/os/unix/os-aix-dso.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- os-aix-dso.c      1998/04/28 08:42:11     1.1
  +++ os-aix-dso.c      1998/05/02 11:15:14     1.2
  @@ -92,6 +92,20 @@
   #include <ldfcn.h>
   
   /*
  + * AIX 4.3 does remove some useful definitions from ldfcn.h. Define
  + * these here to compensate for that lossage.
  + */
  +#ifndef BEGINNING
  +#define BEGINNING SEEK_SET
  +#endif
  +#ifndef FSEEK
  +#define FSEEK(ldptr,o,p)   fseek(IOPTR(ldptr),(p==BEGINNING)?(OFFSET(ldptr) 
+o):o,p)
  +#endif
  +#ifndef FREAD
  +#define FREAD(p,s,n,ldptr) fread(p,s,n,IOPTR(ldptr))
  +#endif
  +
  +/*
    * Mode flags for the dlopen routine.
    */
   #undef  RTLD_LAZY
  
  
  
  1.13      +3 -1      apache-1.3/src/support/logresolve.c
  
  Index: logresolve.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/support/logresolve.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- logresolve.c      1998/04/21 20:14:06     1.12
  +++ logresolve.c      1998/05/02 11:15:15     1.13
  @@ -117,7 +117,9 @@
       struct nsrec **current, *new;
       struct hostent *hostdata;
       char *name;
  -    extern int h_errno;              /* some machines don't have this in 
their headers */
  +#ifndef h_errno
  +    extern int h_errno; /* some machines don't have this in their headers */
  +#endif
   
       current = &nscache[((ipnum.s_addr + (ipnum.s_addr >> 8) +
                         (ipnum.s_addr >> 16) + (ipnum.s_addr >> 24)) % 
BUCKETS)];
  
  
  

Reply via email to