Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v5] sconeserver: new package
@ 2012-09-19  8:49 spdawson at gmail.com
  2012-09-19 21:48 ` Arnout Vandecappelle
  0 siblings, 1 reply; 3+ messages in thread
From: spdawson at gmail.com @ 2012-09-19  8:49 UTC (permalink / raw)
  To: buildroot

From: Simon Dawson <spdawson@gmail.com>

Signed-off-by: Simon Dawson <spdawson@gmail.com>
---
 v5: Rebase and resend.
 v4: Resend.
 v3: Fix build failure for mysql module; ui module depends on X.org.
 v2: Extensive rework in response to feedback on mailing list.

 package/Config.in                  |    1 +
 package/sconeserver/Config.in      |   88 +++++++++++++++++++++++++++
 package/sconeserver/sconeserver.mk |  115 ++++++++++++++++++++++++++++++++++++
 3 files changed, 204 insertions(+)
 create mode 100644 package/sconeserver/Config.in
 create mode 100644 package/sconeserver/sconeserver.mk

diff --git a/package/Config.in b/package/Config.in
index 58dd5e8..e0841da 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -606,6 +606,7 @@ source "package/rsh-redone/Config.in"
 source "package/rsync/Config.in"
 source "package/rtorrent/Config.in"
 source "package/samba/Config.in"
+source "package/sconeserver/Config.in"
 source "package/ser2net/Config.in"
 source "package/socat/Config.in"
 source "package/socketcand/Config.in"
diff --git a/package/sconeserver/Config.in b/package/sconeserver/Config.in
new file mode 100644
index 0000000..a7e5c75
--- /dev/null
+++ b/package/sconeserver/Config.in
@@ -0,0 +1,88 @@
+menuconfig BR2_PACKAGE_SCONESERVER
+	bool "sconeserver"
+	depends on BR2_INSTALL_LIBSTDCPP
+	select BR2_PACKAGE_PCRE
+	help
+	  Sconeserver is a modular, object-orientated and extremely versatile
+	  network server framework for GNU/Linux and UNIX-like platforms.
+
+	  http://www.sconemad.com/sconeserver/
+
+if BR2_PACKAGE_SCONESERVER
+
+comment "Sconeserver modules"
+
+config BR2_PACKAGE_SCONESERVER_EXAMPLES
+	bool "examples"
+	help
+	  Example modules for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE
+	bool "http::sconesite"
+	select BR2_PACKAGE_LIBXML2
+	help
+	  http::sconesite module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE
+	bool "http::sconesite::image"
+	depends on BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE
+	select BR2_PACKAGE_IMAGEMAGICK
+	help
+	  http::sconesite::image module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_MYSQL
+	bool "mysql"
+	select BR2_PACKAGE_MYSQL_CLIENT
+	help
+	  MySQL module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_BLUETOOTH
+	bool "bluetooth"
+	select BR2_PACKAGE_BLUEZ_UTILS
+	help
+	  Bluetooth module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_RSS
+	bool "rss"
+	select BR2_PACKAGE_LIBXML2
+	help
+	  RSS module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_LOCATION
+	bool "location"
+	select BR2_PACKAGE_GPSD
+	help
+	  Location module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_LETTUCE
+	bool "lettuce"
+	help
+	  Sconeserver module for Lettuce embedded automation platform
+
+	  http://www.sconemad.com/lettuce/
+
+config BR2_PACKAGE_SCONESERVER_MATHS
+	bool "maths"
+	select BR2_PACKAGE_MPFR
+	help
+	  Mathematics module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_TESTBUILDER
+	bool "testbuilder"
+	help
+	  Testbuilder module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_UI
+	bool "ui"
+	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBX11
+	help
+	  UI module for Sconeserver
+
+comment "ui module requires X.org"
+	depends on !BR2_PACKAGE_XORG7
+
+endif # BR2_PACKAGE_SCONESERVER
+
+comment "sconeserver requires a toolchain with C++ support enabled"
+	depends on !BR2_INSTALL_LIBSTDCPP
diff --git a/package/sconeserver/sconeserver.mk b/package/sconeserver/sconeserver.mk
new file mode 100644
index 0000000..27e2c6e
--- /dev/null
+++ b/package/sconeserver/sconeserver.mk
@@ -0,0 +1,115 @@
+#############################################################
+#
+# sconeserver
+#
+#############################################################
+# Release 0.6.0 doesn't build cleanly, so use a recent
+# Subversion trunk snapshot.
+SCONESERVER_VERSION = 178
+SCONESERVER_SITE = \
+	https://sconeserver.svn.sourceforge.net/svnroot/sconeserver/trunk
+SCONESERVER_SITE_METHOD = svn
+
+SCONESERVER_LICENSE = GPLv2+
+SCONESERVER_LICENSE_FILES = COPYING
+
+SCONESERVER_DEPENDENCIES += pcre
+SCONESERVER_CONF_OPT += --with-ip --with-local
+
+# Sconeserver configure script fails to find the libxml2 headers.
+ifeq ($(BR2_PACKAGE_LIBXML2),y)
+	SCONESERVER_CONF_OPT += CPPFLAGS="-I$(STAGING_DIR)/usr/include/libxml2"
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_MYSQL),y)
+	SCONESERVER_CONF_OPT += LDFLAGS="-L$(STAGING_DIR)/usr/lib/mysql"
+endif
+
+ifeq ($(BR2_INET_IPV6),y)
+	SCONESERVER_CONF_OPT += --with-ip6
+else
+	SCONESERVER_CONF_OPT += --without-ip6
+endif
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+	SCONESERVER_DEPENDENCIES += openssl
+	SCONESERVER_CONF_OPT += --with-ssl
+else
+	SCONESERVER_CONF_OPT += --without-ssl
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_EXAMPLES),y)
+	SCONESERVER_CONF_OPT += --with-examples
+else
+	SCONESERVER_CONF_OPT += --without-examples
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE),y)
+	SCONESERVER_DEPENDENCIES += libxml2
+	SCONESERVER_CONF_OPT += --with-sconesite
+else
+	SCONESERVER_CONF_OPT += --without-sconesite
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE),y)
+	SCONESERVER_DEPENDENCIES += imagemagick
+	SCONESERVER_CONF_OPT += --with-sconesite-image
+else
+	SCONESERVER_CONF_OPT += --without-sconesite-image
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_MYSQL),y)
+	SCONESERVER_DEPENDENCIES += mysql_client
+	SCONESERVER_CONF_OPT += --with-mysql
+else
+	SCONESERVER_CONF_OPT += --without-mysql
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_BLUETOOTH),y)
+	SCONESERVER_DEPENDENCIES += bluez_utils
+	SCONESERVER_CONF_OPT += --with-bluetooth
+else
+	SCONESERVER_CONF_OPT += --without-bluetooth
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_RSS),y)
+	SCONESERVER_DEPENDENCIES += libxml2
+	SCONESERVER_CONF_OPT += --with-rss
+else
+	SCONESERVER_CONF_OPT += --without-rss
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_LOCATION),y)
+	SCONESERVER_DEPENDENCIES += gpsd
+	SCONESERVER_CONF_OPT += --with-location
+else
+	SCONESERVER_CONF_OPT += --without-location
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_LETTUCE),y)
+	SCONESERVER_CONF_OPT += --with-lettuce
+else
+	SCONESERVER_CONF_OPT += --without-lettuce
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_MATHS),y)
+	SCONESERVER_DEPENDENCIES += mpfr
+	SCONESERVER_CONF_OPT += --with-maths
+else
+	SCONESERVER_CONF_OPT += --without-maths
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_TESTBUILDER),y)
+	SCONESERVER_CONF_OPT += --with-testbuilder
+else
+	SCONESERVER_CONF_OPT += --without-testbuilder
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_UI),y)
+	SCONESERVER_DEPENDENCIES += xlib_libX11
+	SCONESERVER_CONF_OPT += --with-ui
+else
+	SCONESERVER_CONF_OPT += --without-ui
+endif
+
+$(eval $(autotools-package))
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH v5] sconeserver: new package
  2012-09-19  8:49 [Buildroot] [PATCH v5] sconeserver: new package spdawson at gmail.com
@ 2012-09-19 21:48 ` Arnout Vandecappelle
  2012-09-21  8:17   ` Simon Dawson
  0 siblings, 1 reply; 3+ messages in thread
From: Arnout Vandecappelle @ 2012-09-19 21:48 UTC (permalink / raw)
  To: buildroot

On 09/19/12 10:49, spdawson at gmail.com wrote:
> +# Sconeserver configure script fails to find the libxml2 headers.
> +ifeq ($(BR2_PACKAGE_LIBXML2),y)
> +	SCONESERVER_CONF_OPT += CPPFLAGS="-I$(STAGING_DIR)/usr/include/libxml2"
> +endif
> +
> +ifeq ($(BR2_PACKAGE_SCONESERVER_MYSQL),y)
> +	SCONESERVER_CONF_OPT += LDFLAGS="-L$(STAGING_DIR)/usr/lib/mysql"
> +endif

  I'd suggest using the following pattern:

SCONESERVER_CONF_OPT += CXXFLAGS="$(TARGET_CXXFLAGS) $(SCONESERVER_CXXFLAGS)"
SCONESERVER_CONF_OPT += LDFLAGS="$(TARGET_LDFLAGS) $(SCONESERVER_LDFLAGS)"

ifeq ($(BR2_PACKAGE_LIBXML2),y)
SCONESERVER_CXXFLAGS += -I$(STAGING_DIR)/usr/include/libxml2
endif

(Actually, this pattern should move to TARGET_CFLAGS itself...  Yet another
item on my ideas list :-)


  The mysql flags should move to the rest of the mysql stuff, so you have the
condition only once.


  I tried building the mysql module and it also fails to find mysql.h.  Turns
out that the configure script hard-codes -I/usr/include/mysql instead of using
the sysrooted path.  I'm not sure how to fix it elegantly.  Adding a -I
option to the CXXFLAGS works, but you still get a -I/usr/include/mysql which
may cause problems...

  Regards,
  Arnout

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH v5] sconeserver: new package
  2012-09-19 21:48 ` Arnout Vandecappelle
@ 2012-09-21  8:17   ` Simon Dawson
  0 siblings, 0 replies; 3+ messages in thread
From: Simon Dawson @ 2012-09-21  8:17 UTC (permalink / raw)
  To: buildroot

On 19 September 2012 22:48, Arnout Vandecappelle <arnout@mind.be> wrote:
>  I tried building the mysql module and it also fails to find mysql.h.  Turns
> out that the configure script hard-codes -I/usr/include/mysql instead of
> using
> the sysrooted path.  I'm not sure how to fix it elegantly.  Adding a -I
> option to the CXXFLAGS works, but you still get a -I/usr/include/mysql which
> may cause problems...

Thanks for your help with this Arnout; much appreciated. I'll
incorporate your ideas and submit an updated patch.

Simon.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-09-21  8:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-19  8:49 [Buildroot] [PATCH v5] sconeserver: new package spdawson at gmail.com
2012-09-19 21:48 ` Arnout Vandecappelle
2012-09-21  8:17   ` Simon Dawson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox