public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Kamil Debski <k.debski@samsung.com>
To: 'Emil Velikov' <emil.l.velikov@gmail.com>
Cc: 'ML dri-devel' <dri-devel@lists.freedesktop.org>,
	linux-media@vger.kernel.org,
	"'moderated list:ARM/S5P EXYNOS AR...'"
	<linux-samsung-soc@vger.kernel.org>,
	sean@mess.org, mchehab@osg.samsung.com,
	dmitry.torokhov@gmail.com, lars@opdenkamp.eu,
	'Kyungmin Park' <kyungmin.park@samsung.com>,
	thomas@tommie-lie.de, linux-input@vger.kernel.org,
	'Marek Szyprowski' <m.szyprowski@samsung.com>
Subject: RE: [PATCH] libgencec: Add userspace library for the generic CEC kernel interface
Date: Thu, 30 Apr 2015 12:25:11 +0200	[thread overview]
Message-ID: <"0af301d0832f$f0ffec70$d2ffc550$@debski"@samsung.com> (raw)
In-Reply-To: <CACvgo52hDYpgv2FY8X-O7SC=+2YMn7osHt_V=NJxP+4REaw1=Q@mail.gmail.com>

Hi Emil,

From: linux-media-owner@vger.kernel.org [mailto:linux-media-
owner@vger.kernel.org] On Behalf Of Emil Velikov
Sent: Wednesday, April 29, 2015 5:00 PM
> 
> Hi Kamil,
> 
> Allow me to put a few suggestions:
> 
> On 29 April 2015 at 11:02, Kamil Debski <k.debski@samsung.com> wrote:
> > This is the first version of the libGenCEC library. It was designed
> to
> > act as an interface between the generic CEC kernel API and userspace
> > applications. It provides a simple interface for applications and an
> > example application that can be used to test the CEC functionality.
> >
> > signed-off-by: Kamil Debski <k.debski@samsung.com>
> > ---
> >  AUTHORS              |    1 +
> >  INSTALL              |    9 +
> >  LICENSE              |  202 ++++++++++++++++
> >  Makefile.am          |    4 +
> >  README               |   22 ++
> >  configure.ac         |   24 ++
> >  doc/index.html       |  345 +++++++++++++++++++++++++++
> >  examples/Makefile.am |    4 +
> >  examples/cectest.c   |  631
> ++++++++++++++++++++++++++++++++++++++++++++++++++
> >  include/gencec.h     |  255 ++++++++++++++++++++
> >  src/Makefile.am      |    4 +
> >  src/gencec.c         |  445 +++++++++++++++++++++++++++++++++++
> >  12 files changed, 1946 insertions(+)
> >  create mode 100644 AUTHORS
> >  create mode 100644 INSTALL
> >  create mode 100644 LICENSE
> >  create mode 100644 Makefile.am
> >  create mode 100644 README
> >  create mode 100644 configure.ac
> >  create mode 100644 doc/index.html
> >  create mode 100644 examples/Makefile.am  create mode 100644
> > examples/cectest.c  create mode 100644 include/gencec.h  create mode
> > 100644 m4/.gitkeep  create mode 100644 src/Makefile.am  create mode
> > 100644 src/gencec.c
> >
> > diff --git a/AUTHORS b/AUTHORS
> > new file mode 100644
> > index 0000000..e4b7117
> > --- /dev/null
> > +++ b/AUTHORS
> > @@ -0,0 +1 @@
> > +Kamil Debski <k.debski@samsung.com>
> > diff --git a/INSTALL b/INSTALL
> > new file mode 100644
> > index 0000000..aac6101
> > --- /dev/null
> > +++ b/INSTALL
> > @@ -0,0 +1,9 @@
> > +To install libgencec run following commands:
> > +
> > +autoreconf -i
> You might want add --force in here, otherwise the files will stay as-is
> if you update libtool and friends "mid-flight".
> Many projects include autogen.sh like the following. Feel free to add
> it to libgencec.

Thanks, I'll include this in the next version.
 
> $cat autogen.sh
> #! /bin/sh
> 
> srcdir=`dirname "$0"`
> test -z "$srcdir" && srcdir=.
> 
> ORIGDIR=`pwd`
> cd "$srcdir"
> 
> autoreconf --force --verbose --install || exit 1 cd "$ORIGDIR" || exit
> $?
> 
> if test -z "$NOCONFIGURE"; then
>     "$srcdir"/configure "$@"
> fi
> 
> 
> 
> > --- /dev/null
> > +++ b/configure.ac
> > @@ -0,0 +1,24 @@
> 
> You can save yourself some headaches if you restrict old and/or buggy
> autoconf versions which don't work with the project.
> If I have to guess 2.60 should be ok.
> AC_PREREQ([XXX])

Good suggestion, thanks.

