Re: Orocos integration in buildroot
Willy Lambert <[email protected]>
| Newsgroups | gmane.science.robotics.orocos.devel |
|---|---|
| Message-ID | <CAKvQZ_2pqjV0rz1PfhXREVK6gV3n2fqjCVRCwek8om0Rm1VMYQ@mail.gmail.com> |
2013/1/22 Willy Lambert <[email protected]>: > Hi all, > > for some time ago, Philippe Hamelin pointed me to his git repo with > Orocos integrated in Buildroot in the aim to fit in a low performance > devices : > https://github.com/phamelin/buildroot/tree/2011.05-sm > > I spent some time to play with Buildroot with the aim of reducing my > rootfs from 2GB to something like 200Mb. > > I'm now ready with buildroot and I'm attacking the Orocos packaging > from Philippe's work. I would like to post patches to buildroot about > Orocos integration. Does anyone care about this ? > > @Philippe, was there any reason why you did not post you work back to > Buildroot ? (Technical problems ? Time ? Paches refused ? ) > > > I have improved a bit the boost integration to be able to choose your > version from the config menu. I was only able to take 1.40 to 1.44 > boost versions as jam as been reworked after. Does anyone know a bit > about that here ? Patch enclosed FYI, but it's not really Orocos related (and yes it is not a git patch because I'm still not at ease with it ;p). The git repo seems to be quite sleepy, is it usefull that I provide patches for it or you just don't care if you can get this stuff with newer buildroot versions -- Orocos-Dev mailing list [email protected] http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev
BoostImproved.patch
(application/octet-stream, 6.1 KB)
Index: package/Config.in =================================================================== --- package/Config.in (revision 34) +++ package/Config.in (working copy) @@ -336,6 +336,10 @@ source "package/webrtc-audio-processing/Config.in" endmenu +menu "Boost" +source "package/boost/Config.in" +endmenu + menu "Compression and decompression" source "package/libarchive/Config.in" source "package/lzo/Config.in" @@ -487,7 +491,6 @@ source "package/fftw/Config.in" source "package/libargtable2/Config.in" source "package/argp-standalone/Config.in" -source "package/boost/Config.in" source "package/libatomic_ops/Config.in" source "package/libcap/Config.in" source "package/libcap-ng/Config.in" Index: package/boost/patch.sh =================================================================== --- package/boost/patch.sh (revision 0) +++ package/boost/patch.sh (revision 0) @@ -0,0 +1,65 @@ +#! /bin/bash +# A little script I whipped up to make it easy to +# patch source trees and have sane error handling +# -Erik +# +# (c) 2002 Erik Andersen <[email protected]> + +# Set directories from arguments, or use defaults. +targetdir=${1-.} +patchdir=${2-../kernel-patches} +shift 2 +patchpattern=${@-*} + +if [ ! -d "${targetdir}" ] ; then +echo "Aborting. '${targetdir}' is not a directory." + exit 1 +fi +if [ ! -d "${patchdir}" ] ; then +echo "Aborting. '${patchdir}' is not a directory." + exit 1 +fi +for i in `cd ${patchdir}; ls -d ${patchpattern} 2> /dev/null` ; do +apply="patch -p1 -E -d" + uncomp_parm="" + if [ -d "${patchdir}/$i" ] ; then +type="directory overlay" +uncomp="tar cf - --exclude=.svn --no-anchored -C" +uncomp_parm="." +apply="tar xvf - -C" + else case "$i" in +*.gz) +type="gzip"; uncomp="gunzip -dc"; ;; +*.bz) +type="bzip"; uncomp="bunzip -dc"; ;; +*.bz2) +type="bzip2"; uncomp="bunzip2 -dc"; ;; +*.zip) +type="zip"; uncomp="unzip -d"; ;; +*.Z) +type="compress"; uncomp="uncompress -c"; ;; +*.tgz) +type="tar gzip"; uncomp="gunzip -dc"; apply="tar xvf - -C"; ;; +*.tar) +type="tar"; uncomp="cat"; apply="tar xvf - -C"; ;; +*) +type="plaintext"; uncomp="cat"; ;; + esac fi +echo "" + echo "Applying ${i} using ${type}: " +echo ${i} | cat >> ${targetdir}/.applied_patches_list + ${uncomp} ${patchdir}/${i} ${uncomp_parm} | ${apply} ${targetdir} + if [ $? != 0 ] ; then +echo "Patch failed! Please fix $i!" +exit 1 + fi +done + +# Check for rejects... +if [ "`find $targetdir/ '(' -name '*.rej' -o -name '.*.rej' ')' -print`" ] ; then +echo "Aborting. Reject files found." + exit 1 +fi + +# Remove backup files +find $targetdir/ '(' -name '*.orig' -o -name '.*.orig' ')' -exec rm -f {} \; Property changes on: package/boost/patch.sh ___________________________________________________________________ Added: svn:executable + * Index: package/boost/Config.in =================================================================== --- package/boost/Config.in (revision 34) +++ package/boost/Config.in (working copy) @@ -12,6 +12,32 @@ http://www.boost.org/libs/ +choice + prompt "Boost version" + default BR2_PACKAGE_BOOST_CONFIG_VERSION_1_40_0 + help + Choose the version of boost you want to compile. Please refer to boost website to see available versions. If you don't find a version that fits to you please try to add support for it. + + config BR2_PACKAGE_BOOST_CONFIG_VERSION_1_40_0 + bool "Boost 1.40.0" + config BR2_PACKAGE_BOOST_CONFIG_VERSION_1_41_0 + bool "Boost 1.41.0" + config BR2_PACKAGE_BOOST_CONFIG_VERSION_1_42_0 + bool "Boost 1.42.0" + config BR2_PACKAGE_BOOST_CONFIG_VERSION_1_43_0 + bool "Boost 1.43.0" + config BR2_PACKAGE_BOOST_CONFIG_VERSION_1_44_0 + bool "Boost 1.44.0" +endchoice + +config BR2_PACKAGE_BOOST_CONFIG_VERSION + string + default "1.40.0" if BR2_PACKAGE_BOOST_CONFIG_VERSION_1_40_0 + default "1.41.0" if BR2_PACKAGE_BOOST_CONFIG_VERSION_1_41_0 + default "1.42.0" if BR2_PACKAGE_BOOST_CONFIG_VERSION_1_42_0 + default "1.43.0" if BR2_PACKAGE_BOOST_CONFIG_VERSION_1_43_0 + default "1.44.0" if BR2_PACKAGE_BOOST_CONFIG_VERSION_1_44_0 + config BR2_PACKAGE_BOOST_CONFIG_THREADING depends on BR2_PACKAGE_BOOST bool "threading support" @@ -39,14 +65,6 @@ from Beman Dawes -config BR2_PACKAGE_BOOST_FUNCTION_TYPES - bool "function_types" - default n - help - Type traits for callable, built-in types. - - from Tobias Schwinger - config BR2_PACKAGE_BOOST_GRAPH bool "graph" default n Index: package/boost/boost.mk =================================================================== --- package/boost/boost.mk (revision 34) +++ package/boost/boost.mk (working copy) @@ -3,17 +3,16 @@ # boost # ############################################################# -BOOST_VERSION_MAJOR := 1 -BOOST_VERSION_MINOR := 40 -BOOST_VERSION_PATCHLEVEL := 0 -BOOST_VERSION := $(BOOST_VERSION_MAJOR)_$(BOOST_VERSION_MINOR)_$(BOOST_VERSION_PATCHLEVEL) -BOOST_VERSION_DOTTED := $(BOOST_VERSION_MAJOR).$(BOOST_VERSION_MINOR).$(BOOST_VERSION_PATCHLEVEL) +#the version of boost shall be defined from the config +BOOST_VERSION_DOTTED := $(BR2_PACKAGE_BOOST_CONFIG_VERSION) +BOOST_VERSION := $(shell echo $(BOOST_VERSION_DOTTED) | sed "s/\\./_/g") +BOOST_SITE := http://sourceforge.net/projects/boost/files/boost/$(BOOST_VERSION_DOTTED) BOOST_SOURCE := boost_$(BOOST_VERSION).tar.gz -#BOOST_SITE := http://switch.dl.sourceforge.net/sourceforge/boost/ -BOOST_SITE := http://sourceforge.net/projects/boost/files/boost/$(BOOST_VERSION_DOTTED)/ BOOST_DIR := $(BUILD_DIR)/boost_$(BOOST_VERSION) + + # Boost library configuration ifdef BR2_PACKAGE_BOOST_CONFIG_THREADING BOOST_CONFIG_THREADING := multi @@ -54,9 +53,9 @@ ifdef BR2_PACKAGE_BOOST_FILESYSTEM BOOST_LIBS += filesystem endif -ifdef BR2_PACKAGE_BOOST_FUNCTION_TYPES - BOOST_LIBS += function_types -endif +#ifdef BR2_PACKAGE_BOOST_FUNCTION_TYPES +# BOOST_LIBS += function_types +#endif ifdef BR2_PACKAGE_BOOST_GRAPH BOOST_LIBS += graph endif @@ -103,7 +102,7 @@ $(BOOST_DIR)/.unpacked: $(DL_DIR)/$(BOOST_SOURCE) tar -xf $(DL_DIR)/$(BOOST_SOURCE) -C $(BUILD_DIR) - toolchain/patch-kernel.sh $(BOOST_DIR) package/boost/ boost-\*.patch + $(PACKAGE_DIR)/boost/patch-kernel.sh $(BOOST_DIR) package/boost/ boost-\*.patch touch $@