Parent Directory
|
Revision Log
| Links to HEAD: | (view) (annotate) |
| Sticky Revision: |
uri_delims moved to aprutil EONS ago Backports 384622
Solaris build fixes; don't fail on missing .h files within a VPATH build, and don't test trees with -d (simply -f the expected files) in case a tree such as srclib/apr is actually a symlink rather than a true directory in ./buildconf. Reviewed by: wrowe, rpluem, colm Backports: 374821
Recreate 2.2.x branch from trunk.
Move the POSIX reg* implementations into the ap_* namespace; internalise the ap_reg*<->PCRE wrapper: * configure.in: Add srclib/pcre to the include path. * include/ap_regex.h: Renamed from include/pcreposix.h. Prefix all constants with AP_; prefix all functions and types with ap_. Define AP_DECLARE to nothing if necessary. Remove regcomp error codes. * include/httpd.h: Include ap_regex.h not pcreposix.h. (ap_pregcomp, ap_regexec, ap_regfree): s/regex_t/ap_regex_t/. (ap_regexec, ap_regerror): Prototypes moved to ap_regex.h. * server/util.c (regex_cleanup, ap_pregcomp, ap_pregsub, ap_pregfree): Adjust for ap_ prefixed types. (ap_regexec, ap_regerror): Removed. * server/Makefile.in: Build util_pcre.c. * server/util_pcre.c: Copied from srclib/pcre/pcreposix.c; remove use of PCRE-internals to do error mapping; rename types to add AP_/ap_ prefixes as above. Use APR includes. (ap_regerror): Use apr_snprintf. * srclib/pcre/Makefile.in: Don't build pcreposix.c into libpcre.la. * modules/*: Update to use new type and constant names. PR: 27750 (part one) Submitted by: Andres Salomon <dilinger voxel.net>, Joe Orton
Only recompile buildmark.c when we have to relink httpd. This allows us to be able to do a make on an up-to-date tree without forcing a recompile and relink. Yay!
Fix --with-apr=/usr and/or --with-apr-util=/usr. PR: 29740 Submitted by: Max Bowsher <maxb ukf.net> Reviewed by: Justin Erenkrantz
Initial pass at refactoring some files to eliminate our 150K C source behemoths. * Makefile.in: Change order of dependencies to bring in exports.o first so that we have every symbol 'used' before the linker starts processing. * build/rules.mk.in: Add a 'program-install' target which just copies httpd. * server/Makefile.in, modules/http/config2.m4: Add in new file targets. * NWGNUmakefile, libhttpd.dsp: Blind updates for Netware and Win32. (I tried.) * server/core.c: Move core_input_filter, net_time_filter, and core_output_filter and all supporting functions to... * server/core_filters.c (copied): ...here. * modules/http/http_protocol.c: Move functions from here to there...namely: * modules/http/byterange_filter.c (copied): Relocate ap_byterange_filter() and friends. * modules/http/chunk_filter.c (copied): Relocate chunk_filter(). * modules/http/http_etag.c (copied): Relocate ap_set_etag and ap_make_etag(). * modules/http/http_filters.c (copied): Relocate ap_http_filter(), ap_http_header_filter(), ap_discard_request_body(), ap_setup_client_block(), ap_should_client_block(), and ap_get_client_block().
general property cleanup
* server/Makefile.in: Revert duplicate eoc_bucket.c in LTLIBRARY_SOURCES.
Add missing source
Include the new eoc_bucket.c for compilation.
* server/Makefile.in: Remove buildmarked.c from clean.
Delete some make-generated files in the server directory during "make clean" processing. PR: 26552
* server/Makefile.in: Simpler fix to ensure that buildmark.lo is always regenerated: remove buildmark.lo in delete-exports.
Fix regeneration of build datestamp on every make invocation (a regression since 1.3). * Makefile.in: Remove redundant PHONY_TARGETS setting. * server/Makefile.in: Mark buildmark.c as phony; build it indirectly via buildmarked.c since implicit rules are ignored for phony targets.
* server/Makefile.in: Revert changes to use an absolute path to exports.c in some (but not all) places, and subsequent fallout.
Add .NOTPARALLEL target for exports.c. This allows a parallel make build to complete successfully.
Rework the delete-exports target once more. Leave a comment there explaining why we have to be complicated. (Why make's dependency code doesn't catch this, I don't know.)
Fix typo in echo statement.
Throw out export_files if exports.c is out-of-date as well. This should remove the requirement to run extraclean when we change a header file.
move rfc1413 code to a new module "metadata:mod_ident". The rfc1413 code itself is mostly c&p, but can still bear some rework ... This patch removes the global ap_rfc1413 function and the ap_rfc1413_timeout variable. It also introduces a new config directive IdentityCheckTimeout (default 30 sec). Reviewed by: Justin Erenkrantz
Ah, we don't even need the 'ls -1' - 'ls' suffices. Submitted by: Ben Laurie
Take a stab at fixing the brokenness in our tree (grr!). ls -1 is bound to be more portable than find -maxdepth, but I suspect it may not be as portable as it really should.
FreeBSD's make doesn't like the 'implied source' syntax ($<) -- using $? which works.
If this worked on Mac OS-X, then OS-X should be fixed ;-) Otherwise, it looks like Apache-2.x has not been compiled on any unixoid platform anywhere since 2002-Nov-29
Add export_files to EXTRACLEAN_TARGETS
If apr and apr-util are not in-tree, we need to be able to find the include directory for each in order to generate the server/exports.c and server/export_vars.h files. configure.in: - Provide APR_INCLUDEDIR, APU_INCLUDEDIR. server/Makefile.in: - Use $APR_INCLUDEDIR $APU_INCLUDEDIR vars. - Add export_files target to generate a list of headers with symbols to export, use that list to generate exports.c and export_vars.h.
Fix recent exports.c breakage by referencing exports.c as being in top_builddir rather than top_srcdir. For VPATH builds, we must treat exports.c as being in the build tree rather than in the source tree. Otherwise, it won't be regenerated properly. (FreeBSD's make does not require the explicit path, so I'm not sure why this change was made at all.)
the recent change to fully-qualify exports.c to fix the build with some BSD make broke the build for AIX make... fully-qualifying exports.c in LTLIBARY_SOURCES makes it build again
Full path required for BSD make (haven't I done this before???).
Add ap_register_provider and ap_lookup_provider functions which resolve
the DSO link problems for DAV and the new aaa modules by moving the
provider code into the core of the server and generalizing them to be
used by any code.
Remove the auth{nz}_*_provider functions as they are no longer needed.
Change the dav_*_provider functions to wrap the ap_*_provider functions
as they have a bit more of a historical precedent that we should keep
around.
Reviewed by: John K. Sterling <john@sterls.com> (in concept)
get proxy-as-DSO to load on AIX by fixing up some of our symbol grokking make_exports.awk didn't handle AP_CORE_DECLARE and it didn't look in modules/http/*.h
Get shared builds of libapr and libaprutil, as well as Apache DSOs,
working on AIX.
Submitted by: a cast of many, reverse engineering libtool to
figure out how to work around its oddities/limitations/
bugs on AIX
(Jeff Trawick coded these changes but it took a lot of
help)
These files were already defined in EXPORT_FILES, so reuse them.
Removed outdated apache.exports references Submitted by: Aaron Bannert <aaron@clove.org>
The call to apr_explode_localtime() in mod_log_config is one of the more expensive operations in the httpd. This patch attempts to reduce the overhead by caching the result for 15 seconds. Submitted by: Brian Pane <bpane@pacbell.net> Reviewed by: Cliff Woolley, Ryan Bloom, Dean Gaudet, Justin Erenkrantz
rules.mk is stored in $(top_blddir). Without this change, VPATH builds stop working.
fix check for newer header files to look in all relevant directories
Tweak server/Makefile so that the rules for generating exports.c are compatible with make utilities which don't expand wildcards in a dependency list (e.g., OS/390 make, certain levels of GNU make).
OS/2: get canonical filename functions exported from the core.
Improve the exports generating awk script. In the past, we had work around problems in the awk script by avoiding some #if and #ifdefs. This has bitten us many times in generating the exports.c file. This improvement allows corrects the header file parsing. Submitted by: Sander Striker <striker@apache.org>
Allow all parts of Apache 2.0 to build when --srcdir is used. This required exposing a build directory and a source directory to all parts of Apache's build system. It also required a small hack in APR-util, if we are using the bundled Expat, and we are using VPATH support, then we have hard-coded the xml/expat location. I couldn't figure out how to allow the configure script to determine the correct location. I added a comment, but if somebody else figures it out, we should fix that at some point. PR: 7630
hide the generation of the httpd.exp header from the build messages
OS/2: Automate export of global variables from core.
Clean up formatting.
Document the fact that this is now an autogenerated file.
Make this little hack slightly more palatable.
Still needs to be built, though.
No, libtool shouldn't build this. :p
xlC isn't as accepting as gcc; make things tolerable for it.
Add the missing AP[RU]_DECLARE_DATA symbols to httpd.exp. httpd.exp should now be generated automatically. Any missing symbols are now the fault of awk scripts. Or rather, their authors. :)
Clean up this relative path too.
DISTCLEAN, not EXTRACLEAN.
Make sure httpd.exp gets cleaned up only with a distclean, and not every time.
(A few) Small changes to pass full paths instead of relatives. One relative left; not sure whether to change it too or not.
Generate httpd.exp on the fly.
This should allow DSOs to work on AIX, without the headache of maintaining
the httpd.exp file.
This is adapted from OS/2's generation of ApacheCoreOS2.def.
There exist a few bugs still:
1) mod_dav and mod_proxy may not yet work, due to certain namespace issues.
2) Some symbols may need to be added, a la core_header.def
Once these have been fixed, the old httpd.exp file will be deleted.
get rid of util_date.c/util_date.h and associated test program test_date.c
Leave the uri-related clean stuff here for a few weeks.
Moved util_uri to apr-util/uri/apr_uri, which means adding the apr_ prefix to all of the uri functions (yuck), changing some includes, and using APR error codes instead of HTTP-specific error codes. Other notes to test this patch: - You need to delete the util_uri.h file - exports picks up on this. - I'd like to remove the apr_uri.h from httpd.h, but that might increase the complexity of this patch even further. Once this patch is accepted (in some form), then I can focus on removing apr_uri.h from httpd.h entirely. I need baby steps (heh) right now. - I imagine that this might break a bunch of stuff in Win32 or other OS builds with foreign dependency files. Any help here is appreciated. This is a start... -- justin Submitted by: Justin Erenkrantz Reviewed by: Roy Fielding
Change the make targets and rules to be consistent in all of the Apache-owned source trees. Sanity is a good thing.
Completely revamp configure so that it preserves the standard make variables CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS and LIBS by moving the configure additions to EXTRA_* variables. Also, allow the user to specify NOTEST_* values for all of the above, which eliminates the need for THREAD_CPPFLAGS, THREAD_CFLAGS, and OPTIM. Fix the setting of INCLUDES and EXTRA_INCLUDES. Check flags as they are added to avoid pointless duplications. Fix the order in which flags are given on the compile and link lines.
Make clean, distclean, and extraclean consistently according to the Gnu makefile guidelines. Submitted by: Justin Erenkrantz <jerenkrantz@ebuilt.com> Reviewed by: Roy Fielding
A few symbols from os.h need to be exported.
Switch to using aplibtool for building under OS/2 & add support for building loadable modules as OS/2 DLLs. PR: Obtained from: Submitted by: Reviewed by:
Another chunk of code from http to core. This should continue to build on all platforms. The next job is to shuffle functions back and forth so that the server builds without mod_http.
Move more code from the http module into the core server. This is core code, basically the default handler, the default input and output filters, and all of the core configuration directives. All of this code is required in order for the server to work, with or without HTTP. The server is closer to working without the HTTP module, although there is still more to do. I tried to fix Windows, but somebody should probably make sure I did it correctly.
Begin to move functions from the http module to the core. The goal is to have only functions that are HTTP specific in the http directory.
Move the error_bucket definition from the HTTP module to the core server. Every protocol will need this definition, so it belongs in the core.
Intermediate change of hardcoded "helpers" reference to "build" until I get a chance to revamp this to use APR's variables directly.
Make exports.lo rebuild when it should.
Bring mod_status for 2.0 back in line with mod_status for 1.3. This is basically a straight port of the 1.3 module to 2.0. The MPMs need to be modified a bit to work with mod_status, but prefork, mpmt_pthread, and dexter have already been changed. I will fix perchild tonight. There is a lot of common code that can be abstracted, and there seems to be a small bug with regard to what mpmt_pthread and dexter report as current connections. ExtendedStatus does work again, although until the bug mentioned above is fixed, it isn't as useful on mpmt_pthread and dexter. Next week, I will look at allowing other modules to add data to the STATUS page and possibly to the scoreboard itself.
- add some missing distclean targets - use DISTCLEAN_TARGETS and CLEAN_TARGETS everywhere (to be consistent with other macros and with APR) - warn that aclocal.m4 is a generated file
RM was not defined. Just use rm instead.
exports.c was dependent upon delete-exports, but that dependency will always fail since there is no delete-exports file (thus, exports.c would always get regenerated, recompiled, and relinked). Instead, we move the delete-exports target "up" to the "all" target. However, ltlib.mk doesn't allow us to add things to the "all" target, so we also revise the set of .mk files to use. also use TARGET_EXPORTS consistently.
Correct a mistake in the delete-exports target
Force all Apache functions to be linked into the executable, whether they are used or not. This uses the same mechanism that is used for APR and APR-util. This may not be the correct solution, but it works, and that is what I really care about. This also renames CHARSET_EBCDIC to AP_CHARSET_EBCDIC. This is for namespace correctness, but it also makes the exports script a bit easier.
*) fix up buildexports.sh:
- enable it to be run from any dir by passing a parameter for the
location of srclib, and using its own location for determining where
the AWK script is located
- accept exports files on STDIN, and produce output on STDOUT
- use "pwd" and cd back to it, rather than assuming ../../.. (which might
not apply if we feed it other export files)
- add USAGE reporting
*) generate exports.c during normal build of "server" rather than during the
buildconf stage. update invocation to match above changes
*) revamp the ap_ugly_hack referencing in main.c: put it at the bottom of
the file with the other, similar references, and style it similarly.
*) remove the ap_ugly_hack declaration from http_main.h; it is internal to
the "server" code
Apache builds again, although the test directory doesn't. I will work on the test directory soon. The server does NOT currently run, but it does build cleanly.
Get base Apache to build properly. This doesn't solve the problem of not having apr-util, but we should be getting to the link stage now.
Remove buff.c and buff.h. There are still a few files that rely on these, but those files are already broken. This just makes that breakage more obvious.
This is an ugly little hack to allow DSO modules to work. This basically forces Apache to link in all of the APR functions whether they are used by any static modules or not.
Back out some more of build changes from last night so that Apache builds on FreeBSD 3.4 again.
Back out the build changes I added last night. This was causing libtool commands to be sent to gcc. It worked on some platforms, but not all of them.
Multiple build and configuration fixes Build process: -add datadir and localstatedir substitutions -fix layout name -fix logfilename misspelling -fix evaluation of installation dir variables and -replace $foobar by $(foobar) to be usefull in the makefile Cross compile: -add rules for cross-compiling in rules.mk. Okay, rule to check for $CC_FOR_BUILD is still missing -use CHECK_TOOL instead of CHECK_PROG for ranlib -add missing "AR=@AR@" to severaly Makefile.in's -cache result for "struct rlimit" -compile all helper programs with native and cross compiler and use the native version to generate header file PR: 6384 Submitted by: "R�diger" Kuhlmann <Tadu@gmx.de> Reviewed by: Ryan Bloom
Remove IOLs from Apache. They are no longer necessary, now that we have filtering beginning to work. There is a hack that has been repeated through this patch, we morph a pipe into a socket, and put the socket into the BUFF. Everytime we do that, we are working with a pipe from a CGI, and we should be creating a pipe bucket and passing that bucket back. Because we don't actually have pipe buckets yet, we are using this hack. When we get pipe buckets, this will be fixed.
Add the ability to register filters. This commit introduces a warning into the build. This warning will be removed automatically, as soon as we decide on a prototype for the function causing the warning. That decision is tied to which filtering mechanism we decide on. Submitted by: Ryan Bloom and Greg Stein
build the XML utility stuff now (req'd by the DAV code)
Combine some common code. Before this, all platforms implemented their own iol_sockets using APR. This just combines all of that code to a common file and moves that file to main. I have tested this with all of the Unix MPM's, but I am willing to bet I missed something (Makefiles) for Windows, and possibly moving some code for OS/2 and BeOS.
Add the EXTRA_LIBS to get apache building on BONE again and now that we're using ap_sleep remove the need for sys/socket.h in mpm_common.c
More consification, correct command initialisation.
Fix dependencies for util_uri.lo and util.lo.
fix dependencies. (what is a .lo anyway? i tried making the .o depend on the .h which is how dependencies usually work, but the other rules didn't work out right unless i used a .lo ... i suppose this only matters to folks building with -j N)
APACHE_XLATE, CHARSET_EBCDIC stuff: Provide new function ap_set_content_xlate() to simplify what needs to be done to set up translation of content. Use it where appropriate. With this change, EBCDIC logic was tweaked so that ap_checkconv() does not overlay a translation handle previously stored (e.g., by a module) unless it is turning translation off. Unless ap_checkconv() determines that translation is inappropriate, it should leave the translation handle alone.
First function removed from Unix MPM's and moved to a common file. This work is not anywhere near finished, but the cleanup has begun at least. Had to make a couple of variables non-static, so a name change was required since they are now viewable from outside the library. The advantage to this is code that is much easier to maintain into the future, because it is duplicated less often.
generic EBCDIC support code, changes to rfc1413.c to use APR translation in its EBCDIC support
Add VPATH support to Apache: os/$(OS_DIR) is now equivalent to the old $(OS_DIR) Necessary include paths are added only in VPATH mode. Dependencies are stored in the build directory now. They contain paths which depend on the current build, and therefore they are not general. Fixed two dependencies in main/Makefile.in.
Overall UNIX build system improvements: * Makefile header is now completely dynamic * Absolute paths everywhere (fixes Tru64 support) * Get rid of LTLIBRARY_SHARED_NAME rule in library.mk (fixes Irix support, untested) * VPATH does not contain variables anymore (fixes UnixWare support) * Remove inclusion of program.mk in support/Makefile.in (PROGRAM_NAME is empty => breaks Irix and others) * Call REENTRANCY_FLAGS earlier, so that flags are passed to header checks (might fix OpenBSD pthread.h-detection, untested)
OS/2: EXTRA_LDFLAGS is required when linking the table generation programs.
First step to getting configuration modules working. This step creates a tree, but does not use the tree for anything.
Minor nit: use top_srcdir instead of topsrcdir, to be more consistent with autoconf.
even more distclean goodness (there's still more... time for zzz though)
These changes are committed together, because they depend on each other.
- shared modules can be built in the tree
- added support for --with-layout, uses APACI's config.layout
- working 'make install'
- working 'make depend'
- working Pthreads checks
- buildconf replaced
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
| apache@apache.org | ViewVC Help |
| Powered by ViewVC 1.1.2 |