All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4 0/3] package/radlib: new package
@ 2016-04-06 13:19 ray.kinsella at intel.com
  2016-04-06 13:19 ` [Buildroot] [PATCH v4 1/3] package/radlib: kconfig and makefile ray.kinsella at intel.com
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: ray.kinsella at intel.com @ 2016-04-06 13:19 UTC (permalink / raw)
  To: buildroot

From: Ray Kinsella <ray.kinsella@intel.com>

radlib is a rapid application development library for unix$
multi-process applications. It uses SYS V IPC facilities and$
FIFOs to provide an RTOS-like, event-driven, distributed$
framework. Processes may be run as daemons or have a controlling$
terminal.

--------------------------------------------------------------------------------
Ray Kinsella (3):
  package/radlib: kconfig and makefile
  package/radlib: Renamed configure.in to configure.ac
  package/radlib: reworked autotools with pkg-config

 package/Config.in                                  |   1 +
 ...dlib-renamed-configure.in-to-configure.ac.patch | 213 +++++++++++++++++
 ...radlib-reworked-autotools-with-pkg-config.patch | 252 +++++++++++++++++++++
 package/radlib/Config.in                           |  37 +++
 package/radlib/radlib.hash                         |   2 +
 package/radlib/radlib.mk                           |  28 +++
 6 files changed, 533 insertions(+)
 create mode 100644 package/radlib/0001-radlib-renamed-configure.in-to-configure.ac.patch
 create mode 100644 package/radlib/0002-radlib-reworked-autotools-with-pkg-config.patch
 create mode 100644 package/radlib/Config.in
 create mode 100644 package/radlib/radlib.hash
 create mode 100644 package/radlib/radlib.mk

-- 
2.4.11

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

* [Buildroot] [PATCH v4 1/3] package/radlib: kconfig and makefile
  2016-04-06 13:19 [Buildroot] [PATCH v4 0/3] package/radlib: new package ray.kinsella at intel.com
@ 2016-04-06 13:19 ` ray.kinsella at intel.com
  2016-04-06 22:20   ` Arnout Vandecappelle
  2016-04-06 13:19 ` [Buildroot] [PATCH v4 2/3] package/radlib: Renamed configure.in to configure.ac ray.kinsella at intel.com
  2016-04-06 13:19 ` [Buildroot] [PATCH v4 3/3] package/radlib: reworked autotools with pkg-config ray.kinsella at intel.com
  2 siblings, 1 reply; 15+ messages in thread
From: ray.kinsella at intel.com @ 2016-04-06 13:19 UTC (permalink / raw)
  To: buildroot

From: Ray Kinsella <ray.kinsella@intel.com>

Add new package for radlib including kconfig and makefile. The makefile
includes a choice depending on which database backends are enabled.

Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
---
 package/Config.in          |  1 +
 package/radlib/Config.in   | 37 +++++++++++++++++++++++++++++++++++++
 package/radlib/radlib.hash |  2 ++
 package/radlib/radlib.mk   | 28 ++++++++++++++++++++++++++++
 4 files changed, 68 insertions(+)
 create mode 100644 package/radlib/Config.in
 create mode 100644 package/radlib/radlib.hash
 create mode 100644 package/radlib/radlib.mk

diff --git a/package/Config.in b/package/Config.in
index 64822bf..6c59556 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1262,6 +1262,7 @@ endif
 	source "package/protobuf-c/Config.in"
 	source "package/qhull/Config.in"
 	source "package/qlibc/Config.in"
+	source "package/radlib/Config.in"
 	source "package/startup-notification/Config.in"
 	source "package/tz/Config.in"
 	source "package/tzdata/Config.in"
diff --git a/package/radlib/Config.in b/package/radlib/Config.in
new file mode 100644
index 0000000..e77e03c
--- /dev/null
+++ b/package/radlib/Config.in
@@ -0,0 +1,37 @@
+config BR2_PACKAGE_RADLIB
+	bool "radlib"
+	help
+	  radlib is a rapid application development library for unix
+	  multi-process applications. It uses SYS V IPC facilities and
+	  FIFOs to provide an RTOS-like, event-driven, distributed framework.
+	  Processes may be run as daemons or have a controlling terminal.
+	  
+	  http://sourceforge.net/projects/radlib/
+
+choice
+	prompt "radlib database backend"
+	depends on BR2_PACKAGE_RADLIB
+	depends on BR2_PACKAGE_SQLITE \
+		|| BR2_PACKAGE_MYSQL \
+		|| BR2_PACKAGE_POSTGRESQL
+	help$
+		Selects the backend database: sqlite, mysql or postgresql
+
+config BR2_PACKAGE_RADLIB_SQLITE
+	bool "sqlite"
+	depends on BR2_PACKAGE_SQLITE
+	help
+		Configure radlib to use a sqlite database backend
+
+config BR2_PACKAGE_RADLIB_MYSQL
+	bool "mysql"
+	depends on BR2_PACKAGE_MYSQL
+	help
+		Configure radlib to use a mysql database backend
+
+config BR2_PACKAGE_RADLIB_POSTGRESQL
+	bool "postgresql"
+	depends on BR2_PACKAGE_POSTGRESQL
+	help
+		Configure radlib to use a postgresql database backend
+endchoice
diff --git a/package/radlib/radlib.hash b/package/radlib/radlib.hash
new file mode 100644
index 0000000..2fbfbba
--- /dev/null
+++ b/package/radlib/radlib.hash
@@ -0,0 +1,2 @@
+# From http://sourceforge.net/projects/radlib/files/
+sha256  82b98bb5e08a500dea1e4252843b9c772fa1fb67ac8ab89ed64abdd5e22eca66  radlib-2.12.0.tar.gz
diff --git a/package/radlib/radlib.mk b/package/radlib/radlib.mk
new file mode 100644
index 0000000..5ff55ac
--- /dev/null
+++ b/package/radlib/radlib.mk
@@ -0,0 +1,28 @@
+################################################################################
+#
+# radlib
+#
+################################################################################
+
+RADLIB_VERSION = 2.12.0
+RADLIB_SITE = http://downloads.sourceforge.net/radlib
+RADLIB_INSTALL_STAGING = YES
+RADLIB_LICENSE = BSD-2c
+RADLIB_LICENSE_FILES = COPYING
+RADLIB_AUTORECONF = YES
+RADLIB_DEPENDENCIES = host-pkgconf
+
+ifeq ($(BR2_PACKAGE_RADLIB_SQLITE),y)
+	RADLIB_CONF_OPTS += --with-sqlite
+endif
+
+ifeq ($(BR2_PACKAGE_RADLIB_MYSQL),y)
+	RADLIB_CONF_ENV=ac_cv_path_MYSQL_CONFIG="$(STAGING_DIR)/usr/bin/mysql_config"
+	RADLIB_CONF_OPTS += --with-mysql
+endif
+
+ifeq ($(BR2_PACKAGE_RADLIB_POSTGRESQL),y)
+	RADLIB_CONF_OPTS += --with-postgresql
+endif
+
+$(eval $(autotools-package))
-- 
2.4.11

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

* [Buildroot] [PATCH v4 2/3] package/radlib: Renamed configure.in to configure.ac
  2016-04-06 13:19 [Buildroot] [PATCH v4 0/3] package/radlib: new package ray.kinsella at intel.com
  2016-04-06 13:19 ` [Buildroot] [PATCH v4 1/3] package/radlib: kconfig and makefile ray.kinsella at intel.com
