Hi,

On Wed, Jan 30, 2013 at 09:28:40PM +0100, Michael Olbrich wrote:
> On Wed, Jan 30, 2013 at 12:12:43PM +0100, Alexander Aring wrote:
> > Hi,
> > 
> > thanks for reviewing this one.
> > 
> > On Tue, Jan 29, 2013 at 11:40:00PM +0100, Michael Olbrich wrote:
> > > On Sun, Jan 27, 2013 at 06:09:49PM +0100, Alexander Aring wrote:
> > > > This package provides utils to set up ieee802.15.4 devices.
> > > > 
> > > > Add option do not install test-utils. These test-utils depends
> > > > on python. Currently the buildsystem of lowpan-tools can't
> > > > disable building of test-tools, which makes a dependency of
> > > > python to this package.
> > > 
> > > not true. By setting ac_cv_path_PYTHON=: you can force the build not to 
> > > use
> > > python.
> > 
> > Ok, that works fine. Thanks for this information.
> > 
> > > 
> > > > Signed-off-by: Alexander Aring <alex.ar...@gmail.com>
> > > > ---
> > > >  rules/lowpan-tools.in   | 21 +++++++++++++
> > > >  rules/lowpan-tools.make | 84 
> > > > +++++++++++++++++++++++++++++++++++++++++++++++++
> > > >  2 files changed, 105 insertions(+)
> > > >  create mode 100644 rules/lowpan-tools.in
> > > >  create mode 100644 rules/lowpan-tools.make
> > > > 
> > > > diff --git a/rules/lowpan-tools.in b/rules/lowpan-tools.in
> > > > new file mode 100644
> > > > index 0000000..b83f44a
> > > > --- /dev/null
> > > > +++ b/rules/lowpan-tools.in
> > > > @@ -0,0 +1,21 @@
> > > > +## SECTION=networking
> > > > +
> > > > +menuconfig LOWPAN_TOOLS
> > > > +       tristate
> > > > +       prompt "lowpan-tools                  "
> > > > +       select LIBNL3
> > > > +       select PYTHON
> > > 
> > >   select PYTHON if LOWPAN_TOOLS_TESTS
> > > 
> > > > +       help
> > > > +         This is a set of utils to manage the Linux LoWPAN stack.
> > > > +         The LoWPAN stack aims for IEEE 802.15.4-2003 (and for
> > > > +         lesser extent IEEE 802.15.4-2006) compatibility.
> > > > +
> > > > +if LOWPAN_TOOLS
> > > > +
> > > > +config LOWPAN_TOOLS_TESTS
> > > > +       bool
> > > > +       prompt "lowpan-tests"
> > > > +       help
> > > > +         Install lowpan-tests suites in /usr/libexec/lowpan-tools.
> > > > +
> > > > +endif # LOWPAN_TOOLS
> > > > diff --git a/rules/lowpan-tools.make b/rules/lowpan-tools.make
> > > > new file mode 100644
> > > > index 0000000..b40946f
> > > > --- /dev/null
> > > > +++ b/rules/lowpan-tools.make
> > > > @@ -0,0 +1,84 @@
> > > > +# -*-makefile-*-
> > > > +#
> > > > +# Copyright (C) 2012 by Alexander Aring <a...@pengutronix.de>
> > > > +#
> > > > +# See CREDITS for details about who has contributed to this project.
> > > > +#
> > > > +# For further information about the PTXdist project and license 
> > > > conditions
> > > > +# see the README file.
> > > > +#
> > > > +
> > > > +#
> > > > +# We provide this package
> > > > +#
> > > > +PACKAGES-$(PTXCONF_LOWPAN_TOOLS) += lowpan-tools
> > > > +
> > > > +#
> > > > +# Paths and names
> > > > +#
> > > > +LOWPAN_TOOLS_VERSION   := 0.3
> > > > +LOWPAN_TOOLS_MD5       := 564bdf163de5b33232d751383495a65c
> > > > +LOWPAN_TOOLS           := lowpan-tools-$(LOWPAN_TOOLS_VERSION)
> > > > +LOWPAN_TOOLS_SUFFIX    := tar.gz
> > > > +LOWPAN_TOOLS_URL       := $(call ptx/mirror, SF, 
> > > > linux-zigbee/$(LOWPAN_TOOLS).$(LOWPAN_TOOLS_SUFFIX))
> > > > +LOWPAN_TOOLS_SOURCE    := 
> > > > $(SRCDIR)/$(LOWPAN_TOOLS).$(LOWPAN_TOOLS_SUFFIX)
> > > > +LOWPAN_TOOLS_DIR       := $(BUILDDIR)/$(LOWPAN_TOOLS)
> > > > +LOWPAN_TOOLS_LICENSE   := GPLv2
> > > > +
> > > 
> > > You need to add ac_cv_path_PYTHON=: or ac_cv_path_PYTHON=$(CROSS_PYTHON)
> > > (depending on LOWPAN_TOOLS_TESTS) too LOWPAN_TOOLS_CONF_ENV, otherwise the
> > > wrong python is used.
> > 
> > I test this one, but ac_cv_path_PYTHON=$(CROSS_PYTHON) doesn't work for
> > me.
> > I need to set PYTHON=$(CROSS_PYTHON).
> 
> Hmmm, it worked for me (tm), but you need to make sure that
> LOWPAN_TOOLS_CONF_ENV is defined with '=' not ':=', otherwise CROSS_PYTHON
> is empty.

