Magellan Linux

Diff of /smage/trunk/include/meson.sminc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 13780 by niro, Thu Dec 21 09:39:11 2017 UTC revision 13781 by niro, Wed Oct 30 12:53:36 2019 UTC
# Line 36  meson_with() Line 36  meson_with()
36  meson_without()  meson_without()
37  {  {
38   local feature="$1"   local feature="$1"
39   echo "-Dwith-{feature}=false"   echo "-Dwith-${feature}=false"
40    }
41    
42    meson_bool_true()
43    {
44     local feature="$1"
45     meson_opt "${feature}" "true"
46    }
47    
48    meson_bool_false()
49    {
50     local feature="$1"
51     meson_opt "${feature}" "false"
52  }  }
53    
54  # generic meson opts  # generic meson opts
# Line 56  meson_configure() Line 68  meson_configure()
68  {  {
69   local configure_opts="$@"   local configure_opts="$@"
70   local default_opts   local default_opts
71     [[ -n ${MESON_SRCDIR} ]] || local MESON_SRCDIR
72     [[ -n ${MESON_BUILDDIR} ]] || local MESON_BUILDDIR
73    
74   default_opts+=" --buildtype=release"   default_opts+=" --buildtype=release"
75   default_opts+=" --prefix=/usr"   default_opts+=" --prefix=/usr"
76   default_opts+=" --sysconfdir=/etc"   default_opts+=" --sysconfdir=/etc"
77   default_opts+=" --localstatedir=/var/lib"   default_opts+=" --localstatedir=/var/lib"
  default_opts+=' --libdir=/usr/$(mlibdir)'  
  default_opts+=' --libexecdir=/usr/$(mlibdir)/${PNAME}'  
78    
79   if [[ ${MULTILIB_BUILD} = true ]]   if [[ ${MULTILIB_BUILD} = true ]]
80   then   then
81   all-abis meson setup ${default_opts} ${configure_opts} ${SRCDIR}-$(mabi)/${SRCSUBDIR} ${BUILDDIR}/build-$(mabi) || die   # must be escaped so the mlibdir variable gets evaluated later
82     default_opts+=' --libdir=/usr/$(mlibdir)'
83     default_opts+=' --libexecdir=/usr/$(mlibdir)/${PNAME}'
84     : ${MESON_SRCDIR="${SRCDIR}-$(mabi)/${SRCSUBDIR}"}
85     : ${MESON_BUILDDIR="${BUILDDIR}/build-$(mabi)"}
86     all-abis meson setup ${default_opts} ${configure_opts} ${MESON_SRCDIR} ${MESON_BUILDDIR} || die
87   else   else
88   meson setup ${default_opts} ${configure_opts} ${SRCDIR}/${SRCSUBDIR} ${BUILDDIR}/build || die   # the mlibdir variable gets right now evaluated
89     default_opts+=" --libdir=/usr/$(mlibdir)"
90     default_opts+=" --libexecdir=/usr/$(mlibdir)/${PNAME}"
91     : ${MESON_SRCDIR="${SRCDIR}/${SRCSUBDIR}"}
92     : ${MESON_BUILDDIR="${BUILDDIR}/build"}
93     meson setup ${default_opts} ${configure_opts} ${MESON_SRCDIR} ${MESON_BUILDDIR} || die
94   fi   fi
95  }  }
96    
97  mninja()  mninja()
98  {  {
99     local abi
100     local abis_to_run="${MULTILIB_ABIS}"
101     [[ -n ${MESON_SRCDIR} ]] || local MESON_SRCDIR
102     [[ -n ${MESON_BUILDDIR} ]] || local MESON_BUILDDIR
103    
104     # respect MULTILIB_ONLY_ABI variable
105     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
106    
107   if [[ ${MULTILIB_BUILD} = true ]]   if [[ ${MULTILIB_BUILD} = true ]]
108   then   then
109   all-abis ninja -C ${SRCDIR}-$(mabi)/${SRCSUBDIR} -C ${BUILDDIR}/build-$(mabi) -v ${MAKEOPTS} "$@"   for abi in ${abis_to_run}
110     do
111     echo -e "${COLBLUE}*** ${COLGREEN}running ninja for ABI -${abi}${COLDEFAULT}"
112     : ${MESON_SRCDIR="${SRCDIR}-$(mabi)/${SRCSUBDIR}"}
113     : ${MESON_BUILDDIR="${BUILDDIR}/build-$(mabi)"}
114     abi-${abi} ninja -C ${MESON_SRCDIR} -C ${MESON_BUILDDIR} -v ${MAKEOPTS} "$@"
115     done
116   else   else
117   ninja -C ${SRCDIR}/${SRCSUBDIR} -C ${BUILDDIR}/build -v ${MAKEOPTS} "$@"   : ${MESON_SRCDIR="${SRCDIR}/${SRCSUBDIR}"}
118     : ${MESON_BUILDDIR="${BUILDDIR}/build"}
119     ninja -C ${MESON_SRCDIR} -C ${MESON_BUILDDIR} -v ${MAKEOPTS} "$@"
120   fi   fi
121  }  }
122    
123  meson_setup_builddir()  meson_setup_builddir()
124  {  {
125     local abi
126     local abis_to_run="${MULTILIB_ABIS}"
127     [[ -n ${MESON_BUILDDIR} ]] || local MESON_BUILDDIR
128    
129     # respect MULTILIB_ONLY_ABI variable
130     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
131    
132   if [[ ${MULTILIB_BUILD} = true ]]   if [[ ${MULTILIB_BUILD} = true ]]
133   then   then
134   all-abis install -d ${BUILDDIR}/build-$(mabi) || die   for abi in ${abis_to_run}
135     do
136     echo -e "${COLBLUE}*** ${COLGREEN}running ninja for ABI -${abi}${COLDEFAULT}"
137     : ${MESON_BUILDDIR="${BUILDDIR}/build-$(mabi)"}
138     abi-${abi} install -d ${MESON_BUILDDIR} || die
139     done
140   else   else
141   install -d ${BUILDDIR}/build || die   : ${MESON_BUILDDIR="${BUILDDIR}/build"}
142     install -d ${MESON_BUILDDIR} || die
143   fi   fi
144  }  }
145    
146  meson_src_compile()  meson_src_compile()
147  {  {
148     [[ -n ${MESON_SRCDIR} ]] || local MESON_SRCDIR
149    
150   if [[ ${MULTILIB_BUILD} != true ]]   if [[ ${MULTILIB_BUILD} != true ]]
151   then   then
152   cd ${SRCDIR}   : ${MESON_SRCDIR="${SRCDIR}"}
153     cd ${MESON_SRCDIR}
154   fi   fi
155    
156   meson_setup_builddir || die   meson_setup_builddir || die
# Line 106  meson_src_compile() Line 160  meson_src_compile()
160    
161  meson_src_check()  meson_src_check()
162  {  {
163   cd ${BUILDDIR}/build   [[ -n ${MESON_BUILDDIR} ]] || local MESON_BUILDDIR
164   meson test || die  
165     : ${MESON_BUILDDIR="${BUILDDIR}/build"}
166     meson test -C ${MESON_BUILDDIR} || die
167  }  }
168    
169  meson_multilib_src_check()  meson_multilib_src_check()
170  {  {
171   local abi   local abi
172   local abis_to_run="${MULTILIB_ABIS}"   local abis_to_run="${MULTILIB_ABIS}"
173     [[ -n ${MESON_BUILDDIR} ]] || local MESON_BUILDDIR
174    
175   # respect MULTILIB_ONLY_ABI variable   # respect MULTILIB_ONLY_ABI variable
176   [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"   [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
177   for abi in ${abis_to_run}   for abi in ${abis_to_run}
178   do   do
179   cd ${BUILDDIR}/build-${abi}   : ${MESON_BUILDDIR="${BUILDDIR}/build-$(mabi)"}
180   meson test || die   abi-${abi} meson test -C ${MESON_BUILDDIR} || die
181   done   done
182  }  }
183    
184  meson_src_install()  meson_src_install()
185  {  {
186   cd ${BUILDDIR}/build   [[ -n ${MESON_SRCDIR} ]] || local MESON_SRCDIR
  DESTDIR=${BINDIR} ninja install || die  
187    
188   cd ${SRCDIR}   : ${MESON_SRCDIR="${SRCDIR}"}
189    
190     DESTDIR=${BINDIR} mninja install || die
191    
192     cd ${MESON_SRCDIR}
193   local i   local i
194   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
195   FAQ LICENSE NEWS README TODO   FAQ LICENSE NEWS README TODO
196   do   do
197   if [ -f ${SRCDIR}/${i} ]   if [ -f ${MESON_SRCDIR}/${i} ]
198   then   then
199   minstalldocs ${i} || die   minstalldocs ${i} || die
200   fi   fi
# Line 145  meson_multilib_src_install() Line 205  meson_multilib_src_install()
205  {  {
206   local abi   local abi
207   local abis_to_run="${MULTILIB_ABIS}"   local abis_to_run="${MULTILIB_ABIS}"
208     [[ -n ${MESON_SRCDIR} ]] || local MESON_SRCDIR
209    
210     DESTDIR=${BINDIR} mninja install || die
211    
212   # respect MULTILIB_ONLY_ABI variable   # respect MULTILIB_ONLY_ABI variable
213   [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"   [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
214   for abi in ${abis_to_run}   for abi in ${abis_to_run}
215   do   do
216   cd ${BUILDDIR}/build-${abi}   : ${MESON_SRCDIR="${SRCDIR}-${abi}"}
  DESTDIR=${BINDIR} ninja install || die  
217    
218   cd ${SRCDIR}-${abi}   cd ${MESON_SRCDIR}
219   local i   local i
220   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
221   FAQ LICENSE NEWS README TODO   FAQ LICENSE NEWS README TODO
222   do   do
223   if [ -f ${SRCDIR}-${abi}/${i} ]   if [ -f ${MESON_SRCDIR}/${i} ]
224   then   then
225   minstalldocs ${i} || die   minstalldocs ${i} || die
226   fi   fi

Legend:
Removed from v.13780  
changed lines
  Added in v.13781