Skip to contentSkip to conversation

cmake: don't use any header available in $(HOST_DIR)/usr/include

PATCH Superseded Fabio Porcedda 4 participants 11 messages Mar 5, 2015 – Mar 7, 2015

v2 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 cmake: don't use any header available in $(HOST_DIR)/usr/include

The -I<dir> options added to CMAKE_C_FLAGS are passed to the compiler before the -I<dir> options of the cmake internal headers, so when the host-xz package was already built, a #include <lzma.h> directive loads the host-xz header instead of the cmake internal one.

Because we don't want to use any header avaiable in -I$(HOST_DIR)/usr/include, just get rid of the -I<dir> options in the HOST_CFLAGS.

Fix build failure:
.../output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/block_buffer_decoder.c:17:1: error: conflicting types for ?lzma_block_buffer_decode?
lzma_block_buffer_decode(lzma_block *block, lzma_allocator *allocator,
^
In file included from /home/tetsuya/buildroot/br2/output/host/usr/include/lzma.h:296:0,
from /home/tetsuya/buildroot/br2/output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/common.h:34, from /home/tetsuya/buildroot/br2/output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/block_decoder.h:16, from /home/tetsuya/buildroot/br2/output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/block_buffer_decoder.c:13:
/home/tetsuya/buildroot/br2/output/host/usr/include/lzma/block.h:577:27: note: previous declaration of ?lzma_block_buffer_decode? was here
extern LZMA_API(lzma_ret) lzma_block_buffer_decode(

                           ^

Utilities/cmliblzma/CMakeFiles/cmliblzma.dir/build.make:261: recipe for target 'Utilities/cmliblzma/CMakeFiles/cmliblzma.dir/liblzma/common/block_buffer_decoder.c.o' failed make[3]: *** [Utilities/cmliblzma/CMakeFiles/cmliblzma.dir/liblzma/common/block_buffer_decoder.c.o] Error 1

Fixes:
http://autobuild.buildroot.org/results/4edf6e169dc4a00d8a8bd16a86eba2316cbbd9e5
http://autobuild.buildroot.org/results/a9ff38b22a36a2f8427d33085d3263a8cbfbd746
http://autobuild.buildroot.org/results/ecaa0227249207b5450519832a193c1585ac8177

---

Notes:
v2:
- Instead of tring to use the system lzma library when avaiable, just always use the internal one.

 package/cmake/cmake.mk | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
package/cmake/cmake.mk +7 -2
index 8c64b58..cadd1fd 100644
@@ -12,13 +12,18 @@ CMAKE_LICENSE_FILES = Copyright.txt
 
 HOST_CMAKE_DEPENDENCIES = host-pkgconf
 
+# Get rid of -I* options to prevent that a header avaiable in
+# $(HOST_DIR)/usr/include is used instead of a cmake one, e.g. lzma*
+# headers of the xz package
+HOST_CMAKE_CFLAGS = $(shell echo $(HOST_CFLAGS) | sed s/-I[^\ ]*//)
+
 define HOST_CMAKE_CONFIGURE_CMDS
 	(cd $(@D); \
 		LDFLAGS="$(HOST_LDFLAGS)" \
-		CFLAGS="$(HOST_CFLAGS)" \
+		CFLAGS="$(HOST_CMAKE_CFLAGS)" \
 		./bootstrap --prefix=$(HOST_DIR)/usr \
 			--parallel=$(PARALLEL_JOBS) -- \
-			-DCMAKE_C_FLAGS="$(HOST_CFLAGS)" \
+			-DCMAKE_C_FLAGS="$(HOST_CMAKE_CFLAGS)" \
 			-DCMAKE_CXX_FLAGS="$(HOST_CXXFLAGS)" \
 			-DCMAKE_EXE_LINKER_FLAGS="$(HOST_LDFLAGS)" \
 			-DBUILD_CursesDialog=OFF \
Signature · 1 line
2.3.1
#1 lore raw

PATCH v2 1/1 cmake: don't use any header available in $(HOST_DIR)/usr/include

Hi Fabio,

package/cmake/cmake.mk CMAKE_LICENSE_FILES = Copyright.txt · line 18

Quoted 4 lines · Fabio Porcedda
package/cmake/cmake.mk +4 -0
+# Get rid of -I* options to prevent that a header avaiable in
+# $(HOST_DIR)/usr/include is used instead of a cmake one, e.g. lzma*
+# headers of the xz package
+HOST_CMAKE_CFLAGS = $(shell echo $(HOST_CFLAGS) | sed s/-I[^\ ]*//)

How about (untested):

	HOST_CMAKE_CFLAGS = $(filter-out -I%,$(HOST_CFLAGS))

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#2 lore raw

PATCH v2 1/1 cmake: don't use any header available in $(HOST_DIR)/usr/include

Quoted 11 lines · Baruch Siach

Hi Fabio,

package/cmake/cmake.mk CMAKE_LICENSE_FILES = Copyright.txt · line 18

Quoted 4 lines · Fabio Porcedda
package/cmake/cmake.mk +4 -0
+# Get rid of -I* options to prevent that a header avaiable in
+# $(HOST_DIR)/usr/include is used instead of a cmake one, e.g. lzma*
+# headers of the xz package
+HOST_CMAKE_CFLAGS = $(shell echo $(HOST_CFLAGS) | sed s/-I[^\ ]*//)

How about (untested):

        HOST_CMAKE_CFLAGS = $(filter-out -I%,$(HOST_CFLAGS))

Right, i forgot about te filter-out function, i will use that.

Thanks

Signature · 1 line
Fabio Porcedda
#3 lore raw

PATCH v2 1/1 cmake: don't use any header available in $(HOST_DIR)/usr/include

In reply to Baruch Siach

Dear Baruch Siach,

Quoted 9 lines · Baruch Siach

package/cmake/cmake.mk CMAKE_LICENSE_FILES = Copyright.txt · line 18

Quoted 4 lines · Fabio Porcedda
package/cmake/cmake.mk +4 -0
+# Get rid of -I* options to prevent that a header avaiable in
+# $(HOST_DIR)/usr/include is used instead of a cmake one, e.g. lzma*
+# headers of the xz package
+HOST_CMAKE_CFLAGS = $(shell echo $(HOST_CFLAGS) | sed s/-I[^\ ]*//)

How about (untested):

	HOST_CMAKE_CFLAGS = $(filter-out -I%,$(HOST_CFLAGS))

It unfortunately works only if the form:

	-I/foo/bar

is used. If you use:

	-I /foo/bar

which is valid for gcc, then filter-out will filter the -I but not /foo/bar.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#4 lore raw

PATCH v2 1/1 cmake: don't use any header available in $(HOST_DIR)/usr/include

Hi Thomas,

Quoted 13 lines · Thomas Petazzoni
Quoted 9 lines · Baruch Siach

package/cmake/cmake.mk CMAKE_LICENSE_FILES = Copyright.txt · line 18

Quoted 4 lines · Fabio Porcedda
package/cmake/cmake.mk +4 -0
+# Get rid of -I* options to prevent that a header avaiable in
+# $(HOST_DIR)/usr/include is used instead of a cmake one, e.g. lzma*
+# headers of the xz package
+HOST_CMAKE_CFLAGS = $(shell echo $(HOST_CFLAGS) | sed s/-I[^\ ]*//)

How about (untested):

	HOST_CMAKE_CFLAGS = $(filter-out -I%,$(HOST_CFLAGS))

It unfortunately works only if the form:

Quoted 8 lines
	-I/foo/bar

is used. If you use:

	-I /foo/bar

which is valid for gcc, then filter-out will filter the -I but not /foo/bar.

Right. But the original sed expression doesn't work either. This one seems to work:

	s/[[:space:]]-I[[:space:]]*[^\ ]*//

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#5 lore raw

PATCH v2 1/1 cmake: don't use any header available in $(HOST_DIR)/usr/include

Quoted 22 lines · Baruch Siach

Hi Thomas,

Quoted 19 lines · Thomas Petazzoni
Quoted 9 lines · Baruch Siach

package/cmake/cmake.mk CMAKE_LICENSE_FILES = Copyright.txt · line 18

Quoted 4 lines · Fabio Porcedda
package/cmake/cmake.mk +4 -0
+# Get rid of -I* options to prevent that a header avaiable in
+# $(HOST_DIR)/usr/include is used instead of a cmake one, e.g. lzma*
+# headers of the xz package
+HOST_CMAKE_CFLAGS = $(shell echo $(HOST_CFLAGS) | sed s/-I[^\ ]*//)

How about (untested):

    HOST_CMAKE_CFLAGS = $(filter-out -I%,$(HOST_CFLAGS))

It unfortunately works only if the form:

      -I/foo/bar

is used. If you use:

      -I /foo/bar
Quoted 7 lines
Quoted 2 lines

which is valid for gcc, then filter-out will filter the -I but not /foo/bar.

Right. But the original sed expression doesn't work either. This one seems to work:

        s/[[:space:]]-I[[:space:]]*[^\ ]*//

could also be something like that:

HOST_CMAKE_CFLAGS=$(filter-out -I$(HOST_DIR)/usr/include,$(subst -I ,-I,$(HOST_CFLAGS)))

Regards,

Signature · 1 line
Samuel
#6 lore raw

PATCH v2 1/1 cmake: don't use any header available in $(HOST_DIR)/usr/include

In reply to Baruch Siach
Quoted 22 lines · Baruch Siach

Hi Thomas,

Quoted 19 lines · Thomas Petazzoni
Quoted 9 lines · Baruch Siach

package/cmake/cmake.mk CMAKE_LICENSE_FILES = Copyright.txt · line 18

Quoted 4 lines · Fabio Porcedda
package/cmake/cmake.mk +4 -0
+# Get rid of -I* options to prevent that a header avaiable in
+# $(HOST_DIR)/usr/include is used instead of a cmake one, e.g. lzma*
+# headers of the xz package
+HOST_CMAKE_CFLAGS = $(shell echo $(HOST_CFLAGS) | sed s/-I[^\ ]*//)

How about (untested):

    HOST_CMAKE_CFLAGS = $(filter-out -I%,$(HOST_CFLAGS))

It unfortunately works only if the form:

      -I/foo/bar

is used. If you use:

      -I /foo/bar
Quoted 7 lines
Quoted 2 lines

which is valid for gcc, then filter-out will filter the -I but not /foo/bar.

Right. But the original sed expression doesn't work either. This one seems to work:

        s/[[:space:]]-I[[:space:]]*[^\ ]*//

considering that the -I can be at the start of string:

sed -r "s/(^|[[:space:]]+)-I[[:space:]]*[^[:space:]]*//"

I hope using -r is not a problem because i don't like very much the version without it:

sed "s/\(^\|[[:space:]]\+\)-I[[:space:]]*[^[:space:]]*//"

Thanks

Signature · 1 line
Fabio Porcedda
#8 lore raw

PATCH v2 1/1 cmake: don't use any header available in $(HOST_DIR)/usr/include

In reply to Fabio Porcedda

Hi Fabio,

Quoted 51 lines · Fabio Porcedda

The -I<dir> options added to CMAKE_C_FLAGS are passed to the compiler before the -I<dir> options of the cmake internal headers, so when the host-xz package was already built, a #include <lzma.h> directive loads the host-xz header instead of the cmake internal one.

Because we don't want to use any header avaiable in -I$(HOST_DIR)/usr/include, just get rid of the -I<dir> options in the HOST_CFLAGS.

Fix build failure:
.../output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/block_buffer_decoder.c:17:1: error: conflicting types for 'lzma_block_buffer_decode'
lzma_block_buffer_decode(lzma_block *block, lzma_allocator *allocator,
^
In file included from /home/tetsuya/buildroot/br2/output/host/usr/include/lzma.h:296:0,
from /home/tetsuya/buildroot/br2/output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/common.h:34, from /home/tetsuya/buildroot/br2/output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/block_decoder.h:16, from /home/tetsuya/buildroot/br2/output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/block_buffer_decoder.c:13:
/home/tetsuya/buildroot/br2/output/host/usr/include/lzma/block.h:577:27: note: previous declaration of 'lzma_block_buffer_decode' was here
extern LZMA_API(lzma_ret) lzma_block_buffer_decode(

                           ^

Utilities/cmliblzma/CMakeFiles/cmliblzma.dir/build.make:261: recipe for target 'Utilities/cmliblzma/CMakeFiles/cmliblzma.dir/liblzma/common/block_buffer_decoder.c.o' failed make[3]: *** [Utilities/cmliblzma/CMakeFiles/cmliblzma.dir/liblzma/common/block_buffer_decoder.c.o] Error 1

Fixes:
http://autobuild.buildroot.org/results/4edf6e169dc4a00d8a8bd16a86eba2316cbbd9e5
http://autobuild.buildroot.org/results/a9ff38b22a36a2f8427d33085d3263a8cbfbd746
http://autobuild.buildroot.org/results/ecaa0227249207b5450519832a193c1585ac8177

---

Notes:
v2:
- Instead of tring to use the system lzma library when avaiable, just always use the internal one.

 package/cmake/cmake.mk | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
package/cmake/cmake.mk +5 -0
index 8c64b58..cadd1fd 100644
@@ -12,13 +12,18 @@ CMAKE_LICENSE_FILES = Copyright.txt
 
 HOST_CMAKE_DEPENDENCIES = host-pkgconf
 
+# Get rid of -I* options to prevent that a header avaiable in
+# $(HOST_DIR)/usr/include is used instead of a cmake one, e.g. lzma*
+# headers of the xz package
+HOST_CMAKE_CFLAGS = $(shell echo $(HOST_CFLAGS) | sed s/-I[^\ ]*//)
+

package/cmake/cmake.mk CMAKE_LICENSE_FILES = Copyright.txt · line 27

Quoted 10 lines
package/cmake/cmake.mk +2 -2
 define HOST_CMAKE_CONFIGURE_CMDS
        (cd $(@D); \
                LDFLAGS="$(HOST_LDFLAGS)" \
-               CFLAGS="$(HOST_CFLAGS)" \
+               CFLAGS="$(HOST_CMAKE_CFLAGS)" \
                ./bootstrap --prefix=$(HOST_DIR)/usr \
                        --parallel=$(PARALLEL_JOBS) -- \
-                       -DCMAKE_C_FLAGS="$(HOST_CFLAGS)" \
+                       -DCMAKE_C_FLAGS="$(HOST_CMAKE_CFLAGS)" \
                        -DCMAKE_CXX_FLAGS="$(HOST_CXXFLAGS)" \

C++ flags does not need the same treatment?

Quoted 9 lines
package/cmake/cmake.mk +0 -1
                        -DCMAKE_EXE_LINKER_FLAGS="$(HOST_LDFLAGS)" \
                        -DBUILD_CursesDialog=OFF \
--

2.3.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Regards,

Signature · 1 line
Samuel
#9 lore raw

PATCH v2 1/1 cmake: don't use any header available in $(HOST_DIR)/usr/include

Quoted 58 lines · Samuel Martin

Hi Fabio,

Quoted 55 lines · Fabio Porcedda

The -I<dir> options added to CMAKE_C_FLAGS are passed to the compiler before the -I<dir> options of the cmake internal headers, so when the host-xz package was already built, a #include <lzma.h> directive loads the host-xz header instead of the cmake internal one.

Because we don't want to use any header avaiable in -I$(HOST_DIR)/usr/include, just get rid of the -I<dir> options in the HOST_CFLAGS.

Fix build failure:
.../output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/block_buffer_decoder.c:17:1: error: conflicting types for 'lzma_block_buffer_decode'
lzma_block_buffer_decode(lzma_block *block, lzma_allocator *allocator,
^
In file included from /home/tetsuya/buildroot/br2/output/host/usr/include/lzma.h:296:0,
from /home/tetsuya/buildroot/br2/output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/common.h:34, from /home/tetsuya/buildroot/br2/output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/block_decoder.h:16, from /home/tetsuya/buildroot/br2/output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/block_buffer_decoder.c:13:
/home/tetsuya/buildroot/br2/output/host/usr/include/lzma/block.h:577:27: note: previous declaration of 'lzma_block_buffer_decode' was here
extern LZMA_API(lzma_ret) lzma_block_buffer_decode(

                           ^

Utilities/cmliblzma/CMakeFiles/cmliblzma.dir/build.make:261: recipe for target 'Utilities/cmliblzma/CMakeFiles/cmliblzma.dir/liblzma/common/block_buffer_decoder.c.o' failed make[3]: *** [Utilities/cmliblzma/CMakeFiles/cmliblzma.dir/liblzma/common/block_buffer_decoder.c.o] Error 1

Fixes:
http://autobuild.buildroot.org/results/4edf6e169dc4a00d8a8bd16a86eba2316cbbd9e5
http://autobuild.buildroot.org/results/a9ff38b22a36a2f8427d33085d3263a8cbfbd746
http://autobuild.buildroot.org/results/ecaa0227249207b5450519832a193c1585ac8177

---

Notes:
v2:
- Instead of tring to use the system lzma library when avaiable, just always use the internal one.

 package/cmake/cmake.mk | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
package/cmake/cmake.mk +5 -1
index 8c64b58..cadd1fd 100644
@@ -12,13 +12,18 @@ CMAKE_LICENSE_FILES = Copyright.txt
 
 HOST_CMAKE_DEPENDENCIES = host-pkgconf
 
+# Get rid of -I* options to prevent that a header avaiable in
+# $(HOST_DIR)/usr/include is used instead of a cmake one, e.g. lzma*
+# headers of the xz package
+HOST_CMAKE_CFLAGS = $(shell echo $(HOST_CFLAGS) | sed s/-I[^\ ]*//)
+
 define HOST_CMAKE_CONFIGURE_CMDS
        (cd $(@D); \
                LDFLAGS="$(HOST_LDFLAGS)" \
-               CFLAGS="$(HOST_CFLAGS)" \
Quoted 8 lines

package/cmake/cmake.mk CMAKE_LICENSE_FILES = Copyright.txt · line 27

Quoted 6 lines
package/cmake/cmake.mk +2 -1
+               CFLAGS="$(HOST_CMAKE_CFLAGS)" \
                ./bootstrap --prefix=$(HOST_DIR)/usr \
                        --parallel=$(PARALLEL_JOBS) -- \
-                       -DCMAKE_C_FLAGS="$(HOST_CFLAGS)" \
+                       -DCMAKE_C_FLAGS="$(HOST_CMAKE_CFLAGS)" \
                        -DCMAKE_CXX_FLAGS="$(HOST_CXXFLAGS)" \

C++ flags does not need the same treatment?

To fix the host-xz related build failure it's not needed. Maybe we can do the same thing on CXX_FLAGS to prevent problems with C++ dependency and also for conformance.

I don't know if cmake use any c++ library but doing the same thing on the CXX_FLAGS doesn't harm.

Quoted 14 lines
Quoted 9 lines
package/cmake/cmake.mk +0 -1
                        -DCMAKE_EXE_LINKER_FLAGS="$(HOST_LDFLAGS)" \
                        -DBUILD_CursesDialog=OFF \
--

2.3.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Regards,

--
Samuel

Signature · 1 line
Fabio Porcedda
#10 lore raw

PATCH v2 1/1 cmake: don't use any header available in $(HOST_DIR)/usr/include

Quoted 68 lines · Fabio Porcedda
Quoted 58 lines · Samuel Martin

Hi Fabio,

Quoted 55 lines · Fabio Porcedda

The -I<dir> options added to CMAKE_C_FLAGS are passed to the compiler before the -I<dir> options of the cmake internal headers, so when the host-xz package was already built, a #include <lzma.h> directive loads the host-xz header instead of the cmake internal one.

Because we don't want to use any header avaiable in -I$(HOST_DIR)/usr/include, just get rid of the -I<dir> options in the HOST_CFLAGS.

Fix build failure:
.../output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/block_buffer_decoder.c:17:1: error: conflicting types for 'lzma_block_buffer_decode'
lzma_block_buffer_decode(lzma_block *block, lzma_allocator *allocator,
^
In file included from /home/tetsuya/buildroot/br2/output/host/usr/include/lzma.h:296:0,
from /home/tetsuya/buildroot/br2/output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/common.h:34, from /home/tetsuya/buildroot/br2/output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/block_decoder.h:16, from /home/tetsuya/buildroot/br2/output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/block_buffer_decoder.c:13:
/home/tetsuya/buildroot/br2/output/host/usr/include/lzma/block.h:577:27: note: previous declaration of 'lzma_block_buffer_decode' was here
extern LZMA_API(lzma_ret) lzma_block_buffer_decode(

                           ^

Utilities/cmliblzma/CMakeFiles/cmliblzma.dir/build.make:261: recipe for target 'Utilities/cmliblzma/CMakeFiles/cmliblzma.dir/liblzma/common/block_buffer_decoder.c.o' failed make[3]: *** [Utilities/cmliblzma/CMakeFiles/cmliblzma.dir/liblzma/common/block_buffer_decoder.c.o] Error 1

Fixes:
http://autobuild.buildroot.org/results/4edf6e169dc4a00d8a8bd16a86eba2316cbbd9e5
http://autobuild.buildroot.org/results/a9ff38b22a36a2f8427d33085d3263a8cbfbd746
http://autobuild.buildroot.org/results/ecaa0227249207b5450519832a193c1585ac8177

---

Notes:
v2:
- Instead of tring to use the system lzma library when avaiable, just always use the internal one.

 package/cmake/cmake.mk | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
package/cmake/cmake.mk +5 -1
index 8c64b58..cadd1fd 100644
@@ -12,13 +12,18 @@ CMAKE_LICENSE_FILES = Copyright.txt
 
 HOST_CMAKE_DEPENDENCIES = host-pkgconf
 
+# Get rid of -I* options to prevent that a header avaiable in
+# $(HOST_DIR)/usr/include is used instead of a cmake one, e.g. lzma*
+# headers of the xz package
+HOST_CMAKE_CFLAGS = $(shell echo $(HOST_CFLAGS) | sed s/-I[^\ ]*//)
+
 define HOST_CMAKE_CONFIGURE_CMDS
        (cd $(@D); \
                LDFLAGS="$(HOST_LDFLAGS)" \
-               CFLAGS="$(HOST_CFLAGS)" \
Quoted 8 lines

package/cmake/cmake.mk CMAKE_LICENSE_FILES = Copyright.txt · line 27

Quoted 6 lines
package/cmake/cmake.mk +2 -1
+               CFLAGS="$(HOST_CMAKE_CFLAGS)" \
                ./bootstrap --prefix=$(HOST_DIR)/usr \
                        --parallel=$(PARALLEL_JOBS) -- \
-                       -DCMAKE_C_FLAGS="$(HOST_CFLAGS)" \
+                       -DCMAKE_C_FLAGS="$(HOST_CMAKE_CFLAGS)" \
                        -DCMAKE_CXX_FLAGS="$(HOST_CXXFLAGS)" \

C++ flags does not need the same treatment?

Quoted 6 lines

To fix the host-xz related build failure it's not needed. Maybe we can do the same thing on CXX_FLAGS to prevent problems with C++ dependency and also for conformance.

I don't know if cmake use any c++ library but doing the same thing on the CXX_FLAGS doesn't harm.

CMake is written in C++, but indeed fixing the CFLAGS seems enough to avoid this header inclusion failure.

Signature · 1 line
Samuel