@ 2016-04-06 13:19 ` ray.kinsella at intel.com
  2016-04-06 22:22   ` Arnout Vandecappelle
  2016-04-06 13:19 ` [Buildroot] [PATCH v4 3/3] package/radlib: reworked autotools with pkg-config ray.kinsella at intel.com
  2 siblings, 1 reply; 15+ messages in thread
From: ray.kinsella at intel.com @ 2016-04-06 13:19 UTC (permalink / raw)
  To: buildroot

From: Ray Kinsella <ray.kinsella@intel.com>

configure.ac is now standard for autotools, this supresses a
warning on autoreconf.

Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
---
 ...dlib-renamed-configure.in-to-configure.ac.patch | 213 +++++++++++++++++++++
 1 file changed, 213 insertions(+)
 create mode 100644 package/radlib/0001-radlib-renamed-configure.in-to-configure.ac.patch

diff --git a/package/radlib/0001-radlib-renamed-configure.in-to-configure.ac.patch b/package/radlib/0001-radlib-renamed-configure.in-to-configure.ac.patch
new file mode 100644
index 0000000..c808ba7
--- /dev/null
+++ b/package/radlib/0001-radlib-renamed-configure.in-to-configure.ac.patch
@@ -0,0 +1,213 @@
+From d3a51cf6492e062383dd49ee604aa1f77cdd47b0 Mon Sep 17 00:00:00 2001
+From: Ray Kinsella <ray.kinsella@intel.com>
+Date: Wed, 6 Apr 2016 11:23:45 +0100
+Subject: [PATCH 1/2] radlib: renamed configure.in to configure.ac
+
+configure.ac is now standard for autotools, this supresses a warning on
+autoreconf
+
+Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
+---
+ configure.ac | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ configure.in | 91 ------------------------------------------------------------
+ 2 files changed, 91 insertions(+), 91 deletions(-)
+ create mode 100644 configure.ac
+ delete mode 100644 configure.in
+
+diff --git a/configure.ac b/configure.ac
+new file mode 100644
+index 0000000..47e507e
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,91 @@
++# Process this file with autoconf to produce a configure script.
++
++AC_PREREQ(2.5)
++AC_INIT([radlib],[2.12.0],[mteel2005 at gmail.com])
++AC_CONFIG_SRCDIR([h/radmsgLog.h])
++AM_INIT_AUTOMAKE([radlib],[2.12.0])
++AM_CONFIG_HEADER([config.h])
++
++AC_ARG_ENABLE(mysql,
++[  --enable-mysql                 include radlib MySQL database support],
++[case "${enableval}" in
++  yes) mysql=true ;;
++  no)  mysql=false ;;
++  *) mysql=false ;;
++esac],[mysql=false])
++AM_CONDITIONAL(MYSQL, test x$mysql = xtrue)
++
++AC_ARG_ENABLE(pgresql,
++[  --enable-pgresql               include radlib postgreSQL database support],
++[case "${enableval}" in
++  yes) pgresql=true ;;
++  no)  pgresql=false ;;
++  *) pgresql=false ;;
++esac],[pgresql=false])
++AM_CONDITIONAL(PGRESQL, test x$pgresql = xtrue)
++
++AC_ARG_ENABLE(sqlite,
++[  --enable-sqlite                include radlib sqlite database support],
++[case "${enableval}" in
++  yes) sqlite=true ;;
++  no)  sqlite=false ;;
++  *) sqlite=false ;;
++esac],[sqlite=false])
++AM_CONDITIONAL(SQLITE, test x$sqlite = xtrue)
++
++# Check for big endian host:
++AC_C_BIGENDIAN()
++
++# Checks for programs.
++AC_PROG_CC
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++
++# Set a flag here if we are cross compiling (must be after AC_PROG_CC)
++AM_CONDITIONAL(CROSSCOMPILE, test x$cross_compiling = xyes)
++
++# Checks for libraries.
++AC_CHECK_LIB([c], [strncpy])
++AC_CHECK_LIB([m], [exp])
++
++# Checks for header files.
++AC_HEADER_STDC
++AC_HEADER_SYS_WAIT
++AC_CHECK_HEADERS([fcntl.h \
++                  stdlib.h \
++                  string.h \
++                  sys/time.h \
++                  syslog.h \
++                  termios.h \
++                  unistd.h])
++
++# Checks for typedefs, structures, and compiler characteristics.
++AC_C_CONST
++AC_TYPE_PID_T
++AC_HEADER_TIME
++AC_STRUCT_TM
++
++# Checks for library functions.
++AC_FUNC_FORK
++AC_FUNC_MALLOC
++AC_FUNC_SELECT_ARGTYPES
++AC_TYPE_SIGNAL
++AC_FUNC_STAT
++AC_FUNC_VPRINTF
++AC_CHECK_FUNCS([getcwd \
++                gethostname \
++                gettimeofday \
++                memset \
++                mkdir \
++                mkfifo \
++                select \
++                strchr \
++                strerror \
++                strrchr])
++
++AC_CONFIG_FILES([Makefile \
++                 src/Makefile \
++                 msgRouter/Makefile \
++                 debug/Makefile])
++AC_OUTPUT
++
+diff --git a/configure.in b/configure.in
+deleted file mode 100644
+index 47e507e..0000000
+--- a/configure.in
++++ /dev/null
+@@ -1,91 +0,0 @@
+-# Process this file with autoconf to produce a configure script.
+-
+-AC_PREREQ(2.5)
+-AC_INIT([radlib],[2.12.0],[mteel2005 at gmail.com])
+-AC_CONFIG_SRCDIR([h/radmsgLog.h])
+-AM_INIT_AUTOMAKE([radlib],[2.12.0])
+-AM_CONFIG_HEADER([config.h])
+-
+-AC_ARG_ENABLE(mysql,
+-[  --enable-mysql                 include radlib MySQL database support],
+-[case "${enableval}" in
+-  yes) mysql=true ;;
+-  no)  mysql=false ;;
+-  *) mysql=false ;;
+-esac],[mysql=false])
+-AM_CONDITIONAL(MYSQL, test x$mysql = xtrue)
+-
+-AC_ARG_ENABLE(pgresql,
+-[  --enable-pgresql               include radlib postgreSQL database support],
+-[case "${enableval}" in
+-  yes) pgresql=true ;;
+-  no)  pgresql=false ;;
+-  *) pgresql=false ;;
+-esac],[pgresql=false])
+-AM_CONDITIONAL(PGRESQL, test x$pgresql = xtrue)
+-
+-AC_ARG_ENABLE(sqlite,
+-[  --enable-sqlite                include radlib sqlite database support],
+-[case "${enableval}" in
+-  yes) sqlite=true ;;
+-  no)  sqlite=false ;;
+-  *) sqlite=false ;;
+-esac],[sqlite=false])
+-AM_CONDITIONAL(SQLITE, test x$sqlite = xtrue)
+-
+-# Check for big endian host:
+-AC_C_BIGENDIAN()
+-
+-# Checks for programs.
+-AC_PROG_CC
+-AC_PROG_INSTALL
+-AC_PROG_LIBTOOL
+-
+-# Set a flag here if we are cross compiling (must be after AC_PROG_CC)
+-AM_CONDITIONAL(CROSSCOMPILE, test x$cross_compiling = xyes)
+-
+-# Checks for libraries.
+-AC_CHECK_LIB([c], [strncpy])
+-AC_CHECK_LIB([m], [exp])
+-
+-# Checks for header files.
+-AC_HEADER_STDC
+-AC_HEADER_SYS_WAIT
+-AC_CHECK_HEADERS([fcntl.h \
+-                  stdlib.h \
+-                  string.h \
+-                  sys/time.h \
+-                  syslog.h \
+-                  termios.h \
+-                  unistd.h])
+-
+-# Checks for typedefs, structures, and compiler characteristics.
+-AC_C_CONST
+-AC_TYPE_PID_T
+-AC_HEADER_TIME
+-AC_STRUCT_TM
+-
+-# Checks for library functions.
+-AC_FUNC_FORK
+-AC_FUNC_MALLOC
+-AC_FUNC_SELECT_ARGTYPES
+-AC_TYPE_SIGNAL
+-AC_FUNC_STAT
+-AC_FUNC_VPRINTF
+-AC_CHECK_FUNCS([getcwd \
+-                gethostname \
+-                gettimeofday \
+-                memset \
+-                mkdir \
+-                mkfifo \
+-                select \
+-                strchr \
+-                strerror \
+-                strrchr])
+-
+-AC_CONFIG_FILES([Makefile \
+-                 src/Makefile \
+-                 msgRouter/Makefile \
+-                 debug/Makefile])
+-AC_OUTPUT
+-
+-- 
+2.4.3
+
-- 
2.4.11

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

* [Buildroot] [PATCH v4 3/3] package/radlib: reworked autotools with pkg-config
  2016-04-06 13:19 [Buildroot] [PATCH v4 0/3] package/radlib: new package ray.kinsella at intel.com
  2016-04-06 13:19 ` [Buildroot] [PATCH v4 1/3] package/radlib: kconfig and makefile ray.kinsella at intel.com
  2016-04-06 13:19 ` [Buildroot] [PATCH v4 2/3] package/radlib: Renamed configure.in to configure.ac ray.kinsella at intel.com
@ 2016-04-06 13:19 ` ray.kinsella at intel.com
  2016-04-06 22:36   ` Arnout Vandecappelle
  2 siblings, 1 reply; 15+ messages in thread
From: ray.kinsella at intel.com @ 2016-04-06 13:19 UTC (permalink / raw)
  To: buildroot

From: Ray Kinsella <ray.kinsella@intel.com>

Reworked the autools implementation to use pkg-config and mysql-config.

Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
---
 ...radlib-reworked-autotools-with-pkg-config.patch | 252 +++++++++++++++++++++
 1 file changed, 252 insertions(+)
 create mode 100644 package/radlib/0002-radlib-reworked-autotools-with-pkg-config.patch

diff --git a/package/radlib/0002-radlib-reworked-autotools-with-pkg-config.patch b/package/radlib/0002-radlib-reworked-autotools-with-pkg-config.patch
new file mode 100644
index 0000000..3410fcb
--- /dev/null
+++ b/package/radlib/0002-radlib-reworked-autotools-with-pkg-config.patch
@@ -0,0 +1,252 @@
+From 832855f6942fea66a39c738865484e57a8f97169 Mon Sep 17 00:00:00 2001
+From: Ray Kinsella <ray.kinsella@intel.com>
+Date: Wed, 6 Apr 2016 11:25:40 +0100
+Subject: [PATCH 2/2] radlib: reworked autotools with pkg-config
+
+Reworked the autools implementation to use pkg-config and mysql-config.
+
+Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
+---
+ configure.ac          | 47 ++++++++++++++++++++++-------------------------
+ debug/Makefile.am     | 32 +++++---------------------------
+ msgRouter/Makefile.am | 34 ++++++----------------------------
+ src/Makefile.am       | 36 +++++++++++++-----------------------
+ 4 files changed, 46 insertions(+), 103 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 47e507e..ba493f5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,35 +3,32 @@
+ AC_PREREQ(2.5)
+ AC_INIT([radlib],[2.12.0],[mteel2005 at gmail.com])
+ AC_CONFIG_SRCDIR([h/radmsgLog.h])
+-AM_INIT_AUTOMAKE([radlib],[2.12.0])
++AM_INIT_AUTOMAKE([subdir-objects])
+ AM_CONFIG_HEADER([config.h])
+ 
+-AC_ARG_ENABLE(mysql,
+-[  --enable-mysql                 include radlib MySQL database support],
+-[case "${enableval}" in
+-  yes) mysql=true ;;
+-  no)  mysql=false ;;
+-  *) mysql=false ;;
+-esac],[mysql=false])
+-AM_CONDITIONAL(MYSQL, test x$mysql = xtrue)
++AC_ARG_WITH([postgresql], AS_HELP_STRING([--with-postgresql], [Build with postgresql]))
++if test "x$with_postgresql" = "xyes"; then
++ PKG_CHECK_MODULES([POSTGRESQL], [libpq], [have_libpq=yes], [have_libpq=no])
++fi
++AM_CONDITIONAL([HAVE_POSTGRESQL],  [test "$have_libpq" = "yes"])
+ 
+-AC_ARG_ENABLE(pgresql,
+-[  --enable-pgresql               include radlib postgreSQL database support],
+-[case "${enableval}" in
+-  yes) pgresql=true ;;
+-  no)  pgresql=false ;;
+-  *) pgresql=false ;;
+-esac],[pgresql=false])
+-AM_CONDITIONAL(PGRESQL, test x$pgresql = xtrue)
++AC_ARG_WITH([mysql], AS_HELP_STRING([--with-mysql], [Build with mysql]))
++if test "x$with_mysql" = "xyes"; then
++        AC_PATH_PROG([MYSQL_CONFIG], [mysql_config])
++        if test "x$MYSQL_CONFIG" != "x";then
++                MYSQL_CFLAGS=`$MYSQL_CONFIG --cflags`
++                MYSQL_LIBS=`$MYSQL_CONFIG --libs`
++                AC_SUBST([MYSQL_CFLAGS])
++                AC_SUBST([MYSQL_LIBS])
++        fi
++fi
++AM_CONDITIONAL([HAVE_MYSQL],  [test "x$MYSQL_CONFIG" != "x"])
+ 
+-AC_ARG_ENABLE(sqlite,
+-[  --enable-sqlite                include radlib sqlite database support],
+-[case "${enableval}" in
+-  yes) sqlite=true ;;
+-  no)  sqlite=false ;;
+-  *) sqlite=false ;;
+-esac],[sqlite=false])
+-AM_CONDITIONAL(SQLITE, test x$sqlite = xtrue)
++AC_ARG_WITH([sqlite], AS_HELP_STRING([--with-sqlite], [Build with sqlite]))
++if test "x$with_sqlite" = "xyes"; then
++	PKG_CHECK_MODULES([SQLITE3], [sqlite3], [have_libsqlite3=yes], [have_libsqlite3=no])
++fi
++AM_CONDITIONAL([HAVE_SQLITE3],  [test "$have_libsqlite3" = "yes"])
+ 
+ # Check for big endian host:
+ AC_C_BIGENDIAN()
+diff --git a/debug/Makefile.am b/debug/Makefile.am
+index 00f3b13..fde57d5 100644
+--- a/debug/Makefile.am
++++ b/debug/Makefile.am
+@@ -4,7 +4,7 @@
+ bin_PROGRAMS = raddebug
+ 
+ # define include directories
+-INCLUDES = \
++AM_CFLAGS = \
+ 		-I$(top_srcdir)/h \
+ 		-D_GNU_SOURCE
+ 
+@@ -15,30 +15,8 @@ raddebug_SOURCES  = \
+ # define libraries
+ raddebug_LDADD   = -lrad -lpthread 
+ 
+-if MYSQL
+-raddebug_LDADD   += -lmysqlclient
+-else
+-if PGRESQL
+-raddebug_LDADD   += -lpq
+-endif
+-endif
+-if SQLITE
+-raddebug_LDADD   += -lsqlite3
+-endif
+-
+ # define library directories
+-raddebug_LDFLAGS = -L../src/.libs -L$(prefix)/lib -L/usr/lib
+-INCLUDES         += -I$(prefix)/include -I/usr/include
+-
+-if MYSQL
+-raddebug_LDFLAGS += -L$(prefix)/lib64/mysql -L$(prefix)/lib/mysql -L/usr/lib64/mysql -L/usr/lib/mysql
+-else
+-if PGRESQL
+-raddebug_LDFLAGS += -L$(prefix)/pgsql/lib
+-INCLUDES         += -I$(prefix)/pgsql/include
+-endif
+-endif
+-
+-if CROSSCOMPILE
+-raddebug_LDFLAGS += $(prefix)/lib/crt1.o $(prefix)/lib/crti.o $(prefix)/lib/crtn.o
+-endif
++raddebug_LDFLAGS = -L../src/.libs \
++		$(SQLITE3_LIBS) \
++		$(MYSQL_LIBS) \
++		$(POSTGRESQL_LIBS)
+diff --git a/msgRouter/Makefile.am b/msgRouter/Makefile.am
+index 5a20421..6f13a4e 100644
+--- a/msgRouter/Makefile.am
++++ b/msgRouter/Makefile.am
+@@ -4,7 +4,7 @@
+ bin_PROGRAMS = radmrouted
+ 
+ # define include directories
+-INCLUDES = \
++AM_CFLAGS = \
+ 		-I$(top_srcdir)/h \
+ 		-D_GNU_SOURCE
+ 
+@@ -13,32 +13,10 @@ radmrouted_SOURCES  = \
+ 		$(top_srcdir)/msgRouter/msgRouter.c
+ 
+ # define libraries
+-radmrouted_LDADD   = -lrad -lpthread
+-
+-if MYSQL
+-radmrouted_LDADD   += -lmysqlclient
+-else
+-if PGRESQL
+-radmrouted_LDADD   += -lpq
+-endif
+-endif
+-if SQLITE
+-radmrouted_LDADD   += -lsqlite3
+-endif
++radmrouted_LDADD  = -lrad -lpthread
+ 
+ # define library directories
+-radmrouted_LDFLAGS = -L../src/.libs -L$(prefix)/lib -L/usr/lib
+-INCLUDES           += -I$(prefix)/include -I/usr/include
+-
+-if MYSQL
+-radmrouted_LDFLAGS += -L$(prefix)/lib64/mysql -L$(prefix)/lib/mysql -L/usr/lib64/mysql -L/usr/lib/mysql
+-else
+-if PGRESQL
+-radmrouted_LDFLAGS += -L$(prefix)/lib -L$(prefix)/pgsql/lib
+-INCLUDES           += -I$(prefix)/pgsql/include
+-endif
+-endif
+-
+-if CROSSCOMPILE
+-radmrouted_LDFLAGS += $(prefix)/lib/crt1.o $(prefix)/lib/crti.o $(prefix)/lib/crtn.o
+-endif
++radmrouted_LDFLAGS = -L../src/.libs \
++			$(SQLITE3_LIBS) \
++			$(MYSQL_LIBS) \
++			$(POSTGRESQL_LIBS)
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 38b2ac8..25d16cf 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -12,45 +12,35 @@ SUBDIRS =
+ #define the library to be built
+ lib_LTLIBRARIES = librad.la
+ 
+-if MYSQL
+-MY_INCLUDES 	= \
+-		-I$(prefix)/include/mysql \
+-		-I/usr/include/mysql
+-MY_SOURCES  	= \
++if HAVE_MYSQL
++MYSQL_SOURCES  	= \
+ 		$(top_srcdir)/database/mysql/my_database.c \
+ 		$(top_srcdir)/src/raddatabase.c
+ MYSQL_HDRS	= \
+ 		$(top_srcdir)/h/raddatabase.h
+ endif
+-if PGRESQL
+-PG_INCLUDES 	= \
+-		-I$(prefix)/include \
+-		-I/usr/include
+-PG_SOURCES	= \
++if HAVE_POSTGRESQL
++PGSQL_SOURCES	= \
+ 		$(top_srcdir)/database/postgresql/pg_database.c \
+ 		$(top_srcdir)/src/raddatabase.c
+ PGSQL_HDRS	= \
+ 		$(top_srcdir)/h/raddatabase.h \
+ 		$(top_srcdir)/database/postgresql/_pg-types.h
+ endif
+-if SQLITE
+-SQ_INCLUDES 	= \
+-		-I$(prefix)/include \
+-		-I/usr/include
+-SQ_SOURCES	= \
++if HAVE_SQLITE3
++SQLITE_SOURCES	= \
+ 		$(top_srcdir)/src/radsqlite.c
+ SQLITE_HDRS	= \
+ 		$(top_srcdir)/h/radsqlite.h
+ endif
+ 
+ # define include directories
+-INCLUDES = \
++AM_CFLAGS = \
+ 		-I$(top_srcdir)/h \
+-		-I$(prefix)/include \
+ 		-D_GNU_SOURCE \
+-		$(MY_INCLUDES) \
+-		$(PG_INCLUDES) \
+-		$(SQ_INCLUDES)
++		$(MYSQL_CFLAGS) \
++		$(SQLITE3_CFLAGS) \
++		$(POSTGRESQL_CFLAGS)
+ 
+ 
+ 
+@@ -86,9 +76,9 @@ librad_la_SOURCES  = \
+ 		$(top_srcdir)/src/radtimers.c \
+ 		$(top_srcdir)/src/radtimeUtils.c \
+ 		$(top_srcdir)/src/radUDPsocket.c \
+-		$(MY_SOURCES) \
+-		$(PG_SOURCES) \
+-		$(SQ_SOURCES)
++		$(MYSQL_SOURCES) \
++		$(PGSQL_SOURCES) \
++		$(SQLITE_SOURCES)
+ 
+ 
+ # define the header files we install for the library
+-- 
+2.4.3
+
-- 
2.4.11

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

* [Buildroot] [PATCH v4 1/3] package/radlib: kconfig and makefile
  2016-04-06 13:19 ` [Buildroot] [PATCH v4 1/3] package/radlib: kconfig and makefile ray.kinsella at intel.com
