How can i include the source file that i made in the Apache server comiplation process, while the module is still built as a DSO by using apxs

You would have to declare the structure in a header file, which you #include in both your module source code and in the Apache source file where you reference it. Then, when you configure httpd, you can tell it where your header file lives by passing an environment variable, like:

CFLAGS="-I/path/to/your/module/source" ./configure ...

I have checked the manual for configuration. It says:

CFLAGS
   Set C compiler flags you want to use for compilation.
CPPFLAGS
Set C/C++ preprocessor flags, e.g. -Iincludedir if you have headers in a nonstandard directory includedir.

So shall i use CPPFLAGS instead of CFLAGS? Actually i have tried both. Unfortunately, it seems in the apr_poll.h(where i include the header file), it still can not find the header file correctly. What is the problem....?

Here is part of the error information: /bin/bash /p/work/Dec2007/zzhang/httpd-2.2.4/srclib/apr/libtool --silent --mode=compile gcc -g -O2 -pthread -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/p/work/Dec2007/zzhang/httpd-2.2.4/modules/dtn -I./include -I/p/work/Dec2007/zzhang/httpd-2.2.4/srclib/apr/include/arch/unix -I./include/arch/unix -I/p/work/Dec2007/zzhang/httpd-2.2.4/srclib/apr/include -o poll/unix/epoll.lo -c poll/unix/epoll.c && touch poll/unix/epoll.lo
In file included from ./include/apr_poll.h:30,
from /p/work/Dec2007/zzhang/httpd-2.2.4/srclib/apr/include/arch/unix/apr_arch_poll_private.h:21,

                from poll/unix/epoll.c:17:
/p/work/Dec2007/zzhang/httpd-2.2.4/modules/dtn/http_dtn.h:20:19: error: httpd.h: No such file or directory /p/work/Dec2007/zzhang/httpd-2.2.4/modules/dtn/http_dtn.h:21:25: error: http_config.h: No such file or directory /p/work/Dec2007/zzhang/httpd-2.2.4/modules/dtn/http_dtn.h:22:23: error: http_core.h: No such file or directory /p/work/Dec2007/zzhang/httpd-2.2.4/modules/dtn/http_dtn.h:23:22: error: http_log.h: No such file or directory /p/work/Dec2007/zzhang/httpd-2.2.4/modules/dtn/http_dtn.h:24:23: error: http_main.h: No such file or directory /p/work/Dec2007/zzhang/httpd-2.2.4/modules/dtn/http_dtn.h:25:27: error: http_protocol.h: No such file or directory /p/work/Dec2007/zzhang/httpd-2.2.4/modules/dtn/http_dtn.h:26:26: error: http_request.h: No such file or directory /p/work/Dec2007/zzhang/httpd-2.2.4/modules/dtn/http_dtn.h:27:25: error: util_script.h: No such file or directory /p/work/Dec2007/zzhang/httpd-2.2.4/modules/dtn/http_dtn.h:28:29: error: http_connection.h: No such file or directory

It seems by using CPPFLAGS, the source directory /p/work/Dec2007/zzhang/httpd-2.2.4/modules/dtn is scuccessfully in cluded for compilation. Now the error is that in the header file written by me. I used e.g. #include "httpd.h" #include "http_config.h" to include the Apache header file. However, the files can not be found... Any idea aobut this?

thanks a lot

_________________________________________________________________
与联机的朋友进行交流,请使用 Live Messenger; http://get.live.com/messenger/overview

Reply via email to