Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package: add the duma memory debugging library
@ 2011-10-05  6:20 Baruch Siach
  2011-10-05 17:35 ` Yann E. MORIN
  0 siblings, 1 reply; 8+ messages in thread
From: Baruch Siach @ 2011-10-05  6:20 UTC (permalink / raw)
  To: buildroot

Cc: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
Hi Yann,

Might this collide somehow with the optional duma support of crosstool-ng?

baruch

 package/Config.in                            |    1 +
 package/duma/Config.in                       |   15 +++++++++++
 package/duma/duma-2_5_15-cross-compile.patch |   36 ++++++++++++++++++++++++++
 package/duma/duma-2_5_15-separate-cpp.patch  |   23 ++++++++++++++++
 package/duma/duma.mk                         |   36 ++++++++++++++++++++++++++
 5 files changed, 111 insertions(+), 0 deletions(-)
 create mode 100644 package/duma/Config.in
 create mode 100644 package/duma/duma-2_5_15-cross-compile.patch
 create mode 100644 package/duma/duma-2_5_15-separate-cpp.patch
 create mode 100644 package/duma/duma.mk

diff --git a/package/Config.in b/package/Config.in
index fd920c3..d565216 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -20,6 +20,7 @@ menu "Debugging, profiling and benchmark"
 source "package/bonnie/Config.in"
 source "package/dhrystone/Config.in"
 source "package/dmalloc/Config.in"
+source "package/duma/Config.in"
 source "package/kexec/Config.in"
 source "package/lmbench/Config.in"
 source "package/lsof/Config.in"
diff --git a/package/duma/Config.in b/package/duma/Config.in
new file mode 100644
index 0000000..7f7a765
--- /dev/null
+++ b/package/duma/Config.in
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_DUMA
+	bool "duma"
+	help
+	  D.U.M.A. - Detect Unintended Memory Access. A fork of the Electric
+	  Fence library. Detects buffer overflow and underflow, and also memory
+	  leaks.
+
+	  http://duma.sourceforge.net
+
+if BR2_PACKAGE_DUMA
+
+config BR2_PACKAGE_DUMA_NO_LEAKDETECTION
+	bool "disable memory leak detection"
+
+endif # BR2_PACKAGE_DUMA
diff --git a/package/duma/duma-2_5_15-cross-compile.patch b/package/duma/duma-2_5_15-cross-compile.patch
new file mode 100644
index 0000000..d50ac20
--- /dev/null
+++ b/package/duma/duma-2_5_15-cross-compile.patch
@@ -0,0 +1,36 @@
+Allow cross compilation. Taken from crosstool-ng.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+diff -durN duma_2_5_15.orig/GNUmakefile duma_2_5_15/GNUmakefile
+--- duma_2_5_15.orig/GNUmakefile	2008-08-03 21:22:38.000000000 +0200
++++ duma_2_5_15/GNUmakefile	2009-06-19 15:32:23.000000000 +0200
+@@ -93,10 +93,6 @@
+ # also define 'WIN32'
+ 
+ # some defaults:
+-CC=gcc
+-CXX=g++
+-AR=ar
+-RANLIB=ranlib
+ INSTALL=install
+ RM=rm
+ RMFORCE=rm -f
+@@ -471,7 +467,7 @@
+ 
+ createconf$(EXEPOSTFIX): createconf.o
+ 	- $(RMFORCE) createconf$(EXEPOSTFIX)
+-	$(CC) $(CFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX)
++	$(HOSTCC) $(HOSTCFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX)
+ 
+ tstheap$(EXEPOSTFIX): libduma.a tstheap.o
+ 	- $(RMFORCE) tstheap$(EXEPOSTFIX)
+@@ -532,7 +528,7 @@
+ # define rules how to build objects for createconf
+ #
+ createconf.o:
+-	$(CC) $(CFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
++	$(HOSTCC) $(HOSTCFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
+ 
+ 
+ #
diff --git a/package/duma/duma-2_5_15-separate-cpp.patch b/package/duma/duma-2_5_15-separate-cpp.patch
new file mode 100644
index 0000000..ad10882
--- /dev/null
+++ b/package/duma/duma-2_5_15-separate-cpp.patch
@@ -0,0 +1,23 @@
+Allow build without C++ support. Taken from crosstool-ng.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+diff -durN duma_2_5_15.orig/GNUmakefile duma_2_5_15/GNUmakefile
+--- duma_2_5_15.orig/GNUmakefile	2009-06-19 16:41:53.000000000 +0200
++++ duma_2_5_15/GNUmakefile	2009-06-19 16:43:53.000000000 +0200
+@@ -289,9 +289,13 @@
+ 	dumatest.c tstheap.c thread-test.c testmt.c dumatestpp.cpp testoperators.cpp \
+ 	createconf.c
+ 
+-OBJECTS=dumapp.o duma.o sem_inc.o print.o
++OBJECTS = duma.o sem_inc.o print.o
++SO_OBJECTS = duma_so.o sem_inc_so.o print_so.o
+ 
+-SO_OBJECTS=dumapp_so.o duma_so.o sem_inc_so.o print_so.o
++ifeq ($(DUMA_CPP),1)
++OBJECTS += dumapp.o
++SO_OBJECTS += dumapp_so.o
++endif
+ 
+ # Make all the top-level targets the makefile knows about.
+ all:	libduma.a tstheap$(EXEPOSTFIX) dumatest$(EXEPOSTFIX) thread-test$(EXEPOSTFIX) testmt$(EXEPOSTFIX) dumatestpp$(EXEPOSTFIX) testoperators$(EXEPOSTFIX) $(DUMA_DYN_DEPS)
diff --git a/package/duma/duma.mk b/package/duma/duma.mk
new file mode 100644
index 0000000..3b8675b
--- /dev/null
+++ b/package/duma/duma.mk
@@ -0,0 +1,36 @@
+#############################################################
+#
+# duma
+#
+#############################################################
+DUMA_VERSION = 2_5_15
+DUMA_SOURCE = duma_$(DUMA_VERSION).tar.gz
+DUMA_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/duma
+DUMA_INSTALL_STAGING = YES
+
+DUMA_OPTIONS = $(if $(BR2_PACKAGE_DUMA_NO_LEAKDETECTION), \
+			-DDUMA_LIB_NO_LEAKDETECTION)
+
+ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
+DUMA_CPP = DUMA_CPP=1
+else
+DUMA_CPP =
+endif
+
+# The dependency of some source files in duma_config.h, which is generated at 
+# build time, is not specified in the Makefile. Force non-parallel build.
+define DUMA_BUILD_CMDS
+	$(MAKE1) CC=$(TARGET_CC) CXX=$(TARGET_CXX) AR=$(TARGET_AR) \
+		RANLIB=$(TARGET_RANLIB) DUMA_OPTIONS=$(strip $(DUMA_OPTIONS)) \
+		$(DUMA_CPP) -C $(@D)
+endef
+
+define DUMA_INSTALL_STAGING_CMDS
+	$(MAKE) prefix=$(STAGING_DIR) install -C $(@D)
+endef
+
+define DUMA_INSTALL_TARGET_CMDS
+	$(MAKE) prefix=$(TARGET_DIR) install -C $(@D)
+endef
+
+$(eval $(call GENTARGETS))
-- 
1.7.6.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH] package: add the duma memory debugging library
  2011-10-05  6:20 Baruch Siach
@ 2011-10-05 17:35 ` Yann E. MORIN
  2011-10-06  8:16   ` Thomas Petazzoni
  0 siblings, 1 reply; 8+ messages in thread
From: Yann E. MORIN @ 2011-10-05 17:35 UTC (permalink / raw)
  To: buildroot

Baruch, All,

On Wednesday 05 October 2011 08:20:05 Baruch Siach wrote:
> Cc: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
> Signed-off-by: Baruch Siach <baruch@tkos.co.il>

Comments in-lined below, in the patch...

> ---
> Hi Yann,
> 
> Might this collide somehow with the optional duma support of crosstool-ng?

No, there will be no conflict, as the DUMA entry in crosstool-NG is not
available when acting as the toolchain backend in buildroot.

But if crosstool-NG is used outside of buildroot to produce a toolchain,
and that toolchain is used as an external toolchain, there will be a
conflict.

But that case is probably a corner case; the user has to be somewhat
responsible for his/her choices.

> baruch
> 
>  package/Config.in                            |    1 +
>  package/duma/Config.in                       |   15 +++++++++++
>  package/duma/duma-2_5_15-cross-compile.patch |   36 ++++++++++++++++++++++++++
>  package/duma/duma-2_5_15-separate-cpp.patch  |   23 ++++++++++++++++
>  package/duma/duma.mk                         |   36 ++++++++++++++++++++++++++
>  5 files changed, 111 insertions(+), 0 deletions(-)
>  create mode 100644 package/duma/Config.in
>  create mode 100644 package/duma/duma-2_5_15-cross-compile.patch
>  create mode 100644 package/duma/duma-2_5_15-separate-cpp.patch
>  create mode 100644 package/duma/duma.mk
> 
> diff --git a/package/Config.in b/package/Config.in
> index fd920c3..d565216 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -20,6 +20,7 @@ menu "Debugging, profiling and benchmark"
>  source "package/bonnie/Config.in"
>  source "package/dhrystone/Config.in"
>  source "package/dmalloc/Config.in"
> +source "package/duma/Config.in"
>  source "package/kexec/Config.in"
>  source "package/lmbench/Config.in"
>  source "package/lsof/Config.in"
> diff --git a/package/duma/Config.in b/package/duma/Config.in
> new file mode 100644
> index 0000000..7f7a765
> --- /dev/null
> +++ b/package/duma/Config.in
> @@ -0,0 +1,15 @@
> +config BR2_PACKAGE_DUMA
> +	bool "duma"
> +	help
> +	  D.U.M.A. - Detect Unintended Memory Access. A fork of the Electric
> +	  Fence library. Detects buffer overflow and underflow, and also memory
> +	  leaks.
> +
> +	  http://duma.sourceforge.net
> +
> +if BR2_PACKAGE_DUMA
> +
> +config BR2_PACKAGE_DUMA_NO_LEAKDETECTION
> +	bool "disable memory leak detection"
> +
> +endif # BR2_PACKAGE_DUMA
> diff --git a/package/duma/duma-2_5_15-cross-compile.patch b/package/duma/duma-2_5_15-cross-compile.patch
> new file mode 100644
> index 0000000..d50ac20
> --- /dev/null
> +++ b/package/duma/duma-2_5_15-cross-compile.patch
> @@ -0,0 +1,36 @@
> +Allow cross compilation. Taken from crosstool-ng.
> +
> +Signed-off-by: Baruch Siach <baruch@tkos.co.il>
> +---
> +diff -durN duma_2_5_15.orig/GNUmakefile duma_2_5_15/GNUmakefile
> +--- duma_2_5_15.orig/GNUmakefile	2008-08-03 21:22:38.000000000 +0200
> ++++ duma_2_5_15/GNUmakefile	2009-06-19 15:32:23.000000000 +0200
> +@@ -93,10 +93,6 @@
> + # also define 'WIN32'
> + 
> + # some defaults:
> +-CC=gcc
> +-CXX=g++
> +-AR=ar
> +-RANLIB=ranlib
> + INSTALL=install
> + RM=rm
> + RMFORCE=rm -f
> +@@ -471,7 +467,7 @@
> + 
> + createconf$(EXEPOSTFIX): createconf.o
> + 	- $(RMFORCE) createconf$(EXEPOSTFIX)
> +-	$(CC) $(CFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX)
> ++	$(HOSTCC) $(HOSTCFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX)
> + 
> + tstheap$(EXEPOSTFIX): libduma.a tstheap.o
> + 	- $(RMFORCE) tstheap$(EXEPOSTFIX)
> +@@ -532,7 +528,7 @@
> + # define rules how to build objects for createconf
> + #
> + createconf.o:
> +-	$(CC) $(CFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
> ++	$(HOSTCC) $(HOSTCFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
> + 
> + 
> + #
> diff --git a/package/duma/duma-2_5_15-separate-cpp.patch b/package/duma/duma-2_5_15-separate-cpp.patch
> new file mode 100644
> index 0000000..ad10882
> --- /dev/null
> +++ b/package/duma/duma-2_5_15-separate-cpp.patch
> @@ -0,0 +1,23 @@
> +Allow build without C++ support. Taken from crosstool-ng.
> +
> +Signed-off-by: Baruch Siach <baruch@tkos.co.il>
> +---
> +diff -durN duma_2_5_15.orig/GNUmakefile duma_2_5_15/GNUmakefile
> +--- duma_2_5_15.orig/GNUmakefile	2009-06-19 16:41:53.000000000 +0200
> ++++ duma_2_5_15/GNUmakefile	2009-06-19 16:43:53.000000000 +0200
> +@@ -289,9 +289,13 @@
> + 	dumatest.c tstheap.c thread-test.c testmt.c dumatestpp.cpp testoperators.cpp \
> + 	createconf.c
> + 
> +-OBJECTS=dumapp.o duma.o sem_inc.o print.o
> ++OBJECTS = duma.o sem_inc.o print.o
> ++SO_OBJECTS = duma_so.o sem_inc_so.o print_so.o
> + 
> +-SO_OBJECTS=dumapp_so.o duma_so.o sem_inc_so.o print_so.o
> ++ifeq ($(DUMA_CPP),1)
> ++OBJECTS += dumapp.o
> ++SO_OBJECTS += dumapp_so.o
> ++endif
> + 
> + # Make all the top-level targets the makefile knows about.
> + all:	libduma.a tstheap$(EXEPOSTFIX) dumatest$(EXEPOSTFIX) thread-test$(EXEPOSTFIX) testmt$(EXEPOSTFIX) dumatestpp$(EXEPOSTFIX) testoperators$(EXEPOSTFIX) $(DUMA_DYN_DEPS)
> diff --git a/package/duma/duma.mk b/package/duma/duma.mk
> new file mode 100644
> index 0000000..3b8675b
> --- /dev/null
> +++ b/package/duma/duma.mk
> @@ -0,0 +1,36 @@
> +#############################################################
> +#
> +# duma
> +#
> +#############################################################
> +DUMA_VERSION = 2_5_15
> +DUMA_SOURCE = duma_$(DUMA_VERSION).tar.gz
> +DUMA_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/duma
> +DUMA_INSTALL_STAGING = YES
> +
> +DUMA_OPTIONS = $(if $(BR2_PACKAGE_DUMA_NO_LEAKDETECTION), \
> +			-DDUMA_LIB_NO_LEAKDETECTION)
> +
> +ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
> +DUMA_CPP = DUMA_CPP=1
> +else
> +DUMA_CPP =
> +endif
> +
> +# The dependency of some source files in duma_config.h, which is generated at 
> +# build time, is not specified in the Makefile. Force non-parallel build.
> +define DUMA_BUILD_CMDS
> +	$(MAKE1) CC=$(TARGET_CC) CXX=$(TARGET_CXX) AR=$(TARGET_AR) \
> +		RANLIB=$(TARGET_RANLIB) DUMA_OPTIONS=$(strip $(DUMA_OPTIONS)) \
> +		$(DUMA_CPP) -C $(@D)

You forgot to pass HOSTCC, introduced in duma-2_5_15-cross-compile.patch

> +endef
> +
> +define DUMA_INSTALL_STAGING_CMDS
> +	$(MAKE) prefix=$(STAGING_DIR) install -C $(@D)
> +endef
> +
> +define DUMA_INSTALL_TARGET_CMDS
> +	$(MAKE) prefix=$(TARGET_DIR) install -C $(@D)
> +endef
> +
> +$(eval $(call GENTARGETS))
> 

Otherwise, looks good.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH] package: add the duma memory debugging library
  2011-10-05 17:35 ` Yann E. MORIN
