diff options
author | Martin Wilke <miwi@FreeBSD.org> | 2006-12-30 23:24:37 +0000 |
---|---|---|
committer | Martin Wilke <miwi@FreeBSD.org> | 2006-12-30 23:24:37 +0000 |
commit | e881321bb08506a42198b1f78418d78fe469ba31 (patch) | |
tree | 55246408c67b7924ef9ea579785489e857f6b7bf /www/mod_cplusplus | |
parent | - Fix undefined references in library (previously it could only be used with (diff) |
mod_cplusplus is a proper apache module which allows you to load cpp objects
as handlers for Apache-2.0. It differs from other modules i've seen in that
it manages the loading and calling of separate shared objects containing your
handler classes. This allows you to easily and cleanly run an entire site
with c++ handlers.
WWW: http://modcplusplus.sourceforge.net/
PR: ports/107361
Submitted by: Michael Durian <durian at shadetreesoftware.com>
Notes
Notes:
svn path=/head/; revision=181111
Diffstat (limited to 'www/mod_cplusplus')
-rw-r--r-- | www/mod_cplusplus/Makefile | 47 | ||||
-rw-r--r-- | www/mod_cplusplus/distinfo | 3 | ||||
-rw-r--r-- | www/mod_cplusplus/files/patch-configure.in | 46 | ||||
-rw-r--r-- | www/mod_cplusplus/files/pkg-message.in | 7 | ||||
-rw-r--r-- | www/mod_cplusplus/pkg-descr | 7 | ||||
-rw-r--r-- | www/mod_cplusplus/pkg-plist | 11 |
6 files changed, 121 insertions, 0 deletions
diff --git a/www/mod_cplusplus/Makefile b/www/mod_cplusplus/Makefile new file mode 100644 index 000000000000..a290a33211ee --- /dev/null +++ b/www/mod_cplusplus/Makefile @@ -0,0 +1,47 @@ +# Ports collection makefile for: mod_cplusplus for Apache 2.x +# Date created: Dec 29, 2006 +# Whom: Michael Durian <durian@shadetreesoftware.com> +# +# $FreeBSD$ +# + +PORTNAME= mod_cplusplus +PORTVERSION= 1.5.2 +CATEGORIES= www +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} +MASTER_SITE_SUBDIR= modcplusplus + +MAINTAINER= durian@shadetreesoftware.com +COMMENT= Apache module for loading C++ objects as handlers + +USE_APACHE= 2.0+ +USE_AUTOTOOLS= autoconf:259 autoheader:259 libtool:15 automake:19 aclocal:19 +# ${LOCALBASE}/share/aclocal19 does not contain libtool.m4 and that causes +# problems. Explicitly include ${LOCALBASE}/share/aclocal in the search +# patch since that directory does contain libtool.m4 +ACLOCAL_ARGS+= -I ${LOCALBASE}/share/aclocal +AUTOMAKE_ARGS+= -a +GNU_CONFIGURE= yes +CONFIGURE_ARGS+= --with-apxs=${APXS} + +SUB_FILES= pkg-message +SUB_LIST= "APACHEMODDIR=${APACHEMODDIR}" + +# Redefine the autotools run order to match what would happen in the +# autogen.sh script. We cannot use that script directly since it does +# not use the versioned autotools. +run-autotools: run-autotools-aclocal patch-autotools run-autotools-autoheader \ + run-libtoolize run-autotools-automake run-autotools-autoconf + +run-libtoolize: + @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} \ + ${LIBTOOLIZE} --force --copy) + +do-install: + ${INSTALL_DATA} ${WRKSRC}/include/*.h ${PREFIX}/${APACHEINCLUDEDIR} + ${INSTALL_DATA} ${WRKSRC}/src/.libs/libmod_cplusplus.so ${PREFIX}/${APACHEMODDIR}/mod_cplusplus.so + +post-install: + @${CAT} ${PKGMESSAGE} + +.include <bsd.port.mk> diff --git a/www/mod_cplusplus/distinfo b/www/mod_cplusplus/distinfo new file mode 100644 index 000000000000..996eee3d466f --- /dev/null +++ b/www/mod_cplusplus/distinfo @@ -0,0 +1,3 @@ +MD5 (mod_cplusplus-1.5.2.tar.gz) = b523636990c9212d50f0ba144fe65b09 +SHA256 (mod_cplusplus-1.5.2.tar.gz) = 0a7a4a32dd56062586db4f250954e058ce273e2f5f19bca8a32c88bc59863c0a +SIZE (mod_cplusplus-1.5.2.tar.gz) = 123912 diff --git a/www/mod_cplusplus/files/patch-configure.in b/www/mod_cplusplus/files/patch-configure.in new file mode 100644 index 000000000000..30a730368b35 --- /dev/null +++ b/www/mod_cplusplus/files/patch-configure.in @@ -0,0 +1,46 @@ +*** configure.in.orig Sat Dec 30 10:47:15 2006 +--- configure.in Sat Dec 30 10:56:16 2006 +*************** +*** 9,15 **** + dnl hack to get shlib extension + AC_MSG_CHECKING(what the shared library extension is) + eval SHLIB_EXT=\"$shrext\" +! if test "$SHLIB_EXT" == "" ; then + AC_MSG_RESULT(could not determine shared library extension. Defaulting to .so) + SHLIB_EXT=".so" + fi +--- 9,15 ---- + dnl hack to get shlib extension + AC_MSG_CHECKING(what the shared library extension is) + eval SHLIB_EXT=\"$shrext\" +! if test "x$SHLIB_EXT" = "x" ; then + AC_MSG_RESULT(could not determine shared library extension. Defaulting to .so) + SHLIB_EXT=".so" + fi +*************** +*** 58,69 **** + fi + ],) + +! if test "$INCLUDES" == "" ; then + AC_MSG_ERROR(could not generate includes with apxs set to "$APXS" - you must specify a valid path to apxs using the --with-apxs flag) + fi + + AC_CHECK_LIB(stdc++, __gxx_personality_v0, LIB_STDCPP="-lstdc++") +! if test "$LIB_STDCPP" == "" ; then + CPPFLAGS="$CPPFLAGS -DNO_STDCPP" + fi + CPLUSPLUS_BUILDDIR=`pwd` +--- 58,69 ---- + fi + ],) + +! if test "x$INCLUDES" = "x" ; then + AC_MSG_ERROR(could not generate includes with apxs set to "$APXS" - you must specify a valid path to apxs using the --with-apxs flag) + fi + + AC_CHECK_LIB(stdc++, __gxx_personality_v0, LIB_STDCPP="-lstdc++") +! if test "x$LIB_STDCPP" = "x" ; then + CPPFLAGS="$CPPFLAGS -DNO_STDCPP" + fi + CPLUSPLUS_BUILDDIR=`pwd` diff --git a/www/mod_cplusplus/files/pkg-message.in b/www/mod_cplusplus/files/pkg-message.in new file mode 100644 index 000000000000..f2507249cd67 --- /dev/null +++ b/www/mod_cplusplus/files/pkg-message.in @@ -0,0 +1,7 @@ +************************************************************ +To enable this module, add the following to your server +configuration file: + + LoadModule cplusplus_module %%APACHEMODDIR%%/mod_cplusplus.so + +************************************************************ diff --git a/www/mod_cplusplus/pkg-descr b/www/mod_cplusplus/pkg-descr new file mode 100644 index 000000000000..3f32419b0ee8 --- /dev/null +++ b/www/mod_cplusplus/pkg-descr @@ -0,0 +1,7 @@ +mod_cplusplus is a proper apache module which allows you to load cpp objects +as handlers for Apache-2.0. It differs from other modules i've seen in that +it manages the loading and calling of separate shared objects containing your +handler classes. This allows you to easily and cleanly run an entire site +with c++ handlers. + +WWW: http://modcplusplus.sourceforge.net/ diff --git a/www/mod_cplusplus/pkg-plist b/www/mod_cplusplus/pkg-plist new file mode 100644 index 000000000000..91af842dd896 --- /dev/null +++ b/www/mod_cplusplus/pkg-plist @@ -0,0 +1,11 @@ +%%APACHEINCLUDEDIR%%/apache_filters.h +%%APACHEINCLUDEDIR%%/apache_handler.h +%%APACHEINCLUDEDIR%%/apache_output_buffer.h +%%APACHEINCLUDEDIR%%/apache_protocol.h +%%APACHEINCLUDEDIR%%/cpp_request.h +%%APACHEINCLUDEDIR%%/cpp_server.h +%%APACHEINCLUDEDIR%%/env_hash.h +%%APACHEINCLUDEDIR%%/env_value.h +%%APACHEINCLUDEDIR%%/mod_cplusplus.h +%%APACHEINCLUDEDIR%%/request_env.h +%%APACHEMODDIR%%/mod_cplusplus.so |