Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] host-autoconf-archive: install to a non-standard location
@ 2015-05-14 20:57 Thomas Petazzoni
  2015-05-14 20:57 ` [Buildroot] [PATCH 2/2] Revert "package/ola: fix autoreconf issue for host-ola" Thomas Petazzoni
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2015-05-14 20:57 UTC (permalink / raw)
  To: buildroot

The host-autoconf-archive package was added to provide the necessary
autoconf macros for the libsigrok package, and later also used for the
thrift package.

However, it installs its autoconf macro in
$(HOST_DIR)/usr/share/aclocal, which is part of the include directory
of autoconf macros used for all autoreconf invocations. Unfortunately,
using those macros for all packages is causing a number of
regressions: one on host-ola fixed in commit
884af65fd5ddc548f19a26162f905a32ef0b53b3, and one in snmpp. Those
packages are autoreconf'ed, but if they are autoreconf'ed with the
autoconf-archive macros installed, they no longer work.

To solve this problem, this commit implements a simple solution that
makes using host-autoconf-archive macros an opt-in mechanism. To
achieve this, the autoconf-archive package is modified to install its
macros in a special directory, and only the packages that really want
to use those macros will have to pass a -I flag pointing to this
directory in their <pkg>_AUTORECONF_OPTS variable.

Fixes:

  http://autobuild.buildroot.org/results/712/712c8083b9eeafa41b60790961028c40b28f59ad/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/autoconf-archive/autoconf-archive.mk | 1 +
 package/libsigrok/libsigrok.mk               | 1 +
 package/thrift/thrift.mk                     | 1 +
 3 files changed, 3 insertions(+)

diff --git a/package/autoconf-archive/autoconf-archive.mk b/package/autoconf-archive/autoconf-archive.mk
index bd3b0c8..673a57f 100644
--- a/package/autoconf-archive/autoconf-archive.mk
+++ b/package/autoconf-archive/autoconf-archive.mk
@@ -9,5 +9,6 @@ AUTOCONF_ARCHIVE_SOURCE = autoconf-archive-$(AUTOCONF_ARCHIVE_VERSION).tar.xz
 AUTOCONF_ARCHIVE_SITE = $(BR2_GNU_MIRROR)/autoconf-archive
 AUTOCONF_ARCHIVE_LICENSE = GPLv3+ with exception
 AUTOCONF_ARCHIVE_LICENSE_FILES = COPYING COPYING.EXCEPTION
+HOST_AUTOCONF_ARCHIVE_INSTALL_OPTS = aclocaldir=$(HOST_DIR)/usr/share/autoconf-archive install
 
 $(eval $(host-autotools-package))
diff --git a/package/libsigrok/libsigrok.mk b/package/libsigrok/libsigrok.mk
index 7394f64..21d8259 100644
--- a/package/libsigrok/libsigrok.mk
+++ b/package/libsigrok/libsigrok.mk
@@ -48,6 +48,7 @@ endif
 
 ifeq ($(BR2_PACKAGE_LIBSIGROKCXX),y)
 LIBSIGROK_CONF_OPTS += --enable-cxx
+LIBSIGROK_AUTORECONF_OPTS += -I $(HOST_DIR)/usr/share/autoconf-archive
 LIBSIGROK_DEPENDENCIES += \
 	host-autoconf-archive \
 	glibmm \
diff --git a/package/thrift/thrift.mk b/package/thrift/thrift.mk
index b4b3a2c..a40ddad 100644
--- a/package/thrift/thrift.mk
+++ b/package/thrift/thrift.mk
@@ -21,6 +21,7 @@ HOST_THRIFT_CONF_OPTS = --with-sysroot=$(HOST_DIR) \
 	--disable-tests \
 	--disable-tutorial
 THRIFT_AUTORECONF = YES
+THRIFT_AUTORECONF_OPTS = -I $(HOST_DIR)/usr/share/autoconf-archive
 THRIFT_LICENSE = Apache-2.0
 THRIFT_LICENSE_FILES = LICENSE
 
-- 
2.1.0

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

* [Buildroot] [PATCH 2/2] Revert "package/ola: fix autoreconf issue for host-ola"
  2015-05-14 20:57 [Buildroot] [PATCH 1/2] host-autoconf-archive: install to a non-standard location Thomas Petazzoni
@ 2015-05-14 20:57 ` Thomas Petazzoni
  2015-05-14 22:59   ` Peter Korsgaard
  2015-05-14 23:00   ` Romain Naour
  2015-05-14 22:59 ` [Buildroot] [PATCH 1/2] host-autoconf-archive: install to a non-standard location Romain Naour
  2015-05-14 22:59 ` Peter Korsgaard
  2 siblings, 2 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2015-05-14 20:57 UTC (permalink / raw)
  To: buildroot