> 
> > +AC_INIT([libgencec], [0.1], [k.debski@samsung.com])
> > +AM_INIT_AUTOMAKE([-Wall -Werror foreign])
> > +
> > +AC_PROG_CC
> > +AM_PROG_AR
> > +AC_CONFIG_MACRO_DIR([m4])
> > +AC_DEFINE([_GNU_SOURCE], [], [Use GNU extensions])
> > +
> 
> Same for libtool - 2.2 perhaps ?
> LT_PREREQ([XXX])

I agree.

> 
> > +LT_INIT
> > +
> > +# Checks for typedefs, structures, and compiler characteristics.
> > +AC_C_INLINE
> > +AC_TYPE_SIZE_T
> > +AC_TYPE_UINT16_T
> > +AC_TYPE_UINT32_T
> > +AC_TYPE_UINT8_T
> > +
> > +#AC_CHECK_LIB([c], [malloc])
> > +# Checks for library functions.
> > +#AC_FUNC_MALLOC
> > +l
> > +AC_CONFIG_FILES([Makefile src/Makefile examples/Makefile])
> Would be nice if the library provides libgencec.pc file. This way any
> users can avoid the explicit header/library check, amongst other useful
> bits.

Thanks for the suggestion, I'll look into this.
 
> > --- /dev/null
> > +++ b/examples/Makefile.am
> > @@ -0,0 +1,4 @@
> > +bin_PROGRAMS = cectest
> > +cectest_SOURCES = cectest.c
> > +AM_CPPFLAGS=-I$(top_srcdir)/include/
> > +AM_LDFLAGS=-L../src/ -lgencec
> The following seems more common (in the projects I've seen at least)
> cectest_LDADD = $(top_builddir)/src/libgencec.la
> 
> > diff --git a/m4/.gitkeep b/m4/.gitkeep new file mode 100644 index
> > 0000000..e69de29
> Haven't seen any projects doing this. Curious what the benefits of
> keeping and empty folder might be ?

When I run autoreconf -i it complained about missing m4 folder, hence I added
this filler file such that the folder is created. Any suggestion on how to do
this better?

> 
> > diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644
> > index 0000000..cb024f0
> > --- /dev/null
> > +++ b/src/Makefile.am
> > @@ -0,0 +1,4 @@
> > +lib_LTLIBRARIES = libgencec.la
> > +libgencec_la_SOURCES = gencec.c
> > +libgencec_la_LDFLAGS = -version-info 0:1:0
> You might want to add -no-undefined in order to prevent having a
> library with unresolved symbols.
> 
> Hope you find the above useful :-)

Thank you so much for your review. It is my first real approach at autotools,
so your comments are very much appreciated :)

> 
> Cheers
> Emil
> --

Best wishes,
-- 
Kamil Debski
Samsung R&D Institute Poland


  reply	other threads:[~2015-04-30 10:25 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-29 10:02 [PATCH v5 00/11] HDMI CEC framework Kamil Debski
2015-04-29 10:02 ` [PATCH v5 01/11] dts: exynos4*: add HDMI CEC pin definition to pinctrl Kamil Debski
2015-04-29 10:02 ` [PATCH v5 02/11] dts: exynos4: add node for the HDMI CEC device Kamil Debski
2015-04-29 10:02 ` [PATCH v5 03/11] dts: exynos4412-odroid*: enable " Kamil Debski
2015-04-29 10:02 ` [PATCH v5 04/11] HID: add HDMI CEC specific keycodes Kamil Debski
2015-04-29 10:02 ` [PATCH v5 05/11] rc: Add HDMI CEC protoctol handling Kamil Debski
2015-04-29 10:02 ` [PATCH v5 06/11] cec: add HDMI CEC framework Kamil Debski
2015-05-03 10:41   ` Hans Verkuil
2015-04-29 10:02 ` [PATCH v5 07/11] v4l2-subdev: add HDMI CEC ops Kamil Debski
2015-04-29 10:02 ` [PATCH v5 08/11] cec: adv7604: add cec support Kamil Debski
2015-04-29 10:02 ` [PATCH v5 09/11] cec: adv7511: " Kamil Debski
2015-04-29 10:02 ` [PATCH v5 10/11] cec: s5p-cec: Add s5p-cec driver Kamil Debski
2015-04-29 10:02 ` [PATCH v5 11/11] DocBook/media: add CEC documentation Kamil Debski
2015-05-03 10:59   ` Hans Verkuil
2015-04-29 10:02 ` [PATCH] libgencec: Add userspace library for the generic CEC kernel interface Kamil Debski
2015-04-29 15:00   ` Emil Velikov
2015-04-30 10:25     ` Kamil Debski [this message]
     [not found]     ` <0af301d0832f$f0ffec70$d2ffc550$@debski@samsung.com>
2015-05-05 15:03       ` Emil Velikov
2015-05-06 12:27         ` Kamil Debski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='"0af301d0832f$f0ffec70$d2ffc550$@debski"@samsung.com' \
    --to=k.debski@samsung.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emil.l.velikov@gmail.com \
    --cc=kyungmin.park@samsung.com \
    --cc=lars@opdenkamp.eu \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=mchehab@osg.samsung.com \
    --cc=sean@mess.org \
    --cc=thomas@tommie-lie.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox