diff m4/gnulib-common.m4 @ 15482:74bf515b04ad

Add support for Minix with ACK compiler. * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro. * gnulib-tool (func_import, func_create_testdir): Emit invocation of gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
author Bruno Haible <bruno@clisp.org>
date Sun, 31 Jul 2011 16:44:55 +0200
parents 7b889c2a4a01
children 687a4f77c0f3
line wrap: on
line diff
--- a/m4/gnulib-common.m4	Sun Jul 31 14:31:24 2011 +0200
+++ b/m4/gnulib-common.m4	Sun Jul 31 16:44:55 2011 +0200
@@ -1,4 +1,4 @@
-# gnulib-common.m4 serial 28
+# gnulib-common.m4 serial 29
 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -211,6 +211,35 @@
 [m4_define([AS_VAR_IF],
 [AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])])
 
+# gl_PROG_AR_RANLIB
+# Determines the values for AR, ARFLAGS, RANLIB that fit with the compiler.
+AC_DEFUN([gl_PROG_AR_RANLIB],
+[
+  dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler
+  dnl as "cc", and GCC as "gcc". They have different object file formats and
+  dnl library formats. In particular, the GNU binutils programs ar, ranlib
+  dnl produce libraries that work only with gcc, not with cc.
+  AC_REQUIRE([AC_PROG_CC])
+  AC_EGREP_CPP([Amsterdam],
+    [
+#ifdef __ACK__
+Amsterdam
+#endif
+    ],
+    [AR='cc -c.a'
+     ARFLAGS='-o'
+     RANLIB=':'
+    ],
+    [dnl Use the Automake-documented default values for AR and ARFLAGS.
+     AR='ar'
+     ARFLAGS='cru'
+     dnl Use the ranlib program if it is available.
+     AC_PROG_RANLIB
+    ])
+  AC_SUBST([AR])
+  AC_SUBST([ARFLAGS])
+])
+
 # AC_PROG_MKDIR_P
 # is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix
 # for interoperability with automake-1.9.6 from autoconf-2.62.