WIP Changes to support building for OS/2
+ WIP Makefile updates to support building for OS/2 - TODO: Makefile needs SYSNAME test to detect OS/2 (Bill has asked Elbert) + Added "__declspec(dllexport)" (via new "TX_EXTERN" #define'd in `tp_magic_api.h`) to public function definitions in Magic tools - WIP: So far just "Mirror/Flip" plugin - TODO: Add "TX_EXTERN" prefix to all other public Magic tool functions + Renamed long Magic tool source files to have shorter filenames - WIP: So far just "Mirror/Flip" (`mirror_flip.c` -> `mirror_f.c`) - TODO: Rename all other magic tool source files. h/t Elbert Pol for providing info and some diffs!
This commit is contained in:
parent
609e7cec58
commit
33db4c16f5
7 changed files with 85 additions and 52 deletions
17
Makefile
17
Makefile
|
|
@ -150,6 +150,7 @@ macos_RAD_CMD:=[[ ! -d Resources/share ]] && mkdir -p Resources/share && ln -s .
|
|||
RAD_CMD:=$($(OS)_RAD_CMD)
|
||||
|
||||
windows_SO_TYPE:=dll
|
||||
os2_SO_TYPE:=dll
|
||||
macos_SO_TYPE:=dylib
|
||||
ios_SO_TYPE:=dylib
|
||||
beos_SO_TYPE:=so
|
||||
|
|
@ -160,6 +161,7 @@ windows_LIBMINGW:=-L/usr/local/lib -lmingw32
|
|||
LIBMINGW:=$($(OS)_LIBMINGW)
|
||||
|
||||
windows_EXE_EXT:=.exe
|
||||
os2_EXE_EXT:=.exe
|
||||
EXE_EXT:=$($(OS)_EXE_EXT)
|
||||
|
||||
macos_BUNDLE:=./TuxPaint-$(ARCHS).app
|
||||
|
|
@ -167,6 +169,7 @@ ios_BUNDLE:=./TuxPaint-$(SDK).app
|
|||
BUNDLE:=$($(OS)_BUNDLE)
|
||||
|
||||
windows_ARCH_LIBS:=obj/win32_print.o obj/resource.o obj/win32_trash.o obj/win32_version.o
|
||||
os2_ARCH_LIBS:=obj/postscript_print.o
|
||||
macos_ARCH_LIBS:=src/macos_print.m obj/macos.o
|
||||
ios_ARCH_LIBS:=src/ios_print.m obj/ios.o
|
||||
beos_ARCH_LIBS:=obj/BeOS_print.o
|
||||
|
|
@ -174,6 +177,7 @@ linux_ARCH_LIBS:=obj/postscript_print.o
|
|||
ARCH_LIBS:=$($(OS)_ARCH_LIBS)
|
||||
|
||||
windows_ARCH_CFLAGS:=
|
||||
os2_ARCH_CFLAGS:=
|
||||
macos_ARCH_CFLAGS:=-isysroot $(SDKROOT) -I$(SDKROOT)/usr/include -I$(HOSTROOT)/include -mmacosx-version-min=$(MINVER) -arch $(subst $() $(), -arch ,$(ARCHS)) -w -headerpad_max_install_names -DHAVE_STRCASESTR
|
||||
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:=
|
||||
|
|
@ -181,6 +185,7 @@ linux_ARCH_CFLAGS:=
|
|||
ARCH_CFLAGS:=$($(OS)_ARCH_CFLAGS)
|
||||
|
||||
windows_ARCH_LDFLAGS:=
|
||||
os2_ARCH_LDFLAGS:=-Zomf -Zmap -Zargs-wild -D__ST_MT_ERRNO__
|
||||
macos_ARCH_LDFLAGS:=-isysroot $(SDKROOT) -L$(HOSTROOT)/lib -mmacosx-version-min=$(MINVER) -arch $(subst $() $(), -arch ,$(ARCHS))
|
||||
ios_ARCH_LDFLAGS:=-isysroot $(SDKROOT) -L$(HOSTROOT)/lib $(MINVEROPT) -arch $(subst $() $(), -arch ,$(ARCHS))
|
||||
beos_ARCH_LDFLAGS:=
|
||||
|
|
@ -188,7 +193,11 @@ linux_ARCH_LDFLAGS:=
|
|||
ARCH_LDFLAGS:=$($(OS)_ARCH_LDFLAGS)
|
||||
LDFLAGS:=$(ARCH_LDFLAGS)
|
||||
|
||||
PAPER_LIB:=$(call linktest,,-lpaper,)
|
||||
ifeq ($(OS), os2)
|
||||
PAPER_LIB:=$(call linktest,,-lpaper_dll,)
|
||||
else
|
||||
PAPER_LIB:=$(call linktest,,-lpaper,)
|
||||
endif
|
||||
PNG:=$(call linktest,libpng,-lpng,)
|
||||
PNG:=$(if $(PNG),$(PNG),$(call linktest,,-lpng12,))
|
||||
|
||||
|
|
@ -196,6 +205,7 @@ FRIBIDI_LIB:=$(shell $(PKG_CONFIG) --libs fribidi)
|
|||
FRIBIDI_CFLAGS:=$(shell $(PKG_CONFIG) --cflags fribidi)
|
||||
|
||||
windows_ARCH_LINKS:=-lgdi32 -lcomdlg32 $(PNG) -lz -lwinspool -lshlwapi $(FRIBIDI_LIB) -liconv -limagequant -mwindows
|
||||
os2_ARCH_LINKS:=$(PAPER_LIB) $(FRIBIDI_LIB) -limagequant
|
||||
macos_ARCH_LINKS:=$(FRIBIDI_LIB) -limagequant -lSDLmain -Wl,-framework,AppKit -Wl,-framework,Cocoa $(shell $(PKG_CONFIG) --libs pangoft2)
|
||||
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
|
||||
|
|
@ -203,6 +213,7 @@ linux_ARCH_LINKS:=$(PAPER_LIB) $(FRIBIDI_LIB) -limagequant
|
|||
ARCH_LINKS:=$($(OS)_ARCH_LINKS)
|
||||
|
||||
windows_ARCH_HEADERS:=src/win32_print.h
|
||||
os2_ARCH_HEADERS:=
|
||||
macos_ARCH_HEADERS:=src/macos.h
|
||||
beos_ARCH_HEADERS:=src/BeOS_print.h
|
||||
linux_ARCH_HEADERS:=
|
||||
|
|
@ -211,6 +222,7 @@ ARCH_HEADERS:=$($(OS)_ARCH_HEADERS)
|
|||
# Where things will go when ultimately installed:
|
||||
# For macOS and iOS, the prefix is relative to DESTDIR.
|
||||
windows_PREFIX:=/usr/local
|
||||
os2_PREFIX:=c:/extras/tuxpaint
|
||||
macos_PREFIX:=Resources
|
||||
ios_PREFIX:=.
|
||||
linux_PREFIX:=/usr/local
|
||||
|
|
@ -1433,6 +1445,7 @@ MAGIC_SDL_CPPFLAGS:=$(shell $(PKG_CONFIG) $(SDL_PCNAME) --cflags)
|
|||
|
||||
# FIXME: Expose SDL_rotozoom to Magic API? -bjk 2021.09.06
|
||||
windows_MAGIC_SDL_LIBS:=-L/usr/local/lib $(LIBMINGW) $(shell $(PKG_CONFIG) $(SDL_PCNAME) --libs) -lSDL2_image -lSDL2_ttf $(SDL_MIXER_LIB)
|
||||
os2_MAGIC_SDL_LIBS:=-L/@unixroot/usr/lib $(shell $(PKG_CONFIG) $(SDL_PCNAME) --libs) -lSDL2_image -lSDL2_ttf $(SDL_MIXER_LIB)
|
||||
macos_MAGIC_SDL_LIBS:=-L/usr/local/lib $(shell $(PKG_CONFIG) $(SDL_PCNAME) --libs) -lSDL2_image -lSDL2_ttf $(SDL_MIXER_LIB)
|
||||
ios_MAGIC_SDL_LIBS:=$(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)
|
||||
|
|
@ -1440,6 +1453,7 @@ linux_MAGIC_SDL_LIBS:=-L/usr/local/lib $(shell $(PKG_CONFIG) $(SDL_PCNAME) --lib
|
|||
MAGIC_SDL_LIBS:=$($(OS)_MAGIC_SDL_LIBS)
|
||||
|
||||
windows_MAGIC_ARCH_LINKS=-lintl $(PNG)
|
||||
os2_MAGIC_ARCH_LINKS=-lint_dll $(PNG)
|
||||
macos_MAGIC_ARCH_LINKS=-lintl $(PNG)
|
||||
ios_MAGIC_ARCH_LINKS=-lintl -ljpeg $(PNG) $(shell $(PKG_CONFIG) --libs libtiff-4 libwebp libmpg123 ogg vorbisenc vorbisidec)
|
||||
beos_MAGIC_ARCH_LINKS:=-lintl $(PNG)
|
||||
|
|
@ -1447,6 +1461,7 @@ linux_MAGIC_ARCH_LINKS:=-lintl $(PNG)
|
|||
MAGIC_ARCH_LINKS:=$($(OS)_MAGIC_ARCH_LINKS)
|
||||
|
||||
windows_PLUGIN_LIBS:=$(MAGIC_SDL_LIBS) $(MAGIC_ARCH_LINKS)
|
||||
os2_PLUGIN_LIBS:=-lsdl2 -lsdl2_mixer -lSDL2_image
|
||||
macos_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)"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue