build/dolt.m4
author Mikael Berthe <mikael@lilotux.net>
Mon, 25 Jan 2016 18:35:10 +0100
changeset 685 dfa02c1c7fda
parent 537 bdc5234550d2
permissions -rw-r--r--
Bumped version to 1.5.2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
537
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
     1
dnl dolt, a replacement for libtool
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
     2
dnl Copyright © 2007-2008 Josh Triplett <josh@freedesktop.org>
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
     3
dnl Copying and distribution of this file, with or without modification,
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
     4
dnl are permitted in any medium without royalty provided the copyright
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
     5
dnl notice and this notice are preserved.
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
     6
dnl
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
     7
dnl To use dolt, invoke the DOLT macro immediately after the libtool macros.
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
     8
dnl Optionally, copy this file into acinclude.m4, to avoid the need to have it
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
     9
dnl installed when running autoconf on your project.
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    10
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    11
AC_DEFUN([DOLT], [
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    12
AC_REQUIRE([AC_CANONICAL_HOST])
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    13
# dolt, a replacement for libtool
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    14
# Josh Triplett <josh@freedesktop.org>
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    15
AC_PATH_PROG(DOLT_BASH, bash)
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    16
AC_MSG_CHECKING([if dolt supports this host])
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    17
dolt_supported=yes
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    18
if test x$DOLT_BASH = x -o x$SBOX_UNAME_MACHINE != x; then
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    19
    dolt_supported=no
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    20
fi
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    21
if test x$GCC != xyes; then
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    22
    dolt_supported=no
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    23
fi
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    24
case $host in
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    25
i?86-*-linux*|x86_64-*-linux*|powerpc-*-linux* \
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    26
|amd64-*-freebsd*|i?86-*-freebsd*|ia64-*-freebsd*)
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    27
    pic_options='-fPIC'
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    28
    ;;
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    29
i?86-apple-darwin*)
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    30
    pic_options='-fno-common'
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    31
    ;;
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    32
*)
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    33
    dolt_supported=no
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    34
    ;;
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    35
esac
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    36
if test x$dolt_supported = xno ; then
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    37
    AC_MSG_RESULT([no, falling back to libtool])
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    38
    LTCOMPILE='$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(COMPILE)'
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    39
    LTCXXCOMPILE='$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXXCOMPILE)'
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    40
else
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    41
    AC_MSG_RESULT([yes, replacing libtool])
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    42
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    43
dnl Start writing out doltcompile.
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    44
    cat <<__DOLTCOMPILE__EOF__ >doltcompile
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    45
#!$DOLT_BASH
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    46
__DOLTCOMPILE__EOF__
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    47
    cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    48
