From: nhmall Date: Fri, 5 Feb 2021 14:45:03 +0000 (-0500) Subject: separate the C compiler flags and C++ compiler flags where needed X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=769b8877fc5ff326c49a08deceabe71648664202;p=nethack separate the C compiler flags and C++ compiler flags where needed --- diff --git a/sys/unix/Makefile.src b/sys/unix/Makefile.src index 415b404c2..b1aa1d5fc 100644 --- a/sys/unix/Makefile.src +++ b/sys/unix/Makefile.src @@ -176,7 +176,7 @@ SYSOBJ = $(TARGETPFX)ioctl.o $(TARGETPFX)unixmain.o $(TARGETPFX)unixtty.o \ # The Qt and Be window systems are written in C++, while the rest of # NetHack is standard C. If using Qt, uncomment the LINK line here to get # the C++ libraries linked in. -CXXFLAGS = $(CFLAGS) -I. -I$(QTDIR)/include $(QTCXXFLAGS) +CXXFLAGS = $(CCXXFLAGS) -I. -I$(QTDIR)/include $(QTCXXFLAGS) CXX ?= g++ MOC ?= moc #LINK=g++ diff --git a/sys/unix/hints/include/compiler.2020 b/sys/unix/hints/include/compiler.2020 index 3205c09e2..3d3de8544 100755 --- a/sys/unix/hints/include/compiler.2020 +++ b/sys/unix/hints/include/compiler.2020 @@ -32,7 +32,6 @@ CFLAGS+=-Wall -Wextra -Wno-missing-field-initializers \ CFLAGS+=-pedantic CFLAGS+=-Wmissing-declarations CFLAGS+=-Wformat-nonliteral -CFLAGS+=-DGCC_WARN # As of LLVM build 2336.1.00, this gives dozens of spurious messages, so # # leave it out by default. # #CFLAGS+=-Wunreachable-code @@ -46,39 +45,42 @@ CFLAGS+=-Wmissing-prototypes CFLAGS+=-Wold-style-definition CFLAGS+=-Wstrict-prototypes -ifdef WANT_WIN_QT -QTCXXFLAGS = -g -I../include -DNOTPARMDECL -QTCXXFLAGS+=-Wall -Wextra -Wno-missing-field-initializers \ +CCXXFLAGS = -g -I../include -DNOTPARMDECL +CCXXFLAGS+=-Wall -Wextra -Wno-missing-field-initializers \ -Wreturn-type -Wunused -Wformat -Wswitch -Wshadow -Wwrite-strings -QTCXXFLAGS+=-pedantic -QTCXXFLAGS+=-Wmissing-declarations -QTCXXFLAGS+=-Wformat-nonliteral -QTCXXFLAGS+=-DGCC_WARN -endif +CCXXFLAGS+=-pedantic +CCXXFLAGS+=-Wmissing-declarations +CCXXFLAGS+=-Wformat-nonliteral ifeq "$(CCISCLANG)" "" -#gcc-specific here +# gcc-specific follows CFLAGS+=-Wmissing-parameter-type +ifdef WANT_WIN_QT +CCXXFLAGS+= -Wno-deprecated-copy +endif # WANT_WIN_QT # get the version of gcc GCCGTEQ9 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 9) ifeq "$(GCCGTEQ9)" "1" # flags present in gcc version greater than or equal to 9 can go here -#CFLAGS+=-Wno-format-overflow +CFLAGS+=-Wformat-overflow endif #gcc version greater than or equal to 9 - -ifdef WANT_WIN_QT +#still in gcc-specific section here # get the version of g++ GPPGTEQ9 := $(shell expr `$(CXX) -dumpversion | cut -f1 -d.` \>= 9) ifeq "$(GPPGTEQ9)" "1" -#QTCXXFLAGS+=-Wno-format-overflow +CCXXFLAGS+=-Wformat-overflow endif #g++ version greater than or equal to 9 -#QTCXXFLAGS+= -Wno-format-truncation -QTCXXFLAGS+= -Wno-deprecated-copy -endif #WANT_WIN_QT +# end of gcc-specific + +else # clang-specific follows +ifdef WANT_WIN_QT +CCXXFLAGS+=-Wno-deprecated-declarations +endif # WANT_WIN_QT +endif # clang-specific ends here -else # clang -# clang-specific here -endif # clang +# enable some optional code in various NetHack source files +CFLAGS+=-DGCC_WARN +CCXXFLAGS+=-DGCC_WARN #end of compiler.2020 #------------------------------------------------------------------------------ diff --git a/sys/unix/hints/linux-qt5 b/sys/unix/hints/linux-qt5 index 8bfbb0252..7d24406e0 100644 --- a/sys/unix/hints/linux-qt5 +++ b/sys/unix/hints/linux-qt5 @@ -38,7 +38,7 @@ SYSCFLAGS=-DLUA_USE_POSIX LINK=g++ CXX=g++ -std=gnu++11 -QTCXXFLAGS = $(CFLAGS) +CCXXFLAGS = $(CFLAGS) WINSRC = $(WINQTSRC) WINOBJ = $(WINQTOBJ) diff --git a/sys/unix/hints/linux.2020 b/sys/unix/hints/linux.2020 index b79d495e8..974aaf744 100755 --- a/sys/unix/hints/linux.2020 +++ b/sys/unix/hints/linux.2020 @@ -115,14 +115,6 @@ endif # WANT_WIN_X11 ifdef WANT_WIN_QT # Qt5 requires C++11 LINK = $(CXX) -QTCXXFLAGS += -Wno-deprecated-declarations -ifeq "$(CCISCLANG)" "" -# get the version of g++ -GPPGTEQ9 := $(shell expr `$(CXX) -dumpversion | cut -f1 -d.` \>= 9) -ifeq "$(GPPGTEQ9)" "1" -QTCXXFLAGS+= -Wno-format-truncation -endif #g++ version greater than or equal to 9 -endif #not clang QTCXXFLAGS += $(sort $(shell PKG_CONFIG_PATH=$(QTDIR)/lib/pkgconfig pkg-config Qt5Gui Qt5Widgets Qt5Multimedia --cflags)) QTCXXFLAGS += -fPIC WINLIB += $(shell PKG_CONFIG_PATH=$(QTDIR)/lib/pkgconfig pkg-config Qt5Gui Qt5Widgets Qt5Multimedia --libs) diff --git a/sys/unix/hints/macOS.2020 b/sys/unix/hints/macOS.2020 index 0e4b64726..fd3a253ad 100755 --- a/sys/unix/hints/macOS.2020 +++ b/sys/unix/hints/macOS.2020 @@ -120,14 +120,6 @@ endif # WANT_WIN_X11 ifdef WANT_WIN_QT # Qt5 requires C++11 LINK = $(CXX) -QTCXXFLAGS += -Wno-deprecated-declarations -ifeq "$(CCISCLANG)" "" -# get the version of g++ -GPPGTEQ9 := $(shell expr `$(CXX) -dumpversion | cut -f1 -d.` \>= 9) -ifeq "$(GPPGTEQ9)" "1" -QTCXXFLAGS+= -Wno-format-truncation -endif #g++ version greater than or equal to 9 -endif #not clang QTCXXFLAGS += $(sort $(shell PKG_CONFIG_PATH=$(QTDIR)/lib/pkgconfig pkg-config Qt5Gui Qt5Widgets Qt5Multimedia --cflags)) WINLIB += $(shell PKG_CONFIG_PATH=$(QTDIR)/lib/pkgconfig pkg-config Qt5Gui Qt5Widgets Qt5Multimedia --libs) WINSRC += $(WINQTSRC)