diff --git a/Makefile.config.in b/Makefile.config.in index 4de06357..c42a500f 100644 --- a/Makefile.config.in +++ b/Makefile.config.in @@ -149,7 +149,9 @@ CONFIG_IPV6 = @CONFIG_IPV6@ CONFIG_DBLATEX = @CONFIG_DBLATEX@ CONFIG_LEDS = @CONFIG_LEDS@ CONFIG_LIBCSS = @CONFIG_LIBCSS@ +CONFIG_LIBCURL = @CONFIG_LIBCURL@ CONFIG_LIBDOM = @CONFIG_LIBDOM@ +CONFIG_LIBEVENT = @CONFIG_LIBEVENT@ CONFIG_LIBSIXEL = @CONFIG_LIBSIXEL@ CONFIG_LZMA = @CONFIG_LZMA@ CONFIG_MAILCAP = @CONFIG_MAILCAP@ diff --git a/configure.ac b/configure.ac index 8f4765d5..8f8c120d 100644 --- a/configure.ac +++ b/configure.ac @@ -647,6 +647,7 @@ AC_ARG_WITH([mujs], [enable MuJS engine])]) CONFIG_MUJS= +CONFIG_LIBCURL= case "$with_mujs" in "" | no) @@ -675,6 +676,7 @@ if test "x$CONFIG_MUJS" = x; then CPPFLAGS="$CPPFLAGS_X $MUJS_CFLAGS" CFLAGS="$CFLAGS $MUJS_CFLAGS" CONFIG_MUJS=yes + CONFIG_LIBCURL=yes AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) @@ -732,6 +734,7 @@ if test "x$CONFIG_QUICKJS" = x; then fi done LIBS="$LIBS $DB_LOCALSTORAGE_LIBS $XMLPLUSPLUS_LIBS $QUICKJS_LIB $CURL_LIBS" + CONFIG_LIBCURL=yes else AC_MSG_RESULT([no]) fi @@ -797,6 +800,7 @@ if test "x$CONFIG_SPIDERMONKEY" = xyes || LIBS="$SPIDERMONKEY_LIBS $LIBS_X" CPPFLAGS="$CPPFLAGS_X $SPIDERMONKEY_CFLAGS" SPIDERMONKEY_FOUND=yes + CONFIG_LIBCURL=yes AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) @@ -841,24 +845,60 @@ CXXFLAGS="$CXXFLAGS -fpermissive -Wno-sign-compare" if test "x$CONFIG_ECMASCRIPT_SMJS" = xyes || test "x$CONFIG_SCRIPTING_SPIDERMONKEY" = xyes; then LIBS="$LIBS $SPIDERMONKEY_LIBS" + EL_CONFIG(CONFIG_LIBCURL, [libcurl]) AC_SUBST(SPIDERMONKEY_LIBS) AC_SUBST(SPIDERMONKEY_CFLAGS) AC_SUBST(CONFIG_SPIDERMONKEY) + AC_SUBST(CONFIG_LIBCURL) CXXFLAGS="$CXXFLAGS $SPIDERMONKEY_CFLAGS" fi if test "x$CONFIG_MUJS" = xyes; then CONFIG_LIBDOM=yes EL_CONFIG(CONFIG_MUJS, [mujs]) + EL_CONFIG(CONFIG_LIBCURL, [libcurl]) AC_SUBST(MUJS_LIBS) AC_SUBST(MUJS_CFLAGS) AC_SUBST(CONFIG_MUJS) + AC_SUBST(CONFIG_LIBCURL) fi if test "x$CONFIG_QUICKJS" = xyes; then CONFIG_LIBDOM=yes EL_CONFIG(CONFIG_QUICKJS, [quickjs]) + EL_CONFIG(CONFIG_LIBCURL, [libcurl]) AC_SUBST(CONFIG_QUICKJS) + AC_SUBST(CONFIG_LIBCURL) +fi + +# =================================================================== +# Check for libcurl +# =================================================================== + +AC_ARG_WITH([libcurl], + [AS_HELP_STRING([--with-libcurl], + [enable curl])]) + +if test "x$CONFIG_LIBCURL" = x; then + case "$with_libcurl" in + "" | no) + # The user specified --without-libcurl. + AC_MSG_CHECKING([for libcurl]) + AC_MSG_RESULT([disabled]) + CONFIG_LIBCURL="no" + ;; + yes | *) + AC_MSG_CHECKING([for libcurl]) + CURL_LIBS="$($PKG_CONFIG $pkg_config_static --libs libcurl)" + CURL_CFLAGS="$($PKG_CONFIG $pkg_config_static --cflags libcurl)" + CONFIG_LIBCURL=yes + LIBS="$LIBS $CURL_LIBS" + CFLAGS="$CFLAGS $CURL_CFLAGS" + EL_CONFIG(CONFIG_LIBCURL, [libcurl]) + AC_MSG_RESULT([yes]) + ;; + esac + AC_SUBST(CONFIG_LIBCURL) fi # =================================================================== diff --git a/src/protocol/Makefile b/src/protocol/Makefile index 90deb917..bba86e1d 100644 --- a/src/protocol/Makefile +++ b/src/protocol/Makefile @@ -2,6 +2,7 @@ top_builddir=../.. include $(top_builddir)/Makefile.config SUBDIRS-$(CONFIG_BITTORRENT) += bittorrent +SUBDIRS-$(CONFIG_LIBCURL) += curl SUBDIRS-$(CONFIG_FINGER) += finger SUBDIRS-$(CONFIG_FSP) += fsp SUBDIRS-$(CONFIG_FTP) += ftp diff --git a/src/protocol/curl/Makefile b/src/protocol/curl/Makefile new file mode 100644 index 00000000..b221d3eb --- /dev/null +++ b/src/protocol/curl/Makefile @@ -0,0 +1,6 @@ +top_builddir=../../.. +include $(top_builddir)/Makefile.config + +OBJS-$(CONFIG_LIBEVENT) = ftp.o http.o + +include $(top_srcdir)/Makefile.lib