summaryrefslogtreecommitdiff
path: root/m4/efl_binary.m4
blob: b4fb0ec126db2cfc1d7317239bba31d2c48b9253 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
dnl Copyright (C) 2010 Vincent Torri <vtorri at univ-evry dot fr>
dnl That code is public domain and can be freely used or copied.

dnl Macro that checks if a binary is built or not

dnl Usage: EFL_ENABLE_BIN(binary)
dnl Call AC_SUBST(BINARY_PRG) (BINARY is the uppercase of binary, - being transformed into _)
dnl Define have_binary (- is transformed into _)
dnl Define conditional BUILD_BINARY (BINARY is the uppercase of binary, - being transformed into _)

AC_DEFUN([EFL_ENABLE_BIN],
[

m4_pushdef([UP], m4_translit([[$1]], [-a-z], [_A-Z]))dnl
m4_pushdef([DOWN], m4_translit([[$1]], [-A-Z], [_a-z]))dnl

have_[]m4_defn([DOWN])="yes"

dnl configure option

AC_ARG_ENABLE([binary-$1],
   [AC_HELP_STRING([--disable-binary-$1], [disable building of ]DOWN[ binary])],
   [
    if test "x${enableval}" = "xyes" ; then
       have_[]m4_defn([DOWN])="yes"
    else
       have_[]m4_defn([DOWN])="no"
    fi
   ])

AC_MSG_CHECKING([whether to build ]DOWN[ binary])
AC_MSG_RESULT([$have_[]m4_defn([DOWN])])

if test "x$have_[]m4_defn([DOWN])" = "xyes"; then
   UP[]_PRG=DOWN[${EXEEXT}]
fi

AC_SUBST(UP[]_PRG)

AS_IF([test "x$have_[]m4_defn([DOWN])" = "xyes"], [$2], [$3])

])

dnl Macro that specifies the binary to be used

dnl Usage: EFL_WITH_BIN(binary, package, msg)
dnl Call AC_SUBST(BINARY_PRG) (BINARY is the uppercase of binary, - being transformed into _)
dnl Define with_binary (- is transformed into _)
dnl Define conditional BUILD_BINARY (BINARY is the uppercase of binary, - being transformed into _)

AC_DEFUN([EFL_WITH_BIN],
[

m4_pushdef([UP], m4_translit([[$1]], [-a-z], [_A-Z]))dnl
m4_pushdef([DOWN], m4_translit([[$1]], [-A-Z], [_a-z]))dnl

AC_REQUIRE([PKG_PROG_PKG_CONFIG])
AC_MSG_NOTICE([$PKG_CONFIG])

with_[]m4_defn([DOWN])=m4_esyscmd($PKG_CONFIG --variable=prefix $2)/bin/m4_defn([DOWN])

dnl configure option

AC_ARG_WITH([$1],
   [AC_HELP_STRING([--with-$1-bin=PATH], [specify a specific path to ]DOWN)],
   [
    with_[]m4_defn([DOWN])=$withval
    _efl_msg="( explicitely set)"
   ])

AC_MSG_NOTICE([$msg: ]m4_defn([DOWN])[$_efl_msg])

AC_SUBST(with_[]m4_defn([DOWN]))

AS_IF([test "x$have_[]m4_defn([DOWN])" = "xyes"], [$4], [$5])

])