This reverts commit 884af65fd5ddc548f19a26162f905a32ef0b53b3. Thanks
to the change of the installation path of host-autoconf-archive
macros, host-ola will no longer see them when doing its autoreconf, so
the patch that was added by the commit being reverted here is no
longer needed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 ...on-t-overwrite-CC-and-CXX-with-ACX_PTHREA.patch | 51 ----------------------
 1 file changed, 51 deletions(-)
 delete mode 100644 package/ola/0002-autotools-don-t-overwrite-CC-and-CXX-with-ACX_PTHREA.patch

diff --git a/package/ola/0002-autotools-don-t-overwrite-CC-and-CXX-with-ACX_PTHREA.patch b/package/ola/0002-autotools-don-t-overwrite-CC-and-CXX-with-ACX_PTHREA.patch
deleted file mode 100644
index 80d21bc..0000000
--- a/package/ola/0002-autotools-don-t-overwrite-CC-and-CXX-with-ACX_PTHREA.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 991eef9f84a5ef58eaab8ea0a85f3b4bce7b00a3 Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@openwide.fr>
-Date: Sat, 2 May 2015 01:50:14 +0200
-Subject: [PATCH] autotools: don't overwrite CC and CXX with ACX_PTHREAD
- success
-
-If ACX_PTHREAD sucess, CC and CXX value are overwriten respectively
-to PTHREAD_CC and PTHREAD_CXX. But ACX_PTHREAD has been hacked to
-set PTHREAD_CXX variable for the C++ compiler and configure.ac has
-been modified accordingly.
-
-If ax_pthread.m4 wich provide standard AX_PTHREAD macro (and it's
-alias ACX_PTHREAD and AX_PTHREAD), is installed on the system by
-autoconf-archive package, then ax_pthread.m4 is used during
-autoreconf instread of acx_pthread.m4 bundled with ola.
-
-AX_PTHREAD macro from ax_pthread.m4 check only the thread support
-with the C compiler. As a result, the C++ compiler variable
-PTHREAD_CXX is not initialized, so CXX become empy and the build
-fail during resolv.h check.
-
-configure:19945: checking for 2-arg pthread_setname_np
-configure:19965:  -o conftest -O2 [snip -I and -L] conftest.cpp  -ldl  >&5
-./configure: line 2037: -o: command not found
-
-In the Buildroot use case, it's safe to remove CC and CXX overwrite
-since only gcc/g++ compiler are used.
-
-Signed-off-by: Romain Naour <romain.naour@openwide.fr>
----
- configure.ac | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b1946b6..ef85af5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -303,9 +303,7 @@ AM_CONDITIONAL([HAVE_NCURSES], [test "x$have_ncurses" = xyes])
- ACX_PTHREAD([
-              LIBS="$PTHREAD_LIBS $LIBS"
-              CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
--             CXXFLAGS="$CXXFLAGS $PTHREAD_CXXFLAGS"
--             CC="$PTHREAD_CC"
--             CXX="$PTHREAD_CXX"],
-+             CXXFLAGS="$CXXFLAGS $PTHREAD_CXXFLAGS"],
-             [AC_MSG_ERROR([Missing pthread, please install it])])
- 
- # pthread_setname_np can take either 1 or 2 arguments.
--- 
-1.9.3
-
-- 
2.1.0

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

