* [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.