Subject: Re: Conversion of mplayer to options framework
To: Dieter Baron <dillo@danbala.tuwien.ac.at>
From: Julio M. Merino Vidal <jmmv84@gmail.com>
List: tech-pkg
Date: 06/01/2005 16:58:25
--=-nKrg9SthB1TG5pWcDVdq
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
On Wed, 2005-06-01 at 15:32 +0200, Dieter Baron wrote:
> In article <20050601120745.GK1529@dmath5.geometrie.tuwien.ac.at> Thomas wrote:
> : The option names for at least runtime-cpudetection, win32, xvid,
> : and real should be prefixed with "mplayer-" because I don't think
> : other packages will use them.
>
> Can the win32-codecs package be installed later and still be used by
> mplayer? That is how xine-lib handles this.
Yes, it can (just tried it). However, do we want to do this? It seems
a bit inconsistent (i.e., all other options add a dependency, while the
win32/real ones would not).
Personally, I prefer removing them as dependencies, but keeping the
mplayer-win32/real options to optionally remove the glue code (would
anyone want to do that?).
> The option xvid is not handled.
True; seen that while documenting the options.
> Also, if MPLAYER_DISABLE_DRIVERS is set, please add a line to
> _DEPRECATED_WARNING (see bsd.options.mk, the loop that handles
> PKG_OPTIONS_LEGACY_VARS). You don't need to add deprecated variables
> to BUILD_DEFS, the information is recorded via PKG_OPTIONS.
OK, done.
The new file is attached.
Thanks for the reviews!
--
Julio M. Merino Vidal <jmmv84@gmail.com>
http://www.livejournal.com/users/jmmv/
The NetBSD Project - http://www.NetBSD.org/
--=-nKrg9SthB1TG5pWcDVdq
Content-Disposition: attachment; filename=options.mk
Content-Type: text/plain; name=options.mk; charset=UTF-8
Content-Transfer-Encoding: 7bit
# $NetBSD$
.if !empty(PKGNAME) && empty(PKGNAME:Mmplayer-share*)
PKG_OPTIONS_VAR= PKG_OPTIONS.${PKGNAME:C/-[0-9].*//}
.include "../../mk/bsd.prefs.mk"
# -------------------------------------------------------------------------
# Define PKG_SUPPORTED_OPTIONS based on the current package and system.
# -------------------------------------------------------------------------
# Options supported by both mplayer* or mencoder*.
PKG_SUPPORTED_OPTIONS= gif jpeg mad dv dvdread oss png theora vorbis
# Set options based on the specific package being built.
.if !empty(PKGNAME:M*mplayer*)
PKG_SUPPORTED_OPTIONS+= esound mplayer-menu nas sdl
. if ${OPSYS} != "SunOS"
PKG_SUPPORTED_OPTIONS+= arts
. endif
.elif !empty(PKGNAME:M*mencoder*)
PKG_SUPPORTED_OPTIONS+= lame
.endif
# OS-specific options.
.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "Linux" || ${OPSYS} == "NetBSD"
PKG_SUPPORTED_OPTIONS+= cdparanoia
.elif ${OPSYS} == "SunOS"
PKG_SUPPORTED_OPTIONS+= mlib
.endif
# Platform-specific options.
.if ${MACHINE_ARCH} == "i386"
PKG_SUPPORTED_OPTIONS+= mplayer-runtime-cpudetection mplayer-win32 \
mplayer-xvid
.endif
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \
${MACHINE_ARCH} == "alpha"
PKG_SUPPORTED_OPTIONS+= mplayer-real
.endif
# -------------------------------------------------------------------------
# Define PKG_SUGGESTED_OPTIONS.
# -------------------------------------------------------------------------
PKG_SUGGESTED_OPTIONS+= cdparanoia dv dvdread gif jpeg mad mplayer-menu \
oss png mplayer-real theora vorbis \
mplayer-runtime-cpudetection mplayer-win32 \
mplayer-xvid
.if !empty(PKGNAME:M*mplayer*)
PKG_SUGGESTED_OPTIONS+= arts esound nas sdl
.elif !empty(PKGNAME:M*mencoder*)
PKG_SUGGESTED_OPTIONS+= lame
.endif
# -------------------------------------------------------------------------
# Define PKG_SUGGESTED_OPTIONS based on deprecated variables.
# -------------------------------------------------------------------------
BUILD_DEFS+= MPLAYER_DISABLE_DRIVERS
.for d in ${MPLAYER_DISABLE_DRIVERS}
PKG_SUGGESTED_OPTIONS+= -${d:S/esd/esound/}
_DEPRECATED_WARNING:= ${_DEPRECATED_WARNING} "Deprecated variable MPLAYER_DISABLE_DRIVERS=${d} used; use PKG_DEFAULT_OPTIONS+=-${d:S/esd/esound/} instead."
.endfor
.undef d
.if ${MACHINE_ARCH} == "i386"
PKG_OPTIONS_LEGACY_VARS+= \
MPLAYER_ENABLE_RUNTIME_CPU_DETECTION:mplayer-runtime-cpudetection
.endif
.if ${OPSYS} == "SunOS"
PKG_OPTIONS_LEGACY_VARS+= MPLAYER_USE_MEDIALIB:mlib
.endif
# -------------------------------------------------------------------------
# Handle chosen options.
# -------------------------------------------------------------------------
.include "../../mk/bsd.options.mk"
.if !empty(PKG_OPTIONS:Marts)
CONFIGURE_ARGS+= --enable-arts
. include "../../audio/arts/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-arts
.endif
.if !empty(PKG_OPTIONS:Mcdparanoia)
CONFIGURE_ARGS+= --enable-cdparanoia
CONFIGURE_ARGS+= --with-cdparanoiaincdir="${BUILDLINK_PREFIX.cdparanoia}/include/cdparanoia"
. include "../../audio/cdparanoia/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-cdparanoia
.endif
.if !empty(PKG_OPTIONS:Mdv)
CONFIGURE_ARGS+= --enable-libdv
. include "../../multimedia/libdv/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-libdv
.endif
.if !empty(PKG_OPTIONS:Mdvdread)
CONFIGURE_ARGS+= --enable-dvdread
. include "../../multimedia/libdvdread/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-dvdread
.endif
.if !empty(PKG_OPTIONS:Mesound)
CONFIGURE_ARGS+= --enable-esd
. include "../../audio/esound/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-esd
.endif
.if !empty(PKG_OPTIONS:Mgif)
CONFIGURE_ARGS+= --enable-gif
. include "../../graphics/libungif/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-gif
.endif
.if !empty(PKG_OPTIONS:Mjpeg)
CONFIGURE_ARGS+= --enable-jpeg
. include "../../graphics/jpeg/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-jpeg
.endif
.if !empty(PKG_OPTIONS:Mlame)
#CONFIGURE_ARGS+= --enable-toolame
. include "../../audio/lame/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-toolame
.endif
.if !empty(PKG_OPTIONS:Mmad)
CONFIGURE_ARGS+= --enable-mad
. include "../../audio/libmad/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-mad
.endif
.if !empty(PKG_OPTIONS:Mmlib)
CONFIGURE_ARGS+= --enable-mlib
.else
CONFIGURE_ARGS+= --disable-mlib
.endif
.if !empty(PKG_OPTIONS:Mmplayer-menu)
CONFIGURE_ARGS+= --enable-menu
.else
CONFIGURE_ARGS+= --disable-menu
.endif
.if !empty(PKG_OPTIONS:Mmplayer-real)
EVAL_PREFIX+= PREFIX.realplayer-codecs=realplayer-codecs
PREFIX.realplayer-codecs_DEFAULT= ${LOCALBASE}
CONFIGURE_ARGS+= --enable-real
CONFIGURE_ARGS+= --with-reallibdir="${PREFIX.realplayer-codecs}/lib/RealPlayer8-Codecs"
DEPENDS+= realplayer-codecs>=8nb2:../../multimedia/realplayer-codecs
.else
CONFIGURE_ARGS+= --disable-real
.endif
.if !empty(PKG_OPTIONS:Mmplayer-runtime-cpudetection)
CONFIGURE_ARGS+= --enable-runtime-cpudetection
.else
CONFIGURE_ARGS+= --disable-runtime-cpudetection
.endif
.if !empty(PKG_OPTIONS:Mmplayer-win32)
EVAL_PREFIX+= PREFIX.win32-codecs=win32-codecs
PREFIX.win32-codecs_DEFAULT= ${LOCALBASE}
CONFIGURE_ARGS+= --enable-win32
CONFIGURE_ARGS+= --with-win32libdir="${PREFIX.win32-codecs}/lib/win32"
DEPENDS+= win32-codecs>=011227:../../multimedia/win32-codecs
.else
CONFIGURE_ARGS+= --disable-win32
.endif
.if !empty(PKG_OPTIONS:Mmplayer-xvid)
CONFIGURE_ARGS+= --enable-xvid
. include "../../multimedia/xvidcore/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-xvid
.endif
.if !empty(PKG_OPTIONS:Mnas)
CONFIGURE_ARGS+= --enable-nas
. include "../../audio/nas/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-nas
.endif
.if !empty(PKG_OPTIONS:Moss)
CONFIGURE_ARGS+= --enable-ossaudio
. include "../../mk/ossaudio.buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-ossaudio
.endif
.if !empty(PKG_OPTIONS:Mpng)
CONFIGURE_ARGS+= --enable-png
. include "../../graphics/png/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-png
.endif
.if !empty(PKG_OPTIONS:Msdl)
CONFIGURE_ARGS+= --enable-sdl
. include "../../devel/SDL/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-sdl
.endif
.if !empty(PKG_OPTIONS:Mtheora)
CONFIGURE_ARGS+= --enable-theora
. include "../../multimedia/libtheora/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-theora
.endif
.if !empty(PKG_OPTIONS:Mvorbis)
CONFIGURE_ARGS+= --enable-vorbis
. include "../../audio/libvorbis/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-vorbis
.endif
.endif # !empty(PKGNAME) && empty(PKGNAME:Mmplayer-share*)
--=-nKrg9SthB1TG5pWcDVdq--