@ 2016-04-06 22:20   ` Arnout Vandecappelle
  2016-04-07 11:04     ` Kinsella, Ray
  0 siblings, 1 reply; 15+ messages in thread
From: Arnout Vandecappelle @ 2016-04-06 22:20 UTC (permalink / raw)
  To: buildroot

  Very quick feedback, not a detailed review.

  First of all, the three patches should be squashed into one, because all three 
are needed to have a functional package. Otherwise, the build would be broken 
between the patches.

On 04/06/16 15:19, ray.kinsella at intel.com wrote:
> From: Ray Kinsella <ray.kinsella@intel.com>
>
> Add new package for radlib including kconfig and makefile. The makefile
> includes a choice depending on which database backends are enabled.
>
> Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
> ---
>   package/Config.in          |  1 +
>   package/radlib/Config.in   | 37 +++++++++++++++++++++++++++++++++++++
>   package/radlib/radlib.hash |  2 ++
>   package/radlib/radlib.mk   | 28 ++++++++++++++++++++++++++++
>   4 files changed, 68 insertions(+)
>   create mode 100644 package/radlib/Config.in
>   create mode 100644 package/radlib/radlib.hash
>   create mode 100644 package/radlib/radlib.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 64822bf..6c59556 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1262,6 +1262,7 @@ endif
>   	source "package/protobuf-c/Config.in"
>   	source "package/qhull/Config.in"
>   	source "package/qlibc/Config.in"
> +	source "package/radlib/Config.in"
>   	source "package/startup-notification/Config.in"
>   	source "package/tz/Config.in"
>   	source "package/tzdata/Config.in"
> diff --git a/package/radlib/Config.in b/package/radlib/Config.in
> new file mode 100644
> index 0000000..e77e03c
> --- /dev/null
> +++ b/package/radlib/Config.in
> @@ -0,0 +1,37 @@
> +config BR2_PACKAGE_RADLIB
> +	bool "radlib"
> +	help
> +	  radlib is a rapid application development library for unix
> +	  multi-process applications. It uses SYS V IPC facilities and
> +	  FIFOs to provide an RTOS-like, event-driven, distributed framework.
> +	  Processes may be run as daemons or have a controlling terminal.
> +	
> +	  http://sourceforge.net/projects/radlib/
> +
> +choice
> +	prompt "radlib database backend"
> +	depends on BR2_PACKAGE_RADLIB

  We generally prefer to have a big if...endif construct, because that is easier 
