diff mbox

[v2] cxxtest: new package

Message ID 1448546706-31297-1-git-send-email-Abhishek.Singh@imgtec.com
State Superseded
Headers show

Commit Message

Abhishek Singh Nov. 26, 2015, 2:05 p.m. UTC
Reviewed-by: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
Reviewed-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
Reviewed-by: Piotr Nakraszewicz <piotr.nakraszewicz@imgtec.com>
Signed-off-by: Abhishek Singh <Abhishek.Singh@imgtec.com>
---
changes v1 -> v2:
	- remove dependency on host-python
	- add comments in mk file
---
 package/Config.in            |  1 +
 package/cxxtest/Config.in    | 10 ++++++++++
 package/cxxtest/cxxtest.hash |  2 ++
 package/cxxtest/cxxtest.mk   | 30 ++++++++++++++++++++++++++++++
 4 files changed, 43 insertions(+)
 create mode 100644 package/cxxtest/Config.in
 create mode 100644 package/cxxtest/cxxtest.hash
 create mode 100644 package/cxxtest/cxxtest.mk

Comments

Abhishek Singh Dec. 7, 2015, 5:54 a.m. UTC | #1
Please treat this as a polite reminder for this pending patch.


On Thursday 26 November 2015 07:35 PM, Abhishek Singh wrote:
> Reviewed-by: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
> Reviewed-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
> Reviewed-by: Piotr Nakraszewicz <piotr.nakraszewicz@imgtec.com>
> Signed-off-by: Abhishek Singh <Abhishek.Singh@imgtec.com>
> ---
> changes v1 -> v2:
> 	- remove dependency on host-python
> 	- add comments in mk file
> ---
>   package/Config.in            |  1 +
>   package/cxxtest/Config.in    | 10 ++++++++++
>   package/cxxtest/cxxtest.hash |  2 ++
>   package/cxxtest/cxxtest.mk   | 30 ++++++++++++++++++++++++++++++
>   4 files changed, 43 insertions(+)
>   create mode 100644 package/cxxtest/Config.in
>   create mode 100644 package/cxxtest/cxxtest.hash
>   create mode 100644 package/cxxtest/cxxtest.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index bdc3063..6e71d25 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -116,6 +116,7 @@ menu "Development tools"
>   	source "package/cmake/Config.in"
>   	source "package/cppunit/Config.in"
>   	source "package/cvs/Config.in"
> +	source "package/cxxtest/Config.in"
>   if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
>   	source "package/diffutils/Config.in"
>   	source "package/dos2unix/Config.in"
> diff --git a/package/cxxtest/Config.in b/package/cxxtest/Config.in
> new file mode 100644
> index 0000000..7512e4b
> --- /dev/null
> +++ b/package/cxxtest/Config.in
> @@ -0,0 +1,10 @@
> +config BR2_PACKAGE_CXXTEST
> +	bool "cxxtest"
> +	depends on BR2_INSTALL_LIBSTDCPP
> +	help
> +	  CxxTest is a unit testing framework for C++
> +
> +	  http://cxxtest.com/
> +
> +comment "cxxtest needs toolchain with C++ support"
> +	depends on !BR2_INSTALL_LIBSTDCPP
> diff --git a/package/cxxtest/cxxtest.hash b/package/cxxtest/cxxtest.hash
> new file mode 100644
> index 0000000..f552e80
> --- /dev/null
> +++ b/package/cxxtest/cxxtest.hash
> @@ -0,0 +1,2 @@
> +# Locally computed:
> +sha256	1c154fef91c65dbf1cd4519af7ade70a61d85a923b6e0c0b007dc7f4895cf7d8	cxxtest-4.4.tar.gz
> diff --git a/package/cxxtest/cxxtest.mk b/package/cxxtest/cxxtest.mk
> new file mode 100644
> index 0000000..cc29608
> --- /dev/null
> +++ b/package/cxxtest/cxxtest.mk
> @@ -0,0 +1,30 @@
> +################################################################################
> +#
> +# cxxtest
> +#
> +################################################################################
> +
> +CXXTEST_VERSION = 4.4
> +CXXTEST_SOURCE = cxxtest-$(CXXTEST_VERSION).tar.gz
> +CXXTEST_SITE = http://sourceforge.net/projects/cxxtest/files/cxxtest/$(CXXTEST_VERSION)
> +CXXTEST_LICENSE = LGPLv3
> +CXXTEST_LICENSE_FILES = COPYING
> +CXXTEST_INSTALL_STAGING = YES
> +CXXTEST_INSTALL_TARGET = NO
> +CXXTEST_DEPENDENCIES = host-cxxtest
> +HOST_CXXTEST_SETUP_TYPE = setuptools
> +HOST_CXXTEST_SUBDIR = python
> +
> +# Copy CxxTest header files to staging directory
> +define CXXTEST_INSTALL_STAGING_CMDS
> +	mkdir -p $(STAGING_DIR)/usr/include/cxxtest
> +	cp $(@D)/cxxtest/* $(STAGING_DIR)/usr/include/cxxtest
> +endef
> +
> +# CxxTest uses python infrastructure as the build system. cxxtestgen is
> +# a script which is used to process header files to generate C++ source files.
> +# Compiling test runner requires CxxTest header files which are installed in
> +# the staging directory.
> +
> +$(eval $(generic-package))
> +$(eval $(host-python-package))
Yann E. MORIN Dec. 14, 2015, 10:36 p.m. UTC | #2
Abhishek, All,

Sorry for the delay, I'm now looking at your patch...

On 2015-11-26 19:35 +0530, Abhishek Singh spake thusly:
> Reviewed-by: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
> Reviewed-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
> Reviewed-by: Piotr Nakraszewicz <piotr.nakraszewicz@imgtec.com>
> Signed-off-by: Abhishek Singh <Abhishek.Singh@imgtec.com>
> ---
> changes v1 -> v2:
> 	- remove dependency on host-python
> 	- add comments in mk file
[--SNIP--]
> diff --git a/package/cxxtest/cxxtest.mk b/package/cxxtest/cxxtest.mk
> new file mode 100644
> index 0000000..cc29608
> --- /dev/null
> +++ b/package/cxxtest/cxxtest.mk
> @@ -0,0 +1,30 @@
> +################################################################################
> +#
> +# cxxtest
> +#
> +################################################################################
> +
> +CXXTEST_VERSION = 4.4
> +CXXTEST_SOURCE = cxxtest-$(CXXTEST_VERSION).tar.gz
> +CXXTEST_SITE = http://sourceforge.net/projects/cxxtest/files/cxxtest/$(CXXTEST_VERSION)

SF.net is getting a bad reputation these days, and there is an official
Github repository with the latest 4.4 release:
    https://github.com/CxxTest/cxxtest

Can we use Github instead?

> +CXXTEST_LICENSE = LGPLv3
> +CXXTEST_LICENSE_FILES = COPYING
> +CXXTEST_INSTALL_STAGING = YES
> +CXXTEST_INSTALL_TARGET = NO
> +CXXTEST_DEPENDENCIES = host-cxxtest
> +HOST_CXXTEST_SETUP_TYPE = setuptools
> +HOST_CXXTEST_SUBDIR = python
> +
> +# Copy CxxTest header files to staging directory
> +define CXXTEST_INSTALL_STAGING_CMDS
> +	mkdir -p $(STAGING_DIR)/usr/include/cxxtest
> +	cp $(@D)/cxxtest/* $(STAGING_DIR)/usr/include/cxxtest
> +endef
> +
> +# CxxTest uses python infrastructure as the build system. cxxtestgen is
> +# a script which is used to process header files to generate C++ source files.
> +# Compiling test runner requires CxxTest header files which are installed in
> +# the staging directory.

OK, I think we need a bit more info about all tis, as I am not sure I
understand. Let me try to reformulate from what I understood:

  - cxxtest is made of twoo parts:
    - a tool to parse header files (supposedly from a project)
    - a set of header files

  - the tool is built as a host package, so it can be used natively

  - the headers set is installed in staging

Then the use-case is for a user to use the csstest tool to parse his own
headers, that will supposedly generate a test harness, which is then
cross-compiled and run on the target. Right?

Could you expand a bit on the explanations, please?

Regards,
Yann E. MORIN.

> +$(eval $(generic-package))
> +$(eval $(host-python-package))
> -- 
> 2.6.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Abhishek Singh Dec. 16, 2015, 1:06 p.m. UTC | #3
Hi Yann,


On Tuesday 15 December 2015 04:06 AM, Yann E. MORIN wrote:
> Abhishek, All,
>
> Sorry for the delay, I'm now looking at your patch...
>
> On 2015-11-26 19:35 +0530, Abhishek Singh spake thusly:
>> Reviewed-by: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
>> Reviewed-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
>> Reviewed-by: Piotr Nakraszewicz <piotr.nakraszewicz@imgtec.com>
>> Signed-off-by: Abhishek Singh <Abhishek.Singh@imgtec.com>
>> ---
>> changes v1 -> v2:
>> 	- remove dependency on host-python
>> 	- add comments in mk file
> [--SNIP--]
>> diff --git a/package/cxxtest/cxxtest.mk b/package/cxxtest/cxxtest.mk
>> new file mode 100644
>> index 0000000..cc29608
>> --- /dev/null
>> +++ b/package/cxxtest/cxxtest.mk
>> @@ -0,0 +1,30 @@
>> +################################################################################
>> +#
>> +# cxxtest
>> +#
>> +################################################################################
>> +
>> +CXXTEST_VERSION = 4.4
>> +CXXTEST_SOURCE = cxxtest-$(CXXTEST_VERSION).tar.gz
>> +CXXTEST_SITE = http://sourceforge.net/projects/cxxtest/files/cxxtest/$(CXXTEST_VERSION)
> SF.net is getting a bad reputation these days, and there is an official
> Github repository with the latest 4.4 release:
>      https://github.com/CxxTest/cxxtest
>
> Can we use Github instead?

Yes, I will change it.

>> +CXXTEST_LICENSE = LGPLv3
>> +CXXTEST_LICENSE_FILES = COPYING
>> +CXXTEST_INSTALL_STAGING = YES
>> +CXXTEST_INSTALL_TARGET = NO
>> +CXXTEST_DEPENDENCIES = host-cxxtest
>> +HOST_CXXTEST_SETUP_TYPE = setuptools
>> +HOST_CXXTEST_SUBDIR = python
>> +
>> +# Copy CxxTest header files to staging directory
>> +define CXXTEST_INSTALL_STAGING_CMDS
>> +	mkdir -p $(STAGING_DIR)/usr/include/cxxtest
>> +	cp $(@D)/cxxtest/* $(STAGING_DIR)/usr/include/cxxtest
>> +endef
>> +
>> +# CxxTest uses python infrastructure as the build system. cxxtestgen is
>> +# a script which is used to process header files to generate C++ source files.
>> +# Compiling test runner requires CxxTest header files which are installed in
>> +# the staging directory.
> OK, I think we need a bit more info about all tis, as I am not sure I
> understand. Let me try to reformulate from what I understood:
>
>    - cxxtest is made of twoo parts:
>      - a tool to parse header files (supposedly from a project)
>      - a set of header files
>
>    - the tool is built as a host package, so it can be used natively
>
>    - the headers set is installed in staging
>
> Then the use-case is for a user to use the csstest tool to parse his own
> headers, that will supposedly generate a test harness, which is then
> cross-compiled and run on the target. Right?
>
> Could you expand a bit on the explanations, please?
>
> Regards,
> Yann E. MORIN.

What you understood is correct. I am planning to add following comments in next patch. Please tell, does it explains what you expect?

"CxxTest uses python infrastructure as the build system. It consists of two parts:

1. cxxtestgen tool to process tests defined in header files to generate C++ source files. cxxtestgen is built as a host package, so that it can be used natively.

2. A set of header files which are installed in staging directory. This will be used to cross-compile test harness to generate executable which will run on target."

>> +$(eval $(generic-package))
>> +$(eval $(host-python-package))
>> -- 
>> 2.6.2
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot@busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot

Regards,
Abhishek
Yann E. MORIN Dec. 16, 2015, 4:31 p.m. UTC | #4
Abhishek, All,

On 2015-12-16 18:36 +0530, Abhishek Singh spake thusly:
> On Tuesday 15 December 2015 04:06 AM, Yann E. MORIN wrote:
> >On 2015-11-26 19:35 +0530, Abhishek Singh spake thusly:
[--SNIP--]
> >>+# CxxTest uses python infrastructure as the build system. cxxtestgen is
> >>+# a script which is used to process header files to generate C++ source files.
> >>+# Compiling test runner requires CxxTest header files which are installed in
> >>+# the staging directory.
> >OK, I think we need a bit more info about all tis, as I am not sure I
> >understand. Let me try to reformulate from what I understood:
> >
> >   - cxxtest is made of twoo parts:
> >     - a tool to parse header files (supposedly from a project)
> >     - a set of header files
> >
> >   - the tool is built as a host package, so it can be used natively
> >
> >   - the headers set is installed in staging
> >
> >Then the use-case is for a user to use the csstest tool to parse his own
> >headers, that will supposedly generate a test harness, which is then
> >cross-compiled and run on the target. Right?
> >
> >Could you expand a bit on the explanations, please?
> >
> >Regards,
> >Yann E. MORIN.
> 
> What you understood is correct. I am planning to add following comments
> in next patch. Please tell, does it explains what you expect?
> 
> "CxxTest uses python infrastructure as the build system. It consists
> of two parts:
> 
> 1. cxxtestgen tool to process tests defined in header files to generate
> C++ source files. cxxtestgen is built as a host package, so that it can
> be used natively.
> 
> 2. A set of header files which are installed in staging directory. This
> will be used to cross-compile test harness to generate executable which
> will run on target."

That's good for me. Thanks! :-)

Regards,
Yann E. MORIN.
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index bdc3063..6e71d25 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -116,6 +116,7 @@  menu "Development tools"
 	source "package/cmake/Config.in"
 	source "package/cppunit/Config.in"
 	source "package/cvs/Config.in"
+	source "package/cxxtest/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 	source "package/diffutils/Config.in"
 	source "package/dos2unix/Config.in"
diff --git a/package/cxxtest/Config.in b/package/cxxtest/Config.in
new file mode 100644
index 0000000..7512e4b
--- /dev/null
+++ b/package/cxxtest/Config.in
@@ -0,0 +1,10 @@ 
+config BR2_PACKAGE_CXXTEST
+	bool "cxxtest"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  CxxTest is a unit testing framework for C++
+
+	  http://cxxtest.com/
+
+comment "cxxtest needs toolchain with C++ support"
+	depends on !BR2_INSTALL_LIBSTDCPP
diff --git a/package/cxxtest/cxxtest.hash b/package/cxxtest/cxxtest.hash
new file mode 100644
index 0000000..f552e80
--- /dev/null
+++ b/package/cxxtest/cxxtest.hash
@@ -0,0 +1,2 @@ 
+# Locally computed:
+sha256	1c154fef91c65dbf1cd4519af7ade70a61d85a923b6e0c0b007dc7f4895cf7d8	cxxtest-4.4.tar.gz
diff --git a/package/cxxtest/cxxtest.mk b/package/cxxtest/cxxtest.mk
new file mode 100644
index 0000000..cc29608
--- /dev/null
+++ b/package/cxxtest/cxxtest.mk
@@ -0,0 +1,30 @@ 
+################################################################################
+#
+# cxxtest
+#
+################################################################################
+
+CXXTEST_VERSION = 4.4
+CXXTEST_SOURCE = cxxtest-$(CXXTEST_VERSION).tar.gz
+CXXTEST_SITE = http://sourceforge.net/projects/cxxtest/files/cxxtest/$(CXXTEST_VERSION)
+CXXTEST_LICENSE = LGPLv3
+CXXTEST_LICENSE_FILES = COPYING
+CXXTEST_INSTALL_STAGING = YES
+CXXTEST_INSTALL_TARGET = NO
+CXXTEST_DEPENDENCIES = host-cxxtest
+HOST_CXXTEST_SETUP_TYPE = setuptools
+HOST_CXXTEST_SUBDIR = python
+
+# Copy CxxTest header files to staging directory
+define CXXTEST_INSTALL_STAGING_CMDS
+	mkdir -p $(STAGING_DIR)/usr/include/cxxtest
+	cp $(@D)/cxxtest/* $(STAGING_DIR)/usr/include/cxxtest
+endef
+
+# CxxTest uses python infrastructure as the build system. cxxtestgen is
+# a script which is used to process header files to generate C++ source files.
+# Compiling test runner requires CxxTest header files which are installed in
+# the staging directory.
+
+$(eval $(generic-package))
+$(eval $(host-python-package))