You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by st...@locus.apache.org on 2000/12/06 05:42:36 UTC
cvs commit: apr-util/src/buckets ap_buckets_eos.c ap_buckets_file.c ap_buckets_flush.c ap_buckets_heap.c ap_buckets_mmap.c ap_buckets_pipe.c ap_buckets_pool.c ap_buckets_simple.c ap_buckets_socket.c
stoddard 00/12/05 20:42:36
Modified: . ApacheCore.dsp Makefile.win
include ap_buckets.h
src/buckets ap_buckets_eos.c ap_buckets_file.c
ap_buckets_flush.c ap_buckets_heap.c
ap_buckets_mmap.c ap_buckets_pipe.c
ap_buckets_pool.c ap_buckets_simple.c
ap_buckets_socket.c
Log:
And this gets Apache for Windows compiling from the command line and
serving files again. The APR_DECLARE_DATA declaration allows the
ap_*_type structures to be exported which is reqired for the correct
operation of the AP_BUCKET_IS_* macros.
An alternate way to fix this problem is to explicitly break the bucket
type out of the "type" structure in ap_bucketi and represent each bucket
type with an enum.
Revision Changes Path
1.50 +21 -22 httpd-2.0/ApacheCore.dsp
Index: ApacheCore.dsp
===================================================================
RCS file: /home/cvs/httpd-2.0/ApacheCore.dsp,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
--- ApacheCore.dsp 2000/12/05 20:08:26 1.49
+++ ApacheCore.dsp 2000/12/06 04:42:33 1.50
@@ -26,6 +26,7 @@
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
+RSC=rc.exe
!IF "$(CFG)" == "ApacheCore - Win32 Release"
@@ -39,11 +40,10 @@
# PROP Output_Dir "LibR"
# PROP Intermediate_Dir "LibR"
# PROP Target_Dir ""
-RSC=rc.exe
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I ".\include" /I ".\srclib\apr\include" /I ".\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "AP_DECLARE_EXPORT" /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I ".\include" /I ".\srclib\apr\include" /I ".\srclib\apr-util\include" /I ".\srclib\sdbm" /I ".\os\win32" /I ".\server\mpm\winnt" /I ".\srclib\expat-lite" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "AP_DECLARE_EXPORT" /FD /c
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
@@ -64,11 +64,10 @@
# PROP Intermediate_Dir "LibD"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
-RSC=rc.exe
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409
# ADD BASE CPP /nologo /MDd /W3 /GX /ZI /Od /I ".\include" /I ".\srclib\apr\include" /I ".\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "AP_DECLARE_EXPORT" /FD /c
# ADD CPP /nologo /MDd /W3 /GX /ZI /Od /I ".\include" /I ".\srclib\apr\include" /I ".\srclib\apr-util\include" /I ".\srclib\sdbm" /I ".\os\win32" /I ".\server\mpm\winnt" /I ".\srclib\expat-lite" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "AP_DECLARE_EXPORT" /FD /c
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
@@ -206,56 +205,56 @@
# End Source File
# Begin Source File
-SOURCE=.\server\http_core.c
+SOURCE=.\include\http_log.h
# End Source File
# Begin Source File
-SOURCE=.\include\http_core.h
+SOURCE=.\include\http_main.h
# End Source File
# Begin Source File
-SOURCE=.\include\http_log.h
+SOURCE=.\include\http_vhost.h
# End Source File
# Begin Source File
-SOURCE=.\include\http_main.h
+SOURCE=.\include\httpd.h
# End Source File
# Begin Source File
-SOURCE=.\server\http_protocol.c
+SOURCE=.\server\log.c
# End Source File
# Begin Source File
-SOURCE=.\include\http_protocol.h
+SOURCE=.\server\vhost.c
# End Source File
+# End Group
+# Begin Group "modules"
+
+# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\server\http_request.c
+SOURCE=.\modules\http\http_core.c
# End Source File
# Begin Source File
-SOURCE=.\include\http_request.h
+SOURCE=.\include\http_core.h
# End Source File
# Begin Source File
-SOURCE=.\include\http_vhost.h
+SOURCE=.\modules\http\http_protocol.c
# End Source File
# Begin Source File
-SOURCE=.\include\httpd.h
+SOURCE=.\include\http_protocol.h
# End Source File
# Begin Source File
-SOURCE=.\server\log.c
+SOURCE=.\modules\http\http_request.c
# End Source File
# Begin Source File
-SOURCE=.\server\vhost.c
+SOURCE=.\include\http_request.h
# End Source File
-# End Group
-# Begin Group "modules"
-
-# PROP Default_Filter ""
# Begin Source File
SOURCE=.\modules\aaa\mod_access.c
1.31 +2 -2 httpd-2.0/Makefile.win
Index: Makefile.win
===================================================================
RCS file: /home/cvs/httpd-2.0/Makefile.win,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- Makefile.win 2000/12/05 20:59:32 1.30
+++ Makefile.win 2000/12/06 04:42:33 1.31
@@ -70,8 +70,8 @@
cd ..\..
cd srclib\apr-util
# aprlibdll creates the dynamic aprlib.dll from the static library project aprlib.dsp
- $(MAKE) $(MAKEOPT) -f aprlib.mak CFG="aprlib - Win32 $(LONG)" RECURSE=0 $(CTARGET)
- $(MAKE) $(MAKEOPT) -f aprlibdll.mak CFG="aprlibdll - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f aprutildll.mak CFG="aprutildll - Win32 $(LONG)" RECURSE=0 $(CTARGET)
cd ..\..
cd srclib\expat-lite
$(MAKE) $(MAKEOPT) -f expatlib.mak CFG="expatlib - Win32 $(LONG)" RECURSE=0 $(CTARGET)
1.55 +10 -10 apr-util/include/ap_buckets.h
Index: ap_buckets.h
===================================================================
RCS file: /home/cvs/apr-util/include/ap_buckets.h,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -r1.54 -r1.55
--- ap_buckets.h 2000/12/05 19:11:09 1.54
+++ ap_buckets.h 2000/12/06 04:42:34 1.55
@@ -712,52 +712,52 @@
* The flush bucket type. This signifies that all data should be flushed to
* the next filter. The flush bucket should be sent with the other buckets.
*/
-extern const ap_bucket_type ap_flush_type;
+APR_DECLARE_DATA extern const ap_bucket_type ap_flush_type;
/**
* The EOS bucket type. This signifies that there will be no more data, ever.
* All filters MUST send all data to the next filter when they receive a
* bucket of this type
*/
-extern const ap_bucket_type ap_eos_type;
+APR_DECLARE_DATA extern const ap_bucket_type ap_eos_type;
/**
* The FILE bucket type. This bucket represents a file on disk
*/
-extern const ap_bucket_type ap_file_type;
+APR_DECLARE_DATA extern const ap_bucket_type ap_file_type;
/**
* The HEAP bucket type. This bucket represents a data allocated out of the
* heap.
*/
-extern const ap_bucket_type ap_heap_type;
+APR_DECLARE_DATA extern const ap_bucket_type ap_heap_type;
/**
* The MMAP bucket type. This bucket represents an MMAP'ed file
*/
-extern const ap_bucket_type ap_mmap_type;
+APR_DECLARE_DATA extern const ap_bucket_type ap_mmap_type;
/**
* The POOL bucket type. This bucket represents a data that was allocated
* out of a pool. IF this bucket is still available when the pool is cleared,
* the data is copied on to the heap.
*/
-extern const ap_bucket_type ap_pool_type;
+APR_DECLARE_DATA extern const ap_bucket_type ap_pool_type;
/**
* The PIPE bucket type. This bucket represents a pipe to another program.
*/
-extern const ap_bucket_type ap_pipe_type;
+APR_DECLARE_DATA extern const ap_bucket_type ap_pipe_type;
/**
* The IMMORTAL bucket type. This bucket represents a segment of data that
* the creator is willing to take responsability for. The core will do
* nothing with the data in an immortal bucket
*/
-extern const ap_bucket_type ap_immortal_type;
+APR_DECLARE_DATA extern const ap_bucket_type ap_immortal_type;
/**
* The TRANSIENT bucket type. This bucket represents a data allocated off
* the stack. When the setaside function is called, this data is copied on
* to the heap
*/
-extern const ap_bucket_type ap_transient_type;
+APR_DECLARE_DATA extern const ap_bucket_type ap_transient_type;
/**
* The SOCKET bucket type. This bucket represents a socket to another machine
*/
-extern const ap_bucket_type ap_socket_type;
+APR_DECLARE_DATA extern const ap_bucket_type ap_socket_type;
/* ***** Shared reference-counted buckets ***** */
1.15 +1 -1 apr-util/src/buckets/ap_buckets_eos.c
Index: ap_buckets_eos.c
===================================================================
RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_eos.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- ap_buckets_eos.c 2000/12/05 01:02:48 1.14
+++ ap_buckets_eos.c 2000/12/06 04:42:34 1.15
@@ -78,7 +78,7 @@
ap_bucket_do_create(ap_bucket_make_eos(b));
}
-const ap_bucket_type ap_eos_type = {
+APR_DECLARE_DATA const ap_bucket_type ap_eos_type = {
"EOS", 4,
ap_bucket_destroy_notimpl,
eos_read,
1.12 +1 -1 apr-util/src/buckets/ap_buckets_file.c
Index: ap_buckets_file.c
===================================================================
RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_file.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- ap_buckets_file.c 2000/12/05 01:02:48 1.11
+++ ap_buckets_file.c 2000/12/06 04:42:34 1.12
@@ -185,7 +185,7 @@
ap_bucket_do_create(ap_bucket_make_file(b, fd, offset, len));
}
-const ap_bucket_type ap_file_type = {
+APR_DECLARE_DATA const ap_bucket_type ap_file_type = {
"FILE", 4,
ap_bucket_destroy_notimpl,
file_read,
1.7 +1 -1 apr-util/src/buckets/ap_buckets_flush.c
Index: ap_buckets_flush.c
===================================================================
RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_flush.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ap_buckets_flush.c 2000/12/05 01:02:48 1.6
+++ ap_buckets_flush.c 2000/12/06 04:42:35 1.7
@@ -78,7 +78,7 @@
ap_bucket_do_create(ap_bucket_make_flush(b));
}
-const ap_bucket_type ap_flush_type = {
+APR_DECLARE_DATA const ap_bucket_type ap_flush_type = {
"FLUSH", 4,
ap_bucket_destroy_notimpl,
flush_read,
1.18 +1 -1 apr-util/src/buckets/ap_buckets_heap.c
Index: ap_buckets_heap.c
===================================================================
RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_heap.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- ap_buckets_heap.c 2000/12/05 01:02:49 1.17
+++ ap_buckets_heap.c 2000/12/06 04:42:35 1.18
@@ -140,7 +140,7 @@
ap_bucket_do_create(ap_bucket_make_heap(b, buf, length, copy, w));
}
-const ap_bucket_type ap_heap_type = {
+APR_DECLARE_DATA const ap_bucket_type ap_heap_type = {
"HEAP", 4,
heap_destroy,
heap_read,
1.22 +1 -1 apr-util/src/buckets/ap_buckets_mmap.c
Index: ap_buckets_mmap.c
===================================================================
RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_mmap.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- ap_buckets_mmap.c 2000/12/05 01:02:49 1.21
+++ ap_buckets_mmap.c 2000/12/06 04:42:35 1.22
@@ -115,7 +115,7 @@
ap_bucket_do_create(ap_bucket_make_mmap(b, mm, start, length));
}
-const ap_bucket_type ap_mmap_type = {
+APR_DECLARE_DATA const ap_bucket_type ap_mmap_type = {
"MMAP", 4,
mmap_destroy,
mmap_read,
1.22 +1 -1 apr-util/src/buckets/ap_buckets_pipe.c
Index: ap_buckets_pipe.c
===================================================================
RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_pipe.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- ap_buckets_pipe.c 2000/12/05 01:02:50 1.21
+++ ap_buckets_pipe.c 2000/12/06 04:42:35 1.22
@@ -139,7 +139,7 @@
ap_bucket_do_create(ap_bucket_make_pipe(b, p));
}
-const ap_bucket_type ap_pipe_type = {
+APR_DECLARE_DATA const ap_bucket_type ap_pipe_type = {
"PIPE", 4,
ap_bucket_destroy_notimpl,
pipe_read,
1.6 +1 -1 apr-util/src/buckets/ap_buckets_pool.c
Index: ap_buckets_pool.c
===================================================================
RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_pool.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ap_buckets_pool.c 2000/12/05 01:02:50 1.5
+++ ap_buckets_pool.c 2000/12/06 04:42:35 1.6
@@ -132,7 +132,7 @@
ap_bucket_do_create(ap_bucket_make_pool(b, buf, length, p));
}
-const ap_bucket_type ap_pool_type = {
+APR_DECLARE_DATA const ap_bucket_type ap_pool_type = {
"POOL", 4,
pool_destroy,
pool_read,
1.15 +1 -1 apr-util/src/buckets/ap_buckets_simple.c
Index: ap_buckets_simple.c
===================================================================
RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_simple.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- ap_buckets_simple.c 2000/12/05 01:02:50 1.14
+++ ap_buckets_simple.c 2000/12/06 04:42:35 1.15
@@ -179,7 +179,7 @@
simple_split
};
-const ap_bucket_type ap_transient_type = {
+APR_DECLARE_DATA const ap_bucket_type ap_transient_type = {
"TRANSIENT", 4,
ap_bucket_destroy_notimpl,
simple_read,
1.11 +1 -1 apr-util/src/buckets/ap_buckets_socket.c
Index: ap_buckets_socket.c
===================================================================
RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_socket.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- ap_buckets_socket.c 2000/12/05 01:02:51 1.10
+++ ap_buckets_socket.c 2000/12/06 04:42:35 1.11
@@ -134,7 +134,7 @@
ap_bucket_do_create(ap_bucket_make_socket(b, p));
}
-const ap_bucket_type ap_socket_type = {
+APR_DECLARE_DATA const ap_bucket_type ap_socket_type = {
"SOCKET", 4,
ap_bucket_destroy_notimpl,
socket_read,
Re: cvs commit: apr-util/src/buckets ap_buckets_eos.c ap_buckets_file.c ap_buckets_flush.c ap_buckets_heap.c ap_buckets_mmap.c ap_buckets_pipe.c ap_buckets_pool.c ap_buckets_simple.c ap_buckets_socket.c
Posted by Bill Stoddard <bi...@wstoddard.com>.
> On 6 Dec 2000 stoddard@locus.apache.org wrote:
>
> > An alternate way to fix this problem is to explicitly break the bucket
> > type out of the "type" structure in ap_bucketi and represent each bucket
> > type with an enum.
>
> We have been over this. This was part of the original design for the
> buckets. Using the types allows the buckets to be much more extensible,
> plus it shrinks the bucket structure, and it puts all of the bucket
> declarations in the same place in memory.
>
> Ryan
>
Yes, I agree. I only mentioned it as an aid to understanding the problem.
Bill
Re: cvs commit: apr-util/src/buckets ap_buckets_eos.c ap_buckets_file.c
ap_buckets_flush.c ap_buckets_heap.c ap_buckets_mmap.c ap_buckets_pipe.c
ap_buckets_pool.c ap_buckets_simple.c ap_buckets_socket.c
Posted by rb...@covalent.net.
On 6 Dec 2000 stoddard@locus.apache.org wrote:
> An alternate way to fix this problem is to explicitly break the bucket
> type out of the "type" structure in ap_bucketi and represent each bucket
> type with an enum.
We have been over this. This was part of the original design for the
buckets. Using the types allows the buckets to be much more extensible,
plus it shrinks the bucket structure, and it puts all of the bucket
declarations in the same place in memory.
Ryan
_______________________________________________________________________________
Ryan Bloom rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------
Re: cvs commit: apr-util/src/buckets ap_buckets_eos.c ap_buckets_file.c
ap_buckets_flush.c ap_buckets_heap.c ap_buckets_mmap.c ap_buckets_pipe.c
ap_buckets_pool.c ap_buckets_simple.c ap_buckets_socket.c
Posted by rb...@covalent.net.
On 6 Dec 2000 stoddard@locus.apache.org wrote:
> An alternate way to fix this problem is to explicitly break the bucket
> type out of the "type" structure in ap_bucketi and represent each bucket
> type with an enum.
We have been over this. This was part of the original design for the
buckets. Using the types allows the buckets to be much more extensible,
plus it shrinks the bucket structure, and it puts all of the bucket
declarations in the same place in memory.
Ryan
_______________________________________________________________________________
Ryan Bloom rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------