to extend with additional options.

  However, do we really need this choice? Isn't it possible to build radlib with 
support for multiple databases?

> +	depends on BR2_PACKAGE_SQLITE \
> +		|| BR2_PACKAGE_MYSQL \
> +		|| BR2_PACKAGE_POSTGRESQL
> +	help$

  Stray $

> +		Selects the backend database: sqlite, mysql or postgresql

  Indentation should be one tab + 2 spaces; same below.

> +
> +config BR2_PACKAGE_RADLIB_SQLITE
> +	bool "sqlite"
> +	depends on BR2_PACKAGE_SQLITE
> +	help
> +		Configure radlib to use a sqlite database backend
> +
> +config BR2_PACKAGE_RADLIB_MYSQL
> +	bool "mysql"
> +	depends on BR2_PACKAGE_MYSQL
> +	help
> +		Configure radlib to use a mysql database backend
> +
> +config BR2_PACKAGE_RADLIB_POSTGRESQL
> +	bool "postgresql"
> +	depends on BR2_PACKAGE_POSTGRESQL
> +	help
> +		Configure radlib to use a postgresql database backend

  Add an empty line here.

> +endchoice
> diff --git a/package/radlib/radlib.hash b/package/radlib/radlib.hash
> new file mode 100644
> index 0000000..2fbfbba
> --- /dev/null
> +++ b/package/radlib/radlib.hash
> @@ -0,0 +1,2 @@
> +# From http://sourceforge.net/projects/radlib/files/
> +sha256  82b98bb5e08a500dea1e4252843b9c772fa1fb67ac8ab89ed64abdd5e22eca66  radlib-2.12.0.tar.gz
> diff --git a/package/radlib/radlib.mk b/package/radlib/radlib.mk
> new file mode 100644
> index 0000000..5ff55ac
> --- /dev/null
> +++ b/package/radlib/radlib.mk
> @@ -0,0 +1,28 @@
> +################################################################################
> +#
> +# radlib
> +#
> +################################################################################
> +
> +RADLIB_VERSION = 2.12.0
> +RADLIB_SITE = http://downloads.sourceforge.net/radlib
> +RADLIB_INSTALL_STAGING = YES
> +RADLIB_LICENSE = BSD-2c
> +RADLIB_LICENSE_FILES = COPYING
> +RADLIB_AUTORECONF = YES
> +RADLIB_DEPENDENCIES = host-pkgconf
> +
> +ifeq ($(BR2_PACKAGE_RADLIB_SQLITE),y)
> +	RADLIB_CONF_OPTS += --with-sqlite

  Don't indent.

  Shouldn't there also be a RADLIB_DEPENDENCIES += sqlite ?

  Also add

