Patchwork [1/3] libcofi: new package

login
register
mail settings
Submitter Maxime Hadjinlian
Date Jan. 5, 2013, 10:55 p.m.
Message ID <323f2db72c57aff2b31b2b7a5eb7f06d74775eda.1357426077.git.maxime.hadjinlian@gmail.com>
Download mbox | patch
Permalink /patch/209704/
State Superseded
Headers show

Comments

Maxime Hadjinlian - Jan. 5, 2013, 10:55 p.m.
replacement for memcpy and memset functionality
This package was originally found at : https://github.com/huceke/buildroot-rbp
By gimli <ebsi4711@gmail.com>

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
---
 package/Config.in          |    1 +
 package/libcofi/Config.in  |    8 ++++++++
 package/libcofi/libcofi.mk |   17 +++++++++++++++++
 3 files changed, 26 insertions(+)
 create mode 100644 package/libcofi/Config.in
 create mode 100644 package/libcofi/libcofi.mk
Thomas Petazzoni - Jan. 6, 2013, 8:26 p.m.
Dear Maxime Hadjinlian,

On Sat,  5 Jan 2013 23:55:14 +0100, Maxime Hadjinlian wrote:
> diff --git a/package/libcofi/libcofi.mk b/package/libcofi/libcofi.mk
> new file mode 100644
> index 0000000..4872d1c
> --- /dev/null
> +++ b/package/libcofi/libcofi.mk
> @@ -0,0 +1,17 @@
> +#############################################################
> +#
> +# libcofi
> +#
> +#############################################################
> +LIBCOFI_VERSION = 7313fbe12b0593034d0a1b606bf33c7cf4ababce

One new line between the first variable line and the #### line.

> +LIBCOFI_SITE = http://github.com/simonjhall/copies-and-fills/tarball/master

LIBCOFI_LICENSE ?

> +define LIBCOFI_BUILD_CMDS
> +    $(MAKE1) AS="$(TARGET_AS)" CC="$(TARGET_CC)" -C $(@D) libcofi_rpi.so
> +endef

Seeing the Makefile, I don't see any obvious dependency problem, so I
guess you could use $(MAKE) instead of $(MAKE1).

Also, please use $(TARGET_CONFIGURE_OPTS). And you don't need to
specify the libcofi_rpi.so target since this is the first target of the
Makefile (and hence the default one). So:

	$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)

> +define LIBCOFI_INSTALL_TARGET_CMDS
> +    $(INSTALL) -D -m 0755 $(@D)/libcofi_rpi.so* $(TARGET_DIR)/usr/lib
> +endef

Only libcofi_rpi.so is built, so:

	$(INSTALL) -D -m 0755 $(@D)/libcofi_rpi.so $(TARGET_DIR)/usr/lib/libcofi_rpi.so

