rbb 99/12/01 12:35:56
Modified: src/lib/apr configure.in src/lib/apr/include apr.h.in apr_file_io.h apr_general.h apr_lib.h apr_network_io.h apr_pools.h apr_portable.h Log: This finishes cleaning up the APR macro leak. APR public headers no longer include apr_config.h, but there is a new header they do include. No other program must include this header. The apr.h header is everything an APR'ized program needs to run properly. There are some public APR headers which are including system headers. These will go away in time, but this should allow Apache to compile cleanly again. Revision Changes Path 1.30 +27 -8 apache-2.0/src/lib/apr/configure.in Index: configure.in =================================================================== RCS file: /home/cvs/apache-2.0/src/lib/apr/configure.in,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- configure.in 1999/12/01 18:39:02 1.29 +++ configure.in 1999/12/01 20:35:16 1.30 @@ -177,10 +177,10 @@ AC_CHECK_HEADERS(crypt.h) AC_CHECK_HEADERS(ctype.h) AC_CHECK_HEADERS(dir.h) -AC_CHECK_HEADERS(dirent.h) -AC_CHECK_HEADERS(errno.h) +AC_CHECK_HEADERS(dirent.h, direnth="1", dirent="0") +AC_CHECK_HEADERS(errno.h, errnoh="1", errnoh="0") AC_CHECK_HEADERS(net/errno.h) -AC_CHECK_HEADERS(fcntl.h) +AC_CHECK_HEADERS(fcntl.h, fcntlh="1", fcntl="0") AC_CHECK_HEADERS(features.h) AC_CHECK_HEADERS(grp.h) AC_CHECK_HEADERS(io.h) @@ -194,9 +194,9 @@ AC_CHECK_HEADERS(pwd.h) AC_CHECK_HEADERS(setjmp.h) AC_CHECK_HEADERS(signal.h) -AC_CHECK_HEADERS(stdarg.h) +AC_CHECK_HEADERS(stdarg.h, stdargh="1", stdargh="0") AC_CHECK_HEADERS(stddef.h) -AC_CHECK_HEADERS(stdio.h) +AC_CHECK_HEADERS(stdio.h, stdioh="1", stdioh"0") AC_CHECK_HEADERS(stdlib.h) AC_CHECK_HEADERS(string.h) AC_CHECK_HEADERS(sysapi.h) @@ -207,14 +207,14 @@ AC_CHECK_HEADERS(sys/times.h) AC_CHECK_HEADERS(tpfeq.h) AC_CHECK_HEADERS(tpfio.h) -AC_CHECK_HEADERS(sys/uio.h) +AC_CHECK_HEADERS(sys/uio.h, sys_uioh="1", sys_uioh="0") AC_CHECK_HEADERS(unistd.h) AC_CHECK_HEADERS(poll.h) AC_CHECK_HEADERS(unix.h) AC_CHECK_HEADERS(winsock.h) AC_CHECK_HEADERS(arpa/inet.h) -AC_CHECK_HEADERS(netinet/in.h) +AC_CHECK_HEADERS(netinet/in.h, netinet_inh="1", netinet_inh="0") AC_CHECK_HEADERS(sys/file.h) AC_CHECK_HEADERS(sys/ioctl.h) @@ -225,7 +225,7 @@ AC_CHECK_HEADERS(sys/signal.h) AC_CHECK_HEADERS(sys/socket.h) AC_CHECK_HEADERS(sys/stat.h) -AC_CHECK_HEADERS(sys/types.h) +AC_CHECK_HEADERS(sys/types.h, sys_typesh="1", sys_typesh="0") AC_CHECK_HEADERS(sys/wait.h) AC_CHECK_HEADERS(kernel/OS.h) @@ -272,14 +272,20 @@ [ if test "$enableval" = "no"; then threads="#define APR_HAS_THREADS 0" + pthreadh="0" AC_SUBST(threads) + AC_SUBST(pthreadh) AC_MSG_RESULT(no) else if test "$enableval" = "pthread"; then AC_CHECK_HEADERS(pthread.h, [ threads="#define APR_HAS_THREADS 1" + pthreadh="1" + AC_SUBST(pthreadh) AC_SUBST(threads) ], [ threads="#define APR_HAS_THREADS 0" + pthreadh="0" + AC_SUBST(pthreadh) AC_SUBST(threads) ] ) AC_MSG_RESULT(yes) else @@ -290,8 +296,12 @@ [ AC_CHECK_HEADERS(pthread.h, [ threads="#define APR_HAS_THREADS 1" + pthreadh="1" + AC_SUBST(pthreadh) AC_SUBST(threads) ], [ threads="#define APR_HAS_THREADS 0" + pthreadh="0" + AC_SUBST(pthreadh) AC_SUBST(threads) ] ) ]) @@ -306,6 +316,15 @@ AC_SUBST(DEFAULT_OSDIR) AC_SUBST(LIBPREFIX) AC_SUBST(EXEEXT) +AC_SUBST(errnoh) +AC_SUBST(direnth) +AC_SUBST(fcntlh) +AC_SUBST(netinet_inh) +AC_SUBST(stdargh) +AC_SUBST(stdioh) +AC_SUBST(sys_typesh) +AC_SUBST(sys_uioh) + MAKEFILE1="Makefile lib/Makefile " SUBDIRS="lib " 1.3 +13 -2 apache-2.0/src/lib/apr/include/apr.h.in Index: apr.h.in =================================================================== RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr.h.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- apr.h.in 1999/12/01 18:39:11 1.2 +++ apr.h.in 1999/12/01 20:35:20 1.3 @@ -2,7 +2,19 @@ #ifndef APR_H #define APR_H +#define APR_HAVE_ERRNO_H @errnoh@ +#define APR_HAVE_DIRENT_H @direnth@ +#define APR_HAVE_FCNTL_H @fcntlh@ +#define APR_HAVE_NETINET_IN_H @netinet_inh@ +#define APR_HAVE_PTHREAD_H @pthreadh@ +#define APR_HAVE_STDARG_H @stdargh@ +#define APR_HAVE_STDIO_H @stdioh@ +#define APR_HAVE_SYS_TYPES_H @sys_typesh@ +#define APR_HAVE_SYS_UIO_H @sys_uioh@ + +#if APR_HAVE_SYS_TYPES_H #include <sys/types.h> +#endif /* APR Feature Macros */ @threads@ @@ -23,13 +35,12 @@ typedef @ssize_t_value@ ap_ssize_t; typedef @off_t_value@ ap_off_t; -typedef ap_int32_t ap_status_t; - /* Definitions that APR programs need to work properly. */ #define API_THREAD_FUNC #define API_EXPORT(type) type #define API_EXPORT_NONSTD(type) type #define API_VAR_IMPORT extern + #endif /* APR_H */ 1.20 +2 -0 apache-2.0/src/lib/apr/include/apr_file_io.h Index: apr_file_io.h =================================================================== RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_file_io.h,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- apr_file_io.h 1999/12/01 18:39:13 1.19 +++ apr_file_io.h 1999/12/01 20:35:22 1.20 @@ -58,7 +58,9 @@ #include "apr_general.h" #include "apr_errno.h" +#if APR_HAVE_SYS_UIO_H #include <sys/uio.h> +#endif #ifdef __cplusplus extern "C" { 1.12 +4 -0 apache-2.0/src/lib/apr/include/apr_general.h Index: apr_general.h =================================================================== RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_general.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- apr_general.h 1999/12/01 18:39:15 1.11 +++ apr_general.h 1999/12/01 20:35:24 1.12 @@ -59,8 +59,12 @@ #include <windows.h> #endif +#if APR_HAVE_STDIO_H #include <stdio.h> +#endif +#if APR_HAVE_SYS_TYPES_H #include <sys/types.h> +#endif #include "apr_errno.h" #ifndef APR_GENERAL_H 1.20 +4 -0 apache-2.0/src/lib/apr/include/apr_lib.h Index: apr_lib.h =================================================================== RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_lib.h,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- apr_lib.h 1999/12/01 18:39:16 1.19 +++ apr_lib.h 1999/12/01 20:35:34 1.20 @@ -67,8 +67,12 @@ #include "apr_general.h" #include "apr_file_io.h" +#if APR_HAVE_STDARG_H #include <stdarg.h> +#endif +#if APR_HAVE_SYS_TYPES_H #include <sys/types.h> +#endif #ifdef __cplusplus extern "C" { 1.17 +2 -0 apache-2.0/src/lib/apr/include/apr_network_io.h Index: apr_network_io.h =================================================================== RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_network_io.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- apr_network_io.h 1999/12/01 18:39:18 1.16 +++ apr_network_io.h 1999/12/01 20:35:37 1.17 @@ -62,7 +62,9 @@ #include "apr_general.h" #include "apr_errno.h" +#if APR_HAVE_NETINET_IN_H #include <netinet/in.h> +#endif #ifdef __cplusplus extern "C" { 1.7 +2 -0 apache-2.0/src/lib/apr/include/apr_pools.h Index: apr_pools.h =================================================================== RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_pools.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- apr_pools.h 1999/12/01 18:39:20 1.6 +++ apr_pools.h 1999/12/01 20:35:39 1.7 @@ -85,7 +85,9 @@ #include "apr_lib.h" +#if APR_HAVE_SYS_TYPES_H #include <sys/types.h> +#endif struct process_chain { pid_t pid; 1.16 +7 -1 apache-2.0/src/lib/apr/include/apr_portable.h Index: apr_portable.h =================================================================== RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_portable.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- apr_portable.h 1999/12/01 18:39:20 1.15 +++ apr_portable.h 1999/12/01 20:35:41 1.16 @@ -72,9 +72,15 @@ #include "apr_lock.h" #include "apr_time.h" +#if APR_HAVE_DIRENT_H #include <dirent.h> +#endif +#if APR_HAVE_FCNTL_H #include <fcntl.h> +#endif +#if APR_HAVE_PTHREAD_H #include <pthread.h> +#endif #ifdef WIN32 /* The primitives for Windows types */ @@ -162,7 +168,7 @@ typedef DIR ap_os_dir_t; typedef int ap_os_sock_t; typedef struct os_lock_t ap_os_lock_t; -#if APR_HAS_THREADS +#if APR_HAS_THREADS && APR_HAVE_PTHREAD_H typedef pthread_t ap_os_thread_t; typedef pthread_key_t ap_os_threadkey_t; #endif