diff options
author | Dmitry Marakasov <amdmi3@FreeBSD.org> | 2019-02-11 15:21:25 +0000 |
---|---|---|
committer | Dmitry Marakasov <amdmi3@FreeBSD.org> | 2019-02-11 15:21:25 +0000 |
commit | 14223135a0ec1fc40ededbe70b4ad5ce27bbbf18 (patch) | |
tree | dcdd6ddea0d17130f314dcab29a69f1f9cb17244 | |
parent | 16b9cef21a378ed59b9afc55a75f9afa8134dfe3 (diff) | |
download | ports-14223135a0ec1fc40ededbe70b4ad5ce27bbbf18.tar.gz ports-14223135a0ec1fc40ededbe70b4ad5ce27bbbf18.zip |
Convert bsd.sdl.mk to Uses/sdl.mk
Frow now on, USES=sdl should be used to specify dependency on SDL
libraries.
USE_SDL is still required to specify components, specifying it
without USES=sdl is still supported, but deprecated, and leads to
a warning. USE_SDL=yes support was removed, and now leads to error,
USE_SDL=sdl should be used instead (all ports which still used
USE_SDL=yes were fixed). sdl.mk was simplified and modernized along
the way.
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235561
Approved by: portmgr (mat)
Exp-run by: antoine
Differential Revision: https://reviews.freebsd.org/D19075
Notes
Notes:
svn path=/head/; revision=492696
-rw-r--r-- | Mk/Uses/sdl.mk | 112 | ||||
-rw-r--r-- | Mk/bsd.port.mk | 15 | ||||
-rw-r--r-- | Mk/bsd.sanity.mk | 4 | ||||
-rw-r--r-- | Mk/bsd.sdl.mk | 185 |
4 files changed, 121 insertions, 195 deletions
diff --git a/Mk/Uses/sdl.mk b/Mk/Uses/sdl.mk new file mode 100644 index 000000000000..4a1a457d857f --- /dev/null +++ b/Mk/Uses/sdl.mk @@ -0,0 +1,112 @@ +# $FreeBSD$ +# +# Support for SDL-based ports +# +# Feature: sdl +# Usage: USES=sdl +# USE_SDL=sdl console gfx image mixer mm net pango sound ttf +# sdl2 gfx2 image2 mixer2 net2 ttf2 +# +# USE_SDL specifies which SDL components to add as dependencies. +# Not specifying USE_SDL with USES=sdl is an error. +# USE_SDL=yes implies USE_SDL=sdl. This is deprecated +# +# MAINTAINER: amdmi3@FreeBSD.org + +.if !defined(_INCLUDE_USES_SDL_MK) +_INCLUDE_USES_SDL_MK= yes + +# These are the current supported SDL1.2 modules +_SDL_USE_ALL= sdl console gfx image mixer mm net pango sound ttf + +_SDL_sdl_LIB_DEPENDS= libSDL.so:devel/sdl12 + +_SDL_console_LIB_DEPENDS= libSDL_console.so:devel/sdl_console +_SDL_console_REQUIRES= sdl + +_SDL_gfx_LIB_DEPENDS= libSDL_gfx.so:graphics/sdl_gfx +_SDL_gfx_REQUIRES= sdl + +_SDL_image_LIB_DEPENDS= libSDL_image.so:graphics/sdl_image +_SDL_image_REQUIRES= sdl + +_SDL_mixer_LIB_DEPENDS= libSDL_mixer.so:audio/sdl_mixer +_SDL_mixer_REQUIRES= sdl + +_SDL_mm_LIB_DEPENDS= libSDLmm.so:devel/sdlmm +_SDL_mm_REQUIRES= sdl + +_SDL_net_LIB_DEPENDS= libSDL_net.so:net/sdl_net +_SDL_net_REQUIRES= sdl + +_SDL_pango_LIB_DEPENDS= libSDL_Pango.so:x11-toolkits/sdl_pango +_SDL_pango_REQUIRES= sdl + +_SDL_sound_LIB_DEPENDS= libSDL_sound.so:audio/sdl_sound +_SDL_sound_REQUIRES= sdl + +_SDL_ttf_LIB_DEPENDS= libSDL_ttf.so:graphics/sdl_ttf +_SDL_ttf_REQUIRES= sdl + +# These are the current supported SDL2 modules +_SDL_USE_ALL+= sdl2 gfx2 image2 mixer2 net2 ttf2 + +_SDL_sdl2_LIB_DEPENDS= libSDL2.so:devel/sdl20 + +_SDL_gfx2_LIB_DEPENDS= libSDL2_gfx.so:graphics/sdl2_gfx +_SDL_gfx2_REQUIRES= sdl2 + +_SDL_image2_LIB_DEPENDS= libSDL2_image.so:graphics/sdl2_image +_SDL_image2_REQUIRES= sdl2 + +_SDL_mixer2_LIB_DEPENDS= libSDL2_mixer.so:audio/sdl2_mixer +_SDL_mixer2_REQUIRES= sdl2 + +_SDL_net2_LIB_DEPENDS= libSDL2_net.so:net/sdl2_net +_SDL_net2_REQUIRES= sdl2 + +_SDL_ttf2_LIB_DEPENDS= libSDL2_ttf.so:graphics/sdl2_ttf +_SDL_ttf2_REQUIRES= sdl2 + +# Basic checks +.if !empty(sdl_ARGS) +IGNORE= USES=sdl takes no arguments +.endif + +.if !defined(USE_SDL) +IGNORE= need to specify sdl component(s) with USE_SDL +.endif + +# Expand implied dependencies on main SDL/SDL2 ports +_USE_SDL= +.for _component in ${USE_SDL} +. if !${_SDL_USE_ALL:M${_component}} +IGNORE= uses unknown SDL component ${_component} +. else +_USE_SDL+= ${_component} ${_SDL_${_component}_REQUIRES} +. endif +.endfor + +# Provide LIB_DEPENDS +.for _component in ${_USE_SDL:O:u} +LIB_DEPENDS+= ${_SDL_${_component}_LIB_DEPENDS} +.endfor + +# Provide dependency on main SDL ports +.if ${_USE_SDL:Msdl} +SDL_CONFIG?= ${LOCALBASE}/bin/sdl-config +BUILD_DEPENDS+= ${SDL_CONFIG}:devel/sdl12 +CONFIGURE_ENV+= SDL_CONFIG=${SDL_CONFIG} +MAKE_ENV+= SDL_CONFIG=${SDL_CONFIG} +.endif + +.if ${_USE_SDL:Msdl2} +SDL2_CONFIG?= ${LOCALBASE}/bin/sdl2-config +BUILD_DEPENDS+= ${SDL2_CONFIG}:devel/sdl20 +CONFIGURE_ENV+= SDL2_CONFIG=${SDL2_CONFIG} +MAKE_ENV+= SDL2_CONFIG=${SDL2_CONFIG} +.endif + +# _INCLUDE_USES_SDL_MK +.endif + diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 6e41f31237d5..8f3b4d3d79e1 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -364,8 +364,6 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # Append the cxxflags to CXXFLAGS only on the specified architecture ## # LDFLAGS_${ARCH} Append the ldflags to LDFLAGS only on the specified architecture -# USE_SDL - If set, this port uses the sdl libraries. -# See bsd.sdl.mk for more information. ## # USE_OPENLDAP - If set, this port uses the OpenLDAP libraries. # Implies: WANT_OPENLDAP_VER?=24 @@ -1425,6 +1423,11 @@ DEV_WARNING+= "Using USE_GL alone is deprecated, please add USES=gl." USES+= gl .endif +.if defined(USE_SDL) && (!defined(USES) || !${USES:Msdl}) +DEV_WARNING+= "Using USE_SDL alone is deprecated, please add USES=sdl." +USES+= sdl +.endif + .if defined(USE_MYSQL) USE_MYSQL:= ${USE_MYSQL:N[yY][eE][sS]:Nclient} .if defined(WANT_MYSQL_VER) @@ -1445,10 +1448,6 @@ USES+=mysql:${USE_MYSQL} .include "${PORTSDIR}/Mk/bsd.gstreamer.mk" .endif -.if defined(USE_SDL) -.include "${PORTSDIR}/Mk/bsd.sdl.mk" -.endif - .if !defined(UID) UID!= ${ID} -u .endif @@ -1944,10 +1943,6 @@ _FORCE_POST_PATTERNS= rmdir kldxref mkfontscale mkfontdir fc-cache \ .include "${PORTSDIR}/Mk/bsd.ocaml.mk" .endif -.if defined(USE_SDL) -.include "${PORTSDIR}/Mk/bsd.sdl.mk" -.endif - .if defined(USE_PHP) && (!defined(USES) || ( defined(USES) && !${USES:Mphp*} )) DEV_WARNING+= "Using USE_PHP alone is deprecated, please use USES=php" _USES_POST+= php diff --git a/Mk/bsd.sanity.mk b/Mk/bsd.sanity.mk index 2fc794fd0e47..e1cfcf0a6b32 100644 --- a/Mk/bsd.sanity.mk +++ b/Mk/bsd.sanity.mk @@ -86,6 +86,10 @@ DEV_ERROR+= "USE_GNOME=pkgconfig is unsupported, please use USES=pkgconfig" DEV_ERROR+= "USE_ZOPE=yes is unsupported, please use USES=zope instead" .endif +.if defined(USE_SDL) && ${USE_SDL} == yes +DEV_ERROR+= "USE_SDL=yes is unsupported, please use USE_SDL=sdl instead" +.endif + .if defined(USE_GITHUB) && defined(GH_COMMIT) DEV_ERROR+= "GH_COMMIT is unsupported, please convert GHL-\>GH in MASTER_SITES and set GH_TAGNAME to tag or commit hash and remove GH_COMMIT" .endif diff --git a/Mk/bsd.sdl.mk b/Mk/bsd.sdl.mk deleted file mode 100644 index 483b917777a1..000000000000 --- a/Mk/bsd.sdl.mk +++ /dev/null @@ -1,185 +0,0 @@ -#-*- tab-width: 4; -*- -# ex:ts=4 -# -# bsd.sdl.mk - Support for SDL-based ports. -# -# Created by: Edwin Groothuis <edwin@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$ -# - -SDL_Include_MAINTAINER= ports@FreeBSD.org - -# -# These are the current supported SDL1.2 modules -# -_USE_SDL_ALL= console gfx image mixer mm net pango sdl sound ttf -# -# These are the current supported SDL2 modules -# -_USE_SDL_ALL+= gfx2 image2 mixer2 net2 sdl2 ttf2 - -# -# Variables used to determine what is needed: -# _SUBDIR_xxx subdirectory below ${PORTSDIR} (required) -# _PORTDIR_xxx subdirectory below ${PORTSDIR}/${_SUBDIR_xxx} -# _LIB_xxx name of the shared lib -# _REQUIRES_xxx also needs these SDL libraries -# - -_SUBDIR_console= devel -_PORTDIR_console= sdl_console -_LIB_console= libSDL_console.so -_REQUIRES_console= sdl - -_SUBDIR_gfx= graphics -_PORTDIR_gfx= sdl_gfx -_LIB_gfx= libSDL_gfx.so -_REQUIRES_gfx= sdl - -_SUBDIR_image= graphics -_PORTDIR_image= sdl_image -_LIB_image= libSDL_image.so -_REQUIRES_image=sdl - -_SUBDIR_mixer= audio -_PORTDIR_mixer= sdl_mixer -_LIB_mixer= libSDL_mixer.so -_REQUIRES_mixer=sdl - -_SUBDIR_mm= devel -_PORTDIR_mm= sdlmm -_LIB_mm= libSDLmm.so -_REQUIRES_mm= sdl - -_SUBDIR_net= net -_PORTDIR_net= sdl_net -_LIB_net= libSDL_net.so -_REQUIRES_net= sdl - -_SUBDIR_pango= x11-toolkits -_PORTDIR_pango= sdl_pango -_LIB_pango= libSDL_Pango.so -_REQUIRES_pango=sdl - -_SUBDIR_sdl= devel -_PORTDIR_sdl= sdl12 -_LIB_sdl= libSDL.so -_REQUIRES_sdl= - -_SUBDIR_sound= audio -_PORTDIR_sound= sdl_sound -_LIB_sound= libSDL_sound.so -_REQUIRES_sound=sdl - -_SUBDIR_ttf= graphics -_PORTDIR_ttf= sdl_ttf -_LIB_ttf= libSDL_ttf.so -_REQUIRES_ttf= sdl - -_SUBDIR_gfx2= graphics -_PORTDIR_gfx2= sdl2_gfx -_LIB_gfx2= libSDL2_gfx.so -_REQUIRES_gfx2= sdl2 - -_SUBDIR_image2= graphics -_PORTDIR_image2= sdl2_image -_LIB_image2= libSDL2_image.so -_REQUIRES_image2= sdl2 - -_SUBDIR_mixer2= audio -_PORTDIR_mixer2= sdl2_mixer -_LIB_mixer2= libSDL2_mixer.so -_REQUIRES_mixer2= sdl2 - -_SUBDIR_net2= net -_PORTDIR_net2= sdl2_net -_LIB_net2= libSDL2_net.so -_REQUIRES_net2= sdl2 - -_SUBDIR_sdl2= devel -_PORTDIR_sdl2= sdl20 -_LIB_sdl2= libSDL2.so -_REQUIRES_sdl2= - -_SUBDIR_ttf2= graphics -_PORTDIR_ttf2= sdl2_ttf -_LIB_ttf2= libSDL2_ttf.so -_REQUIRES_ttf2= sdl2 - -# -# If USE_SDL is defined, make dependencies for the libraries -# -.if !defined(BEFOREPORTMK) -.if !defined(SDL_Include_post) -.if defined(USE_SDL) - -SDL_Include_post= bsd.sdl.mk - -# -# Keep some backward compatibility -# -.if ${USE_SDL}=="yes" -USE_SDL= sdl -.endif - -# -# Check if all the values given in USE_SDL are valid. -# -_USE_SDL= -.for component in ${USE_SDL} -. if ${_USE_SDL_ALL:M${component}}=="" -IGNORE= cannot install: 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}}:${_SUBDIR_${component}}/${_PORTDIR_${component}} -.endfor - -# -# "Normal" dependencies and variables -# -.if ${__USE_SDL:Msdl} != "" -BUILD_DEPENDS+= ${SDL_CONFIG}:${_SUBDIR_sdl}/${_PORTDIR_sdl} -SDL_CONFIG?= ${LOCALBASE}/bin/sdl-config -CONFIGURE_ENV+= SDL_CONFIG=${SDL_CONFIG} -MAKE_ENV+= SDL_CONFIG=${SDL_CONFIG} -.endif -.if ${__USE_SDL:Msdl2} != "" -BUILD_DEPENDS+= ${SDL2_CONFIG}:${_SUBDIR_sdl2}/${_PORTDIR_sdl2} -SDL2_CONFIG?= ${LOCALBASE}/bin/sdl2-config -CONFIGURE_ENV+= SDL2_CONFIG=${SDL2_CONFIG} -MAKE_ENV+= SDL2_CONFIG=${SDL2_CONFIG} -.endif - -.endif -.endif -.endif |