Merge branch 'maint'
[platform/upstream/automake.git] / m4 / ar-lib.m4
1 ##                                                          -*- Autoconf -*-
2 # Copyright (C) 2011-2012 Free Software Foundation, Inc.
3 #
4 # This file is free software; the Free Software Foundation
5 # gives unlimited permission to copy and/or distribute it,
6 # with or without modifications, as long as this notice is preserved.
7
8 # AM_PROG_AR([ACT-IF-FAIL])
9 # -------------------------
10 # Try to determine the archiver interface, and trigger the ar-lib wrapper
11 # if it is needed.  If the detection of archiver interface fails, run
12 # ACT-IF-FAIL (default is to abort configure with a proper error message).
13 AC_DEFUN([AM_PROG_AR],
14 [AC_BEFORE([$0], [LT_INIT])dnl
15 AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl
16 AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
17 AC_REQUIRE_AUX_FILE([ar-lib])dnl
18 AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false])
19 : ${AR=ar}
20
21 AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
22   [am_cv_ar_interface=ar
23    AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
24      [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
25       AC_TRY_EVAL([am_ar_try])
26       if test "$ac_status" -eq 0; then
27         am_cv_ar_interface=ar
28       else
29         am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
30         AC_TRY_EVAL([am_ar_try])
31         if test "$ac_status" -eq 0; then
32           am_cv_ar_interface=lib
33         else
34           am_cv_ar_interface=unknown
35         fi
36       fi
37       rm -f conftest.lib libconftest.a
38      ])
39    ])
40
41 case $am_cv_ar_interface in
42 ar)
43   ;;
44 lib)
45   # Microsoft lib, so override with the ar-lib wrapper script.
46   # FIXME: It is wrong to rewrite AR.
47   # But if we don't then we get into trouble of one sort or another.
48   # A longer-term fix would be to have automake use am__AR in this case,
49   # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
50   # similar.
51   AR="$am_aux_dir/ar-lib $AR"
52   ;;
53 unknown)
54   m4_default([$1],
55              [AC_MSG_ERROR([could not determine $AR interface])])
56   ;;
57 esac
58 AC_SUBST([AR])dnl
59 ])