ports/55494: [patch] ports/Mk/bsd.sdl.mk
Edwin Groothuis
edwin at mavetju.org
Tue Aug 12 11:40:19 UTC 2003
>Number: 55494
>Category: ports
>Synopsis: [patch] ports/Mk/bsd.sdl.mk
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Tue Aug 12 04:40:16 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Edwin Groothuis
>Release: FreeBSD 4.7-RELEASE i386
>Organization:
-
>Environment:
System: FreeBSD k7.mavetju 4.7-RELEASE FreeBSD 4.7-RELEASE #6: Mon May 5 19:56:50 EST 2003 edwin at k7.mavetju:/usr/src/sys/compile/k7 i386
>Description:
More and more graphical games are using SDL. Upgrade of one of the
SDL libraries requires patches in all these ports. Making a typo
in a LIB_DEPENDS is easy. USE_SDL=yes is a step in the right
directorion, but incorporating[sp] all of the SDL modules is another
step.
This patch add the same functionality to USE_SDL as bsd.gnome.mk
did to USE_GNOME:
"USE_SDL= yes" will check for the standard SDL library.
"USE_SDL= sdl" will check for the standard SDL library.
"USE_SDL= sdl image ttf" will check for the SDL, sdl_image
and sdl_ttf library.
The following SDL libraries are supported:
gfx gui image mixer ldbad net sdl sound ttf
>How-To-Repeat:
>Fix:
Add this patch to bsd.port.mk:
--- bsd.port.mk 4 Aug 2003 01:17:39 -0000 1.461
+++ bsd.port.mk 12 Aug 2003 11:32:17 -0000
@@ -1362,10 +1362,7 @@
.endif
.if defined(USE_SDL)
-LIB_DEPENDS+= SDL-1.1.5:${PORTSDIR}/devel/sdl12
-SDL_CONFIG?= ${LOCALBASE}/bin/sdl11-config
-CONFIGURE_ENV+= SDL_CONFIG=${SDL_CONFIG}
-MAKE_ENV+= SDL_CONFIG=${SDL_CONFIG}
+.include "${PORTSDIR}/Mk/bsd.sdl.mk"
.endif
.if defined(USE_MOTIF)
And add this file to ports/Mk as bsd.sdl.mk
#-*- mode: Fundamental; tab-width: 4; -*-
# ex:ts=4
#
# bsd.sdl.mk - Support for SDL-based ports.
#
# Created by: Edwin Groothuis <edwin at freebsd.org>
#
# For FreeBSD committers:
# - Changes in the version number of the shared libraries are encouraged.
# - For the rest, please try to run them via the maintainer but feel free
# to commit themselves if nothing breaks.
#
# For ports-developers:
# If your port needs SDL or one of the SDL modules, you can easily
# include them with the "USE_SDL=" statement. For example if you need
# the standard SDL and SDL_sound, use "USE_SDL=sdl sound" and the
# required libraries are included in your LIB_DEPENDS.
#
#
# $FreeBSD$
#
.if !defined(SDL_Include)
SDL_Include= bsd.sdl.mk
SDL_Include_MAINTAINER= edwin at FreeBSD.org
#
# These are the current supported SDL modules
#
_USE_SDL_ALL= gfx gui image mixer ldbad net sdl sound ttf
#
# Keep some backward compatibility
#
.if ${USE_SDL}=="yes"
USE_SDL=sdl
.endif
#
# Variables used to determine what is needed:
# _VERSION_xxx version of the shared library (required)
# _SUBDIR_xxx subdirectory below ${PORTSDIR} (required)
# _PORTDIR_xxx subdirectory below ${PORTSDIR}/${_SUBDIR_xxx}, default sdl_xxx
# _LIB_xxx name of the shared lib, default SDL_xxx
# _REQUIRES_xxx also needs these SDL libraries
#
_VERSION_gfx= 8
_SUBDIR_gfx= graphics
_REQUIRES_gfx= sdl
_VERSION_gui= 0
_SUBDIR_gui= x11-toolkits
_REQUIRES_gui= sdl image ttf
_VERSION_image= 10
_SUBDIR_image= graphics
_REQUIRES_image=sdl
_VERSION_ldbad= 4
_SUBDIR_ldbad= devel
_REQUIRES_ldbad=sdl
_VERSION_mixer= 2
_SUBDIR_mixer= audio
_REQUIRES_mixer=sdl
_VERSION_net= 0
_SUBDIR_net= net
_REQUIRES_net= sdl
_VERSION_sdl= 5
_SUBDIR_sdl= devel
_LIB_sdl= SDL-1.1
_PORTDIR_sdl= sdl12
_VERSION_sound= 0
_SUBDIR_sound= audio
_LIB_sound= SDL_sound-1.0
_REQUIRES_sound=sdl
_VERSION_ttf= 3
_SUBDIR_ttf= graphics
_REQUIRES_ttf= sdl
#
# Update the variables if they need the default values.
#
.for component in ${_USE_SDL_ALL}
. if !defined(_LIB_${component})
_LIB_${component}=SDL_${component}
. endif
. if !defined(_PORTDIR_${component})
_PORTDIR_${component}=sdl_${component}
. endif
. if !defined(_REQUIRES_${component})
_REQUIRES_${component}=
. endif
.endfor
#
# Check if all the values given in USE_SDL are valid.
#
_USE_SDL=
.for component in ${USE_SDL}
. if ${_USE_SDL_ALL:M${component}}==""
BROKEN= "Unknown SDL component ${component}"
. endif
_USE_SDL+= ${_REQUIRES_${component}} ${component}
.endfor
#
# Uniquefy[sp] the list of libs required
#
__USE_SDL=
.for component in ${_USE_SDL}
. if ${__USE_SDL:M${component}}==""
__USE_SDL+= ${component}
. endif
.endfor
#
# Finally make the list of libs required
#
.for component in ${__USE_SDL}
LIB_DEPENDS+= ${_LIB_${component}}.${_VERSION_${component}}:${PORTSDIR}/${_SUBDIR_${component}}/${_PORTDIR_${component}}
.endfor
#
# "Normal" dependencies and variables
#
BUILD_DEPENDS+= ${SDL_CONFIG}:${PORTSDIR}/${_SUBDIR_sdl}/${_PORTDIR_sdl}
SDL_CONFIG?= ${LOCALBASE}/bin/sdl11-config
CONFIGURE_ENV+= SDL_CONFIG=${SDL_CONFIG}
MAKE_ENV+= SDL_CONFIG=${SDL_CONFIG}
.endif
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list