else
RADLIB_CONF_OPTS += --without-sqlite

(unless if that doesn't work of course; it if doesn't, mention it in the commit 
message).


  Regards,
  Arnout

> +endif
> +
> +ifeq ($(BR2_PACKAGE_RADLIB_MYSQL),y)
> +	RADLIB_CONF_ENV=ac_cv_path_MYSQL_CONFIG="$(STAGING_DIR)/usr/bin/mysql_config"
> +	RADLIB_CONF_OPTS += --with-mysql
> +endif
> +
> +ifeq ($(BR2_PACKAGE_RADLIB_POSTGRESQL),y)
> +	RADLIB_CONF_OPTS += --with-postgresql
> +endif
> +
> +$(eval $(autotools-package))
>


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

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

* [Buildroot] [PATCH v4 2/3] package/radlib: Renamed configure.in to configure.ac
  2016-04-06 13:19 ` [Buildroot] [PATCH v4 2/3] package/radlib: Renamed configure.in to configure.ac ray.kinsella at intel.com
@ 2016-04-06 22:22   ` Arnout Vandecappelle
  2016-04-07 12:04     ` Kinsella, Ray
  0 siblings, 1 reply; 15+ messages in thread
From: Arnout Vandecappelle @ 2016-04-06 22:22 UTC (permalink / raw)
  To: buildroot

On 04/06/16 15:19, ray.kinsella at intel.com wrote:
> From: Ray Kinsella <ray.kinsella@intel.com>
>
> configure.ac is now standard for autotools, this supresses a
> warning on autoreconf.

  If it is just a warning, then this patch isn't needed.

  If it really is needed, it's better to do it as a hook:

define RADLIB_RENAME_CONFIGURE_IN
	mv $(@D)/configure.in $(@D)/configure.ac
endef

RADLIB_POST_PATCH_HOOKS += RADLIB_RENAME_CONFIGURE_IN

  That said, it's still a good idea to upstream this patch.

  Regards,
  Arnout

>
> Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
> ---
>   ...dlib-renamed-configure.in-to-configure.ac.patch | 213 +++++++++++++++++++++
>   1 file changed, 213 insertions(+)
>   create mode 100644 package/radlib/0001-radlib-renamed-configure.in-to-configure.ac.patch
>
> diff --git a/package/radlib/0001-radlib-renamed-configure.in-to-configure.ac.patch b/package/radlib/0001-radlib-renamed-configure.in-to-configure.ac.patch
> new file mode 100644
> index 0000000..c808ba7
> --- /dev/null
> +++ b/package/radlib/0001-radlib-renamed-configure.in-to-configure.ac.patch
> @@ -0,0 +1,213 @@
> +From d3a51cf6492e062383dd49ee604aa1f77cdd47b0 Mon Sep 17 00:00:00 2001
> +From: Ray Kinsella <ray.kinsella@intel.com>
> +Date: Wed, 6 Apr 2016 11:23:45 +0100
> +Subject: [PATCH 1/2] radlib: renamed configure.in to configure.ac
> +
> +configure.ac is now standard for autotools, this supresses a warning on
> +autoreconf
> +
> +Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
> +---
> + configure.ac | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> + configure.in | 91 ------------------------------------------------------------
> + 2 files changed, 91 insertions(+), 91 deletions(-)
> + create mode 100644 configure.ac
> + delete mode 100644 configure.in
[snip]


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

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

* [Buildroot] [PATCH v4 3/3] package/radlib: reworked autotools with pkg-config
  2016-04-06 13:19 ` [Buildroot] [PATCH v4 3/3] package/radlib: reworked autotools with pkg-config ray.kinsella at intel.com
@ 2016-04-06 22:36   ` Arnout Vandecappelle
  2016-04-07 12:03     ` Kinsella, Ray
  0 siblings, 1 reply; 15+ messages in thread
From: Arnout Vandecappelle @ 2016-04-06 22:36 UTC (permalink / raw)
  To: buildroot

On 04/06/16 15:19, ray.kinsella at intel.com wrote:
> From: Ray Kinsella <ray.kinsella@intel.com>
>
> Reworked the autools implementation to use pkg-config and mysql-config.
>
> Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
> ---
>   ...radlib-reworked-autotools-with-pkg-config.patch | 252 +++++++++++++++++++++
>   1 file changed, 252 insertions(+)
>   create mode 100644 package/radlib/0002-radlib-reworked-autotools-with-pkg-config.patch
>
> diff --git a/package/radlib/0002-radlib-reworked-autotools-with-pkg-config.patch b/package/radlib/0002-radlib-reworked-autotools-with-pkg-config.patch
> new file mode 100644
> index 0000000..3410fcb
> --- /dev/null
> +++ b/package/radlib/0002-radlib-reworked-autotools-with-pkg-config.patch
> @@ -0,0 +1,252 @@
> +From 832855f6942fea66a39c738865484e57a8f97169 Mon Sep 17 00:00:00 2001
> +From: Ray Kinsella <ray.kinsella@intel.com>
> +Date: Wed, 6 Apr 2016 11:25:40 +0100
> +Subject: [PATCH 2/2] radlib: reworked autotools with pkg-config
> +
> +Reworked the autools implementation to use pkg-config and mysql-config.

  Do this in three separate patches: one that sets subdir-objects, one that adds 
pkg-config, and one that adds mysql-config.

> +
> +Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
> +---
> + configure.ac          | 47 ++++++++++++++++++++++-------------------------
> + debug/Makefile.am     | 32 +++++---------------------------
> + msgRouter/Makefile.am | 34 ++++++----------------------------
> + src/Makefile.am       | 36 +++++++++++++-----------------------
> + 4 files changed, 46 insertions(+), 103 deletions(-)
> +
> +diff --git a/configure.ac b/configure.ac
> +index 47e507e..ba493f5 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -3,35 +3,32 @@
> + AC_PREREQ(2.5)
> + AC_INIT([radlib],[2.12.0],[mteel2005 at gmail.com])
> + AC_CONFIG_SRCDIR([h/radmsgLog.h])
> +-AM_INIT_AUTOMAKE([radlib],[2.12.0])
> ++AM_INIT_AUTOMAKE([subdir-objects])
> + AM_CONFIG_HEADER([config.h])
> +
> +-AC_ARG_ENABLE(mysql,
> +-[  --enable-mysql                 include radlib MySQL database support],

  Why would you remove this? An enable option is as good as a with option.

> +-[case "${enableval}" in
> +-  yes) mysql=true ;;
> +-  no)  mysql=false ;;
> +-  *) mysql=false ;;
> +-esac],[mysql=false])

  So you keep the above, and here just add

