@@ -51,37 +51,57 @@ AC_TYPE_UINT16_T
5151LHT_LIBDEPS="-lmicrohttpd"
5252
5353AC_ARG_WITH ( [ python] ,
54- [ --with-python Compile PYTHON libraries] ,
54+ [ --with-python Compile PYTHON libraries] ,
5555 [ python=true] )
5656
5757AC_ARG_WITH ( [ php] ,
58- [ --with-php Compile PHP libraries] ,
58+ [ --with-php Compile PHP libraries] ,
5959 [ php=true] )
6060
6161AC_ARG_WITH ( [ ruby] ,
62- [ --with-ruby Compile RUBY libraries] ,
62+ [ --with-ruby Compile RUBY libraries] ,
6363 [ ruby=true] )
6464
6565AC_ARG_WITH ( [ perl] ,
66- [ --with-perl Compile PERL libraries] ,
66+ [ --with-perl Compile PERL libraries] ,
6767 [ perl=true] )
6868
6969AC_ARG_WITH ( [ lua] ,
70- [ --with-lua Compile LUA libraries] ,
70+ [ --with-lua Compile LUA libraries] ,
7171 [ lua=true] )
7272
73+ AC_ARG_WITH ( lua-include-dir ,
74+ [ --with-lua-include-dir=DIR where to look for lua headers] ,
75+ [
76+ luahead=""
77+ if test -d "$withval"
78+ then
79+ luahead="$withval"
80+ fi
81+ ] )
82+
83+ AC_ARG_WITH ( lua-lib-dir ,
84+ [ --with-lua-lib-dir=DIR where to look for lua libs] ,
85+ [
86+ lualib=""
87+ if test -d "$withval"
88+ then
89+ lualib="$withval"
90+ fi
91+ ] )
92+
7393AC_ARG_WITH ( [ java] ,
74- [ --with-java Compile JAVA libraries] ,
94+ [ --with-java Compile JAVA libraries] ,
7595 [ java=true] )
7696
7797AC_ARG_WITH ( java-dir ,
78- [ --with-java-dir=DIR where to look for jni headers] ,
98+ [ --with-java-dir=DIR where to look for jni headers and libs. We search for jni.h in 'java-dir/include/' ] ,
7999 [
80100 javaloc=""
81101 if test -d "$withval"
82102 then
83103 javaloc="$withval"
84- fi
104+ fi
85105 ] )
86106
87107AM_CONDITIONAL([ PYTHON] , [ test x$python = xtrue] )
@@ -91,12 +111,20 @@ AM_CONDITIONAL([PERL], [test x$perl = xtrue])
91111AM_CONDITIONAL([ LUA] , [ test x$lua = xtrue] )
92112AM_CONDITIONAL([ RUBY] , [ test x$ruby = xtrue] )
93113
114+ LANGUAGES="C++"
115+
94116if test x$python = xtrue; then
117+ AC_CHECK_PROG ( [ PYTHONCONFIG] ,[ python-config] ,[ "php-config"] , [ "no"] )
118+ if test "$PYTHONCONFIG" = "no"
119+ then
120+ AC_MSG_ERROR ( python-config not found )
121+ fi
95122 CXXFLAGS="$CXXFLAGS `python-config --includes` -DWITH_PYTHON"
96- LDFLAGS+ ="$LDFLAGS -L`python-config --prefix`/lib"
123+ LDFLAGS="$LDFLAGS -L`python-config --prefix`/lib"
97124 LIBS="$LIBS `python-config --libs`"
98125 AC_SUBST_FILE ( [ PYTHON_AUTOGENERATION] )
99126 PYTHON_AUTOGENERATION=src/autogen_helpers/support_command
127+ LANGUAGES="$LANGUAGES Python"
100128fi
101129
102130if test x$java = xtrue; then
@@ -120,18 +148,91 @@ if test x$java = xtrue; then
120148 then
121149 AC_MSG_ERROR ( [ Unable to find jni headers. Please provide a --with-java-dir=<dir> location] )
122150 fi
123- AC_SUBST_FILE ( [ JAVA_AUTOGENERATION] )
124- JAVA_AUTOGENERATION=src/autogen_helpers/support_command
151+ AC_SUBST_FILE ( [ JAVA_AUTOGENERATION] )
152+ JAVA_AUTOGENERATION=src/autogen_helpers/support_command
153+ LANGUAGES="$LANGUAGES Java"
125154fi
126155
127156if test x$php = xtrue; then
157+ AC_CHECK_PROG ( [ PHPCONFIG] ,[ php-config] ,[ "php-config"] , [ "no"] )
158+ if test "$PHPCONFIG" = "no"
159+ then
160+ AC_MSG_ERROR ( php-config not found )
161+ fi
128162 CXXFLAGS="$CXXFLAGS `php-config --includes`"
129- LDFLAGS+="$LDFLAGS -L`php-config --prefix`/lib"
130- # LIBS="$LIBS `php-config --libs`"
163+ LDFLAGS="$LDFLAGS -L`php-config --prefix`/lib"
131164 AC_SUBST_FILE ( [ PHP_AUTOGENERATION] )
132165 PHP_AUTOGENERATION=src/autogen_helpers/support_command
166+ LANGUAGES="$LANGUAGES PHP"
133167fi
134168
169+ if test x$lua = xtrue; then
170+ found=""
171+ for loc in $luahead /usr/include /usr/local/include
172+ do
173+
174+ if test "x$found" = "x"
175+ then
176+ AC_MSG_CHECKING ( [ for lua.h in] )
177+ AC_MSG_RESULT ( $loc )
178+ AC_CHECK_FILE ( "$loc/lua.h" ,
179+ [ CXXFLAGS="$CXXFLAGS -I$loc";
180+ found=1] ,[ ] )
181+
182+ fi
183+ done
184+ if test "x$found" = "x"
185+ then
186+ AC_MSG_ERROR ( [ Unable to find lua headers. Please provide a --with-lua-include-dir=<dir> location] )
187+ fi
188+
189+ found=""
190+ for loc in $lualib /usr/lib /usr/local/lib
191+ do
192+
193+ if test "x$found" = "x"
194+ then
195+ AC_MSG_CHECKING ( [ for liblua.so in] )
196+ AC_MSG_RESULT ( $loc )
197+ AC_CHECK_FILE ( "$loc/liblua.so" ,
198+ [ LDFLAGS="$LDFLAGS -L$loc";
199+ found=1] ,[ ] )
200+
201+ fi
202+ done
203+ if test "x$found" = "x"
204+ then
205+ AC_MSG_ERROR ( [ Unable to find lua libs. Please provide a --with-lua-lib-dir=<dir> location] )
206+ fi
207+ AC_SUBST_FILE ( [ LUA_AUTOGENERATION] )
208+ LUA_AUTOGENERATION=src/autogen_helpers/support_command
209+ LANGUAGES="$LANGUAGES LUA"
210+ fi
211+
212+ if test x$perl = xtrue; then
213+ AC_CHECK_PROG ( [ PERLINT] ,[ perl] ,[ "perl"] , [ "no"] )
214+ if test "$PERLINT" = "no"
215+ then
216+ AC_MSG_ERROR ( perl interpreter not found )
217+ fi
218+ CXXFLAGS="$CXXFLAGS -I`perl -e 'use Config; print $Config{archlib};'`/CORE -Dbool=char"
219+ AC_SUBST_FILE ( [ PERL_AUTOGENERATION] )
220+ PERL_AUTOGENERATION=src/autogen_helpers/support_command
221+ LANGUAGES="$LANGUAGES Perl"
222+ fi
223+
224+ if test x$ruby = xtrue; then
225+ AC_CHECK_PROG ( [ RUBYINT] ,[ ruby] ,[ "ruby"] , [ "no"] )
226+ if test "$RUBYINT" = "no"
227+ then
228+ AC_MSG_ERROR ( ruby interpreter not found )
229+ fi
230+ CXXFLAGS="$CXXFLAGS -I`ruby -e 'puts $:.join(\" -I\")'`"
231+ AC_SUBST_FILE ( [ RUBY_AUTOGENERATION] )
232+ RUBY_AUTOGENERATION=src/autogen_helpers/support_command
233+ LANGUAGES="$LANGUAGES Ruby"
234+ fi
235+
135236AC_SUBST ( LHT_LIBDEPS )
136237AC_SUBST ( CPPFLAGS )
137238AC_SUBST ( LIBS )
@@ -140,11 +241,12 @@ AC_SUBST(EXT_LIB_PATH)
140241AC_SUBST ( EXT_LIBS )
141242
142243AC_OUTPUT (
143- libhttpserver.pc Makefile src/Makefile src/python/Makefile src/php /Makefile src/java /Makefile src/perl /Makefile src/ruby /Makefile src/lua /Makefile
244+ libhttpserver.pc Makefile src/Makefile src/python/Makefile src/java /Makefile src/php /Makefile src/lua /Makefile src/perl /Makefile src/ruby /Makefile
144245)
145246
146247AC_MSG_NOTICE ( [ Configuration Summary:
147248 Operating System: ${host_os}
148249 Target directory: ${prefix}
149250 License : LGPL only
251+ Languages : ${LANGUAGES}
150252] )
0 commit comments