![Rodrigo Rebello](/assets/img/avatar_default.png)
This commit adds a backported upstream patch which modifies the configure script so that it uses pkg-config to detect libraries and their static linking dependencies. It also adds host-pkgconf as a dependency and removes the SDL static linking workaround from chocolate-doom.mk as it's no longer necessary. Fixes: http://autobuild.buildroot.net/results/d98/d981499ad82121d58fb7584b55d09c484cb6aa49/ http://autobuild.buildroot.net/results/e41/e419f29e14edd28cbf48278bef725b696ae8ef70/ http://autobuild.buildroot.net/results/d8f/d8fe9b5bdb262e939d4150804ea34777c91d3c04/ ... Signed-off-by: Rodrigo Rebello <rprebello@gmail.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
218 lines
7.1 KiB
Diff
218 lines
7.1 KiB
Diff
From 3163bf87d7b955d08dedd5ebaccb1b2a86ffdcb9 Mon Sep 17 00:00:00 2001
|
|
From: Simon Howard <fraggle@soulsphere.org>
|
|
Date: Thu, 25 Feb 2016 22:55:04 -0500
|
|
Subject: [PATCH] configure: Switch to pkg-config macros.
|
|
|
|
All dependency libraries install pkg-config .pc files nowadays, which
|
|
makes the process of looking them up a lot simpler. Get rid of the SDL
|
|
workaround macro as it's not needed.
|
|
|
|
[Backported from upstream commit 3163bf87d7b955d08dedd5ebaccb1b2a86ffdcb9.
|
|
Fixes static linking issues with SDL_mixer.]
|
|
|
|
Signed-off-by: Rodrigo Rebello <rprebello@gmail.com>
|
|
---
|
|
configure.ac | 117 ++++++++++++++--------------------------
|
|
opl/examples/Makefile.am | 2 +-
|
|
src/Makefile.am | 7 ++-
|
|
textscreen/Makefile.am | 2 +-
|
|
textscreen/examples/Makefile.am | 2 +-
|
|
5 files changed, 49 insertions(+), 81 deletions(-)
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 7b03485..48f83ef 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -33,89 +33,54 @@ then
|
|
CFLAGS="-O$OPT_LEVEL -g $WARNINGS $orig_CFLAGS"
|
|
fi
|
|
|
|
-dnl Search for SDL ...
|
|
-
|
|
-AM_PATH_SDL(1.1.3)
|
|
-
|
|
-# Add the SDL compiler flags to the default compiler flag variables.
|
|
-# It is important to do this now, before checking for headers and
|
|
-# library functions. The reason being that on Windows, sdl-config
|
|
-# sets the -mno-cygwin compiler option in order to generate MinGW
|
|
-# executables. If we don't do this now, we might end up discovering
|
|
-# header files that are not actually available to us when we come
|
|
-# to compile.
|
|
-
|
|
-CFLAGS="$CFLAGS $SDL_CFLAGS"
|
|
-LDFLAGS="$LDFLAGS $SDL_LIBS"
|
|
-
|
|
-# On some platforms, SDL renames main() to SDL_main() using a #define,
|
|
-# so that its own main, stored in the SDLmain library, can be run first.
|
|
-# Unfortunately, this causes problems for autoconf, which builds
|
|
-# test programs to probe the system. All library/header/symbol checks
|
|
-# must be run in this block, that performs a workaround for the problem.
|
|
-
|
|
-AC_SDL_MAIN_WORKAROUND([
|
|
-
|
|
- # Check for SDL_mixer.
|
|
-
|
|
- AC_CHECK_LIB(SDL_mixer,Mix_LoadMUS,[
|
|
- SDLMIXER_LIBS="$SDLMIXER_LIBS -lSDL_mixer"
|
|
- ],[
|
|
- echo "*** Could not find SDL_mixer. Please install it."
|
|
- exit -1
|
|
- ])
|
|
-
|
|
- # Check for SDL_net.
|
|
-
|
|
- AC_CHECK_LIB(SDL_net,SDLNet_UDP_Send,[
|
|
- SDLNET_LIBS="$SDLNET_LIBS -lSDL_net"
|
|
- ],[
|
|
- echo "*** Could not find SDL_net. Please install it."
|
|
- exit -1
|
|
- ])
|
|
-
|
|
- # Check for libsamplerate.
|
|
- AC_ARG_WITH([libsamplerate],
|
|
- AS_HELP_STRING([--without-libsamplerate],
|
|
- [Build without libsamplerate @<:@default=check@:>@]),
|
|
- [],
|
|
- [
|
|
- [with_libsamplerate=check]
|
|
- ])
|
|
- AS_IF([test "x$with_libsamplerate" != xno], [
|
|
- AC_CHECK_LIB(samplerate, src_new, [], [
|
|
- AS_IF([test "x$with_libsamplerate" != xcheck], [AC_MSG_FAILURE(
|
|
- [--with-libsamplerate was given, but test for libsamplerate failed])
|
|
- ])
|
|
+PKG_CHECK_MODULES([SDL], [sdl])
|
|
+PKG_CHECK_MODULES([SDLMIXER], [SDL_mixer])
|
|
+PKG_CHECK_MODULES([SDLNET], [SDL_net])
|
|
+
|
|
+# Check for libsamplerate.
|
|
+AC_ARG_WITH([libsamplerate],
|
|
+AS_HELP_STRING([--without-libsamplerate],
|
|
+ [Build without libsamplerate @<:@default=check@:>@]),
|
|
+[],
|
|
+[
|
|
+ [with_libsamplerate=check]
|
|
+])
|
|
+AS_IF([test "x$with_libsamplerate" != xno], [
|
|
+ PKG_CHECK_MODULES([SAMPLERATE], [samplerate >= 0.1.8], [
|
|
+ AC_DEFINE([HAVE_LIBSAMPLERATE], [1], [libsamplerate installed])
|
|
+ ], [
|
|
+ AS_IF([test "x$with_libsamplerate" != xcheck], [AC_MSG_FAILURE(
|
|
+ [--with-libsamplerate was given, but test for libsamplerate failed])
|
|
])
|
|
])
|
|
- # Check for libpng.
|
|
- AC_ARG_WITH([libpng],
|
|
- AS_HELP_STRING([--without-libpng],
|
|
- [Build without libpng @<:@default=check@:>@]),
|
|
- [],
|
|
- [
|
|
- [with_libpng=check]
|
|
- ])
|
|
- AS_IF([test "x$with_libpng" != xno], [
|
|
- AC_CHECK_LIB(z, zlibVersion)
|
|
- AC_CHECK_LIB(png, png_get_io_ptr, [], [
|
|
- AS_IF([test "x$with_libpng" != xcheck], [AC_MSG_FAILURE(
|
|
- [--with-libpng was given, but test for libpng failed])
|
|
- ])
|
|
+])
|
|
+# Check for libpng.
|
|
+AC_ARG_WITH([libpng],
|
|
+AS_HELP_STRING([--without-libpng],
|
|
+ [Build without libpng @<:@default=check@:>@]),
|
|
+[],
|
|
+[
|
|
+ [with_libpng=check]
|
|
+])
|
|
+AS_IF([test "x$with_libpng" != xno], [
|
|
+ PKG_CHECK_MODULES([PNG], [libpng >= 1.6.10], [
|
|
+ AC_DEFINE([HAVE_LIBPNG], [1], [libpng installed])
|
|
+ ], [
|
|
+ AS_IF([test "x$with_libpng" != xcheck], [AC_MSG_FAILURE(
|
|
+ [--with-libpng was given, but test for libpng failed])
|
|
])
|
|
])
|
|
- AC_CHECK_LIB(m, log)
|
|
+])
|
|
+AC_CHECK_LIB(m, log)
|
|
|
|
- AC_CHECK_HEADERS([linux/kd.h dev/isa/spkrio.h dev/speaker/speaker.h])
|
|
- AC_CHECK_FUNCS(mmap ioperm)
|
|
+AC_CHECK_HEADERS([linux/kd.h dev/isa/spkrio.h dev/speaker/speaker.h])
|
|
+AC_CHECK_FUNCS(mmap ioperm)
|
|
|
|
- # OpenBSD I/O i386 library for I/O port access.
|
|
- # (64 bit has the same thing with a different name!)
|
|
+# OpenBSD I/O i386 library for I/O port access.
|
|
+# (64 bit has the same thing with a different name!)
|
|
|
|
- AC_CHECK_LIB(i386, i386_iopl)
|
|
- AC_CHECK_LIB(amd64, amd64_iopl)
|
|
-])
|
|
+AC_CHECK_LIB(i386, i386_iopl)
|
|
+AC_CHECK_LIB(amd64, amd64_iopl)
|
|
|
|
case $host in
|
|
*cygwin* | *mingw* )
|
|
diff --git a/opl/examples/Makefile.am b/opl/examples/Makefile.am
|
|
index 9afcd51..54c37f8 100644
|
|
--- a/opl/examples/Makefile.am
|
|
+++ b/opl/examples/Makefile.am
|
|
@@ -1,5 +1,5 @@
|
|
|
|
-AM_CFLAGS = -I$(top_srcdir)/opl
|
|
+AM_CFLAGS = -I$(top_srcdir)/opl @SDL_CFLAGS@
|
|
|
|
noinst_PROGRAMS=droplay
|
|
|
|
diff --git a/src/Makefile.am b/src/Makefile.am
|
|
index 78ee3ba..9624e01 100644
|
|
--- a/src/Makefile.am
|
|
+++ b/src/Makefile.am
|
|
@@ -21,7 +21,8 @@ execgames_SCRIPTS = $(SETUP_BINARIES)
|
|
AM_CFLAGS = -I$(top_srcdir)/textscreen \
|
|
-I$(top_srcdir)/opl \
|
|
-I$(top_srcdir)/pcsound \
|
|
- @SDLMIXER_CFLAGS@ @SDLNET_CFLAGS@
|
|
+ @SDLMIXER_CFLAGS@ @SDLNET_CFLAGS@ \
|
|
+ @SAMPLERATE_CFLAGS@ @PNG_CFLAGS@
|
|
|
|
# Common source files used by absolutely everything:
|
|
|
|
@@ -150,7 +151,9 @@ EXTRA_LIBS = \
|
|
@LDFLAGS@ \
|
|
@SDL_LIBS@ \
|
|
@SDLMIXER_LIBS@ \
|
|
- @SDLNET_LIBS@
|
|
+ @SDLNET_LIBS@ \
|
|
+ @SAMPLERATE_LIBS@ \
|
|
+ @PNG_LIBS@
|
|
|
|
if HAVE_WINDRES
|
|
@PROGRAM_PREFIX@doom_SOURCES=$(SOURCE_FILES_WITH_DEH) resource.rc
|
|
diff --git a/textscreen/Makefile.am b/textscreen/Makefile.am
|
|
index 628d4ff..427ed40 100644
|
|
--- a/textscreen/Makefile.am
|
|
+++ b/textscreen/Makefile.am
|
|
@@ -1,5 +1,5 @@
|
|
|
|
-AM_CFLAGS = -I$(top_srcdir)/src
|
|
+AM_CFLAGS = -I$(top_srcdir)/src @SDL_CFLAGS@
|
|
|
|
CTAGS_ARGS=-I TXT_UNCAST_ARG+
|
|
|
|
diff --git a/textscreen/examples/Makefile.am b/textscreen/examples/Makefile.am
|
|
index 4632d92..b857748 100644
|
|
--- a/textscreen/examples/Makefile.am
|
|
+++ b/textscreen/examples/Makefile.am
|
|
@@ -1,5 +1,5 @@
|
|
|
|
-AM_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/textscreen
|
|
+AM_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/textscreen @SDL_CFLAGS@
|
|
|
|
noinst_PROGRAMS=guitest calculator
|
|
|
|
--
|
|
2.1.4
|
|
|