sqlite: avoid use of unsupported -Ofast CFLAGS
authorJoshua Henderson <joshua.henderson@microchip.com>
Fri, 13 Apr 2018 20:22:34 +0000 (13:22 -0700)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 15 Apr 2018 20:13:37 +0000 (22:13 +0200)
sqlite3 refuses to be built with -ffast-math (a side effect of -Ofast) when it
falls back to implementing its own isnan() function.

sqlite3.c: In function ‘sqlite3IsNaN’:
sqlite3.c:28554:3: error: #error SQLite will not work correctly with the -ffast-math option of GCC.

To work around this, when -Ofast is used replace with -O3.

Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/sqlite/sqlite.mk

index d0030d43abe07b15ebbd2f0a316e8c03cd3e1a29..5ae17e17f64c346a5e442e49e52497f804b41ab0 100644 (file)
@@ -39,7 +39,10 @@ ifeq ($(BR2_PACKAGE_SQLITE_NO_SYNC),y)
 SQLITE_CFLAGS += -DSQLITE_NO_SYNC
 endif
 
-SQLITE_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) $(SQLITE_CFLAGS)"
+# fallback to standard -O3 when -Ofast is present to avoid -ffast-math
+SQLITE_CFLAGS += $(subst -Ofast,-O3,$(TARGET_CFLAGS))
+
+SQLITE_CONF_ENV = CFLAGS="$(SQLITE_CFLAGS)"
 
 ifeq ($(BR2_STATIC_LIBS),y)
 SQLITE_CONF_OPTS += --enable-dynamic-extensions=no