TechniqueAdd your file to its own folder in php4/ext/ and create files config.m4 and Makefile.in that look something like this (these are for the curl module earlier): FILE: config.m4 dnl config.m4 for extension CURL PHP_ARG_WITH(curl, for CURL support, [ --with-curl[=DIR] Include CURL support]) if test "$PHP_CURL" != "no"; then if test -r $PHP_CURL/include/curl/easy.h; then CURL_DIR=$PHP_CURL else AC_MSG_CHECKING(for CURL in default path) for i in /usr/local /usr; do if test -r $i/include/curl/easy.h; then CURL_DIR=$i AC_MSG_RESULT(found in $i) fi done fi if test -z "$CURL_DIR"; then AC_MSG_RESULT(not found) AC_MSG_ERROR(Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/) fi AC_ADD_INCLUDE($CURL_DIR/include) PHP_SUBST(CURL_SHARED_LIBADD) AC_ADD_LIBRARY_WITH_PATH(curl, $CURL_DIR/lib, CURL_SHARED_LIBADD) AC_DEFINE(HAVE_CURL,1,[ ]) PHP_EXTENSION(curl, $ext_shared) fi FILE: Makefile.in LTLIBRARY_NAME = libcurl.la LTLIBRARY_SOURCES = curl.c LTLIBRARY_SHARED_NAME = curl.la LTLIBRARY_SHARED_LIBADD = $(CURL_SHARED_LIBADD) include $(top_srcdir)/build/dynlib.mk CommentsI can't really cover the syntax of shell-scripting languages and makefiles in this small recipe, but I can explain the basic idea of the preceding code. The basic idea of the config.m4 file is to verify that the necessary files are installed and add the directories for these files to the $PATH . So, when you enter #include <curl/curl.h> #include <curl/easy.h> the compiler will look in the nonstandard directory for curl/curl.h and curl/easy.h as well as the standard directories. Makefile.in is a basic makefile. It tells PHP what the final result will be and where the sources of the module will be located (in this case, curl.c). |