build: Enforce -Wundef on all targets.

Simulators (and some hosted targets) no longer get a free pass!

This commit includes general fixes for simulator builds, but it
will undoubtedly result in many more warnings that need to be properly
fixed.

Change-Id: I6bb9d3fc4a29ccfe40366c438e058b5dfff0ddc3
This commit is contained in:
Solomon Peachy 2025-10-12 16:10:13 -04:00
parent 7ba4af6ab0
commit 0f8f05db29
4 changed files with 20 additions and 10 deletions

View file

@ -33,11 +33,14 @@
#include "serial.h" #include "serial.h"
#include "power.h" #include "power.h"
#include "powermgmt.h" #include "powermgmt.h"
#if defined(HAVE_SDL) && (SDL_MAJOR_VERSION > 1) #if defined(HAVE_SDL)
#include <SDL.h>
#if (SDL_MAJOR_VERSION > 1)
#include "button-sdl.h" #include "button-sdl.h"
#else #else
#include "button-target.h" #include "button-target.h"
#endif #endif
#endif /* HAVE_SDL */
#ifdef HAVE_REMOTE_LCD #ifdef HAVE_REMOTE_LCD
#include "lcd-remote.h" #include "lcd-remote.h"
#endif #endif

View file

@ -623,7 +623,7 @@ Lyre prototype 1 */
#elif defined(RG_NANO) #elif defined(RG_NANO)
#include "config/rgnano.h" #include "config/rgnano.h"
#else #else
//#error "unknown hwardware platform!" #error "unknown hardware platform!"
#endif #endif
#ifndef CONFIG_CPU #ifndef CONFIG_CPU
@ -649,8 +649,10 @@ Lyre prototype 1 */
#endif #endif
#ifdef APPLICATION #ifdef APPLICATION
#ifndef CONFIG_CPU
#define CONFIG_CPU 0 #define CONFIG_CPU 0
#endif #endif
#endif
/* keep this include after the target configs */ /* keep this include after the target configs */
#ifdef SIMULATOR #ifdef SIMULATOR

View file

@ -2,6 +2,7 @@
target specific configs */ target specific configs */
#undef CONFIG_CPU #undef CONFIG_CPU
#define CONFIG_CPU 0
#undef HAVE_FMADC #undef HAVE_FMADC
@ -17,6 +18,8 @@
#undef HAVE_ATA_POWER_OFF #undef HAVE_ATA_POWER_OFF
#undef CONFIG_LCD #undef CONFIG_LCD
#define CONFIG_LCD 0
#undef LCD_DPI /* likely to be too different on a PC */ #undef LCD_DPI /* likely to be too different on a PC */
#undef CONFIG_LED #undef CONFIG_LED
@ -86,7 +89,8 @@
#undef BUTTON_DRIVER_CLOSE #undef BUTTON_DRIVER_CLOSE
#if CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG #if defined(CONFIG_BACKLIGHT_FADING)
#if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG)
#undef CONFIG_BACKLIGHT_FADING #undef CONFIG_BACKLIGHT_FADING
/* simulate SW_SETTING, as we handle sdl very similary */ /* simulate SW_SETTING, as we handle sdl very similary */
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING #define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
@ -95,7 +99,8 @@
CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_TARGET) CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_TARGET)
/* we don't simulate that yet */ /* we don't simulate that yet */
#undef CONFIG_BACKLIGHT_FADING #undef CONFIG_BACKLIGHT_FADING
#endif #endif /* CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG */
#endif /* defined(CONFIG_BACKLIGHT_FADING) */
#ifdef HAVE_BACKLIGHT_BRIGHTNESS #ifdef HAVE_BACKLIGHT_BRIGHTNESS
#undef DEFAULT_BRIGHTNESS_SETTING #undef DEFAULT_BRIGHTNESS_SETTING

12
tools/configure vendored
View file