@ 2011-10-06  8:16   ` Thomas Petazzoni
  2011-10-06  8:49     ` Baruch Siach
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2011-10-06  8:16 UTC (permalink / raw)
  To: buildroot

Le Wed, 5 Oct 2011 19:35:41 +0200,
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> a ?crit :

> > +	$(MAKE1) CC=$(TARGET_CC) CXX=$(TARGET_CXX) AR=$(TARGET_AR) \
> > +		RANLIB=$(TARGET_RANLIB) DUMA_OPTIONS=$(strip $(DUMA_OPTIONS)) \
> > +		$(DUMA_CPP) -C $(@D)
> 
> You forgot to pass HOSTCC, introduced in duma-2_5_15-cross-compile.patch

Probably something like:

	$(MAKE1) $(TARGET_CONFIGURE_OPTS) DUMA_OPTIONS=... -C $(@D)

would be even better. But then, the duma-2_5_15-cross-compile.patch
would have to use CC_FOR_BUILD instead of HOSTCC to find the location
of the native host compiler.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH] package: add the duma memory debugging library
  2011-10-06  8:16   ` Thomas Petazzoni
@ 2011-10-06  8:49     ` Baruch Siach
  0 siblings, 0 replies; 8+ messages in thread
From: Baruch Siach @ 2011-10-06  8:49 UTC (permalink / raw)
  To: buildroot