if test x"$mysql" = xtrue; then
   AC_PATH_PROG(...)
   if test "x$MYSQL_CONFIG" != "x"; then
     ...
   else
     mysql=false
   fi
fi

(indentation in this file seems to be with two spaces instead of tabs).

  And of course the same story for pg.


> +-AM_CONDITIONAL(MYSQL, test x$mysql = xtrue)

  Keep this, there is no reason to replace it by HAVE_MYSQL.

> ++AC_ARG_WITH([postgresql], AS_HELP_STRING([--with-postgresql], [Build with postgresql]))
> ++if test "x$with_postgresql" = "xyes"; then
> ++ PKG_CHECK_MODULES([POSTGRESQL], [libpq], [have_libpq=yes], [have_libpq=no])
> ++fi
> ++AM_CONDITIONAL([HAVE_POSTGRESQL],  [test "$have_libpq" = "yes"])
> +
> +-AC_ARG_ENABLE(pgresql,
> +-[  --enable-pgresql               include radlib postgreSQL database support],
> +-[case "${enableval}" in
> +-  yes) pgresql=true ;;
> +-  no)  pgresql=false ;;
> +-  *) pgresql=false ;;
> +-esac],[pgresql=false])
> +-AM_CONDITIONAL(PGRESQL, test x$pgresql = xtrue)
> ++AC_ARG_WITH([mysql], AS_HELP_STRING([--with-mysql], [Build with mysql]))
> ++if test "x$with_mysql" = "xyes"; then
> ++        AC_PATH_PROG([MYSQL_CONFIG], [mysql_config])
> ++        if test "x$MYSQL_CONFIG" != "x";then
> ++                MYSQL_CFLAGS=`$MYSQL_CONFIG --cflags`
> ++                MYSQL_LIBS=`$MYSQL_CONFIG --libs`
> ++                AC_SUBST([MYSQL_CFLAGS])
> ++                AC_SUBST([MYSQL_LIBS])
> ++        fi
> ++fi
> ++AM_CONDITIONAL([HAVE_MYSQL],  [test "x$MYSQL_CONFIG" != "x"])
> +
> +-AC_ARG_ENABLE(sqlite,
> +-[  --enable-sqlite                include radlib sqlite database support],
> +-[case "${enableval}" in
> +-  yes) sqlite=true ;;
> +-  no)  sqlite=false ;;
> +-  *) sqlite=false ;;
> +-esac],[sqlite=false])
> +-AM_CONDITIONAL(SQLITE, test x$sqlite = xtrue)
> ++AC_ARG_WITH([sqlite], AS_HELP_STRING([--with-sqlite], [Build with sqlite]))
> ++if test "x$with_sqlite" = "xyes"; then
> ++	PKG_CHECK_MODULES([SQLITE3], [sqlite3], [have_libsqlite3=yes], [have_libsqlite3=no])
> ++fi
> ++AM_CONDITIONAL([HAVE_SQLITE3],  [test "$have_libsqlite3" = "yes"])
> +
> + # Check for big endian host:
> + AC_C_BIGENDIAN()
> +diff --git a/debug/Makefile.am b/debug/Makefile.am
> +index 00f3b13..fde57d5 100644
> +--- a/debug/Makefile.am
> ++++ b/debug/Makefile.am
> +@@ -4,7 +4,7 @@
> + bin_PROGRAMS = raddebug
> +
> + # define include directories
> +-INCLUDES = \
> ++AM_CFLAGS = \

  Why does this need to be changed?

> + 		-I$(top_srcdir)/h \
> + 		-D_GNU_SOURCE
> +

  Did you forget to add $(SQLITE3_CFLAGS) etc?

> +@@ -15,30 +15,8 @@ raddebug_SOURCES  = \
> + # define libraries
> + raddebug_LDADD   = -lrad -lpthread
> +
> +-if MYSQL
> +-raddebug_LDADD   += -lmysqlclient
> +-else
> +-if PGRESQL
> +-raddebug_LDADD   += -lpq
> +-endif
> +-endif
> +-if SQLITE
> +-raddebug_LDADD   += -lsqlite3
> +-endif
> +-
> + # define library directories
> +-raddebug_LDFLAGS = -L../src/.libs -L$(prefix)/lib -L/usr/lib
> +-INCLUDES         += -I$(prefix)/include -I/usr/include
> +-
> +-if MYSQL
> +-raddebug_LDFLAGS += -L$(prefix)/lib64/mysql -L$(prefix)/lib/mysql -L/usr/lib64/mysql -L/usr/lib/mysql
> +-else
> +-if PGRESQL
> +-raddebug_LDFLAGS += -L$(prefix)/pgsql/lib
> +-INCLUDES         += -I$(prefix)/pgsql/include
> +-endif
> +-endif
> +-
> +-if CROSSCOMPILE
> +-raddebug_LDFLAGS += $(prefix)/lib/crt1.o $(prefix)/lib/crti.o $(prefix)/lib/crtn.o
> +-endif

  Removing the CROSSCOMPILE part should be a separate patch.

> ++raddebug_LDFLAGS = -L../src/.libs \
> ++		$(SQLITE3_LIBS) \
> ++		$(MYSQL_LIBS) \
> ++		$(POSTGRESQL_LIBS)
> +diff --git a/msgRouter/Makefile.am b/msgRouter/Makefile.am
[snip]

  Same here.

> +diff --git a/src/Makefile.am b/src/Makefile.am
[snip]

  Same here.



  Regards,
  Arnout

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

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

* [Buildroot] [PATCH v4 1/3] package/radlib: kconfig and makefile
  2016-04-06 22:20   ` Arnout Vandecappelle
@ 2016-04-07 11:04     ` Kinsella, Ray
  2016-04-07 15:25       ` Arnout Vandecappelle
  0 siblings, 1 reply; 15+ messages in thread
From: Kinsella, Ray @ 2016-04-07 11:04 UTC (permalink / raw)
  To: buildroot

Hi Arnout,

On Thu, 2016-04-07 at 00:20 +0200, Arnout Vandecappelle wrote:
>   Very quick feedback, not a detailed review.
> 
>   First of all, the three patches should be squashed into one,
> because all three
> are needed to have a functional package. Otherwise, the build would
> be broken
> between the patches.
> 

Confused, just doing what I was asked in the previous review. 
Can you offer a little more guidance on how I should structure. 

Agree that you need all the pieces for a functional package. 

On Tue, 2016-03-29 at 20:07 +0200, Thomas Petazzoni wrote:
> Hello,
> So you're doing three different things. Which calls for three
> different
> patches.
> 
> I'll do a full review once you send it with git send-email, because
> the
> line wrapping makes it really hard to follow.

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

* [Buildroot] [PATCH v4 3/3] package/radlib: reworked autotools with pkg-config
  2016-04-06 22:36   ` Arnout Vandecappelle
@ 2016-04-07 12:03     ` Kinsella, Ray
  2016-04-07 15:39       ` Arnout Vandecappelle
  0 siblings, 1 reply; 15+ messages in thread
From: Kinsella, Ray @ 2016-04-07 12:03 UTC (permalink / raw)
  To: buildroot

On Thu, 2016-04-07 at 00:36 +0200, Arnout Vandecappelle wrote:
> Do this in three separate patches: one that sets subdir-objects, one
> that adds 
> pkg-config, and one that adds mysql-config.

Ok then, use a hook for the rename. 

Might make more sense to do one patch for pkg-config with subdir
-objects, because these are linked - which subdir objects you get
depends on pkg-config?

And then another patch for mysql-config. So two patches?

