httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Sutton <...@hyperreal.org>
Subject cvs commit: apachen/src/os/unix os-inline.c Makefile.tmpl os.c os.h
Date Fri, 12 Sep 1997 07:28:53 GMT
pcs         97/09/12 00:28:52

  Modified:    src/os/unix Makefile.tmpl os.c os.h
  Added:       src/os/unix os-inline.c
  Log:
  Add capability to OS abstract on Unix systems, with either functions,
  inlines or macros. All code in os.c, os.h and os-inline.c is available
  to all Apache source files. Only GCC is known to support inline at this
  stage.
  
  Revision  Changes    Path
  1.5       +4 -4      apachen/src/os/unix/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/os/unix/Makefile.tmpl,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Makefile.tmpl	1997/09/10 20:05:39	1.4
  +++ Makefile.tmpl	1997/09/12 07:28:49	1.5
  @@ -4,11 +4,13 @@
   LFLAGS=$(LFLAGS1) $(EXTRA_LFLAGS)
   INCDIR=../../main
   
  -OBJS=	os.o
  +OBJS=	os.o os-inline.o
   
   LIB=	libos.a
   
  -all: $(LIB) 
  +all:	$(LIB)
  +	cp os.h ../../main
  +	cp os-inline.c ../../main
   
   $(LIB): $(OBJS)
   	rm -f $@
  @@ -20,8 +22,6 @@
   
   clean:
   	rm -f $(OBJS)
  -
  -$(OBJS): Makefile
   
   # DO NOT REMOVE
   os.o:	os.c
  
  
  
  1.3       +6 -1      apachen/src/os/unix/os.c
  
  Index: os.c
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/os/unix/os.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- os.c	1997/09/03 16:11:33	1.2
  +++ os.c	1997/09/12 07:28:50	1.3
  @@ -1 +1,6 @@
  -char AP_OPERATING_SYSTEM[] = "UNIX";
  +/*
  + * This file will include OS specific functions which are not inlineable.
  + * Any inlineable functions should be defined in os-inline.c instead.
  + */
  +
  +#include "os.h"
  
  
  
  1.2       +20 -0     apachen/src/os/unix/os.h
  
  Index: os.h
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/os/unix/os.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- os.h	1997/08/10 13:33:19	1.1
  +++ os.h	1997/09/12 07:28:50	1.2
  @@ -0,0 +1,20 @@
  +/*
  + * This file in included in all Apache source code. It contains definitions
  + * of facilities available on _this_ operating system (HAVE_* macros),
  + * and prototypes of OS specific functions defined in os.c or os-inline.c
  + */
  +
  +#if defined(__GNUC__) && !defined(INLINE)
  +/* Compiler supports inline, so include the inlineable functions as
  + * part of the header
  + */
  +#define INLINE extern inline
  +#include "os-inline.c"
  +#endif
  +
  +#ifndef INLINE
  +/* Compiler does not support inline, so prototype the inlineable functions
  + * as normal
  + */
  +extern int os_is_path_absolute(char *f);
  +#endif
  
  
  
  1.1                  apachen/src/os/unix/os-inline.c
  
  Index: os-inline.c
  ===================================================================
  /*
   * This file contains functions which can be inlined if the compiler
   * has an "inline" modifier. Because of this, this file is both a
   * header file and a compilable module.
   *
   * Only inlineable functions should be defined in here. They must all
   * include the INLINE modifier. 
   *
   * If the compiler supports inline, this file will be #included as a
   * header file from os.h to create all the inline function
   * definitions. INLINE will be defined to whatever is required on
   * function definitions to make them inline declarations.
   *
   * If the compiler does not support inline, this file will be compiled
   * as a normal C file into libos.a (along with os.c). In this case
   * INLINE will _not_ be set so we can use this to test if we are
   * compiling this source file.  
   */
  
  #ifndef INLINE
  #define INLINE
  
  /* Anything required only when compiling */
  
  #endif
  
  INLINE int os_is_path_absolute(char *file)
  {
    return (file && file[0] == '/' ? 1 : 0);
  }
  
  
  

Mime
View raw message