* [Buildroot] [PATCH 1/2] host-autoconf-archive: install to a non-standard location
  2015-05-14 20:57 [Buildroot] [PATCH 1/2] host-autoconf-archive: install to a non-standard location Thomas Petazzoni
  2015-05-14 20:57 ` [Buildroot] [PATCH 2/2] Revert "package/ola: fix autoreconf issue for host-ola" Thomas Petazzoni
@ 2015-05-14 22:59 ` Romain Naour
  2015-05-14 22:59 ` Peter Korsgaard
  2 siblings, 0 replies; 6+ messages in thread
From: Romain Naour @ 2015-05-14 22:59 UTC (permalink / raw)
  To: buildroot

Hi Thomas, All,

Le 14/05/2015 22:57, Thomas Petazzoni a ?crit :
> The host-autoconf-archive package was added to provide the necessary
> autoconf macros for the libsigrok package, and later also used for the
> thrift package.
> 
> However, it installs its autoconf macro in
> $(HOST_DIR)/usr/share/aclocal, which is part of the include directory
> of autoconf macros used for all autoreconf invocations. Unfortunately,
> using those macros for all packages is causing a number of
> regressions: one on host-ola fixed in commit
> 884af65fd5ddc548f19a26162f905a32ef0b53b3, and one in snmpp. Those
> packages are autoreconf'ed, but if they are autoreconf'ed with the
> autoconf-archive macros installed, they no longer work.
> 
> To solve this problem, this commit implements a simple solution that
> makes using host-autoconf-archive macros an opt-in mechanism. To
> achieve this, the autoconf-archive package is modified to install its
> macros in a special directory, and only the packages that really want
> to use those macros will have to pass a -I flag pointing to this
> directory in their <pkg>_AUTORECONF_OPTS variable.
> 
> Fixes:
> 
>   http://autobuild.buildroot.org/results/712/712c8083b9eeafa41b60790961028c40b28f59ad/
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Reviewed-by: Romain Naour <romain.naour@openwide.fr>

[thrift]
Build tested with a thrift config
http://autobuild.buildroot.net/results/21e/21e3fff1e0d714f94ac7e621289d1a59bc02a05f/config
(the toolchain doesn't have C++11 support)

[snmppp]
Build tested with the snmppp config.
Tested-by: Romain Naour <romain.naour@openwide.fr>

Best regards,
Romain

> ---
>  package/autoconf-archive/autoconf-archive.mk | 1 +
>  package/libsigrok/libsigrok.mk               | 1 +
>  package/thrift/thrift.mk                     | 1 +
>  3 files changed, 3 insertions(+)
> 
> diff --git a/package/autoconf-archive/autoconf-archive.mk b/package/autoconf-archive/autoconf-archive.mk
> index bd3b0c8..673a57f 100644
> --- a/package/autoconf-archive/autoconf-archive.mk
> +++ b/package/autoconf-archive/autoconf-archive.mk
> @@ -9,5 +9,6 @@ AUTOCONF_ARCHIVE_SOURCE = autoconf-archive-$(AUTOCONF_ARCHIVE_VERSION).tar.xz
>  AUTOCONF_ARCHIVE_SITE = $(BR2_GNU_MIRROR)/autoconf-archive
>  AUTOCONF_ARCHIVE_LICENSE = GPLv3+ with exception
>  AUTOCONF_ARCHIVE_LICENSE_FILES = COPYING COPYING.EXCEPTION
> +HOST_AUTOCONF_ARCHIVE_INSTALL_OPTS = aclocaldir=$(HOST_DIR)/usr/share/autoconf-archive install
>  
>  $(eval $(host-autotools-package))
> diff --git a/package/libsigrok/libsigrok.mk b/package/libsigrok/libsigrok.mk
> index 7394f64..21d8259 100644
> --- a/package/libsigrok/libsigrok.mk
> +++ b/package/libsigrok/libsigrok.mk
> @@ -48,6 +48,7 @@ endif
>  
>  ifeq ($(BR2_PACKAGE_LIBSIGROKCXX),y)
>  LIBSIGROK_CONF_OPTS += --enable-cxx
> +LIBSIGROK_AUTORECONF_OPTS += -I $(HOST_DIR)/usr/share/autoconf-archive
>  LIBSIGROK_DEPENDENCIES += \
>  	host-autoconf-archive \
>  	glibmm \
> diff --git a/package/thrift/thrift.mk b/package/thrift/thrift.mk
> index b4b3a2c..a40ddad 100644
> --- a/package/thrift/thrift.mk
> +++ b/package/thrift/thrift.mk
> @@ -21,6 +21,7 @@ HOST_THRIFT_CONF_OPTS = --with-sysroot=$(HOST_DIR) \
>  	--disable-tests \
>  	--disable-tutorial
>  THRIFT_AUTORECONF = YES
> +THRIFT_AUTORECONF_OPTS = -I $(HOST_DIR)/usr/share/autoconf-archive
>  THRIFT_LICENSE = Apache-2.0
>  THRIFT_LICENSE_FILES = LICENSE
>  
> 

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

* [Buildroot] [PATCH 1/2] host-autoconf-archive: install to a non-standard location
  2015-05-14 20:57 [Buildroot] [PATCH 1/2] host-autoconf-archive: install to a non-standard location Thomas Petazzoni
  2015-05-14 20:57 ` [Buildroot] [PATCH 2/2] Revert "package/ola: fix autoreconf issue for host-ola" Thomas Petazzoni
  2015-05-14 22:59 ` [Buildroot] [PATCH 1/2] host-autoconf-archive: install to a non-standard location Romain Naour
@ 2015-05-14 22:59 ` Peter Korsgaard
  2 siblings, 0 replies; 6+ messages in thread