> 
> > +-AC_ARG_ENABLE(mysql,
> > +-[  --enable-mysql                 include radlib MySQL database
> > support],
> 
>   Why would you remove this? An enable option is as good as a with
> option.

The original feedback I got was that the autotools implementation for
radlib was hopelessly screwed up. I was trying to strike a balance
between limiting changes but improving the overall flows. 

I used with 'with' instead of 'enable' because of the semantics ...

If a package _must_ be available on the platform for it available to
choose then 'with' makes more sense than 'enable'. Radlib supports more
than one back end so selecting a backend by indicating 'with' made more
sense to me. 'enable' is typically for features whereas 'with', is
typically used to indicate building 'with' a given package. 

That said I am agnoistic, I am happy to revert to AC_ARG_ENABLE to
reduce the patch. 

> 
> > +-[case "${enableval}" in
> > +-  yes) mysql=true ;;
> > +-  no)  mysql=false ;;
> > +-  *) mysql=false ;;
> > +-esac],[mysql=false])
> 
>   So you keep the above, and here just add
> 
> if test x"$mysql" = xtrue; then
>    AC_PATH_PROG(...)
>    if test "x$MYSQL_CONFIG" != "x"; then
>      ...
>    else
>      mysql=false
>    fi
> fi
> 
> (indentation in this file seems to be with two spaces instead of
> tabs).

np, will fix. 

> 
>   And of course the same story for pg.

ok.

> > +-AM_CONDITIONAL(MYSQL, test x$mysql = xtrue)
> 
>   Keep this, there is no reason to replace it by HAVE_MYSQL.

Ok - I am pretty sure I got feedback to change these conditionals to
HAVE_, but no problem I can fix. 


> > + # define include directories
> > +-INCLUDES = \
> > ++AM_CFLAGS = \
> 
>   Why does this need to be changed?

I will investigate ...
The original INCLUDES was pulling in host directories. 
Not sure why the switch to AM_CFLAGS

> 
> > + 		-I$(top_srcdir)/h \
> > + 		-D_GNU_SOURCE
> > +
> 
>   Did you forget to add $(SQLITE3_CFLAGS) etc?

nope, no special include is needed for SQLITE.


>   Removing the CROSSCOMPILE part should be a separate patch.

ok

> 
> > ++raddebug_LDFLAGS = -L../src/.libs \
> > ++		$(SQLITE3_LIBS) \
> > ++		$(MYSQL_LIBS) \
> > ++		$(POSTGRESQL_LIBS)
> > +diff --git a/msgRouter/Makefile.am b/msgRouter/Makefile.am
> [snip]
> 
>   Same here.
> 
> > +diff --git a/src/Makefile.am b/src/Makefile.am
> [snip]
> 
>   Same here.
> 
> 
> 
>   Regards,
>   Arnout
> 

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

* [Buildroot] [PATCH v4 2/3] package/radlib: Renamed configure.in to configure.ac
  2016-04-06 22:22   ` Arnout Vandecappelle
@ 2016-04-07 12:04     ` Kinsella, Ray
  0 siblings, 0 replies; 15+ messages in thread
From: Kinsella, Ray @ 2016-04-07 12:04 UTC (permalink / raw)
  To: buildroot


ok, I will check.

On Thu, 2016-04-07 at 00:22 +0200, Arnout Vandecappelle wrote:
> On 04/06/16 15:19, ray.kinsella at intel.com wrote:
> > From: Ray Kinsella <ray.kinsella@intel.com>
> > 
> > configure.ac is now standard for autotools, this supresses a
> > warning on autoreconf.
> 
>   If it is just a warning, then this patch isn't needed.
> 
>   If it really is needed, it's better to do it as a hook:
> 
> define RADLIB_RENAME_CONFIGURE_IN
> 	mv $(@D)/configure.in $(@D)/configure.ac
> endef
> 
> RADLIB_POST_PATCH_HOOKS += RADLIB_RENAME_CONFIGURE_IN
> 
>   That said, it's still a good idea to upstream this patch.
> 
>   Regards,
>   Arnout
> 
> > 
> > Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
> > ---
> >   ...dlib-renamed-configure.in-to-configure.ac.patch | 213
> > +++++++++++++++++++++
> >   1 file changed, 213 insertions(+)
> >   create mode 100644 package/radlib/0001-radlib-renamed
> > -configure.in-to-configure.ac.patch
> > 
> > diff --git a/package/radlib/0001-radlib-renamed-configure.in-to
> > -configure.ac.patch b/package/radlib/0001-radlib-renamed
> > -configure.in-to-configure.ac.patch
> > new file mode 100644
> > index 0000000..c808ba7
> > --- /dev/null
> > +++ b/package/radlib/0001-radlib-renamed-configure.in-to
> > -configure.ac.patch
> > @@ -0,0 +1,213 @@
> > +From d3a51cf6492e062383dd49ee604aa1f77cdd47b0 Mon Sep 17 00:00:00
> > 2001
> > +From: Ray Kinsella <ray.kinsella@intel.com>
> > +Date: Wed, 6 Apr 2016 11:23:45 +0100
> > +Subject: [PATCH 1/2] radlib: renamed configure.in to configure.ac
> > +
> > +configure.ac is now standard for autotools, this supresses a
> > warning on
> > +autoreconf
> > +
> > +Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
> > +---
> > + configure.ac | 91
> > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> > + configure.in | 91 -----------------------------------------------
> > -------------
> > + 2 files changed, 91 insertions(+), 91 deletions(-)
> > + create mode 100644 configure.ac
> > + delete mode 100644 configure.in
> [snip]
> 
> 

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

* [Buildroot] [PATCH v4 1/3] package/radlib: kconfig and makefile
  2016-04-07 11:04     ` Kinsella, Ray
@ 2016-04-07 15:25       ` Arnout Vandecappelle
  2016-04-07 16:36         ` Kinsella, Ray
  0 siblings, 1 reply; 15+ messages in thread
From: Arnout Vandecappelle @ 2016-04-07 15:25 UTC (permalink / raw)
  To: buildroot

On 04/07/16 13:04, Kinsella, Ray wrote:
> Hi Arnout,
>
> On Thu, 2016-04-07 at 00:20 +0200, Arnout Vandecappelle wrote:
>>    Very quick feedback, not a detailed review.
>>
>>    First of all, the three patches should be squashed into one,
>> because all three
>> are needed to have a functional package. Otherwise, the build would
>> be broken
>> between the patches.
>>
>
> Confused, just doing what I was asked in the previous review.
> Can you offer a little more guidance on how I should structure.

  You misunderstood the patches that Thomas was refering to. There should be a 
single PATCH v5 that you send to the buildroot mailing list, which contains 
Config.in, radlib.mk, radlib.hash, and at least 3 ....patch files.

  Regards,
  Arnout

>
> Agree that you need all the pieces for a functional package.
>
> On Tue, 2016-03-29 at 20:07 +0200, Thomas Petazzoni wrote:
>> Hello,
>> So you're doing three different things. Which calls for three
>> different
>> patches.
>>
>> I'll do a full review once you send it with git send-email, because
>> the
>> line wrapping makes it really hard to follow.
>
>


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

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

* [Buildroot] [PATCH v4 3/3] package/radlib: reworked autotools with pkg-config
  2016-04-07 12:03     ` Kinsella, Ray
