$NetBSD: patch-makefile,v 1.7 2022/04/03 14:33:42 rhialto Exp $ Exclude -flto for gcc 4.1.3 (used in NetBSD/vax 6) Exclude -flto for clang on NetBSD Exclude -flto for gcc 4.4.7 (Used in DragonFly 2.13 - 3.1) NO_LTO=1 is in effect for gcc and clang, except Darwin. Fix png16 detection. Let INCLUDES and LIBRARIES be the sole source for INCPATH and LIBPATH, to avoid seeing non-pkgsrc libraries (except MacOS platform). --- makefile.orig 2022-04-01 19:37:11.000000000 +0000 +++ makefile @@ -307,7 +307,7 @@ ifeq (${WIN32},) #*nix Environments (&& $(shell git log -1 --pretty="SIM_GIT_COMMIT_ID %H$(GIT_EXTRA_FILES)%nSIM_GIT_COMMIT_TIME $(isodate)" >.git-commit-id) endif endif - LTO_EXCLUDE_VERSIONS = + LTO_EXCLUDE_VERSIONS = 4.1.3 4.4.7 4.8.3 4.8.4 4.8.5 5.3.0 5.4.0 PCAPLIB = pcap ifeq (agcc,$(findstring agcc,${GCC})) # Android target build? OS_CCDEFS += -D_GNU_SOURCE -DSIM_ASYNCH_IO @@ -348,16 +348,16 @@ ifeq (${WIN32},) #*nix Environments (&& ifeq (Darwin,$(OSTYPE)) OSNAME = OSX LIBEXT = dylib - ifneq (include,$(findstring include,$(UNSUPPORTED_BUILD))) - INCPATH:=$(shell LANG=C; ${GCC} -x c -v -E /dev/null 2>&1 | grep -A 10 '> search starts here' | grep '^ ' | grep -v 'framework directory' | tr -d '\n') - endif + #ifneq (include,$(findstring include,$(UNSUPPORTED_BUILD))) + INCPATH+=$(shell LANG=C; ${GCC} -x c -v -E /dev/null 2>&1 | grep -A 10 '> search starts here' | grep '^ ' | grep -v 'framework directory' | tr -d '\n') + #endif ifeq (incopt,$(shell if ${TEST} -d /opt/local/include; then echo incopt; fi)) - INCPATH += /opt/local/include - OS_CCDEFS += -I/opt/local/include + # INCPATH += /opt/local/include + # OS_CCDEFS += -I/opt/local/include endif ifeq (libopt,$(shell if ${TEST} -d /opt/local/lib; then echo libopt; fi)) - LIBPATH += /opt/local/lib - OS_LDFLAGS += -L/opt/local/lib + # LIBPATH += /opt/local/lib + # OS_LDFLAGS += -L/opt/local/lib endif ifeq (HomeBrew,$(or $(shell if ${TEST} -d /usr/local/Cellar; then echo HomeBrew; fi),$(shell if ${TEST} -d /opt/homebrew/Cellar; then echo HomeBrew; fi))) ifeq (local,$(shell if $(TEST) -d /usr/local/Cellar; then echo local; fi)) @@ -365,8 +365,8 @@ ifeq (${WIN32},) #*nix Environments (&& else HBPATH = /opt/homebrew endif - INCPATH += $(foreach dir,$(wildcard $(HBPATH)/Cellar/*/*),$(realpath $(dir)/include)) - LIBPATH += $(foreach dir,$(wildcard $(HBPATH)/Cellar/*/*),$(realpath $(dir)/lib)) + # INCPATH += $(foreach dir,$(wildcard $(HBPATH)/Cellar/*/*),$(realpath $(dir)/include)) + # LIBPATH += $(foreach dir,$(wildcard $(HBPATH)/Cellar/*/*),$(realpath $(dir)/lib)) endif else ifeq (Linux,$(OSTYPE)) @@ -376,15 +376,15 @@ ifeq (${WIN32},) #*nix Environments (&& ifneq (lib,$(findstring lib,$(UNSUPPORTED_BUILD))) ifeq (Android,$(shell uname -o)) ifneq (,$(shell if ${TEST} -d ${PREFIX}/lib; then echo prefixlib; fi)) - LIBPATH += ${PREFIX}/lib + # LIBPATH += ${PREFIX}/lib endif ifneq (,$(shell if ${TEST} -d /system/lib; then echo systemlib; fi)) - LIBPATH += /system/lib + # LIBPATH += /system/lib endif - LIBPATH += $(LD_LIBRARY_PATH) + # LIBPATH += $(LD_LIBRARY_PATH) endif ifeq (ldconfig,$(shell if ${TEST} -e /sbin/ldconfig; then echo ldconfig; fi)) - LIBPATH := $(sort $(foreach lib,$(shell /sbin/ldconfig -p | grep ' => /' | sed 's/^.* => //'),$(dir $(lib)))) + # LIBPATH := $(sort $(foreach lib,$(shell /sbin/ldconfig -p | grep ' => /' | sed 's/^.* => //'),$(dir $(lib)))) endif endif LIBSOEXT = so @@ -393,7 +393,7 @@ ifeq (${WIN32},) #*nix Environments (&& ifeq (SunOS,$(OSTYPE)) OSNAME = Solaris ifneq (lib,$(findstring lib,$(UNSUPPORTED_BUILD))) - LIBPATH := $(shell LANG=C; crle | grep 'Default Library Path' | awk '{ print $$5 }' | sed 's/:/ /g') + # LIBPATH := $(shell LANG=C; crle | grep 'Default Library Path' | awk '{ print $$5 }' | sed 's/:/ /g') endif LIBEXT = so OS_LDFLAGS += -lsocket -lnsl @@ -402,27 +402,27 @@ ifeq (${WIN32},) #*nix Environments (&& OS_CCDEFS += -I/opt/sfw/include endif ifeq (libsfw,$(shell if ${TEST} -d /opt/sfw/lib; then echo libsfw; fi)) - LIBPATH += /opt/sfw/lib - OS_LDFLAGS += -L/opt/sfw/lib -R/opt/sfw/lib + # LIBPATH += /opt/sfw/lib + # OS_LDFLAGS += -L/opt/sfw/lib -R/opt/sfw/lib endif OS_CCDEFS += -D_LARGEFILE_SOURCE else ifeq (cygwin,$(OSTYPE)) # use 0readme_ethernet.txt documented Windows pcap build components - INCPATH += ../windows-build/winpcap/WpdPack/Include - LIBPATH += ../windows-build/winpcap/WpdPack/Lib + # INCPATH += ../windows-build/winpcap/WpdPack/Include + # LIBPATH += ../windows-build/winpcap/WpdPack/Lib PCAPLIB = wpcap LIBEXT = a else ifneq (,$(findstring AIX,$(OSTYPE))) OS_LDFLAGS += -lm -lrt ifeq (incopt,$(shell if ${TEST} -d /opt/freeware/include; then echo incopt; fi)) - INCPATH += /opt/freeware/include - OS_CCDEFS += -I/opt/freeware/include + # INCPATH += /opt/freeware/include + # OS_CCDEFS += -I/opt/freeware/include endif ifeq (libopt,$(shell if ${TEST} -d /opt/freeware/lib; then echo libopt; fi)) - LIBPATH += /opt/freeware/lib - OS_LDFLAGS += -L/opt/freeware/lib + # LIBPATH += /opt/freeware/lib + # OS_LDFLAGS += -L/opt/freeware/lib endif else ifneq (,$(findstring Haiku,$(OSTYPE))) @@ -433,9 +433,9 @@ ifeq (${WIN32},) #*nix Environments (&& ifeq ($(HAIKU_ARCH),x86_gcc2) $(error Unsupported arch x86_gcc2. Run setarch x86 and retry) endif - INCPATH := $(shell findpaths -e -a $(HAIKU_ARCH) B_FIND_PATH_HEADERS_DIRECTORY) - INCPATH += $(shell findpaths -e B_FIND_PATH_HEADERS_DIRECTORY posix) - LIBPATH := $(shell findpaths -e -a $(HAIKU_ARCH) B_FIND_PATH_DEVELOP_LIB_DIRECTORY) + # INCPATH := $(shell findpaths -e -a $(HAIKU_ARCH) B_FIND_PATH_HEADERS_DIRECTORY) + # INCPATH += $(shell findpaths -e B_FIND_PATH_HEADERS_DIRECTORY posix) + # LIBPATH := $(shell findpaths -e -a $(HAIKU_ARCH) B_FIND_PATH_DEVELOP_LIB_DIRECTORY) OS_LDFLAGS += -lnetwork else ifeq (,$(findstring NetBSD,$(OSTYPE))) @@ -443,7 +443,7 @@ ifeq (${WIN32},) #*nix Environments (&& LDSEARCH :=$(shell LANG=C; ldconfig -r | grep 'search directories' | awk '{print $$3}' | sed 's/:/ /g') endif ifneq (,$(LDSEARCH)) - LIBPATH := $(LDSEARCH) + # LIBPATH := $(LDSEARCH) else ifeq (,$(strip $(LPATH))) $(info *** Warning ***) @@ -455,22 +455,22 @@ ifeq (${WIN32},) #*nix Environments (&& $(info *** Warning *** variable.) $(info *** Warning ***) else - LIBPATH = $(subst :, ,$(LPATH)) + # LIBPATH = $(subst :, ,$(LPATH)) endif endif - OS_LDFLAGS += $(patsubst %,-L%,${LIBPATH}) + # OS_LDFLAGS += $(patsubst %,-L%,${LIBPATH}) endif endif endif ifeq (usrpkglib,$(shell if ${TEST} -d /usr/pkg/lib; then echo usrpkglib; fi)) - LIBPATH += /usr/pkg/lib - INCPATH += /usr/pkg/include - OS_LDFLAGS += -L/usr/pkg/lib -R/usr/pkg/lib - OS_CCDEFS += -I/usr/pkg/include + # LIBPATH += /usr/pkg/lib + # INCPATH += /usr/pkg/include + # OS_LDFLAGS += -L/usr/pkg/lib -R/usr/pkg/lib + # OS_CCDEFS += -I/usr/pkg/include endif ifeq (/usr/local/lib,$(findstring /usr/local/lib,${LIBPATH})) - INCPATH += /usr/local/include - OS_CCDEFS += -I/usr/local/include + # INCPATH += /usr/local/include + # OS_CCDEFS += -I/usr/local/include endif ifneq (,$(findstring NetBSD,$(OSTYPE))$(findstring FreeBSD,$(OSTYPE))$(findstring AIX,$(OSTYPE))) LIBEXT = so @@ -497,12 +497,12 @@ ifeq (${WIN32},) #*nix Environments (&& endif ifeq (,$(filter /lib/,$(LIBPATH))) ifeq (existlib,$(shell if $(TEST) -d /lib/; then echo existlib; fi)) - LIBPATH += /lib/ + # LIBPATH += /lib/ endif endif ifeq (,$(filter /usr/lib/,$(LIBPATH))) ifeq (existusrlib,$(shell if $(TEST) -d /usr/lib/; then echo existusrlib; fi)) - LIBPATH += /usr/lib/ + # LIBPATH += /usr/lib/ endif endif export CPATH = $(subst $() $(),:,$(INCPATH)) @@ -611,9 +611,9 @@ ifeq (${WIN32},) #*nix Environments (&& OS_CCDEFS += -DHAVE_UTIME endif ifneq (,$(call find_include,png)) - ifneq (,$(call find_lib,png)) + ifneq (,$(call find_lib,png16)) OS_CCDEFS += -DHAVE_LIBPNG - OS_LDFLAGS += -lpng + OS_LDFLAGS += -lpng16 $(info using libpng: $(call find_lib,png) $(call find_include,png)) ifneq (,$(call find_include,zlib)) ifneq (,$(call find_lib,z)) @@ -803,7 +803,7 @@ ifeq (${WIN32},) #*nix Environments (&& NETWORK_FEATURES = - dynamic networking support using libpcap components from www.tcpdump.org and locally installed libpcap.${LIBEXT} $(info using libpcap: $(call find_include,pcap)) else - LIBPATH += /usr/local/lib + # LIBPATH += /usr/local/lib LIBEXT = a ifneq (,$(call find_lib,$(PCAPLIB))) $(info using libpcap: $(call find_lib,$(PCAPLIB)) $(call find_include,pcap)) @@ -1198,11 +1198,11 @@ ifneq (,$(UNSUPPORTED_BUILD)) endif ifneq ($(DEBUG),) CFLAGS_G = -g -ggdb -g3 - CFLAGS_O = -O0 + CFLAGS_O += -O0 BUILD_FEATURES = - debugging support else ifneq (,$(findstring clang,$(COMPILER_NAME))$(findstring LLVM,$(COMPILER_NAME))) - CFLAGS_O = -O2 -fno-strict-overflow + CFLAGS_O += -O2 -fno-strict-overflow GCC_OPTIMIZERS_CMD = ${GCC} --help NO_LTO = 1 else @@ -1210,7 +1210,7 @@ else ifeq (Darwin,$(OSTYPE)) CFLAGS_O += -O4 -flto -fwhole-program else - CFLAGS_O := -O2 + CFLAGS_O += -O2 endif endif LDFLAGS_O =