-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/plaincgi.cc | 5 |
3 files changed, 9 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 5ae7b27..b3141f1 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -1,67 +1,70 @@ | |||
1 | AC_INIT([kingate], [0.0.1], [kingate-bugs@klever.net]) | 1 | AC_INIT([kingate], [0.0.1], [kingate-bugs@klever.net]) |
2 | AC_CONFIG_SRCDIR([include/kingate/cgi_gateway.h]) | 2 | AC_CONFIG_SRCDIR([include/kingate/cgi_gateway.h]) |
3 | AC_CONFIG_HEADER([config.h]) | 3 | AC_CONFIG_HEADER([config.h]) |
4 | AM_INIT_AUTOMAKE([dist-bzip2]) | 4 | AM_INIT_AUTOMAKE([dist-bzip2]) |
5 | 5 | ||
6 | AC_PROG_INSTALL | 6 | AC_PROG_INSTALL |
7 | AC_PROG_AWK | 7 | AC_PROG_AWK |
8 | AC_PROG_CXX | 8 | AC_PROG_CXX |
9 | AC_PROG_CC | 9 | AC_PROG_CC |
10 | AC_PROG_LIBTOOL | 10 | AC_PROG_LIBTOOL |
11 | 11 | ||
12 | AC_HEADER_STDC | 12 | AC_HEADER_STDC |
13 | AC_CHECK_HEADERS([sys/types.h sys/stat.h]) | 13 | AC_CHECK_HEADERS([sys/types.h sys/stat.h]) |
14 | AC_CHECK_DECLS([environ],,,[ | ||
15 | #include <unistd.h> | ||
16 | ]) | ||
14 | 17 | ||
15 | HAVE_FCGI=false | 18 | HAVE_FCGI=false |
16 | AC_LANG_PUSH(C++) | 19 | AC_LANG_PUSH(C++) |
17 | AC_CHECK_HEADERS([fcgio.h],[ | 20 | AC_CHECK_HEADERS([fcgio.h],[ |
18 | AC_CHECK_LIB(fcgi,FCGX_Init,[ | 21 | AC_CHECK_LIB(fcgi,FCGX_Init,[ |
19 | LIBS="-lfcgi ${LIBS}" | 22 | LIBS="-lfcgi ${LIBS}" |
20 | AC_CHECK_LIB([fcgi++],[main],[ | 23 | AC_CHECK_LIB([fcgi++],[main],[ |
21 | LIBS="-lfcgi++ ${LIBS}" | 24 | LIBS="-lfcgi++ ${LIBS}" |
22 | HAVE_FCGI=true | 25 | HAVE_FCGI=true |
23 | ]) | 26 | ]) |
24 | ]) | 27 | ]) |
25 | ]) | 28 | ]) |
26 | AC_LANG_POP(C++) | 29 | AC_LANG_POP(C++) |
27 | if ! ${HAVE_FCGI} ; then | 30 | if ! ${HAVE_FCGI} ; then |
28 | AC_MSG_NOTICE([no FastCGI development kit found. It is highly recommnded that you get one. Meanwhile we will proceed without FastCGI support]) | 31 | AC_MSG_NOTICE([no FastCGI development kit found. It is highly recommnded that you get one. Meanwhile we will proceed without FastCGI support]) |
29 | fi | 32 | fi |
30 | AM_CONDITIONAL([HAVE_FCGI],[${HAVE_FCGI}]) | 33 | AM_CONDITIONAL([HAVE_FCGI],[${HAVE_FCGI}]) |
31 | 34 | ||
32 | AC_C_CONST | 35 | AC_C_CONST |
33 | 36 | ||
34 | AC_FUNC_MALLOC | 37 | AC_FUNC_MALLOC |
35 | AC_FUNC_REALLOC | 38 | AC_FUNC_REALLOC |
36 | 39 | ||
37 | AC_PATH_PROG([XSLTPROC],[xsltproc],[true]) | 40 | AC_PATH_PROG([XSLTPROC],[xsltproc],[true]) |
38 | 41 | ||
39 | AC_WITH_PKGCONFIG | 42 | AC_WITH_PKGCONFIG |
40 | 43 | ||
41 | PKG_CHECK_MODULES([KONFORKA],[konforka],,[ | 44 | PKG_CHECK_MODULES([KONFORKA],[konforka],,[ |
42 | AC_MSG_ERROR([no konforka library found. get one from http://kin.klever.net/konforka/]) | 45 | AC_MSG_ERROR([no konforka library found. get one from http://kin.klever.net/konforka/]) |
43 | ]) | 46 | ]) |
44 | 47 | ||
45 | WANT_DOXYGEN="yes" | 48 | WANT_DOXYGEN="yes" |
46 | AC_ARG_ENABLE([doxygen], | 49 | AC_ARG_ENABLE([doxygen], |
47 | AC_HELP_STRING([--disable-doxygen],[do not generate documentation]), | 50 | AC_HELP_STRING([--disable-doxygen],[do not generate documentation]), |
48 | [ | 51 | [ |
49 | test "${enableval}" = "no" && WANT_DOXYGEN="no" | 52 | test "${enableval}" = "no" && WANT_DOXYGEN="no" |
50 | ] | 53 | ] |
51 | ) | 54 | ) |
52 | if test "${WANT_DOXYGEN}" = "yes" ; then | 55 | if test "${WANT_DOXYGEN}" = "yes" ; then |
53 | AC_WITH_DOXYGEN | 56 | AC_WITH_DOXYGEN |
54 | AC_WITH_DOT | 57 | AC_WITH_DOT |
55 | else | 58 | else |
56 | AM_CONDITIONAL([HAVE_DOXYGEN],[false]) | 59 | AM_CONDITIONAL([HAVE_DOXYGEN],[false]) |
57 | AM_CONDITIONAL([HAVE_DOT],[false]) | 60 | AM_CONDITIONAL([HAVE_DOT],[false]) |
58 | fi | 61 | fi |
59 | 62 | ||
60 | AC_CONFIG_FILES([ | 63 | AC_CONFIG_FILES([ |
61 | Makefile | 64 | Makefile |
62 | kingate.pc kingate-fcgi.pc kingate-plaincgi.pc | 65 | kingate.pc kingate-fcgi.pc kingate-plaincgi.pc |
63 | Doxyfile | 66 | Doxyfile |
64 | include/Makefile | 67 | include/Makefile |
65 | src/Makefile | 68 | src/Makefile |
66 | ]) | 69 | ]) |
67 | AC_OUTPUT | 70 | AC_OUTPUT |
diff --git a/src/Makefile.am b/src/Makefile.am index e5c6778..d516d37 100644 --- a/src/Makefile.am +++ b/src/Makefile.am | |||
@@ -1,25 +1,25 @@ | |||
1 | lib_LTLIBRARIES = libkingate.la libkingate-plaincgi.la | 1 | lib_LTLIBRARIES = libkingate.la libkingate-plaincgi.la |
2 | 2 | ||
3 | if HAVE_FCGI | 3 | if HAVE_FCGI |
4 | lib_LTLIBRARIES += libkingate-fcgi.la | 4 | lib_LTLIBRARIES += libkingate-fcgi.la |
5 | endif | 5 | endif |
6 | 6 | ||
7 | INCLUDES = -I${top_srcdir}/include | 7 | INCLUDES = -I${top_srcdir}/include -I${top_srcdir} |
8 | AM_CXXFLAGS = ${KONFORKA_CFLAGS} | 8 | AM_CXXFLAGS = ${KONFORKA_CFLAGS} |
9 | LDADD = ${KONFORKA_LIBS} | 9 | LDADD = ${KONFORKA_LIBS} |
10 | 10 | ||
11 | libkingate_la_SOURCES = \ | 11 | libkingate_la_SOURCES = \ |
12 | cgi_gateway.cc \ | 12 | cgi_gateway.cc \ |
13 | cgi_interface.cc \ | 13 | cgi_interface.cc \ |
14 | util.cc | 14 | util.cc |
15 | libkingate_la_LDFLAGS = -version-info 1:0:0 | 15 | libkingate_la_LDFLAGS = -version-info 1:0:0 |
16 | 16 | ||
17 | libkingate_fcgi_la_SOURCES = \ | 17 | libkingate_fcgi_la_SOURCES = \ |
18 | fastcgi.cc | 18 | fastcgi.cc |
19 | libkingate_fcgi_la_LDFLAGS = -version-info 1:0:0 | 19 | libkingate_fcgi_la_LDFLAGS = -version-info 1:0:0 |
20 | 20 | ||
21 | libkingate_plaincgi_la_SOURCES = \ | 21 | libkingate_plaincgi_la_SOURCES = \ |
22 | plaincgi.cc | 22 | plaincgi.cc |
23 | libkingate_plaincgi_la_LDFLAGS = -version-info 1:0:0 | 23 | libkingate_plaincgi_la_LDFLAGS = -version-info 1:0:0 |
24 | 24 | ||
25 | EXTRA_DIST = ${libkingate_fcgi_la_SOURCES} | 25 | EXTRA_DIST = ${libkingate_fcgi_la_SOURCES} |
diff --git a/src/plaincgi.cc b/src/plaincgi.cc index 6934748..1cb7dc6 100644 --- a/src/plaincgi.cc +++ b/src/plaincgi.cc | |||
@@ -1,27 +1,32 @@ | |||
1 | #include <unistd.h> | 1 | #include <unistd.h> |
2 | #include <sys/types.h> | 2 | #include <sys/types.h> |
3 | #include <sys/stat.h> | 3 | #include <sys/stat.h> |
4 | #include "kingate/plaincgi.h" | 4 | #include "kingate/plaincgi.h" |
5 | #include "kingate/exception.h" | 5 | #include "kingate/exception.h" |
6 | #include "config.h" | ||
7 | |||
8 | #if !HAVE_DECL_ENVIRON | ||
9 | extern char **environ; | ||
10 | #endif /* HAVE_DECL_ENVIRON */ | ||
6 | 11 | ||
7 | namespace kingate { | 12 | namespace kingate { |
8 | 13 | ||
9 | plaincgi_interface::plaincgi_interface() { | 14 | plaincgi_interface::plaincgi_interface() { |
10 | for(char **p = environ; *p; p++) { | 15 | for(char **p = environ; *p; p++) { |
11 | const char *e = strchr(*p,'='); | 16 | const char *e = strchr(*p,'='); |
12 | if(!e){ | 17 | if(!e){ |
13 | // XXX: check if we have it already? | 18 | // XXX: check if we have it already? |
14 | metavars[*p] = string(0); | 19 | metavars[*p] = string(0); |
15 | }else{ | 20 | }else{ |
16 | int l = e-*p; e++; | 21 | int l = e-*p; e++; |
17 | // XXX: check if we have it already? | 22 | // XXX: check if we have it already? |
18 | metavars[string(*p,l)]=e; | 23 | metavars[string(*p,l)]=e; |
19 | } | 24 | } |
20 | } | 25 | } |
21 | } | 26 | } |
22 | plaincgi_interface::~plaincgi_interface() { | 27 | plaincgi_interface::~plaincgi_interface() { |
23 | cout.flush(); | 28 | cout.flush(); |
24 | cerr.flush(); | 29 | cerr.flush(); |
25 | } | 30 | } |
26 | 31 | ||
27 | } | 32 | } |