Hi Thomas, Yann,

On Thu, Oct 06, 2011 at 10:16:34AM +0200, Thomas Petazzoni wrote:
> Le Wed, 5 Oct 2011 19:35:41 +0200,
> "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> a ?crit :
> 
> > > +	$(MAKE1) CC=$(TARGET_CC) CXX=$(TARGET_CXX) AR=$(TARGET_AR) \
> > > +		RANLIB=$(TARGET_RANLIB) DUMA_OPTIONS=$(strip $(DUMA_OPTIONS)) \
> > > +		$(DUMA_CPP) -C $(@D)
> > 
> > You forgot to pass HOSTCC, introduced in duma-2_5_15-cross-compile.patch

Well, HOSTCC is set in the top Makefile.

> Probably something like:
> 
> 	$(MAKE1) $(TARGET_CONFIGURE_OPTS) DUMA_OPTIONS=... -C $(@D)
> 
> would be even better. But then, the duma-2_5_15-cross-compile.patch
> would have to use CC_FOR_BUILD instead of HOSTCC to find the location
> of the native host compiler.

Looks better. I'll update the patch. Thanks.

baruch

-- 
                                                     ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH] package: add the duma memory debugging library
@ 2013-02-14 23:05 Reuben Dowle
  2013-08-13 20:59 ` Thomas Petazzoni
  0 siblings, 1 reply; 8+ messages in thread
From: Reuben Dowle @ 2013-02-14 23:05 UTC (permalink / raw)
  To: buildroot

Add the duma memory debugging library. This is based on an earlier patch by
Baruch Siach, with minor changes to build for latest buildroot sources.

Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
---
 package/duma/Config.in                       |   15 ++++++++++
 package/duma/duma-2_5_15-cross-compile.patch |   36 +++++++++++++++++++++++
 package/duma/duma-2_5_15-separate-cpp.patch  |   23 +++++++++++++++
 package/duma/duma.mk                         |   40 ++++++++++++++++++++++++++
 4 files changed, 114 insertions(+)
 create mode 100644 package/duma/Config.in
 create mode 100644 package/duma/duma-2_5_15-cross-compile.patch
 create mode 100644 package/duma/duma-2_5_15-separate-cpp.patch
 create mode 100644 package/duma/duma.mk

diff --git a/package/duma/Config.in b/package/duma/Config.in
new file mode 100644
index 0000000..7f7a765
--- /dev/null
+++ b/package/duma/Config.in
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_DUMA
+       bool "duma"
+       help
+         D.U.M.A. - Detect Unintended Memory Access. A fork of the Electric
+         Fence library. Detects buffer overflow and underflow, and also memory
+         leaks.
+
+         http://duma.sourceforge.net
+
+if BR2_PACKAGE_DUMA
+
+config BR2_PACKAGE_DUMA_NO_LEAKDETECTION
+       bool "disable memory leak detection"
+
+endif # BR2_PACKAGE_DUMA
diff --git a/package/duma/duma-2_5_15-cross-compile.patch b/package/duma/duma-2_5_15-cross-compile.patch
new file mode 100644
index 0000000..323ab42
--- /dev/null
+++ b/package/duma/duma-2_5_15-cross-compile.patch
@@ -0,0 +1,36 @@
+Allow cross compilation. Adapted from crosstool-ng.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+diff -durN duma_2_5_15.orig/GNUmakefile duma_2_5_15/GNUmakefile
+--- duma_2_5_15.orig/GNUmakefile       2008-08-03 21:22:38.000000000 +0200
++++ duma_2_5_15/GNUmakefile    2009-06-19 15:32:23.000000000 +0200
+@@ -93,10 +93,6 @@
+ # also define 'WIN32'
+
+ # some defaults:
+-CC=gcc
+-CXX=g++
+-AR=ar
+-RANLIB=ranlib
+ INSTALL=install
+ RM=rm
+ RMFORCE=rm -f
+@@ -471,7 +467,7 @@
+
+ createconf$(EXEPOSTFIX): createconf.o
+       - $(RMFORCE) createconf$(EXEPOSTFIX)
+-      $(CC) $(CFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX)
++      $(CC_FOR_BUILD) $(HOSTCFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX)
+
+ tstheap$(EXEPOSTFIX): libduma.a tstheap.o
+       - $(RMFORCE) tstheap$(EXEPOSTFIX)
+@@ -532,7 +528,7 @@
+ # define rules how to build objects for createconf
+ #
+ createconf.o:
+-      $(CC) $(CFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
++      $(CC_FOR_BUILD) $(HOSTCFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
+
+
+ #
diff --git a/package/duma/duma-2_5_15-separate-cpp.patch b/package/duma/duma-2_5_15-separate-cpp.patch
new file mode 100644
index 0000000..cdf5706
--- /dev/null
+++ b/package/duma/duma-2_5_15-separate-cpp.patch
@@ -0,0 +1,23 @@
+Allow build without C++ support. Taken from crosstool-ng.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+diff -durN duma_2_5_15.orig/GNUmakefile duma_2_5_15/GNUmakefile
+--- duma_2_5_15.orig/GNUmakefile       2009-06-19 16:41:53.000000000 +0200
++++ duma_2_5_15/GNUmakefile    2009-06-19 16:43:53.000000000 +0200
+@@ -289,9 +289,13 @@
+       dumatest.c tstheap.c thread-test.c testmt.c dumatestpp.cpp testoperators.cpp \
+       createconf.c
+
+-OBJECTS=dumapp.o duma.o sem_inc.o print.o
++OBJECTS = duma.o sem_inc.o print.o
++SO_OBJECTS = duma_so.o sem_inc_so.o print_so.o
+
+-SO_OBJECTS=dumapp_so.o duma_so.o sem_inc_so.o print_so.o
++ifeq ($(DUMA_CPP),1)
++OBJECTS += dumapp.o
++SO_OBJECTS += dumapp_so.o
++endif
+
+ # Make all the top-level targets the makefile knows about.
+ all:  libduma.a tstheap$(EXEPOSTFIX) dumatest$(EXEPOSTFIX) thread-test$(EXEPOSTFIX) testmt$(EXEPOSTFIX) dumatestpp$(EXEPOSTFIX) testoperators$(EXEPOSTFIX) $(DUMA_DYN_DEPS)
diff --git a/package/duma/duma.mk b/package/duma/duma.mk
new file mode 100644
index 0000000..28eea0f
--- /dev/null
+++ b/package/duma/duma.mk
@@ -0,0 +1,40 @@
+#############################################################
+#
+# duma
+#
+#############################################################
+DUMA_VERSION = 2_5_15
+DUMA_SOURCE = duma_$(DUMA_VERSION).tar.gz
+DUMA_SITE = http://downloads.sourceforge.net/project/duma/duma/2.5.15
+DUMA_LICENSE = GPLv2+ LGPLv2.1+
+DUMA_LICENSE_FILES = COPYING-GPL COPYING-LGPL
+
+DUMA_INSTALL_STAGING = YES
+
+DUMA_OPTIONS = $(if $(BR2_PACKAGE_DUMA_NO_LEAKDETECTION), \
+                       -DDUMA_LIB_NO_LEAKDETECTION)
+
+ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
+DUMA_CPP = DUMA_CPP=1
+else
+DUMA_CPP =
+DUMA_OPTIONS += -DDUMA_SO_NO_CPP_SUPPORT -DDUMA_LIB_NO_CPP_SUPPORT
+endif
+
+# The dependency of some source files in duma_config.h, which is generated at
+# build time, is not specified in the Makefile. Force non-parallel build.
+define DUMA_BUILD_CMDS
+       $(MAKE1) $(TARGET_CONFIGURE_OPTS)               \
+               DUMA_OPTIONS=$(strip $(DUMA_OPTIONS))   \
+               $(DUMA_CPP) -C $(@D)
+endef
+
+define DUMA_INSTALL_STAGING_CMDS
+       $(MAKE) prefix=$(STAGING_DIR)/usr install -C $(@D)
+endef
+
+define DUMA_INSTALL_TARGET_CMDS
+       $(MAKE) prefix=$(TARGET_DIR)/usr install -C $(@D)
+endef
+
+$(eval $(generic-package))
--
1.7.10.4

The information in this email communication (inclusive of attachments) is confidential to 4RF Limited and the intended recipient(s). If you are not the intended recipient(s), please note that any use, disclosure, distribution or copying of this information or any part thereof is strictly prohibited and that the author accepts no liability for the consequences of any action taken on the basis of the information provided. If you have received this email in error, please notify the sender immediately by return email and then delete all instances of this email from your system. 4RF Limited will not accept responsibility for any consequences associated with the use of this email (including, but not limited to, damages sustained as a result of any viruses and/or any action or lack of action taken in reliance on it).

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH] package: add the duma memory debugging library
  2013-02-14 23:05 [Buildroot] [PATCH] package: add the duma memory debugging library Reuben Dowle
@ 2013-08-13 20:59 ` Thomas Petazzoni
  2013-08-13 22:15   ` Reuben Dowle
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2013-08-13 20:59 UTC (permalink / raw)
  To: buildroot

Dear Reuben Dowle,

On Thu, 14 Feb 2013 23:05:53 +0000, Reuben Dowle wrote:
> Add the duma memory debugging library. This is based on an earlier patch by
> Baruch Siach, with minor changes to build for latest buildroot sources.
> 
> Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>

Applied, thanks. Note that I have dropped the no-C++ support, because
it wasn't building here, and I thought it wasn't worth the effort.

If you're really interested in the no-C++ support, feel free to revive
this part of the patch, make it work, and resubmit it.

Thanks!

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH] package: add the duma memory debugging library
  2013-08-13 20:59 ` Thomas Petazzoni