Now I realize it. I found rules with ':=' and '='. Could you explain the
different?

Should I use '=' if I access variables(like CROSS_PYTHON) except
CROSS_ENV?

> 
> If you run ptxdist with '-v' then it will print the environment used when
> executing configure. Make sure ac_cv_path_PYTHON contains a usefull value
> there.
> 
> > 
> > 
> > I tried to figure out this in configure script.
> > 
> > ...
> > if ${ac_cv_path_PYTHON+:} false; then :
> >   $as_echo_n "(cached) " >&6
> > else
> >   case $PYTHON in
> >   [\\/]* | ?:[\\/]*)
> >   ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
> >   ;;
> >   *)
> > ...
> > 
> > First, this is some autoconf magic and I am not a master of the known
> > universe in this.
> > 
> > But there is a check if PYTHON is a valid path and then it's sets
> > ac_cv_path_PYTHON to $PYTHON variable, there is no check on
> > ac_cv_path_PYTHON.
> > 
> > The first one "if ${ac_cv_path_PYTHON+:}" will only skip this test, if
> > ac_cv_path_PYTHON is set to ":".
> > 
> > > 
> > > > +#
> > > > +# autoconf
> > > > +#
> > > > +LOWPAN_TOOLS_CONF_TOOL := autoconf
> > > > +LOWPAN_TOOLS_CONF_OPT  := \
> > > > +       $(CROSS_AUTOCONF_USR) \
> > > > +       --disable-manpages \
> > > > +       --enable-shared \
> > > > +       --disable-static \
> > > > +       --with-gnu-ld
> > > > +
> > > > +LOWPAN_TOOLS_INSTALL_FILES-y =
> > > > +LOWPAN_TOOLS_INSTALL_FILES-$(PTXCONF_LOWPAN_TOOLS_TESTS)       +=gnl
> > > > +LOWPAN_TOOLS_INSTALL_FILES-$(PTXCONF_LOWPAN_TOOLS_TESTS)       
> > > > +=izlisten
> > > > +LOWPAN_TOOLS_INSTALL_FILES-$(PTXCONF_LOWPAN_TOOLS_TESTS)       
> > > > +=listen-packet
> > > > +LOWPAN_TOOLS_INSTALL_FILES-$(PTXCONF_LOWPAN_TOOLS_TESTS)       +=test1
> > > > +LOWPAN_TOOLS_INSTALL_FILES-$(PTXCONF_LOWPAN_TOOLS_TESTS)       +=test2
> > > > +LOWPAN_TOOLS_INSTALL_FILES-$(PTXCONF_LOWPAN_TOOLS_TESTS)       +=test3
> > > > +LOWPAN_TOOLS_INSTALL_FILES-$(PTXCONF_LOWPAN_TOOLS_TESTS)       +=test4
> > > > +LOWPAN_TOOLS_INSTALL_FILES-$(PTXCONF_LOWPAN_TOOLS_TESTS)       +=test5
> > > > +LOWPAN_TOOLS_INSTALL_FILES-$(PTXCONF_LOWPAN_TOOLS_TESTS)       +=test6
> > > > +LOWPAN_TOOLS_INSTALL_FILES-$(PTXCONF_LOWPAN_TOOLS_TESTS)       +=test7
> > > > +LOWPAN_TOOLS_INSTALL_FILES-$(PTXCONF_LOWPAN_TOOLS_TESTS)       
> > > > +=test_edscan.py
> > > > +LOWPAN_TOOLS_INSTALL_FILES-$(PTXCONF_LOWPAN_TOOLS_TESTS)       
> > > > +=test_packets.py
> > > > +LOWPAN_TOOLS_INSTALL_FILES-$(PTXCONF_LOWPAN_TOOLS_TESTS)       
> > > > +=test_recv.py
> > > > +LOWPAN_TOOLS_INSTALL_FILES-$(PTXCONF_LOWPAN_TOOLS_TESTS)       
> > > > +=test_trx.py
> > > 
> > > You have a "ifdef PTXCONF_LOWPAN_TOOLS_TESTS" anyways below, so this list
> > > can be unconditionally
> > > 
> > 
> > Should I do only a ifdef for *.pyc file and then call foreach outside
> > the ifdef?
> > Or should I remove the complete list and call install_copy for each of
> > them?
> > In my opinion a list is easier to maintain.
> 
> I meant, keep the foreach inside the ifdef and do this here:
> 
> LOWPAN_TOOLS_INSTALL_FILES := \
>       gnl izlisten listen-packet test1 test2 test3 test4 test5 \
>       test6 ...
> 
> Michael
> 
> > > > +
> > > > +# 
> > > > ----------------------------------------------------------------------------
> > > > +# Target-Install
> > > > +# 
> > > > ----------------------------------------------------------------------------
> > > > +
> > > > +$(STATEDIR)/lowpan-tools.targetinstall:
> > > > +       @$(call targetinfo)
> > > > +
> > > > +       @$(call install_init, lowpan-tools)
> > > > +       @$(call install_fixup, lowpan-tools,PRIORITY,optional)
> > > > +       @$(call install_fixup, lowpan-tools,SECTION,base)
> > > > +       @$(call install_fixup, lowpan-tools,AUTHOR,"Alexander Aring 
> > > > <a...@pengutronix.de>")
> > > > +       @$(call install_fixup, lowpan-tools,DESCRIPTION,missing)
> > > > +
> > > > +       $(call install_copy, lowpan-tools, 0, 0, 0755, -, 
> > > > /usr/bin/izchat)
> > > > +       $(call install_copy, lowpan-tools, 0, 0, 0755, -, /usr/sbin/iz)
> > > > +       $(call install_copy, lowpan-tools, 0, 0, 0755, -, 
> > > > /usr/sbin/izattach)
> > > > +       $(call install_copy, lowpan-tools, 0, 0, 0755, -, 
> > > > /usr/sbin/izcoordinator)
> > > > +
> > > > +ifdef PTXCONF_LOWPAN_TOOLS_TESTS
> > > > +       @$(call install_copy, lowpan-tools, 0, 0, 0644, -, 
> > > > $(PYTHON_SITEPACKAGES)/test_DQ.pyc)
> > > > +
> > > > +       @$(foreach tool,$(LOWPAN_TOOLS_INSTALL_FILES-y), \
> > > > +               $(call install_copy, lowpan-tools, 0, 0, 0755, -, \
> > >           /usr/libexec/lowpan-tools/$(tool));)
> > > 
> > > break
> > > 
> > > Michael
> > > 
> > > > +endif
> > > > +
> > > > +       @$(call install_finish, lowpan-tools)
> > > > +
> > > > +       @$(call touch)
> > > > +
> > > > +# vim: syntax=make
> > > > -- 
> > > > 1.8.1.1
> > > > 
> > > > 
> > > > -- 
> > > > ptxdist mailing list
> > > > ptxdist@pengutronix.de
> > > > 
> > > 
> > > -- 
> > > Pengutronix e.K.                           |                             |
> > > Industrial Linux Solutions                 | http://www.pengutronix.de/  |
> > > Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
> > > Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
> > > 
> > > -- 
> > > ptxdist mailing list
> > > ptxdist@pengutronix.de
> > 
> > -- 
> > ptxdist mailing list
> > ptxdist@pengutronix.de
> > 
> 
> -- 
> Pengutronix e.K.                           |                             |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
> 
> -- 
> ptxdist mailing list
> ptxdist@pengutronix.de

-- 
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to