Add enable-languages build option

* acinclude.m4 (LIST_MEMBER): New macro.
* configure.ac (enable-languages): New option. Add info output.
* lang/Makefile.am: Only add enabled language subdirs.
This commit is contained in:
Andre Heinecke 2016-03-02 14:00:48 +01:00
parent 7286fc7f3d
commit a313b3e28c
3 changed files with 44 additions and 6 deletions

View File

@ -58,3 +58,19 @@ AC_DEFUN([GNUPG_CHECK_VA_COPY],
AC_MSG_RESULT($gnupg_cv_must_copy_va_byval)
fi
])
dnl LIST_MEMBER()
dnl Check wether an element ist contained in a list. Set `found' to
dnl `1' if the element is found in the list, to `0' otherwise.
AC_DEFUN([LIST_MEMBER],
[
name=$1
list=$2
found=0
for n in $list; do
if test "x$name" = "x$n"; then
found=1
fi
done
])

View File

@ -146,6 +146,8 @@ have_w32_system=no
have_w64_system=no
build_w32_glib=no
build_w32_qt=no
available_languages="cpp cl"
default_languages="cpp cl"
case "${host}" in
x86_64-*mingw32*)
have_w64_system=yes
@ -245,6 +247,24 @@ if test x$fixed_search_path != x ; then
[Locate binaries only via this PATH])
fi
AC_ARG_ENABLE([languages],
AC_HELP_STRING([--enable-languages=languages],
[enable only specific language bindings]),
[enabled_languages=`echo $enableval | \
tr ',:' ' ' | tr '[A-Z]' '[a-z]' | \
sed 's/c++/cpp/'`],
[enabled_languages="$default_languages"])
if test "x$enabled_languages" = "x" \
-o "$enabled_languages" = "no"; then
enabled_languages=
fi
for language in $enabled_languages; do
LIST_MEMBER($language, $available_languages)
if test "$found" = "0"; then
AC_MSG_ERROR([unsupported language binding specified])
fi
done
AC_SUBST(ENABLED_LANGUAGES, $enabled_languages)
#
# Provide information about the build.
@ -645,6 +665,8 @@ echo "
UI Server: $uiserver
FD Passing: $use_descriptor_passing
GPGME Pthread: $have_pthread
Language bindings: $enabled_languages
"
if test "x${gpg_config_script_warn}" != x; then
cat <<G10EOF

View File

@ -17,6 +17,6 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
SUBDIRS = cl cpp
SUBDIRS = $(ENABLED_LANGUAGES)
EXTRA_DIST = README