| 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 |
| |