From: Peter Korsgaard @ 2015-05-14 22:59 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > The host-autoconf-archive package was added to provide the necessary
 > autoconf macros for the libsigrok package, and later also used for the
 > thrift package.

 > However, it installs its autoconf macro in
 > $(HOST_DIR)/usr/share/aclocal, which is part of the include directory
 > of autoconf macros used for all autoreconf invocations. Unfortunately,
 > using those macros for all packages is causing a number of
 > regressions: one on host-ola fixed in commit
 > 884af65fd5ddc548f19a26162f905a32ef0b53b3, and one in snmpp. Those
 > packages are autoreconf'ed, but if they are autoreconf'ed with the
 > autoconf-archive macros installed, they no longer work.

 > To solve this problem, this commit implements a simple solution that
 > makes using host-autoconf-archive macros an opt-in mechanism. To
 > achieve this, the autoconf-archive package is modified to install its
 > macros in a special directory, and only the packages that really want
 > to use those macros will have to pass a -I flag pointing to this
 > directory in their <pkg>_AUTORECONF_OPTS variable.

 > Fixes:

 >   http://autobuild.buildroot.org/results/712/712c8083b9eeafa41b60790961028c40b28f59ad/

 > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 2/2] Revert "package/ola: fix autoreconf issue for host-ola"
  2015-05-14 20:57 ` [Buildroot] [PATCH 2/2] Revert "package/ola: fix autoreconf issue for host-ola" Thomas Petazzoni
@ 2015-05-14 22:59   ` Peter Korsgaard
  2015-05-14 23:00   ` Romain Naour
  1 sibling, 0 replies; 6+ messages in thread
From: Peter Korsgaard @ 2015-05-14 22:59 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > This reverts commit 884af65fd5ddc548f19a26162f905a32ef0b53b3. Thanks
 > to the change of the installation path of host-autoconf-archive
 > macros, host-ola will no longer see them when doing its autoreconf, so
 > the patch that was added by the commit being reverted here is no
 > longer needed.

 > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 2/2] Revert "package/ola: fix autoreconf issue for host-ola"
  2015-05-14 20:57 ` [Buildroot] [PATCH 2/2] Revert "package/ola: fix autoreconf issue for host-ola" Thomas Petazzoni
  2015-05-14 22:59   ` Peter Korsgaard
@ 2015-05-14 23:00   ` Romain Naour
  1 sibling, 0 replies; 6+ messages in thread
From: Romain Naour @ 2015-05-14 23:00 UTC (permalink / raw)
  To: buildroot

Hi Thomas, all

Le 14/05/2015 22:57, Thomas Petazzoni a ?crit :
> This reverts commit 884af65fd5ddc548f19a26162f905a32ef0b53b3. Thanks
> to the change of the installation path of host-autoconf-archive
> macros, host-ola will no longer see them when doing its autoreconf, so
> the patch that was added by the commit being reverted here is no
> longer needed.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Acked-by: Romain Naour <romain.naour@openwide.fr>

