1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-27 00:57:50 +00:00

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>
This commit is contained in:
Martin Wilke 2006-12-30 23:24:37 +00:00
parent 48901ec1b7
commit e881321bb0
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=181111
7 changed files with 122 additions and 0 deletions

View File

@ -308,6 +308,7 @@
SUBDIR += mod_bunzip2
SUBDIR += mod_bw
SUBDIR += mod_cband
SUBDIR += mod_cplusplus
SUBDIR += mod_curb
SUBDIR += mod_cfg_ldap
SUBDIR += mod_cgi_debug

View File

@ -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>

View File

@ -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

View File

@ -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`

View File

@ -0,0 +1,7 @@
************************************************************
To enable this module, add the following to your server
configuration file:
LoadModule cplusplus_module %%APACHEMODDIR%%/mod_cplusplus.so
************************************************************

View File

@ -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/

View File

@ -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