Thomas
Maxime Hadjinlian - Jan. 6, 2013, 8:39 p.m.
On Sun, Jan 6, 2013 at 9:26 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Dear Maxime Hadjinlian,
>
> On Sat,  5 Jan 2013 23:55:14 +0100, Maxime Hadjinlian wrote:
>> diff --git a/package/libcofi/libcofi.mk b/package/libcofi/libcofi.mk
>> new file mode 100644
>> index 0000000..4872d1c
>> --- /dev/null
>> +++ b/package/libcofi/libcofi.mk
>> @@ -0,0 +1,17 @@
>> +#############################################################
>> +#
>> +# libcofi
>> +#
>> +#############################################################
>> +LIBCOFI_VERSION = 7313fbe12b0593034d0a1b606bf33c7cf4ababce
>
> One new line between the first variable line and the #### line.
>
>> +LIBCOFI_SITE = http://github.com/simonjhall/copies-and-fills/tarball/master
>
> LIBCOFI_LICENSE ?
There is absolutely no information whatsoever about license that I
could find, so I really did knew what to put there.
>
>> +define LIBCOFI_BUILD_CMDS
>> +    $(MAKE1) AS="$(TARGET_AS)" CC="$(TARGET_CC)" -C $(@D) libcofi_rpi.so
>> +endef
>
> Seeing the Makefile, I don't see any obvious dependency problem, so I
> guess you could use $(MAKE) instead of $(MAKE1).
>
> Also, please use $(TARGET_CONFIGURE_OPTS). And you don't need to
> specify the libcofi_rpi.so target since this is the first target of the
> Makefile (and hence the default one). So:
>
>         $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
>
>> +define LIBCOFI_INSTALL_TARGET_CMDS
>> +    $(INSTALL) -D -m 0755 $(@D)/libcofi_rpi.so* $(TARGET_DIR)/usr/lib
>> +endef
>
> Only libcofi_rpi.so is built, so:
>
>         $(INSTALL) -D -m 0755 $(@D)/libcofi_rpi.so $(TARGET_DIR)/usr/lib/libcofi_rpi.so
>
Ok
> Thomas
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com
Thomas Petazzoni - Jan. 6, 2013, 8:45 p.m.
Dear Maxime Hadjinlian,

On Sun, 6 Jan 2013 21:39:55 +0100, Maxime Hadjinlian wrote:

> > LIBCOFI_LICENSE ?
> There is absolutely no information whatsoever about license that I
> could find, so I really did knew what to put there.

There is actually a lot of information about the license in the
README.md file:

The inner loop of the misalignment path of memcpy is derived from the
GNU libc ARM port. As a result "copies-and-fills" is licensed under the
GNU Lesser General Public License version 2.1. See
http://www.gnu.org/licenses/ for details. To see the original memcpy,
browse it here:
http://sourceware.org/git/?p=glibc-ports.git;a=blob;f=sysdeps/arm/memcpy.S;hb=HEAD

So:
	LIBCOFI_LICENSE = LGPLv2.1
	LIBCOFI_LICENSE_FILES = README.md

Thanks!

Thomas

Patch

diff --git a/package/Config.in b/package/Config.in
index 047af8d..9b50f4b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -511,6 +511,7 @@  endmenu
 menu "Other"
 source "package/apr/Config.in"
 source "package/apr-util/Config.in"
+source "package/libcofi/Config.in"
 source "package/classpath/Config.in"
 source "package/fftw/Config.in"
 source "package/libargtable2/Config.in"
diff --git a/package/libcofi/Config.in b/package/libcofi/Config.in
new file mode 100644
index 0000000..b900b69
--- /dev/null
+++ b/package/libcofi/Config.in
@@ -0,0 +1,8 @@ 
+config BR2_PACKAGE_LIBCOFI
+	bool "libcofi"
+	depends on BR2_arm
+	help
+	  A replacement for memcpy and memset functionality for the Raspberry Pi
+	  with the intention of gaining greater performance.
+
+	  https://github.com/simonjhall/copies-and-fills
diff --git a/package/libcofi/libcofi.mk b/package/libcofi/libcofi.mk
new file mode 100644
index 0000000..4872d1c
--- /dev/null
+++ b/package/libcofi/libcofi.mk
@@ -0,0 +1,17 @@ 
+#############################################################
+#
+# libcofi
+#
+#############################################################
+LIBCOFI_VERSION = 7313fbe12b0593034d0a1b606bf33c7cf4ababce
+LIBCOFI_SITE = http://github.com/simonjhall/copies-and-fills/tarball/master
+
+define LIBCOFI_BUILD_CMDS
+    $(MAKE1) AS="$(TARGET_AS)" CC="$(TARGET_CC)" -C $(@D) libcofi_rpi.so
+endef
+
+define LIBCOFI_INSTALL_TARGET_CMDS
+    $(INSTALL) -D -m 0755 $(@D)/libcofi_rpi.so* $(TARGET_DIR)/usr/lib
+endef
+
+$(eval $(generic-package))