args=("$[]@")
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    49
for ((arg=0; arg<${#args@<:@@@:>@}; arg++)) ; do
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    50
    if test x"${args@<:@$arg@:>@}" = x-o ; then
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    51
        objarg=$((arg+1))
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    52
        break
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    53
    fi
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    54
done
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    55
if test x$objarg = x ; then
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    56
    echo 'Error: no -o on compiler command line' 1>&2
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    57
    exit 1
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    58
fi
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    59
lo="${args@<:@$objarg@:>@}"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    60
obj="${lo%.lo}"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    61
if test x"$lo" = x"$obj" ; then
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    62
    echo "Error: libtool object file name \"$lo\" does not end in .lo" 1>&2
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    63
    exit 1
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    64
fi
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    65
objbase="${obj##*/}"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    66
__DOLTCOMPILE__EOF__
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    67
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    68
dnl Write out shared compilation code.
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    69
    if test x$enable_shared = xyes; then
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    70
        cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    71
libobjdir="${obj%$objbase}.libs"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    72
if test ! -d "$libobjdir" ; then
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    73
    mkdir_out="$(mkdir "$libobjdir" 2>&1)"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    74
    mkdir_ret=$?
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    75
    if test "$mkdir_ret" -ne 0 && test ! -d "$libobjdir" ; then
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    76
	echo "$mkdir_out" 1>&2
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    77
        exit $mkdir_ret
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    78
    fi
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    79
fi
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    80
pic_object="$libobjdir/$objbase.o"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    81
args@<:@$objarg@:>@="$pic_object"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    82
__DOLTCOMPILE__EOF__
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    83
    cat <<__DOLTCOMPILE__EOF__ >>doltcompile
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    84
"\${args@<:@@@:>@}" $pic_options -DPIC || exit \$?
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    85
__DOLTCOMPILE__EOF__
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    86
    fi
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    87
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    88
dnl Write out static compilation code.
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    89
dnl Avoid duplicate compiler output if also building shared objects.
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    90
    if test x$enable_static = xyes; then
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    91
        cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    92
non_pic_object="$obj.o"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    93
args@<:@$objarg@:>@="$non_pic_object"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    94
__DOLTCOMPILE__EOF__
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    95
        if test x$enable_shared = xyes; then
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    96
            cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    97
"${args@<:@@@:>@}" >/dev/null 2>&1 || exit $?
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    98
__DOLTCOMPILE__EOF__
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
    99
        else
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   100
            cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   101
"${args@<:@@@:>@}" || exit $?
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   102
__DOLTCOMPILE__EOF__
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   103
        fi
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   104
    fi
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   105
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   106
dnl Write out the code to write the .lo file.
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   107
dnl The second line of the .lo file must match "^# Generated by .*libtool"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   108
    cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   109
{
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   110
echo "# $lo - a libtool object file"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   111
echo "# Generated by doltcompile, not libtool"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   112
__DOLTCOMPILE__EOF__
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   113
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   114
    if test x$enable_shared = xyes; then
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   115
        cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   116
echo "pic_object='.libs/${objbase}.o'"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   117
__DOLTCOMPILE__EOF__
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   118
    else
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   119
        cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   120
echo pic_object=none
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   121
__DOLTCOMPILE__EOF__
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   122
    fi
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   123
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   124
    if test x$enable_static = xyes; then
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   125
        cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   126
echo "non_pic_object='${objbase}.o'"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   127
__DOLTCOMPILE__EOF__
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   128
    else
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   129
        cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   130
echo non_pic_object=none
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   131
__DOLTCOMPILE__EOF__
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   132
    fi
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   133
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   134
    cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   135
} > "$lo"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   136
__DOLTCOMPILE__EOF__
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   137
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   138
dnl Done writing out doltcompile; substitute it for libtool compilation.
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   139
    chmod +x doltcompile
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   140
    LTCOMPILE='$(top_builddir)/doltcompile $(COMPILE)'
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   141
    LTCXXCOMPILE='$(top_builddir)/doltcompile $(CXXCOMPILE)'
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   142
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   143
dnl automake ignores LTCOMPILE and LTCXXCOMPILE when it has separate CFLAGS for
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   144
dnl a target, so write out a libtool wrapper to handle that case.
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   145
dnl Note that doltlibtool does not handle inferred tags or option arguments
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   146
dnl without '=', because automake does not use them.
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   147
    cat <<__DOLTLIBTOOL__EOF__ > doltlibtool
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   148
#!$DOLT_BASH
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   149
__DOLTLIBTOOL__EOF__
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   150
    cat <<'__DOLTLIBTOOL__EOF__' >>doltlibtool
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   151
top_builddir_slash="${0%%doltlibtool}"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   152
: ${top_builddir_slash:=./}
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   153
args=()
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   154
modeok=false
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   155
tagok=false
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   156
for arg in "$[]@"; do
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   157
    case "$arg" in
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   158
        --mode=compile) modeok=true ;;
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   159
        --tag=CC|--tag=CXX) tagok=true ;;
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   160
        *) args+=("$arg")
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   161
    esac
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   162
done
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   163
if $modeok && $tagok ; then
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   164
    . ${top_builddir_slash}doltcompile "${args@<:@@@:>@}"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   165
else
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   166
    exec ${top_builddir_slash}libtool "$[]@"
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   167
fi
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   168
__DOLTLIBTOOL__EOF__
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   169
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   170
dnl Done writing out doltlibtool; substitute it for libtool.
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   171
    chmod +x doltlibtool
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   172
    LIBTOOL='$(top_builddir)/doltlibtool'
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   173
fi
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   174
AC_SUBST(LTCOMPILE)
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   175
AC_SUBST(LTCXXCOMPILE)
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   176
# end dolt
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   177
])
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   178
bdc5234550d2 Added support for Dolt in the build process.
Mikael Hallendal <micke@imendio.com>
parents:
diff changeset
   179
DOLT