Merge branch 'micro' into maint
[platform/upstream/automake.git] / m4 / ar-lib.m4
1 ##                                                          -*- Autoconf -*-
2 # Copyright (C) 2011-2013 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   [AC_LANG_PUSH([C])
23    am_cv_ar_interface=ar
24    AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
25      [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
26       AC_TRY_EVAL([am_ar_try])
27       if test "$ac_status" -eq 0; then
28         am_cv_ar_interface=ar
29       else
30         am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
31         AC_TRY_EVAL([am_ar_try])
32         if test "$ac_status" -eq 0; then
33           am_cv_ar_interface=lib
34         else
35           am_cv_ar_interface=unknown
36         fi
37       fi
38       rm -f conftest.lib libconftest.a
39      ])
40    AC_LANG_POP([C])])
41
42 case $am_cv_ar_interface in
43 ar)
44   ;;
45 lib)
46   # Microsoft lib, so override with the ar-lib wrapper script.
47   # FIXME: It is wrong to rewrite AR.
48   # But if we don't then we get into trouble of one sort or another.
49   # A longer-term fix would be to have automake use am__AR in this case,
50   # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
51   # similar.
52   AR="$am_aux_dir/ar-lib $AR"
53   ;;
54 unknown)
55   m4_default([$1],
56              [AC_MSG_ERROR([could not determine $AR interface])])
57   ;;
58 esac
59 AC_SUBST([AR])dnl
60 ])