diff options
Diffstat (limited to 'x11-wm/enlightenment-devel/bsd.efl.mk')
-rw-r--r-- | x11-wm/enlightenment-devel/bsd.efl.mk | 307 |
1 files changed, 307 insertions, 0 deletions
diff --git a/x11-wm/enlightenment-devel/bsd.efl.mk b/x11-wm/enlightenment-devel/bsd.efl.mk new file mode 100644 index 000000000000..58a4c15dca60 --- /dev/null +++ b/x11-wm/enlightenment-devel/bsd.efl.mk @@ -0,0 +1,307 @@ +# +# $MBSDlabs: portmk/bsd.efl.mk,v 1.17 2006/10/02 14:57:48 stas Exp $ +# $FreeBSD$ +# +# bsd.efl.mk - Support for Enlightenment Foundation Libraries (EFL) +# +# Author: Stanislav Sedov <ssedov@mbsd.msk.ru> +# Inspired by bsd.sdl.mk by Edwin Groothuis <edwin@freebsd.org> +# +# You can specify EFL-related library dependency using "USE_EFL=" statement, +# e.g. "USE_EFL= ecore evas" will add x11/ecore and graphics/evas as dependency +# for your port. +# You can check existency of certain library throught "WANT_EFL/HAVE_EFL" pair. +# Note: WANT_EFL should be defined before including <bsd.port.pre.mk>, and +# HAVE_EFL variable could be tested after it. For example: +# +# WANT_EFL= yes +# .include <bsd.port.pre.mk> +# .if ${HAVE_EFL:Mevas} +# USE_EFL+= evas +# .endif +# +# Currently recognized variables are: +# USE_EFL - lists all EFL libraries which port depends on +# WANT_EFL - the port wants to test which of EFL libraries are installed +# on the target system +# USE_EFL_ESMART- the ports depends on specified esmart objects (or on all +# esmart objects if "yes") +# +# The following variables could be tested after inclusion of bsd.port.pre.mk: +# HAVE_EFL - lists all EFL libraries which are available on target system +# HAVE_EFL_ESMART - esmart objects available +# +# Feel free to send any comments and suggestion to maintainer. +# + +EFL_Include_MAINTAINER= ssedov@mbsd.msk.ru + +# +# Define all supported libraries +# +_USE_EFL_ALL= ecore edb edje eet embryo emotion engrave enhance epeg \ + epsilon etk etox evas evfs ewl exml imlib2 + +# For each library supported we define the following variables: +# _%%LIB%%_CATEGORY - category the port belongs to +# _%%LIB%%_DEPENDS - other EFL libraries the library +# itself depends on. We'll define them explicitly +# to handle unwanted deinstalls. +# _%%LIB%%_PREFIX - where the library is installed +# _%%LIB%%_VERSION - version of the shared library +# _%%LIB%%_SLIB - name of the shared library +# + +_ecore_CATEGORY= x11 +_ecore_DEPENDS= evas +_ecore_PREFIX= ${LOCALBASE} +_ecore_VERSION= 1 + +_edb_CATEGORY= databases +_edb_PREFIX= ${LOCALBASE} +_edb_VERSION= 1 + +_eet_CATEGORY= devel +_eet_PREFIX= ${LOCALBASE} +_eet_VERSION= 9 + +_edje_CATEGORY= graphics +_edje_DEPENDS= embryo eet imlib2 evas ecore +_edje_PREFIX= ${LOCALBASE} +_edje_VERSION= 5 + +_embryo_CATEGORY= lang +_embryo_PREFIX= ${LOCALBASE} +_embryo_VERSION= 9 + +_emotion_CATEGORY= multimedia +_emotion_DEPENDS= ecore edje eet embryo evas +_emotion_PREFIX= ${LOCALBASE} +_emotion_VERSION= 0 + +_engrave_CATEGORY= devel +_engrave_DEPENDS= ecore evas +_engrave_PREFIX= ${LOCALBASE} +_engrave_VERSION= 1 + +_enhance_CATEGORY= x11-toolkits +_enhance_DEPENDS= ecore etk exml +_enhance_PREFIX= ${LOCALBASE} +_enhance_VERSION= 0 + +_epeg_CATEGORY= graphics +_epeg_PREFIX= ${LOCALBASE} +_epeg_VERSION= 9 + +_epsilon_CATEGORY= graphics +_epsilon_DEPENDS= epeg edje imlib2 ecore +_epsilon_PREFIX= ${LOCALBASE} +_epsilon_VERSION= 0 + +_etk_CATEGORY= x11-toolkits +_etk_DEPENDS= evas ecore edje +_etk_PREFIX= ${LOCALBASE} +_etk_VERSION= 1 + +_etox_CATEGORY= x11-toolkits +_etox_DEPENDS= edb evas ecore +_etox_PREFIX= ${LOCALBASE} +_etox_VERSION= 0 + +_evas_CATEGORY= graphics +_evas_DEPENDS= eet edb +_evas_PREFIX= ${LOCALBASE} +_evas_VERSION= 1 + +_evfs_CATEGORY= devel +_evfs_DEPENDS= eet ecore +_evfs_PREFIX= ${LOCALBASE} +_evfs_VERSION= 0 + +_ewl_CATEGORY= x11-toolkits +_ewl_DEPENDS= evas ecore edje epsilon +_ewl_PREFIX= ${LOCALBASE} +_ewl_VERSION= 0 + +_exml_CATEGORY= textproc +_exml_DEPENDS= ecore +_exml_PREFIX= ${LOCALBASE} +_exml_VERSION= 1 + +_imlib2_CATEGORY= graphics +_imlib2_PREFIX= ${LOCALBASE} +_imlib2_VERSION= 3 +_imlib2_SLIB= Imlib2 + +# +# Assign values for variables which were not defined explicitly +# +.for LIB in ${_USE_EFL_ALL} +. if !defined(_${LIB}_DEPENDS) +_${LIB}_DEPENDS= #empty +. endif +. if !defined(_${LIB}_SLIB) +_${LIB}_SLIB=${LIB} +. endif +.endfor + +# +# Esmart support. We'll define esmart components in the way the're +# defined for EFL. +# Values processed: +# _esmart_COMP_CATEGORY - Where the port for this esmart object is located +# _esmart_COMP_PORTNAME - Object's port subdirectory +# _esmart_COMP_DEPENDS - Other components which this object depends on +# _esmart_COMP_PREFIX - Where the shared library for this object is located +# _esmart_COMP_VERSION - Version of the shared library +# + +# All components that are currently supported +_EFL_ESMART_ALL= container draggies file_dialog text_entry \ + thumb trans_x11 + +# +# Generic stock esmart definitions +# +_EFL_ESMART_CATEGORY= graphics +_EFL_ESMART_PORTNAME= esmart +_EFL_ESMART_DEPENDS= epsilon evas ecore imlib2 edje +_EFL_ESMART_PREFIX= ${LOCALBASE} +_EFL_ESMART_VERSION= 0 + +# +# Assign values for variables which were not defined explicitly +# +.for COMP in ${_EFL_ESMART_ALL} +. if !defined(_esmart_${COMP}_CATEGORY) +_esmart_${COMP}_CATEGORY= ${_EFL_ESMART_CATEGORY} +. endif +. if !defined(_esmart_${COMP}_PORTNAME) +_esmart_${COMP}_PORTNAME= ${_EFL_ESMART_PORTNAME} +. endif +. if !defined(_esmart_${COMP}_PREFIX) +_esmart_${COMP}_PREFIX= ${_EFL_ESMART_PREFIX} +. endif +. if !defined(_esmart_${COMP}_DEPENDS) +_esmart_${COMP}_DEPENDS= #empty +. endif +. if !defined(_esmart_${COMP}_SLIB) +_esmart_${COMP}_SLIB= esmart_${COMP} +. endif +. if !defined(_esmart_${COMP}_VERSION) +_esmart_${COMP}_VERSION= ${_EFL_ESMART_VERSION} +. endif +.endfor + +# +# Handle WANT_EFL feature +# +.if !defined(AFTERPORTMK) +.if !defined(EFL_Include_pre) + +EFL_Include_pre= bsd.efl.mk + +HAVE_EFL?= +HAVE_EFL_ESMART?= +.if defined(WANT_EFL) +. for LIB in ${_USE_EFL_ALL} +. if exists(${_${LIB}_PREFIX}/lib/lib${_${LIB}_SLIB}.so.${_${LIB}_VERSION}) +HAVE_EFL+= ${LIB} +. endif +. endfor +. for COMP in ${_EFL_ESMART_ALL} +. if exists(${_esmart_${COMP}_PREFIX}/lib/lib${_esmart_${COMP}_SLIB}.so.${_esmart_${COMP}_VERSION}) +HAVE_EFL_ESMART+= ${COMP} +. endif +. endfor +.endif + +.endif #EFL_Include_pre +.endif #AFTERPORTMK + +# +# Handle USE_EFL & USE_ESMART feature +# +.if !defined(BEFOREPORTMK) +.if !defined(EFL_Include_post) + +.if defined(USE_EFL_ESMART) + +USE_EFL+= ${_EFL_ESMART_DEPENDS} #we use EFL too + +_USE_EFL_ESMART= #empty +.if USE_EFL_ESMART=="yes" +_USE_EFL_ESMART= ${_EFL_ESMART_ALL} +.else +. for COMP in ${USE_EFL_ESMART} +. if ${_EFL_ESMART_ALL:M${COMP}}=="" +IGNORE= cannot install: unknown Esmart component ${COMP} +. else +_USE_EFL_ESMART+= ${COMP} ${_esmart_${COMP}_DEPENDS} +. endif +. endfor +.endif + +# Get rid of duplicates +.if ${OSVERSION} > 700016 +_USE_EFL_ESMART_UQ= ${_USE_EFL_ESMART:O:u} +.else +_USE_EFL_ESMART_UQ= #empty +. for COMP in ${_USE_EFL_ESMART} +. if ${_USE_EFL_ESMART_UQ:M${COMP}}=="" +_USE_EFL_ESMART_UQ+= ${COMP} +. endif +. endfor +.endif + +.for COMP in ${_USE_EFL_ESMART_UQ} +LIB_DEPENDS+= ${_esmart_${COMP}_SLIB}.${_esmart_${COMP}_VERSION}:${PORTSDIR}/${_esmart_${COMP}_CATEGORY}/${_esmart_${COMP}_PORTNAME} +.endfor + +.endif #USE_EFL_ESMART + +.if defined(USE_EFL) + +EFL_Include_post= bsd.efl.mk + +# +# Check if we have all libraries requiested and build depends list +# +_USE_EFL= #empty +.for LIB in ${USE_EFL} +. if ${_USE_EFL_ALL:M${LIB}}=="" +IGNORE= cannot install: unknown library ${LIB} +. endif +_USE_EFL+= ${_${LIB}_DEPENDS} ${LIB} +.endfor + +# +# Get rid of duplicates +# +_USE_EFL_UQ= #empty +.for LIB in ${_USE_EFL} +. if ${_USE_EFL_UQ:M${LIB}}=="" +_USE_EFL_UQ+= ${LIB} +. endif +.endfor + +# +# define dependencies +# +.for LIB in ${_USE_EFL_UQ} +LIB_DEPENDS+= ${_${LIB}_SLIB}.${_${LIB}_VERSION}:${PORTSDIR}/${_${LIB}_CATEGORY}/${LIB} +.endfor + +# +# Initialize configure enviropment +# +CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include -I${X11BASE}/include" \ + CFLAGS="-I${LOCALBASE}/include -I${X11BASE}/include ${CFLAGS}" \ + LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib ${LDFLAGS}" + +PLIST_SUB+= E17_ARCH=freebsd${OSREL}-${ARCH} + +.endif #USE_EFL + +.endif #EFL_Include_post +.endif #BEFOREPORTMK |