From: Andre Noll Date: Sun, 13 Nov 2022 00:33:17 +0000 (+0100) Subject: build: Activate warnings and LTO on *BSD. X-Git-Tag: v0.7.3~30 X-Git-Url: http://git.tuebingen.mpg.de/versions/paraslash-0.3.2.tar.bz2.asc?a=commitdiff_plain;h=bbe5e72fc114e601fe2a6e6ec2b46b33c2def762;p=paraslash.git build: Activate warnings and LTO on *BSD. Newer versions of BSD ship compilers/packages which no longer throw warnings, so activate the warnings on all platforms. Also LTO (link-time optimization) seems to work on the test machines now, so activate this as well. Tested on FreeBSD-13.1 with clang-13.0.0 and on NetBSD-9.3 with gcc-7.5.0. --- diff --git a/Makefile.real b/Makefile.real index 95b68630..21cef7c7 100644 --- a/Makefile.real +++ b/Makefile.real @@ -119,6 +119,7 @@ CPPFLAGS += -DCC_VERSION='"$(cc_version)"' CPPFLAGS += -I$(lls_suite_dir) CPPFLAGS += -I$(yy_build_dir) CPPFLAGS += $(lopsub_cppflags) +CPPFLAGS += -Wunused-macros STRICT_CFLAGS += -fno-strict-aliasing STRICT_CFLAGS += -ftrapv @@ -133,6 +134,11 @@ STRICT_CFLAGS += -Wredundant-decls STRICT_CFLAGS += -Wno-sign-compare -Wno-unknown-pragmas STRICT_CFLAGS += -Wdeclaration-after-statement STRICT_CFLAGS += -Wformat -Wformat-security -Wmissing-format-attribute +STRICT_CFLAGS += -fdata-sections -ffunction-sections +STRICT_CFLAGS += -Wstrict-prototypes +STRICT_CFLAGS += -Wshadow + +LDFLAGS += -Wl,--gc-sections ifeq ($(ENABLE_UBSAN), yes) STRICT_CFLAGS += -fsanitize=undefined @@ -141,12 +147,7 @@ endif ifeq ($(uname_s),Linux) # these cause warnings on *BSD - CPPFLAGS += -Wunused-macros - STRICT_CFLAGS += -fdata-sections -ffunction-sections - STRICT_CFLAGS += -Wstrict-prototypes - STRICT_CFLAGS += -Wshadow STRICT_CFLAGS += -Wunused -Wall - LDFLAGS += -Wl,--gc-sections endif cc-option = $(shell \