@ 2013-08-13 22:15   ` Reuben Dowle
  2013-08-13 22:22     ` Thomas Petazzoni
  0 siblings, 1 reply; 8+ messages in thread
From: Reuben Dowle @ 2013-08-13 22:15 UTC (permalink / raw)
  To: buildroot

To get duma compiling I just copied the patches that crosstool-ng was using verbatim. My toolchain supports c++, so this is not of any interest to me.

Thanks,
Reuben

> -----Original Message-----
> From: Thomas Petazzoni [mailto:thomas.petazzoni at free-electrons.com]
> Sent: Wednesday, 14 August 2013 8:59 a.m.
> To: Reuben Dowle
> Cc: buildroot at busybox.net
> Subject: Re: [Buildroot] [PATCH] package: add the duma memory debugging
> library
>
> Dear Reuben Dowle,
>
> On Thu, 14 Feb 2013 23:05:53 +0000, Reuben Dowle wrote:
> > Add the duma memory debugging library. This is based on an earlier
> patch by
> > Baruch Siach, with minor changes to build for latest buildroot
> sources.
> >
> > Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
>
> Applied, thanks. Note that I have dropped the no-C++ support, because
> it wasn't building here, and I thought it wasn't worth the effort.
>
> If you're really interested in the no-C++ support, feel free to revive
> this part of the patch, make it work, and resubmit it.
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com
The information in this email communication (inclusive of attachments) is confidential to 4RF Limited and the intended recipient(s). If you are not the intended recipient(s), please note that any use, disclosure, distribution or copying of this information or any part thereof is strictly prohibited and that the author accepts no liability for the consequences of any action taken on the basis of the information provided. If you have received this email in error, please notify the sender immediately by return email and then delete all instances of this email from your system. 4RF Limited will not accept responsibility for any consequences associated with the use of this email (including, but not limited to, damages sustained as a result of any viruses and/or any action or lack of action taken in reliance on it).

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH] package: add the duma memory debugging library
  2013-08-13 22:15   ` Reuben Dowle
@ 2013-08-13 22:22     ` Thomas Petazzoni
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2013-08-13 22:22 UTC (permalink / raw)
  To: buildroot

Dear Reuben Dowle,

On Tue, 13 Aug 2013 22:15:34 +0000, Reuben Dowle wrote:

> To get duma compiling I just copied the patches that crosstool-ng was using verbatim. My toolchain supports c++, so this is not of any interest to me.

Ok. Then for some reason, those patches didn't seem to be sufficient
here. Anyway, if you don't care about non-C++ support, that's fine.
We'll leave that work for the unlikely contributor who really wants to
use duma in a non-C++ environment.

Thanks,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-08-13 22:22 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-14 23:05 [Buildroot] [PATCH] package: add the duma memory debugging library Reuben Dowle
2013-08-13 20:59 ` Thomas Petazzoni
2013-08-13 22:15   ` Reuben Dowle
2013-08-13 22:22     ` Thomas Petazzoni
  -- strict thread matches above, loose matches on Subject: below --
2011-10-05  6:20 Baruch Siach
2011-10-05 17:35 ` Yann E. MORIN
2011-10-06  8:16   ` Thomas Petazzoni
2011-10-06  8:49     ` Baruch Siach

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox