WIP Adding "netbsd_..." OS variables in Makefile

Need to be told (1) if this is a good idea (else, back it out),
and if so (2) how to detect NetBSD when we set the OS variable
(is it just "uname -s" sending us "NetBSD"?)
This commit is contained in:
Bill Kendrick 2024-12-28 12:15:33 -08:00
parent 3d5f2001c1
commit 5be398cd6d
2 changed files with 20 additions and 3 deletions

View file

@ -4,7 +4,7 @@
# Various contributors (see AUTHORS.txt) # Various contributors (see AUTHORS.txt)
# https://tuxpaint.org/ # https://tuxpaint.org/
# June 14, 2002 - December 19, 2024 # June 14, 2002 - December 28, 2024
# The version number, for release: # The version number, for release:
@ -75,6 +75,9 @@ else
endif endif
endif endif
# FIXME: ^ Support NetBSD a recognized OS
# CROSS COMPILATION OVERRIDES # CROSS COMPILATION OVERRIDES
# #
# Usage: # Usage:
@ -162,6 +165,7 @@ macos_SO_TYPE:=dylib
ios_SO_TYPE:=dylib ios_SO_TYPE:=dylib
beos_SO_TYPE:=so beos_SO_TYPE:=so
linux_SO_TYPE:=so linux_SO_TYPE:=so
netbsd_SO_TYPE:=so
SO_TYPE:=$($(OS)_SO_TYPE) SO_TYPE:=$($(OS)_SO_TYPE)
windows_LIBMINGW:=-L/usr/local/lib -lmingw32 windows_LIBMINGW:=-L/usr/local/lib -lmingw32
@ -181,6 +185,7 @@ macos_ARCH_LIBS:=src/macos_print.m obj/macos.o
ios_ARCH_LIBS:=src/ios_print.m obj/ios.o ios_ARCH_LIBS:=src/ios_print.m obj/ios.o
beos_ARCH_LIBS:=obj/BeOS_print.o obj/haiku_trash.o beos_ARCH_LIBS:=obj/BeOS_print.o obj/haiku_trash.o
linux_ARCH_LIBS:=obj/postscript_print.o linux_ARCH_LIBS:=obj/postscript_print.o
netbsd_ARCH_LIBS:=obj/postscript_print.o
ARCH_LIBS:=$($(OS)_ARCH_LIBS) ARCH_LIBS:=$($(OS)_ARCH_LIBS)
windows_ARCH_CFLAGS:= windows_ARCH_CFLAGS:=
@ -189,6 +194,7 @@ macos_ARCH_CFLAGS:=-isysroot $(SDKROOT) -I$(SDKROOT)/usr/include -I$(HOSTROOT)/i
ios_ARCH_CFLAGS:=-isysroot $(SDKROOT) -I$(SDKROOT)/usr/include -I$(HOSTROOT)/include $(MINVEROPT) -arch $(subst $() $(), -arch ,$(ARCHS)) -w -fPIC -DHAVE_STRCASESTR -DUNLINK_ONLY ios_ARCH_CFLAGS:=-isysroot $(SDKROOT) -I$(SDKROOT)/usr/include -I$(HOSTROOT)/include $(MINVEROPT) -arch $(subst $() $(), -arch ,$(ARCHS)) -w -fPIC -DHAVE_STRCASESTR -DUNLINK_ONLY
beos_ARCH_CFLAGS:= beos_ARCH_CFLAGS:=
linux_ARCH_CFLAGS:= linux_ARCH_CFLAGS:=
netbsd_ARCH_CFLAGS:=-DHAVE_STRCASESTR
ARCH_CFLAGS:=$($(OS)_ARCH_CFLAGS) ARCH_CFLAGS:=$($(OS)_ARCH_CFLAGS)
windows_ARCH_LDFLAGS:= windows_ARCH_LDFLAGS:=
@ -197,7 +203,9 @@ macos_ARCH_LDFLAGS:=-isysroot $(SDKROOT) -L$(HOSTROOT)/lib -mmacosx-version-min=
ios_ARCH_LDFLAGS:=-isysroot $(SDKROOT) -L$(HOSTROOT)/lib $(MINVEROPT) -arch $(subst $() $(), -arch ,$(ARCHS)) ios_ARCH_LDFLAGS:=-isysroot $(SDKROOT) -L$(HOSTROOT)/lib $(MINVEROPT) -arch $(subst $() $(), -arch ,$(ARCHS))
beos_ARCH_LDFLAGS:= beos_ARCH_LDFLAGS:=
linux_ARCH_LDFLAGS:= linux_ARCH_LDFLAGS:=
netbsd_ARCH_LDFLAGS:=
ARCH_LDFLAGS:=$($(OS)_ARCH_LDFLAGS) ARCH_LDFLAGS:=$($(OS)_ARCH_LDFLAGS)
LDFLAGS:=$(ARCH_LDFLAGS) LDFLAGS:=$(ARCH_LDFLAGS)
ifeq ($(OS), os2) ifeq ($(OS), os2)
@ -217,6 +225,7 @@ macos_ARCH_LINKS:=$(FRIBIDI_LIB) -limagequant -lSDLmain -Wl,-framework,AppKit -W
ios_ARCH_LINKS=$(FRIBIDI_LIB) -limagequant -ljpeg -lbz2 $(shell $(PKG_CONFIG) --libs freetype2 libtiff-4 libwebp libffi harfbuzz libmpg123 ogg vorbisenc vorbisidec libxml-2.0 pangoft2 libpcre) ios_ARCH_LINKS=$(FRIBIDI_LIB) -limagequant -ljpeg -lbz2 $(shell $(PKG_CONFIG) --libs freetype2 libtiff-4 libwebp libffi harfbuzz libmpg123 ogg vorbisenc vorbisidec libxml-2.0 pangoft2 libpcre)
beos_ARCH_LINKS:=-lintl $(PNG) -lz -lbe -lnetwork -liconv $(FRIBIDI_LIB) $(PAPER_LIB) $(STDC_LIB) -limagequant beos_ARCH_LINKS:=-lintl $(PNG) -lz -lbe -lnetwork -liconv $(FRIBIDI_LIB) $(PAPER_LIB) $(STDC_LIB) -limagequant
linux_ARCH_LINKS:=$(PAPER_LIB) $(FRIBIDI_LIB) -limagequant linux_ARCH_LINKS:=$(PAPER_LIB) $(FRIBIDI_LIB) -limagequant
netbsd_ARCH_LINKS:=$(PAPER_LIB) $(FRIBIDI_LIB) -limagequant
ARCH_LINKS:=$($(OS)_ARCH_LINKS) ARCH_LINKS:=$($(OS)_ARCH_LINKS)
windows_ARCH_HEADERS:=src/win32_print.h windows_ARCH_HEADERS:=src/win32_print.h
@ -224,6 +233,7 @@ os2_ARCH_HEADERS:=
macos_ARCH_HEADERS:=src/macos.h macos_ARCH_HEADERS:=src/macos.h
beos_ARCH_HEADERS:=src/BeOS_print.h beos_ARCH_HEADERS:=src/BeOS_print.h
linux_ARCH_HEADERS:= linux_ARCH_HEADERS:=
netbsd_ARCH_HEADERS:=
ARCH_HEADERS:=$($(OS)_ARCH_HEADERS) ARCH_HEADERS:=$($(OS)_ARCH_HEADERS)
# Where things will go when ultimately installed: # Where things will go when ultimately installed:
@ -233,6 +243,7 @@ os2_PREFIX:=c:/extras/tuxpaint
macos_PREFIX:=Resources macos_PREFIX:=Resources
ios_PREFIX:=. ios_PREFIX:=.
linux_PREFIX:=/usr/local linux_PREFIX:=/usr/local
netbsd_PREFIX:=/usr/local
PREFIX:=$($(OS)_PREFIX) PREFIX:=$($(OS)_PREFIX)
# Root directory to place files when creating packages. # Root directory to place files when creating packages.
@ -1472,6 +1483,7 @@ macos_MAGIC_SDL_LIBS:=-L/usr/local/lib $(shell $(PKG_CONFIG) $(SDL_PCNAME) --lib
ios_MAGIC_SDL_LIBS:=$(shell $(PKG_CONFIG) $(SDL_PCNAME) --libs) -lSDL2_image -lSDL2_ttf $(SDL_MIXER_LIB) -lSDL2_gfx ios_MAGIC_SDL_LIBS:=$(shell $(PKG_CONFIG) $(SDL_PCNAME) --libs) -lSDL2_image -lSDL2_ttf $(SDL_MIXER_LIB) -lSDL2_gfx
beos_MAGIC_SDL_LIBS:=-L/usr/local/lib $(shell $(PKG_CONFIG) $(SDL_PCNAME) --libs) -lSDL2_image -lSDL2_ttf $(SDL_MIXER_LIB) beos_MAGIC_SDL_LIBS:=-L/usr/local/lib $(shell $(PKG_CONFIG) $(SDL_PCNAME) --libs) -lSDL2_image -lSDL2_ttf $(SDL_MIXER_LIB)
linux_MAGIC_SDL_LIBS:=-L/usr/local/lib $(shell $(PKG_CONFIG) $(SDL_PCNAME) --libs) -lSDL2_image -lSDL2_ttf $(SDL_MIXER_LIB) linux_MAGIC_SDL_LIBS:=-L/usr/local/lib $(shell $(PKG_CONFIG) $(SDL_PCNAME) --libs) -lSDL2_image -lSDL2_ttf $(SDL_MIXER_LIB)
netbsd_MAGIC_SDL_LIBS:=-L/usr/local/lib $(shell $(PKG_CONFIG) $(SDL_PCNAME) --libs) -lSDL2_image -lSDL2_ttf $(SDL_MIXER_LIB)
MAGIC_SDL_LIBS:=$($(OS)_MAGIC_SDL_LIBS) MAGIC_SDL_LIBS:=$($(OS)_MAGIC_SDL_LIBS)
windows_MAGIC_ARCH_LINKS=-lintl $(PNG) windows_MAGIC_ARCH_LINKS=-lintl $(PNG)
@ -1480,6 +1492,7 @@ macos_MAGIC_ARCH_LINKS=-lintl $(PNG)
ios_MAGIC_ARCH_LINKS=-lintl -ljpeg $(PNG) $(shell $(PKG_CONFIG) --libs libtiff-4 libwebp libmpg123 ogg vorbisenc vorbisidec) ios_MAGIC_ARCH_LINKS=-lintl -ljpeg $(PNG) $(shell $(PKG_CONFIG) --libs libtiff-4 libwebp libmpg123 ogg vorbisenc vorbisidec)
beos_MAGIC_ARCH_LINKS:=-lintl $(PNG) beos_MAGIC_ARCH_LINKS:=-lintl $(PNG)
linux_MAGIC_ARCH_LINKS:=-lintl $(PNG) linux_MAGIC_ARCH_LINKS:=-lintl $(PNG)
netbsd_MAGIC_ARCH_LINKS:=-lintl $(PNG)
MAGIC_ARCH_LINKS:=$($(OS)_MAGIC_ARCH_LINKS) MAGIC_ARCH_LINKS:=$($(OS)_MAGIC_ARCH_LINKS)
windows_PLUGIN_LIBS:=$(MAGIC_SDL_LIBS) $(MAGIC_ARCH_LINKS) windows_PLUGIN_LIBS:=$(MAGIC_SDL_LIBS) $(MAGIC_ARCH_LINKS)
@ -1488,6 +1501,7 @@ macos_PLUGIN_LIBS:=$(MAGIC_SDL_LIBS) $(MAGIC_ARCH_LINKS)
ios_PLUGIN_LIBS:=$(MAGIC_SDL_LIBS) $(MAGIC_ARCH_LINKS) ios_PLUGIN_LIBS:=$(MAGIC_SDL_LIBS) $(MAGIC_ARCH_LINKS)
beos_PLUGIN_LIBS:="$(MAGIC_SDL_LIBS) $(MAGIC_ARCH_LINKS) $(MAGIC_SDL_CPPFLAGS)" beos_PLUGIN_LIBS:="$(MAGIC_SDL_LIBS) $(MAGIC_ARCH_LINKS) $(MAGIC_SDL_CPPFLAGS)"
linux_PLUGIN_LIBS:= linux_PLUGIN_LIBS:=
netbsd_PLUGIN_LIBS:=
PLUGIN_LIBS:=$($(OS)_PLUGIN_LIBS) PLUGIN_LIBS:=$($(OS)_PLUGIN_LIBS)
MAGIC_CFLAGS:=-g3 -O2 $(FASTMATH) -fno-common -W -Wstrict-prototypes -Wmissing-prototypes -Wall $(MAGIC_SDL_CPPFLAGS) -Isrc/ $(ARCH_CFLAGS) MAGIC_CFLAGS:=-g3 -O2 $(FASTMATH) -fno-common -W -Wstrict-prototypes -Wmissing-prototypes -Wall $(MAGIC_SDL_CPPFLAGS) -Isrc/ $(ARCH_CFLAGS)

View file

@ -6,7 +6,7 @@ Copyright (c) 2002-2024
Various contributors (see below, and AUTHORS.txt) Various contributors (see below, and AUTHORS.txt)
https://tuxpaint.org/ https://tuxpaint.org/
2024.December.26 (0.9.35) 2024.December.28 (0.9.35)
* New Magic Tools: * New Magic Tools:
---------------- ----------------
+ Heart, Sparkle, and Star emitters + Heart, Sparkle, and Star emitters
@ -20,7 +20,6 @@ https://tuxpaint.org/
- Stars sound effect: based on "space-chimes-2-04.wav", - Stars sound effect: based on "space-chimes-2-04.wav",
Creative Commons Attribution 4.0 by gamebalance Creative Commons Attribution 4.0 by gamebalance
<https://freesound.org/people/gamebalance/> <https://freesound.org/people/gamebalance/>
* Text & Label Tool Improvements: * Text & Label Tool Improvements:
------------------------------- -------------------------------
@ -54,6 +53,10 @@ https://tuxpaint.org/
+ Don't use Linux-specific invocation of "install"; use "mkdir" & "cp" + Don't use Linux-specific invocation of "install"; use "mkdir" & "cp"
Thomas Klausner <wiz@netbsd.org> Thomas Klausner <wiz@netbsd.org>
+ WIP Specific build settings for NetBSD
Bill Kendrick <bill@newbreedsoftware.com>
& Thomas Klausner <wiz@netbsd.org>
2024.October.23 (0.9.34) 2024.October.23 (0.9.34)
* New Magic Tools: * New Magic Tools:
---------------- ----------------