Merge branch 'master' into sdl2.0

This commit is contained in:
Pere Pujal i Carabantes 2020-10-28 17:03:05 +01:00
commit 63e060afa3
30 changed files with 6000 additions and 4329 deletions

116
Makefile
View file

@ -4,7 +4,7 @@
# Various contributors (see AUTHORS.txt)
# http://www.tuxpaint.org/
# June 14, 2002 - July 24, 2020
# June 14, 2002 - October 15, 2020
# The version number, for release:
@ -23,25 +23,32 @@ SYSNAME:=$(shell uname -s)
ifeq ($(findstring MINGW32, $(SYSNAME)),MINGW32)
OS:=windows
GPERF:=/usr/bin/gperf
MINGW_DIR:=/mingw32
else
ifeq ($(SYSNAME),Darwin)
OS:=osx
ifeq ($(findstring MINGW64, $(SYSNAME)),MINGW64)
OS:=windows
GPERF:=/usr/bin/gperf
MINGW_DIR:=/mingw64
else
ifeq ($(SYSNAME),BeOS)
OS:=beos
GPERF:=$(shell finddir B_USER_BIN_DIRECTORY)/gperf
ifeq ($(SYSNAME),Darwin)
OS:=osx
GPERF:=/usr/bin/gperf
else
ifeq ($(SYSNAME),Haiku)
ifeq ($(SYSNAME),BeOS)
OS:=beos
GPERF:=$(shell finddir B_SYSTEM_BIN_DIRECTORY)/gperf
STDC_LIB:=-lstdc++
ifeq ($(shell gcc --version | cut -c 1-6),2.95.3)
STDC_LIB:=-lstdc++.r4
endif
GPERF:=$(shell finddir B_USER_BIN_DIRECTORY)/gperf
else
OS:=linux
GPERF:=/usr/bin/gperf
ifeq ($(SYSNAME),Haiku)
OS:=beos
GPERF:=$(shell finddir B_SYSTEM_BIN_DIRECTORY)/gperf
STDC_LIB:=-lstdc++
ifeq ($(shell gcc --version | cut -c 1-6),2.95.3)
STDC_LIB:=-lstdc++.r4
endif
else
OS:=linux
GPERF:=/usr/bin/gperf
endif
endif
endif
endif
@ -115,7 +122,7 @@ PNG:=$(if $(PNG),$(PNG),$(call linktest,-lpng12,))
FRIBIDI_LIB:=$(shell $(PKG_CONFIG) --libs fribidi)
FRIBIDI_CFLAGS:=$(shell $(PKG_CONFIG) --cflags fribidi)
windows_ARCH_LINKS:=-lintl $(PNG) -lzdll -lwinspool -lshlwapi $(FRIBIDI_LIB) -liconv -limagequant
windows_ARCH_LINKS:=-lgdi32 -lcomdlg32 $(PNG) -lz -lwinspool -lshlwapi $(FRIBIDI_LIB) -liconv -limagequant
osx_ARCH_LINKS:=$(FRIBIDI_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
@ -708,14 +715,14 @@ $(THUMB_STARTERS):
@if [ "x" != "x"$(STARTER_BACK_NAME) ] ; \
then \
composite $(STARTER_NAME) $(STARTER_BACK_NAME) obj/tmp_$(notdir $(STARTER_NAME)).png ; \
convert $(CONVERT_OPTS) obj/tmp_$(notdir $(STARTER_NAME)).png $@ ; \
convert $(CONVERT_OPTS) obj/tmp_$(notdir $(STARTER_NAME)).png $@ 2> /dev/null ; \
rm obj/tmp_$(notdir $(STARTER_NAME)).png ; \
else \
convert $(CONVERT_OPTS) $(STARTER_NAME) $@ ; \
convert $(CONVERT_OPTS) $(STARTER_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
fi
$(INSTALLED_THUMB_STARTERS): $(DATA_PREFIX)/%: %
@install -D -m 644 $< $@
@install -D -m 644 $< $@ || ( echo "NO THUMB $<" )
.PHONY: echo-thumb-starters
echo-thumb-starters:
@ -766,10 +773,10 @@ TEMPLATE_NAME=$(or $(wildcard $(subst templates/.thumbs,templates,$(@:-t.png=.sv
$(THUMB_TEMPLATES):
@echo -n "."
@mkdir -p templates/.thumbs
@convert $(CONVERT_OPTS) $(TEMPLATE_NAME) $@ ; \
@convert $(CONVERT_OPTS) $(TEMPLATE_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
$(INSTALLED_THUMB_TEMPLATES): $(DATA_PREFIX)/%: %
@install -D -m 644 $< $@
@install -D -m 644 $< $@ || ( echo "NO THUMB $<" )
.PHONY: echo-thumb-templates
echo-thumb-templates:
@ -864,68 +871,23 @@ install-bin:
@cp tuxpaint$(EXE_EXT) $(BIN_PREFIX)
@chmod a+rx,g-w,o-w $(BIN_PREFIX)/tuxpaint$(EXE_EXT)
# Install the required Windows DLLs into the 'bdist' directory
# Install tuxpaint-config and required Windows DLLs into the 'bdist' directory
.PHONY: install-dlls
install-dlls:
@echo
@echo "...Installing Windows DLLs..."
@install -d $(BIN_PREFIX)
@cp `which tuxpaint-config.exe` $(BIN_PREFIX)
@cp `which libintl-8.dll` $(BIN_PREFIX)
@cp `which libiconv-2.dll` $(BIN_PREFIX)
@cp `which libpng12.dll` $(BIN_PREFIX)
@cp `which SDL.dll` $(BIN_PREFIX)
@cp `which SDL_image.dll` $(BIN_PREFIX)
@cp `which SDL_mixer.dll` $(BIN_PREFIX)
@cp `which SDL_ttf.dll` $(BIN_PREFIX)
@cp `which libfreetype-6.dll` $(BIN_PREFIX)
@cp `which zlib1.dll` $(BIN_PREFIX)
@cp `which libogg-0.dll` $(BIN_PREFIX)
@cp `which libvorbis-0.dll` $(BIN_PREFIX)
@cp `which libvorbisfile-3.dll` $(BIN_PREFIX)
@cp `which libjpeg-8.dll` $(BIN_PREFIX)
@cp `which libgcc_s_dw2-1.dll` $(BIN_PREFIX)
@cp `which libstdc++-6.dll` $(BIN_PREFIX)
@cp `which libfribidi-0.dll` $(BIN_PREFIX)
@cp `which libpthread-2.dll` $(BIN_PREFIX)
@if [ "x$(BDIST_WIN9X)" = "x" ]; then \
cp `which libxml2-2.dll` $(BIN_PREFIX); \
cp `which libcairo-2.dll` $(BIN_PREFIX); \
cp `which libfontconfig-1.dll` $(BIN_PREFIX); \
cp `which libSDL2_Pango-1.dll` $(BIN_PREFIX); \
cp `which libgobject-2.0-0.dll` $(BIN_PREFIX); \
cp `which libgthread-2.0-0.dll` $(BIN_PREFIX); \
cp `which librsvg-2-2.dll` $(BIN_PREFIX); \
cp `which libcroco-0.6-3.dll` $(BIN_PREFIX); \
cp `which libgdk_pixbuf-2.0-0.dll` $(BIN_PREFIX); \
cp `which libglib-2.0-0.dll` $(BIN_PREFIX); \
cp `which libgsf-1-114.dll` $(BIN_PREFIX); \
cp `which libpango-1.0-0.dll` $(BIN_PREFIX); \
cp `which libpangocairo-1.0-0.dll` $(BIN_PREFIX); \
cp `which libpangoft2-1.0-0.dll` $(BIN_PREFIX); \
cp `which libgmodule-2.0-0.dll` $(BIN_PREFIX); \
cp `which libpangowin32-1.0-0.dll` $(BIN_PREFIX); \
cp `which libpixman-1-0.dll` $(BIN_PREFIX); \
cp `which libgio-2.0-0.dll` $(BIN_PREFIX); \
cp `which bz2-1.dll` $(BIN_PREFIX); \
fi
@cp $(TPCONF_PATH)/tuxpaint-config.exe $(BIN_PREFIX)
@src/install-dlls.sh tuxpaint.exe $(TPCONF_PATH)/tuxpaint-config.exe $(BIN_PREFIX)
@strip -s $(BIN_PREFIX)/*.dll
@if [ "x$(BDIST_WIN9X)" = "x" ]; then \
echo; \
echo "...Installing Configuration Files..."; \
cp -R win32/etc/ $(BIN_PREFIX); \
echo; \
echo "...Installing Library Modules..."; \
mkdir -p $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders; \
cp /usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.dll $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders; \
strip -s $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.dll; \
mkdir -p $(BIN_PREFIX)/lib/gtk-2.0/2.10.0/loaders; \
cp /usr/local/lib/gtk-2.0/loaders/*.dll $(BIN_PREFIX)/lib/gtk-2.0/2.10.0/loaders; \
strip -s $(BIN_PREFIX)/lib/gtk-2.0/2.10.0/loaders/*.dll; \
mkdir -p $(BIN_PREFIX)/lib/pango/1.6.0/modules; \
cp /usr/local/lib/pango/1.6.0/modules/*.dll $(BIN_PREFIX)/lib/pango/1.6.0/modules; \
strip -s $(BIN_PREFIX)/lib/pango/1.6.0/modules/*.dll; \
fi
@echo
@echo "...Installing Configuration Files..."
@cp -R win32/etc/ $(BIN_PREFIX)
@echo
@echo "...Installing Library Modules..."
@mkdir -p $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders
@cp $(MINGW_DIR)/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.dll $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders
@strip -s $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.dll
# Install symlink:
.PHONY: install-haiku
@ -1081,7 +1043,7 @@ obj/parse.c: obj/parse_step1.c
@echo
@echo "...Generating the command-line and config file parser (STEP 2)..."
@sed -e 's/^const struct/static const struct/' -e 's/_GNU/_TUX/' obj/parse_step1.c > obj/parse.c
obj/parse_step1.c: src/parse.gperf
@echo
@echo "...Generating the command-line and config file parser (STEP 1)..."