2
1
Эх сурвалжийг харах

package/sqlite: fix build issue if C++ is not enabled since bump to 3.49.0

Buildroot commit [1] bumped sqlite to 3.49.0, and commit [2] fixed the
package infra. But if the toolchain does not have C++ support enabled,
the following error will occur.
  Error: failed to find: no

The reason was CXX has been set to 'no' in the package/Makefile.in file.
ifneq ($(BR2_INSTALL_LIBSTDCPP),y)
TARGET_CONFIGURE_OPTS += CXX=no
endif

Then the autosetup script will look for a required path ('no' above),
and will exit with an error if not found.

To solve it, we can set CXX to 'false' instead of 'no', so that the
autosetup script will skip checking for a C++ compiler.

Fixes:
  https://autobuild.buildroot.org/?reason=sqlite-3.49.0
  https://autobuild.buildroot.org/results/569a3750681cc10688ac663450dc2773a317bb07/

[1] https://gitlab.com/buildroot.org/buildroot/-/commit/db85638cea3414ca0293cbbb2352e5b0b63a2579
[2] https://gitlab.com/buildroot.org/buildroot/-/commit/a93680be30bc35f7d2465ef576035fb937ea1d64

Signed-off-by: Scott Fan <fancp2007@gmail.com>
[Julien: add a link to an actual build failure]
Signed-off-by: Julien Olivain <ju.o@free.fr>
Scott Fan 5 сар өмнө
parent
commit
8a1ae9e0b1

+ 5 - 2
package/sqlite/sqlite.mk

@@ -65,7 +65,9 @@ endif
 SQLITE_CONF_ENV = CFLAGS="$(SQLITE_CFLAGS)" LDFLAGS="$(SQLITE_LDFLAGS)"
 
 define SQLITE_CONFIGURE_CMDS
-	(cd $(@D); $(TARGET_CONFIGURE_OPTS) $(SQLITE_CONF_ENV) ./configure \
+	(cd $(@D); $(TARGET_CONFIGURE_OPTS) \
+		$(if $(BR2_INSTALL_LIBSTDCPP),,CXX=false) \
+		$(SQLITE_CONF_ENV) ./configure \
 		--prefix=/usr \
 		--host="$(GNU_TARGET_NAME)" \
 		--build="$(GNU_HOST_NAME)" \
@@ -87,7 +89,8 @@ define SQLITE_INSTALL_TARGET_CMDS
 endef
 
 define HOST_SQLITE_CONFIGURE_CMDS
-	(cd $(@D); $(HOST_CONFIGURE_OPTS) $(SQLITE_CONF_ENV) ./configure \
+	(cd $(@D); $(HOST_CONFIGURE_OPTS) \
+		$(SQLITE_CONF_ENV) ./configure \
 		--prefix=/usr \
 		--host="$(GNU_HOST_NAME)" \
 		--build="$(GNU_HOST_NAME)" \