[iortcw] 161/497: All: Make external library linking nicer
Simon McVittie
smcv at debian.org
Fri Sep 8 10:36:44 UTC 2017
This is an automated email from the git hooks/post-receive script.
smcv pushed a commit to annotated tag 1.42d
in repository iortcw.
commit a08c923a2e9af75160f271e4c39f13fc768ec4bf
Author: M4N4T4RMS at gmail.com <M4N4T4RMS at gmail.com@e65d2741-a53d-b2dc-ae96-bb75fa5e4c4a>
Date: Sun Jul 20 14:46:36 2014 +0000
All: Make external library linking nicer
---
MP/Makefile | 126 +++++++++++++++++++++++++++++++++--------------------------
MP/README | 6 ++-
SP/Makefile | 128 ++++++++++++++++++++++++++++++++++--------------------------
SP/README | 6 ++-
4 files changed, 150 insertions(+), 116 deletions(-)
diff --git a/MP/Makefile b/MP/Makefile
index 5ee890e..cfd8dfd 100644
--- a/MP/Makefile
+++ b/MP/Makefile
@@ -207,28 +207,32 @@ ifndef USE_FREETYPE
USE_FREETYPE=0
endif
+ifndef USE_INTERNAL_LIBS
+USE_INTERNAL_LIBS=1
+endif
+
ifndef USE_INTERNAL_OGG
-USE_INTERNAL_OGG=1
+USE_INTERNAL_OGG=$(USE_INTERNAL_LIBS)
endif
ifndef USE_INTERNAL_VORBIS
-USE_INTERNAL_VORBIS=1
+USE_INTERNAL_VORBIS=$(USE_INTERNAL_LIBS)
endif
ifndef USE_INTERNAL_OPUS
-USE_INTERNAL_OPUS=1
+USE_INTERNAL_OPUS=$(USE_INTERNAL_LIBS)
endif
ifndef USE_INTERNAL_ZLIB
-USE_INTERNAL_ZLIB=1
+USE_INTERNAL_ZLIB=$(USE_INTERNAL_LIBS)
endif
ifndef USE_INTERNAL_JPEG
-USE_INTERNAL_JPEG=1
+USE_INTERNAL_JPEG=$(USE_INTERNAL_LIBS)
endif
ifndef USE_LOCAL_HEADERS
-USE_LOCAL_HEADERS=1
+USE_LOCAL_HEADERS=$(USE_INTERNAL_LIBS)
endif
ifndef USE_RENDERER_DLOPEN
@@ -299,13 +303,16 @@ ifneq ($(BUILD_CLIENT),0)
# set PKG_CONFIG_PATH to influence this, e.g.
# PKG_CONFIG_PATH=/opt/cross/i386-mingw32msvc/lib/pkgconfig
ifneq ($(call bin_path, pkg-config),)
- CURL_CFLAGS=$(shell pkg-config --silence-errors --cflags libcurl)
- CURL_LIBS=$(shell pkg-config --silence-errors --libs libcurl)
- OPENAL_CFLAGS=$(shell pkg-config --silence-errors --cflags openal)
- OPENAL_LIBS=$(shell pkg-config --silence-errors --libs openal)
- SDL_CFLAGS=$(shell pkg-config --silence-errors --cflags sdl2|sed 's/-Dmain=SDL_main//')
- SDL_LIBS=$(shell pkg-config --silence-errors --libs sdl2)
- FREETYPE_CFLAGS=$(shell pkg-config --silence-errors --cflags freetype2)
+ CURL_CFLAGS ?= $(shell pkg-config --silence-errors --cflags libcurl)
+ CURL_LIBS ?= $(shell pkg-config --silence-errors --libs libcurl)
+ OPENAL_CFLAGS ?= $(shell pkg-config --silence-errors --cflags openal)
+ OPENAL_LIBS ?= $(shell pkg-config --silence-errors --libs openal)
+ SDL_CFLAGS ?= $(shell pkg-config --silence-errors --cflags sdl2|sed 's/-Dmain=SDL_main//')
+ SDL_LIBS ?= $(shell pkg-config --silence-errors --libs sdl2)
+ else
+ # assume they're in the system default paths (no -I or -L needed)
+ CURL_LIBS=-lcurl
+ OPENAL_LIBS=-lopenal
endif
# Use sdl-config if all else fails
ifeq ($(SDL_CFLAGS),)
@@ -419,13 +426,14 @@ ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu"))
ifeq ($(USE_OPENAL),1)
ifneq ($(USE_OPENAL_DLOPEN),1)
- CLIENT_LIBS += -lopenal
+ CLIENT_LIBS += $(OPENAL_LIBS)
endif
endif
ifeq ($(USE_CURL),1)
+ CLIENT_CFLAGS += $(CURL_CFLAGS)
ifneq ($(USE_CURL_DLOPEN),1)
- CLIENT_LIBS += -lcurl
+ CLIENT_LIBS += $(CURL_LIBS)
endif
endif
@@ -433,10 +441,6 @@ ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu"))
CLIENT_LIBS += -lrt
endif
- ifeq ($(USE_FREETYPE),1)
- BASE_CFLAGS += $(FREETYPE_CFLAGS)
- endif
-
ifeq ($(ARCH),x86)
# linux32 make ...
BASE_CFLAGS += -m32
@@ -509,15 +513,12 @@ ifeq ($(PLATFORM),darwin)
endif
ifeq ($(USE_CURL),1)
+ CLIENT_CFLAGS += $(CURL_CFLAGS)
ifneq ($(USE_CURL_DLOPEN),1)
- CLIENT_LIBS += -lcurl
+ CLIENT_LIBS += $(CURL_LIBS)
endif
endif
- ifeq ($(USE_FREETYPE),1)
- BASE_CFLAGS += $(FREETYPE_CFLAGS)
- endif
-
BASE_CFLAGS += -D_THREAD_SAFE=1
ifeq ($(USE_LOCAL_HEADERS),1)
@@ -638,7 +639,7 @@ ifeq ($(PLATFORM),mingw32)
RENDERER_LIBS = -lgdi32 -lole32 -lopengl32
ifeq ($(USE_FREETYPE),1)
- BASE_CFLAGS += -Ifreetype2
+ FREETYPE_CFLAGS = -Ifreetype2
endif
ifeq ($(USE_CURL),1)
@@ -724,13 +725,14 @@ ifeq ($(PLATFORM),freebsd)
# optional features/libraries
ifeq ($(USE_OPENAL),1)
ifeq ($(USE_OPENAL_DLOPEN),1)
- CLIENT_LIBS += $(THREAD_LIBS) -lopenal
+ CLIENT_LIBS += $(THREAD_LIBS) $(OPENAL_LIBS)
endif
endif
ifeq ($(USE_CURL),1)
+ CLIENT_CFLAGS += $(CURL_CFLAGS)
ifeq ($(USE_CURL_DLOPEN),1)
- CLIENT_LIBS += -lcurl
+ CLIENT_LIBS += $(CURL_LIBS)
endif
endif
@@ -815,13 +817,13 @@ ifeq ($(PLATFORM),openbsd)
ifeq ($(USE_OPENAL),1)
ifneq ($(USE_OPENAL_DLOPEN),1)
- CLIENT_LIBS += $(THREAD_LIBS) -lopenal
+ CLIENT_LIBS += $(THREAD_LIBS) $(OPENAL_LIBS)
endif
endif
ifeq ($(USE_CURL),1)
ifneq ($(USE_CURL_DLOPEN),1)
- CLIENT_LIBS += -lcurl
+ CLIENT_LIBS += $(CURL_LIBS)
endif
endif
else # ifeq openbsd
@@ -964,10 +966,6 @@ endif
TARGETS =
-ifeq ($(USE_FREETYPE),1)
- BASE_CFLAGS += -DBUILD_FREETYPE
-endif
-
ifndef FULLBINEXT
FULLBINEXT=.$(ARCH)$(BINEXT)
endif
@@ -1039,11 +1037,6 @@ ifeq ($(USE_VOIP),1)
NEED_OPUS=1
endif
-ifeq ($(USE_CODEC_VORBIS),1)
- CLIENT_CFLAGS += -DUSE_CODEC_VORBIS
- NEED_OGG=1
-endif
-
ifeq ($(USE_CODEC_OPUS),1)
CLIENT_CFLAGS += -DUSE_CODEC_OPUS
NEED_OPUS=1
@@ -1051,31 +1044,40 @@ endif
ifeq ($(NEED_OPUS),1)
ifeq ($(USE_INTERNAL_OPUS),1)
- CLIENT_CFLAGS += -DOPUS_BUILD -DHAVE_LRINTF -DFLOATING_POINT -DUSE_ALLOCA \
+ OPUS_CFLAGS = -DOPUS_BUILD -DHAVE_LRINTF -DFLOATING_POINT -DUSE_ALLOCA \
-I$(OPUSDIR)/include -I$(OPUSDIR)/celt -I$(OPUSDIR)/silk \
- -I$(OPUSDIR)/silk/float
-
- CLIENT_CFLAGS += -I$(OPUSFILEDIR)/include
+ -I$(OPUSDIR)/silk/float -I$(OPUSFILEDIR)/include
else
- CLIENT_LIBS += -lopusfile -lopus
+ OPUS_CFLAGS ?= $(shell pkg-config --silence-errors --cflags opusfile opus || true)
+ OPUS_LIBS ?= $(shell pkg-config --silence-errors --libs opusfile opus || echo -lopusfile -lopus)
endif
+ CLIENT_CFLAGS += $(OPUS_CFLAGS)
+ CLIENT_LIBS += $(OPUS_LIBS)
NEED_OGG=1
endif
-ifeq ($(NEED_OGG),1)
- ifeq ($(USE_INTERNAL_OGG),1)
- CLIENT_CFLAGS += -I$(OGGDIR)/include
+ifeq ($(USE_CODEC_VORBIS),1)
+ CLIENT_CFLAGS += -DUSE_CODEC_VORBIS
+ ifeq ($(USE_INTERNAL_VORBIS),1)
+ CLIENT_CFLAGS += -I$(VORBISDIR)/include -I$(VORBISDIR)/lib
else
- CLIENT_LIBS += -logg
+ VORBIS_CFLAGS ?= $(shell pkg-config --silence-errors --cflags vorbisfile vorbis || true)
+ VORBIS_LIBS ?= $(shell pkg-config --silence-errors --libs vorbisfile vorbis || echo -lvorbisfile -lvorbis)
endif
+ CLIENT_CFLAGS += $(VORBIS_CFLAGS)
+ CLIENT_LIBS += $(VORBIS_LIBS)
+ NEED_OGG=1
endif
-ifeq ($(USE_CODEC_VORBIS),1)
- ifeq ($(USE_INTERNAL_VORBIS),1)
- CLIENT_CFLAGS += -I$(VORBISDIR)/include -I$(VORBISDIR)/lib
+ifeq ($(NEED_OGG),1)
+ ifeq ($(USE_INTERNAL_OGG),1)
+ OGG_CFLAGS = -I$(OGGDIR)/include
else
- CLIENT_LIBS += -lvorbisfile -lvorbis
+ OGG_CFLAGS ?= $(shell pkg-config --silence-errors --cflags ogg || true)
+ OGG_LIBS ?= $(shell pkg-config --silence-errors --libs ogg || echo -logg)
endif
+ CLIENT_CFLAGS += $(OGG_CFLAGS)
+ CLIENT_LIBS += $(OGG_LIBS)
endif
ifeq ($(USE_RENDERER_DLOPEN),1)
@@ -1087,21 +1089,33 @@ ifeq ($(USE_MUMBLE),1)
endif
ifeq ($(USE_INTERNAL_ZLIB),1)
- BASE_CFLAGS += -DNO_GZIP
- BASE_CFLAGS += -I$(ZDIR)
+ ZLIB_CFLAGS = -DNO_GZIP -I$(ZDIR)
else
- LIBS += -lz
+ ZLIB_CFLAGS ?= $(shell pkg-config --silence-errors --cflags zlib || true)
+ ZLIB_LIBS ?= $(shell pkg-config --silence-errors --libs zlib || echo -lz)
endif
+BASE_CFLAGS += $(ZLIB_CFLAGS)
+LIBS += $(ZLIB_LIBS)
ifeq ($(USE_INTERNAL_JPEG),1)
BASE_CFLAGS += -DUSE_INTERNAL_JPEG
BASE_CFLAGS += -I$(JPDIR)
else
- RENDERER_LIBS += -ljpeg
+ # libjpeg doesn't have pkg-config yet, but let users override with
+ # "make JPEG_CFLAGS=-I/opt/jpeg/include JPEG_LIBS='-L/opt/jpeg/lib -ljpeg'"
+ # if they need to
+ JPEG_CFLAGS ?=
+ JPEG_LIBS ?= -ljpeg
+ BASE_CFLAGS += $(JPEG_CFLAGS)
+ RENDERER_LIBS += $(JPEG_LIBS)
endif
ifeq ($(USE_FREETYPE),1)
- RENDERER_LIBS += -lfreetype
+ FREETYPE_CFLAGS ?= $(shell pkg-config --silence-errors --cflags freetype2 || true)
+ FREETYPE_LIBS ?= $(shell pkg-config --silence-errors --libs freetype2 || echo -lfreetype)
+
+ BASE_CFLAGS += -DBUILD_FREETYPE $(FREETYPE_CFLAGS)
+ RENDERER_LIBS += $(FREETYPE_LIBS)
endif
ifeq ("$(CC)", $(findstring "$(CC)", "clang" "clang++"))
diff --git a/MP/README b/MP/README
index e42fa3d..1fdc08e 100644
--- a/MP/README
+++ b/MP/README
@@ -94,8 +94,10 @@ Makefile.local:
USE_CODEC_OPUS - enable Ogg Opus support
USE_MUMBLE - enable Mumble support
USE_VOIP - enable built-in VoIP support
- USE_INTERNAL_SPEEX - build internal speex library instead of dynamically
- linking against system libspeex
+ USE_INTERNAL_LIBS - build internal libraries instead of dynamically
+ linking against system libraries; this just sets
+ the default for USE_INTERNAL_OPUS etc.
+ and USE_LOCAL_HEADERS
USE_FREETYPE - enable FreeType support for rendering fonts
USE_INTERNAL_ZLIB - build and link against internal zlib
USE_INTERNAL_JPEG - build and link against internal JPEG library
diff --git a/SP/Makefile b/SP/Makefile
index 56adf0f..ef13c8c 100644
--- a/SP/Makefile
+++ b/SP/Makefile
@@ -207,28 +207,32 @@ ifndef USE_FREETYPE
USE_FREETYPE=0
endif
+ifndef USE_INTERNAL_LIBS
+USE_INTERNAL_LIBS=1
+endif
+
ifndef USE_INTERNAL_OGG
-USE_INTERNAL_OGG=1
+USE_INTERNAL_OGG=$(USE_INTERNAL_LIBS)
endif
ifndef USE_INTERNAL_VORBIS
-USE_INTERNAL_VORBIS=1
+USE_INTERNAL_VORBIS=$(USE_INTERNAL_LIBS)
endif
ifndef USE_INTERNAL_OPUS
-USE_INTERNAL_OPUS=1
+USE_INTERNAL_OPUS=$(USE_INTERNAL_LIBS)
endif
ifndef USE_INTERNAL_ZLIB
-USE_INTERNAL_ZLIB=1
+USE_INTERNAL_ZLIB=$(USE_INTERNAL_LIBS)
endif
ifndef USE_INTERNAL_JPEG
-USE_INTERNAL_JPEG=1
+USE_INTERNAL_JPEG=$(USE_INTERNAL_LIBS)
endif
ifndef USE_LOCAL_HEADERS
-USE_LOCAL_HEADERS=1
+USE_LOCAL_HEADERS=$(USE_INTERNAL_LIBS)
endif
ifndef USE_RENDERER_DLOPEN
@@ -296,13 +300,16 @@ ifneq ($(BUILD_CLIENT),0)
# set PKG_CONFIG_PATH to influence this, e.g.
# PKG_CONFIG_PATH=/opt/cross/i386-mingw32msvc/lib/pkgconfig
ifneq ($(call bin_path, pkg-config),)
- CURL_CFLAGS=$(shell pkg-config --silence-errors --cflags libcurl)
- CURL_LIBS=$(shell pkg-config --silence-errors --libs libcurl)
- OPENAL_CFLAGS=$(shell pkg-config --silence-errors --cflags openal)
- OPENAL_LIBS=$(shell pkg-config --silence-errors --libs openal)
- SDL_CFLAGS=$(shell pkg-config --silence-errors --cflags sdl2|sed 's/-Dmain=SDL_main//')
- SDL_LIBS=$(shell pkg-config --silence-errors --libs sdl2)
- FREETYPE_CFLAGS=$(shell pkg-config --silence-errors --cflags freetype2)
+ CURL_CFLAGS ?= $(shell pkg-config --silence-errors --cflags libcurl)
+ CURL_LIBS ?= $(shell pkg-config --silence-errors --libs libcurl)
+ OPENAL_CFLAGS ?= $(shell pkg-config --silence-errors --cflags openal)
+ OPENAL_LIBS ?= $(shell pkg-config --silence-errors --libs openal)
+ SDL_CFLAGS ?= $(shell pkg-config --silence-errors --cflags sdl2|sed 's/-Dmain=SDL_main//')
+ SDL_LIBS ?= $(shell pkg-config --silence-errors --libs sdl2)
+ else
+ # assume they're in the system default paths (no -I or -L needed)
+ CURL_LIBS=-lcurl
+ OPENAL_LIBS=-lopenal
endif
# Use sdl-config if all else fails
ifeq ($(SDL_CFLAGS),)
@@ -416,13 +423,14 @@ ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu"))
ifeq ($(USE_OPENAL),1)
ifneq ($(USE_OPENAL_DLOPEN),1)
- CLIENT_LIBS += -lopenal
+ CLIENT_LIBS += $(OPENAL_LIBS)
endif
endif
ifeq ($(USE_CURL),1)
+ CLIENT_CFLAGS += $(CURL_CFLAGS)
ifneq ($(USE_CURL_DLOPEN),1)
- CLIENT_LIBS += -lcurl
+ CLIENT_LIBS += $(CURL_LIBS)
endif
endif
@@ -430,10 +438,6 @@ ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu"))
CLIENT_LIBS += -lrt
endif
- ifeq ($(USE_FREETYPE),1)
- BASE_CFLAGS += $(FREETYPE_CFLAGS)
- endif
-
ifeq ($(ARCH),x86)
# linux32 make ...
BASE_CFLAGS += -m32
@@ -506,15 +510,12 @@ ifeq ($(PLATFORM),darwin)
endif
ifeq ($(USE_CURL),1)
+ CLIENT_CFLAGS += $(CURL_CFLAGS)
ifneq ($(USE_CURL_DLOPEN),1)
- CLIENT_LIBS += -lcurl
+ CLIENT_LIBS += $(CURL_LIBS)
endif
endif
- ifeq ($(USE_FREETYPE),1)
- BASE_CFLAGS += $(FREETYPE_CFLAGS)
- endif
-
BASE_CFLAGS += -D_THREAD_SAFE=1
ifeq ($(USE_LOCAL_HEADERS),1)
@@ -647,7 +648,7 @@ ifeq ($(PLATFORM),mingw32)
RENDERER_LIBS = -lgdi32 -lole32 -lopengl32
ifeq ($(USE_FREETYPE),1)
- BASE_CFLAGS += -Ifreetype2
+ FREETYPE_CFLAGS = -Ifreetype2
endif
ifeq ($(USE_CURL),1)
@@ -733,13 +734,14 @@ ifeq ($(PLATFORM),freebsd)
# optional features/libraries
ifeq ($(USE_OPENAL),1)
ifeq ($(USE_OPENAL_DLOPEN),1)
- CLIENT_LIBS += $(THREAD_LIBS) -lopenal
+ CLIENT_LIBS += $(THREAD_LIBS) $(OPENAL_LIBS)
endif
endif
ifeq ($(USE_CURL),1)
+ CLIENT_CFLAGS += $(CURL_CFLAGS)
ifeq ($(USE_CURL_DLOPEN),1)
- CLIENT_LIBS += -lcurl
+ CLIENT_LIBS += $(CURL_LIBS)
endif
endif
@@ -824,13 +826,13 @@ ifeq ($(PLATFORM),openbsd)
ifeq ($(USE_OPENAL),1)
ifneq ($(USE_OPENAL_DLOPEN),1)
- CLIENT_LIBS += $(THREAD_LIBS) -lopenal
+ CLIENT_LIBS += $(THREAD_LIBS) $(OPENAL_LIBS)
endif
endif
ifeq ($(USE_CURL),1)
ifneq ($(USE_CURL_DLOPEN),1)
- CLIENT_LIBS += -lcurl
+ CLIENT_LIBS += $(CURL_LIBS)
endif
endif
else # ifeq openbsd
@@ -973,10 +975,6 @@ endif
TARGETS =
-ifeq ($(USE_FREETYPE),1)
- BASE_CFLAGS += -DBUILD_FREETYPE
-endif
-
ifndef FULLBINEXT
FULLBINEXT=.$(ARCH)$(BINEXT)
endif
@@ -1048,11 +1046,6 @@ ifeq ($(USE_VOIP),1)
NEED_OPUS=1
endif
-ifeq ($(USE_CODEC_VORBIS),1)
- CLIENT_CFLAGS += -DUSE_CODEC_VORBIS
- NEED_OGG=1
-endif
-
ifeq ($(USE_CODEC_OPUS),1)
CLIENT_CFLAGS += -DUSE_CODEC_OPUS
NEED_OPUS=1
@@ -1060,31 +1053,40 @@ endif
ifeq ($(NEED_OPUS),1)
ifeq ($(USE_INTERNAL_OPUS),1)
- CLIENT_CFLAGS += -DOPUS_BUILD -DHAVE_LRINTF -DFLOATING_POINT -DUSE_ALLOCA \
+ OPUS_CFLAGS = -DOPUS_BUILD -DHAVE_LRINTF -DFLOATING_POINT -DUSE_ALLOCA \
-I$(OPUSDIR)/include -I$(OPUSDIR)/celt -I$(OPUSDIR)/silk \
- -I$(OPUSDIR)/silk/float
-
- CLIENT_CFLAGS += -I$(OPUSFILEDIR)/include
+ -I$(OPUSDIR)/silk/float -I$(OPUSFILEDIR)/include
else
- CLIENT_LIBS += -lopusfile -lopus
+ OPUS_CFLAGS ?= $(shell pkg-config --silence-errors --cflags opusfile opus || true)
+ OPUS_LIBS ?= $(shell pkg-config --silence-errors --libs opusfile opus || echo -lopusfile -lopus)
endif
+ CLIENT_CFLAGS += $(OPUS_CFLAGS)
+ CLIENT_LIBS += $(OPUS_LIBS)
NEED_OGG=1
endif
-ifeq ($(NEED_OGG),1)
- ifeq ($(USE_INTERNAL_OGG),1)
- CLIENT_CFLAGS += -I$(OGGDIR)/include
+ifeq ($(USE_CODEC_VORBIS),1)
+ CLIENT_CFLAGS += -DUSE_CODEC_VORBIS
+ ifeq ($(USE_INTERNAL_VORBIS),1)
+ CLIENT_CFLAGS += -I$(VORBISDIR)/include -I$(VORBISDIR)/lib
else
- CLIENT_LIBS += -logg
+ VORBIS_CFLAGS ?= $(shell pkg-config --silence-errors --cflags vorbisfile vorbis || true)
+ VORBIS_LIBS ?= $(shell pkg-config --silence-errors --libs vorbisfile vorbis || echo -lvorbisfile -lvorbis)
endif
+ CLIENT_CFLAGS += $(VORBIS_CFLAGS)
+ CLIENT_LIBS += $(VORBIS_LIBS)
+ NEED_OGG=1
endif
-ifeq ($(USE_CODEC_VORBIS),1)
- ifeq ($(USE_INTERNAL_VORBIS),1)
- CLIENT_CFLAGS += -I$(VORBISDIR)/include -I$(VORBISDIR)/lib
+ifeq ($(NEED_OGG),1)
+ ifeq ($(USE_INTERNAL_OGG),1)
+ OGG_CFLAGS = -I$(OGGDIR)/include
else
- CLIENT_LIBS += -lvorbisfile -lvorbis
+ OGG_CFLAGS ?= $(shell pkg-config --silence-errors --cflags ogg || true)
+ OGG_LIBS ?= $(shell pkg-config --silence-errors --libs ogg || echo -logg)
endif
+ CLIENT_CFLAGS += $(OGG_CFLAGS)
+ CLIENT_LIBS += $(OGG_LIBS)
endif
ifeq ($(USE_RENDERER_DLOPEN),1)
@@ -1096,21 +1098,33 @@ ifeq ($(USE_MUMBLE),1)
endif
ifeq ($(USE_INTERNAL_ZLIB),1)
- BASE_CFLAGS += -DNO_GZIP
- BASE_CFLAGS += -I$(ZDIR)
+ ZLIB_CFLAGS = -DNO_GZIP -I$(ZDIR)
else
- LIBS += -lz
+ ZLIB_CFLAGS ?= $(shell pkg-config --silence-errors --cflags zlib || true)
+ ZLIB_LIBS ?= $(shell pkg-config --silence-errors --libs zlib || echo -lz)
endif
+BASE_CFLAGS += $(ZLIB_CFLAGS)
+LIBS += $(ZLIB_LIBS)
ifeq ($(USE_INTERNAL_JPEG),1)
BASE_CFLAGS += -DUSE_INTERNAL_JPEG
BASE_CFLAGS += -I$(JPDIR)
else
- RENDERER_LIBS += -ljpeg
+ # libjpeg doesn't have pkg-config yet, but let users override with
+ # "make JPEG_CFLAGS=-I/opt/jpeg/include JPEG_LIBS='-L/opt/jpeg/lib -ljpeg'"
+ # if they need to
+ JPEG_CFLAGS ?=
+ JPEG_LIBS ?= -ljpeg
+ BASE_CFLAGS += $(JPEG_CFLAGS)
+ RENDERER_LIBS += $(JPEG_LIBS)
endif
ifeq ($(USE_FREETYPE),1)
- RENDERER_LIBS += -lfreetype
+ FREETYPE_CFLAGS ?= $(shell pkg-config --silence-errors --cflags freetype2 || true)
+ FREETYPE_LIBS ?= $(shell pkg-config --silence-errors --libs freetype2 || echo -lfreetype)
+
+ BASE_CFLAGS += -DBUILD_FREETYPE $(FREETYPE_CFLAGS)
+ RENDERER_LIBS += $(FREETYPE_LIBS)
endif
ifeq ("$(CC)", $(findstring "$(CC)", "clang" "clang++"))
@@ -2357,6 +2371,7 @@ $(B)/$(BASEGAME)/vm/qagame.sp.qvm: $(Q3GVMOBJ) $(GDIR)/g_syscalls.asm $(Q3ASM)
$(echo_cmd) "Q3ASM $@"
$(Q)$(Q3ASM) -o $@ $(Q3GVMOBJ) $(GDIR)/g_syscalls.asm
+
#############################################################################
## BASEQ3 UI
#############################################################################
@@ -2390,6 +2405,7 @@ $(B)/$(BASEGAME)/vm/ui.sp.qvm: $(Q3UIVMOBJ) $(UIDIR)/ui_syscalls.asm $(Q3ASM)
$(echo_cmd) "Q3ASM $@"
$(Q)$(Q3ASM) -o $@ $(Q3UIVMOBJ) $(UIDIR)/ui_syscalls.asm
+
#############################################################################
## CLIENT/SERVER RULES
#############################################################################
diff --git a/SP/README b/SP/README
index e42fa3d..1fdc08e 100644
--- a/SP/README
+++ b/SP/README
@@ -94,8 +94,10 @@ Makefile.local:
USE_CODEC_OPUS - enable Ogg Opus support
USE_MUMBLE - enable Mumble support
USE_VOIP - enable built-in VoIP support
- USE_INTERNAL_SPEEX - build internal speex library instead of dynamically
- linking against system libspeex
+ USE_INTERNAL_LIBS - build internal libraries instead of dynamically
+ linking against system libraries; this just sets
+ the default for USE_INTERNAL_OPUS etc.
+ and USE_LOCAL_HEADERS
USE_FREETYPE - enable FreeType support for rendering fonts
USE_INTERNAL_ZLIB - build and link against internal zlib
USE_INTERNAL_JPEG - build and link against internal JPEG library
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/iortcw.git
More information about the Pkg-games-commits
mailing list