@ 2016-04-07 15:39       ` Arnout Vandecappelle
  0 siblings, 0 replies; 15+ messages in thread
From: Arnout Vandecappelle @ 2016-04-07 15:39 UTC (permalink / raw)
  To: buildroot

On 04/07/16 14:03, Kinsella, Ray wrote:
> On Thu, 2016-04-07 at 00:36 +0200, Arnout Vandecappelle wrote:
>> Do this in three separate patches: one that sets subdir-objects, one
>> that adds
>> pkg-config, and one that adds mysql-config.
>
> Ok then, use a hook for the rename.
>
> Might make more sense to do one patch for pkg-config with subdir
> -objects, because these are linked - which subdir objects you get
> depends on pkg-config?

  Er, subdir-objects is just an option that is needed for recent autoconf when 
you have directories without Makefile.am. Doesn't have anything to do with 
pkg-config AFAIK.

>
> And then another patch for mysql-config. So two patches?
>
>>
>>> +-AC_ARG_ENABLE(mysql,
>>> +-[  --enable-mysql                 include radlib MySQL database
>>> support],
>>
>>    Why would you remove this? An enable option is as good as a with
>> option.
>
> The original feedback I got was that the autotools implementation for
> radlib was hopelessly screwed up. I was trying to strike a balance
> between limiting changes but improving the overall flows.

  From who did you get that feedback? Thomas wrote that the Makefile.am 
contained some weird stuff, but that's a bit separate.

>
> I used with 'with' instead of 'enable' because of the semantics ...
>
> If a package _must_ be available on the platform for it available to
> choose then 'with' makes more sense than 'enable'. Radlib supports more
> than one back end so selecting a backend by indicating 'with' made more
> sense to me. 'enable' is typically for features whereas 'with', is
> typically used to indicate building 'with' a given package.

  Well, your Config.in didn't express that at least one database must be 
selected, and also your original replies to Thomas didn't say that, so I assumed 
that the databases were indeed optional. But even if they are not optional, I 
wouldn't bother changing the enable in a with.

>
> That said I am agnoistic, I am happy to revert to AC_ARG_ENABLE to
> reduce the patch.
>
[snip]
>>> +-AM_CONDITIONAL(MYSQL, test x$mysql = xtrue)
>>
>>    Keep this, there is no reason to replace it by HAVE_MYSQL.
>
> Ok - I am pretty sure I got feedback to change these conditionals to
> HAVE_, but no problem I can fix.

  I looked back at Thomas's original comments and couldn't find anything 
suggesting that.

>
>
>>> + # define include directories
>>> +-INCLUDES = \
>>> ++AM_CFLAGS = \
>>
>>    Why does this need to be changed?
>
> I will investigate ...
> The original INCLUDES was pulling in host directories.
> Not sure why the switch to AM_CFLAGS
>
>>
>>> + 		-I$(top_srcdir)/h \
>>> + 		-D_GNU_SOURCE
>>> +
>>
>>    Did you forget to add $(SQLITE3_CFLAGS) etc?
>
> nope, no special include is needed for SQLITE.

  Well, that's because in buildroot we install everything in /usr/include, so no 
-I option is needed. But you can't assume that in general, so you will need 
SQLITE3_CFLAGS for upstream.

>
>
>>    Removing the CROSSCOMPILE part should be a separate patch.
>
> ok

  Just to be clear: I mean a separate .patch file, not a separate commit in 
buildroot.git.


  Regards,
  Arnout

[snip]
-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

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

* [Buildroot] [PATCH v4 1/3] package/radlib: kconfig and makefile
  2016-04-07 15:25       ` Arnout Vandecappelle
@ 2016-04-07 16:36         ` Kinsella, Ray
  2016-04-10 14:59           ` Arnout Vandecappelle
  0 siblings, 1 reply; 15+ messages in thread
From: Kinsella, Ray @ 2016-04-07 16:36 UTC (permalink / raw)
  To: buildroot

On Thu, 2016-04-07 at 17:25 +0200, Arnout Vandecappelle wrote:
> > Confused, just doing what I was asked in the previous review.
> > Can you offer a little more guidance on how I should structure.
> 
>   You misunderstood the patches that Thomas was refering to. There
> should be a 
> single PATCH v5 that you send to the buildroot mailing list, which
> contains 
> Config.in, radlib.mk, radlib.hash, and at least 3 ....patch files.

ok I get it ... your point about the build being broken between patches
makes perfect sense. 

So a single email PATCH v3 patching radlib.mk, Config.in, radlib.hash 
and three patches. On the 3 patches, can we define what these look
like... 

1. Patch to introduce pkg-config for sqlite and postgresql.
2. Patch to introduce mysql-config.
3. Patch to fix the paths in the subdir-objects.

Accurate, make sense?

Ray k

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

* [Buildroot] [PATCH v4 1/3] package/radlib: kconfig and makefile
  2016-04-07 16:36         ` Kinsella, Ray
@ 2016-04-10 14:59           ` Arnout Vandecappelle
  2016-04-11  8:45             ` Kinsella, Ray
  0 siblings, 1 reply; 15+ messages in thread
From: Arnout Vandecappelle @ 2016-04-10 14:59 UTC (permalink / raw)
  To: buildroot

On 04/07/16 18:36, Kinsella, Ray wrote:
> On Thu, 2016-04-07 at 17:25 +0200, Arnout Vandecappelle wrote:
>>> Confused, just doing what I was asked in the previous review.
>>> Can you offer a little more guidance on how I should structure.
>>
>>    You misunderstood the patches that Thomas was refering to. There
>> should be a
>> single PATCH v5 that you send to the buildroot mailing list, which
>> contains
>> Config.in, radlib.mk, radlib.hash, and at least 3 ....patch files.
>
> ok I get it ... your point about the build being broken between patches
> makes perfect sense.
>
> So a single email PATCH v3 patching radlib.mk, Config.in, radlib.hash
> and three patches. On the 3 patches, can we define what these look
> like...
>
> 1. Patch to introduce pkg-config for sqlite and postgresql.
> 2. Patch to introduce mysql-config.
> 3. Patch to fix the paths in the subdir-objects.
>
> Accurate, make sense?

  Yes, makes sense.

  Regards,
  Arnout


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

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

* [Buildroot] [PATCH v4 1/3] package/radlib: kconfig and makefile
  2016-04-10 14:59           ` Arnout Vandecappelle
@ 2016-04-11  8:45             ` Kinsella, Ray
  0 siblings, 0 replies; 15+ messages in thread
From: Kinsella, Ray @ 2016-04-11  8:45 UTC (permalink / raw)
  To: buildroot

Thanks Arnout.

Ray K

On Sun, 2016-04-10 at 16:59 +0200, Arnout Vandecappelle wrote:
> On 04/07/16 18:36, Kinsella, Ray wrote:
> > On Thu, 2016-04-07 at 17:25 +0200, Arnout Vandecappelle wrote:
> > > > Confused, just doing what I was asked in the previous review.
> > > > Can you offer a little more guidance on how I should structure.
> > > 
> > >    You misunderstood the patches that Thomas was refering to.
> > > There
> > > should be a
> > > single PATCH v5 that you send to the buildroot mailing list,
> > > which
> > > contains
> > > Config.in, radlib.mk, radlib.hash, and at least 3 ....patch
> > > files.
> > 
> > ok I get it ... your point about the build being broken between
> > patches
> > makes perfect sense.
> > 
> > So a single email PATCH v3 patching radlib.mk, Config.in,
> > radlib.hash
> > and three patches. On the 3 patches, can we define what these look
> > like...
> > 
> > 1. Patch to introduce pkg-config for sqlite and postgresql.
> > 2. Patch to introduce mysql-config.
> > 3. Patch to fix the paths in the subdir-objects.
> > 
> > Accurate, make sense?
> 
>   Yes, makes sense.
> 
>   Regards,
>   Arnout
> 
> 

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

end of thread, other threads:[~2016-04-11  8:45 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-06 13:19 [Buildroot] [PATCH v4 0/3] package/radlib: new package ray.kinsella at intel.com
2016-04-06 13:19 ` [Buildroot] [PATCH v4 1/3] package/radlib: kconfig and makefile ray.kinsella at intel.com
2016-04-06 22:20   ` Arnout Vandecappelle
2016-04-07 11:04     ` Kinsella, Ray
2016-04-07 15:25       ` Arnout Vandecappelle
2016-04-07 16:36         ` Kinsella, Ray
2016-04-10 14:59           ` Arnout Vandecappelle
2016-04-11  8:45             ` Kinsella, Ray
2016-04-06 13:19 ` [Buildroot] [PATCH v4 2/3] package/radlib: Renamed configure.in to configure.ac ray.kinsella at intel.com
2016-04-06 22:22   ` Arnout Vandecappelle
2016-04-07 12:04     ` Kinsella, Ray
2016-04-06 13:19 ` [Buildroot] [PATCH v4 3/3] package/radlib: reworked autotools with pkg-config ray.kinsella at intel.com
2016-04-06 22:36   ` Arnout Vandecappelle
2016-04-07 12:03     ` Kinsella, Ray
2016-04-07 15:39       ` Arnout Vandecappelle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.