smartmontools: Fix build with CONFIG_USE_LIBSTDCXX
authorFlorian Fainelli <f.fainelli@gmail.com>
Tue, 6 Jun 2017 01:16:41 +0000 (18:16 -0700)
committerFlorian Fainelli <f.fainelli@gmail.com>
Tue, 6 Jun 2017 01:16:41 +0000 (18:16 -0700)
The Makefile would still force the use of and linking against uClibc++
even though libstdc++ may have been chosen, which would result in the
package depending on libstdcpp ($(CXX_DEPENDS) but we would still be
missing an libuClibc++ library depdency.

Fix this by looking at CONFIG_USE_UCLIBCXX to adjust the configure
script variables.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
utils/smartmontools/Makefile

index 88d68402042d4d240a87deae1a0bf1e75849214a..dc420e072bfcc949672b19e958683ade14a41d24 100644 (file)
@@ -55,13 +55,17 @@ define Package/smartd/description
   ATA and SCSI disks. It is derived from smartsuite.
 endef
 
-# uses GNU configure
+ifeq ($(CONFIG_USE_UCLIBCXX),y)
+  UCXXCFLAGS:=-fno-builtin -fno-rtti -nostdinc++
+  UCXXCPPFLAGS:=-I$(STAGING_DIR)/usr/include/uClibc++
+  UCXXLIBS:=-nodefaultlibs -lc -luClibc++
+endif
 
 CONFIGURE_VARS += \
-       CXXFLAGS="$$$$CXXFLAGS -fno-builtin -fno-rtti -nostdinc++" \
-       CPPFLAGS="$$$$CPPFLAGS -I$(STAGING_DIR)/usr/include/uClibc++ -I$(LINUX_DIR)/include" \
+       CXXFLAGS="$$$$CXXFLAGS $(UCXXCFLAGS)" \
+       CPPFLAGS="$$$$CPPFLAGS $(UCXXCPPFLAGS) -I$(LINUX_DIR)/include" \
        LDFLAGS="$$$$LDFLAGS" \
-       LIBS="-nodefaultlibs -lc -luClibc++ -lm $(LIBGCC_S) -lc" \
+       LIBS="$(UCXXLIBS) -lm $(LIBGCC_S) -lc" \
 
 define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \