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 $@
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.