diff --git a/package/Config.in b/package/Config.in index 61716937f7..7069d778e7 100644 --- a/package/Config.in +++ b/package/Config.in @@ -605,6 +605,7 @@ source "package/apr/Config.in" source "package/apr-util/Config.in" source "package/libcofi/Config.in" source "package/classpath/Config.in" +source "package/cppcms/Config.in" source "package/elfutils/Config.in" source "package/fftw/Config.in" source "package/libargtable2/Config.in" diff --git a/package/cppcms/Config.in b/package/cppcms/Config.in new file mode 100644 index 0000000000..14fd974103 --- /dev/null +++ b/package/cppcms/Config.in @@ -0,0 +1,32 @@ +config BR2_PACKAGE_CPPCMS + bool "cppcms" + select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_PCRE + select BR2_PACKAGE_LIBGCRYPT + depends on BR2_INSTALL_LIBSTDCPP + # cppcms uses which doesn't exist in uClibc + depends on BR2_TOOLCHAIN_USES_GLIBC + help + CppCMS is a Free High Performance Web Development Framework + (not a CMS) aimed for Rapid Web Application Development. It + differs from most of other web development frameworks like: + Python Django or Java Servlets on the following aspects: + + - It is designed and tuned to handle extremely high loads. + - It uses modern C++ as primary development language in + order to achieve the above goal. + - It is aimed on development of both Web Sites and Web + Services. + + http://cppcms.com + +config BR2_PACKAGE_CPPCMS_ICU + bool "enable icu support" + depends on BR2_PACKAGE_CPPCMS + select BR2_PACKAGE_ICU + help + Using ICU allows advanced localization features into CppCMS, + in another hand ICU is heavier than iconv. + +comment "cppcms requires a glibc toolchain with C++ support" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_USES_GLIBC diff --git a/package/cppcms/cppcms.mk b/package/cppcms/cppcms.mk new file mode 100644 index 0000000000..d2b11096e7 --- /dev/null +++ b/package/cppcms/cppcms.mk @@ -0,0 +1,29 @@ +################################################################################ +# +# cppcms +# +################################################################################ + +CPPCMS_VERSION = 1.0.3 +CPPCMS_SOURCE = cppcms-$(CPPCMS_VERSION).tar.bz2 +CPPCMS_LICENSE = LGPLv3 +CPPCMS_LICENSE_FILE = COPYING.TXT +CPPCMS_SITE = http://downloads.sourceforge.net/project/cppcms/cppcms/$(CPPCMS_VERSION) +CPPCMS_INSTALL_STAGING = YES + +CPPCMS_DEPENDENCIES = zlib pcre libgcrypt + +ifeq ($(BR2_PACKAGE_CPPCMS_ICU),y) +CPPCMS_CONF_OPT += -DDISABLE_ICONV=ON +CPPCMS_DEPENDENCIES += icu +endif + +# We copy cppcms_tmpl_cc from staging to host because this file can be +# needed for compiling packages using cppcms. And it is not worth +# creating a host package just for a python script. +define CPPCMS_INSTALL_HOST_TOOLS + cp $(STAGING_DIR)/usr/bin/cppcms_tmpl_cc $(HOST_DIR)/usr/bin/cppcms_tmpl_cc +endef +CPPCMS_POST_INSTALL_STAGING_HOOKS += CPPCMS_INSTALL_HOST_TOOLS + +$(eval $(cmake-package))