@ -262,7 +262,7 @@ simcc () {
app_type=$1 app_type=$1
winbuild="" winbuild=""
macbuild="" macbuild=""
GCCOPTS=`echo $CCOPTS | sed -e s/\ -ffreestanding// -e s/\ -nostdlib// -e s/\ -Wundef//` GCCOPTS=`echo $CCOPTS | sed -e s/\ -ffreestanding// -e s/\ -nostdlib//`
if [ "yes" = "$use_debug" ]; then if [ "yes" = "$use_debug" ]; then
GCCOPTS=`echo $GCCOPTS | sed -e s/\ -Os/\ -Og/` GCCOPTS=`echo $GCCOPTS | sed -e s/\ -Os/\ -Og/`
@ -638,7 +638,7 @@ maemocc () {
# Scratchbox sets up "gcc" based on the active target # Scratchbox sets up "gcc" based on the active target
prefixtools "" prefixtools ""
GCCOPTS=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib// -e s/-Wundef//` GCCOPTS=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib//`
GCCOPTS="$GCCOPTS -fno-builtin -g -I\$(SIMDIR)" GCCOPTS="$GCCOPTS -fno-builtin -g -I\$(SIMDIR)"
GCCOPTIMIZE='' GCCOPTIMIZE=''
LDOPTS="-lm -ldl $LDOPTS" LDOPTS="-lm -ldl $LDOPTS"
@ -733,7 +733,7 @@ pandoracc () {
LDOPTS="-L$PNDSDK/arm-angstrom-linux-gnueabi/usr/lib -Wl,-rpath,$PNDSDK/arm-angstrom-linux-gnueabi/usr/lib $LDOPTS" LDOPTS="-L$PNDSDK/arm-angstrom-linux-gnueabi/usr/lib -Wl,-rpath,$PNDSDK/arm-angstrom-linux-gnueabi/usr/lib $LDOPTS"
PKG_CONFIG="pkg-config" PKG_CONFIG="pkg-config"
GCCOPTS=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib// -e s/-Wundef//` GCCOPTS=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib//`
GCCOPTS="$GCCOPTS -fno-builtin -g -I\$(SIMDIR)" GCCOPTS="$GCCOPTS -fno-builtin -g -I\$(SIMDIR)"
GCCOPTIMIZE='' GCCOPTIMIZE=''
LDOPTS="-lm -ldl $LDOPTS" LDOPTS="-lm -ldl $LDOPTS"
@ -813,7 +813,7 @@ androidcc () {
# the prebuilt android NDK only supports x86_64 architecture anyway, so we can take shortcuts # the prebuilt android NDK only supports x86_64 architecture anyway, so we can take shortcuts
buildhost=$(uname | tr "[:upper:]" "[:lower:]")-x86_64 buildhost=$(uname | tr "[:upper:]" "[:lower:]")-x86_64
GCCOPTS=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib// -e s/-Wundef//` GCCOPTS=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib//`
LDOPTS="$LDOPTS -ldl -llog" LDOPTS="$LDOPTS -ldl -llog"
if [ "$modelname" != "ibassodx50" ] && [ "$modelname" != "ibassodx90" ]; then if [ "$modelname" != "ibassodx50" ] && [ "$modelname" != "ibassodx90" ]; then
LDOPTS="$LDOPTS -Wl,-soname,librockbox.so -shared" LDOPTS="$LDOPTS -Wl,-soname,librockbox.so -shared"
@ -903,7 +903,7 @@ androidndkcc()
# the prebuilt android NDK only supports x86_64 architecture anyway, so we can take shortcuts # the prebuilt android NDK only supports x86_64 architecture anyway, so we can take shortcuts
buildhost=$(uname -s | tr "[:upper:]" "[:lower:]")-x86_64 buildhost=$(uname -s | tr "[:upper:]" "[:lower:]")-x86_64
GCCOPTS=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib// -e s/-Wundef//` GCCOPTS=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib//`
LDOPTS="$LDOPTS -ldl -llog" LDOPTS="$LDOPTS -ldl -llog"
SHARED_LDFLAGS="-shared" SHARED_LDFLAGS="-shared"
SHARED_CFLAGS='' SHARED_CFLAGS=''
@ -988,7 +988,7 @@ rgnanocc () {
DLLWRAP=$FUNKEY_SDK_PATH/bin/arm-funkey-linux-musleabihf-dllwrap DLLWRAP=$FUNKEY_SDK_PATH/bin/arm-funkey-linux-musleabihf-dllwrap
RANLIB=$FUNKEY_SDK_PATH/bin/arm-funkey-linux-musleabihf-gcc-ranlib RANLIB=$FUNKEY_SDK_PATH/bin/arm-funkey-linux-musleabihf-gcc-ranlib
GCCOPTS=`echo $CCOPTS | sed -e s/\ -ffreestanding// -e s/\ -nostdlib// -e s/\ -Wundef//` GCCOPTS=`echo $CCOPTS | sed -e s/\ -ffreestanding// -e s/\ -nostdlib//`
if [ "yes" = "$use_debug" ]; then if [ "yes" = "$use_debug" ]; then
GCCOPTS=`echo $GCCOPTS | sed -e s/\ -Os/\ -Og/` GCCOPTS=`echo $GCCOPTS | sed -e s/\ -Os/\ -Og/`