Best regards,
Romain

> ---
>  ...on-t-overwrite-CC-and-CXX-with-ACX_PTHREA.patch | 51 ----------------------
>  1 file changed, 51 deletions(-)
>  delete mode 100644 package/ola/0002-autotools-don-t-overwrite-CC-and-CXX-with-ACX_PTHREA.patch
> 
> diff --git a/package/ola/0002-autotools-don-t-overwrite-CC-and-CXX-with-ACX_PTHREA.patch b/package/ola/0002-autotools-don-t-overwrite-CC-and-CXX-with-ACX_PTHREA.patch
> deleted file mode 100644
> index 80d21bc..0000000
> --- a/package/ola/0002-autotools-don-t-overwrite-CC-and-CXX-with-ACX_PTHREA.patch
> +++ /dev/null
> @@ -1,51 +0,0 @@
> -From 991eef9f84a5ef58eaab8ea0a85f3b4bce7b00a3 Mon Sep 17 00:00:00 2001
> -From: Romain Naour <romain.naour@openwide.fr>
> -Date: Sat, 2 May 2015 01:50:14 +0200
> -Subject: [PATCH] autotools: don't overwrite CC and CXX with ACX_PTHREAD
> - success
> -
> -If ACX_PTHREAD sucess, CC and CXX value are overwriten respectively
> -to PTHREAD_CC and PTHREAD_CXX. But ACX_PTHREAD has been hacked to
> -set PTHREAD_CXX variable for the C++ compiler and configure.ac has
> -been modified accordingly.
> -
> -If ax_pthread.m4 wich provide standard AX_PTHREAD macro (and it's
> -alias ACX_PTHREAD and AX_PTHREAD), is installed on the system by
> -autoconf-archive package, then ax_pthread.m4 is used during
> -autoreconf instread of acx_pthread.m4 bundled with ola.
> -
> -AX_PTHREAD macro from ax_pthread.m4 check only the thread support
> -with the C compiler. As a result, the C++ compiler variable
> -PTHREAD_CXX is not initialized, so CXX become empy and the build
> -fail during resolv.h check.
> -
> -configure:19945: checking for 2-arg pthread_setname_np
> -configure:19965:  -o conftest -O2 [snip -I and -L] conftest.cpp  -ldl  >&5
> -./configure: line 2037: -o: command not found
> -
> -In the Buildroot use case, it's safe to remove CC and CXX overwrite
> -since only gcc/g++ compiler are used.
> -
> -Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ----
> - configure.ac | 4 +---
> - 1 file changed, 1 insertion(+), 3 deletions(-)
> -
> -diff --git a/configure.ac b/configure.ac
> -index b1946b6..ef85af5 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -303,9 +303,7 @@ AM_CONDITIONAL([HAVE_NCURSES], [test "x$have_ncurses" = xyes])
> - ACX_PTHREAD([
> -              LIBS="$PTHREAD_LIBS $LIBS"
> -              CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
> --             CXXFLAGS="$CXXFLAGS $PTHREAD_CXXFLAGS"
> --             CC="$PTHREAD_CC"
> --             CXX="$PTHREAD_CXX"],
> -+             CXXFLAGS="$CXXFLAGS $PTHREAD_CXXFLAGS"],
> -             [AC_MSG_ERROR([Missing pthread, please install it])])
> - 
> - # pthread_setname_np can take either 1 or 2 arguments.
> --- 
> -1.9.3
> -
> 

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

end of thread, other threads:[~2015-05-14 23:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-14 20:57 [Buildroot] [PATCH 1/2] host-autoconf-archive: install to a non-standard location Thomas Petazzoni
2015-05-14 20:57 ` [Buildroot] [PATCH 2/2] Revert "package/ola: fix autoreconf issue for host-ola" Thomas Petazzoni
2015-05-14 22:59   ` Peter Korsgaard
2015-05-14 23:00   ` Romain Naour
2015-05-14 22:59 ` [Buildroot] [PATCH 1/2] host-autoconf-archive: install to a non-standard location Romain Naour
2015-05-14 22:59 ` Peter Korsgaard

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