[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Library creation command
From: |
Paul Thomas |
Subject: |
Re: Library creation command |
Date: |
Thu, 24 Oct 2002 14:07:28 -0600 |
Matthias Dietrich wrote:
> Unfortunately we run into a big problem. Automake assumes
> that a library is built by calling "ar cru" and at least
> one of our machine has a toolset where "ar" is not
> available. We have another tool to build a library, it's not
> called "ar" and it doesn't take "cru" as arguments.
>
> Just to give you a little more information: this machine is
> an embedded system on which we cannot run the compiler,
> linker, etc. We need to cross compile from another workstation.
> On this workstation a local "ar" is available but it breaks
> the object files for our embedded system. So I really need to
> use the platform-specific tool to build libraries.
>
> I found that replacing "ar" is possible by inserting
> AC_SUBST(AR) into the configure.in file and then setting
> AR to my tool. But the "cru" parameters seem to be hardcoded
> into automake.
> I am quite surprised about the "ar" command. It
> seems almost every possible tool involved in a build process
> can be defined (CC,LD,CPP,CXX, etc.) but not AR. It is even
> possible to redefine AR on a per-library basis using the
> _AR variables, but why not having the ability to redefine AR
> globally with the appropriate arguments ?
I ran into the same issue and I agree that AR and AR_FLAGS
should be configurable. I have been able to achieve this with
the following patches (line numbers from automake 1.7.1):
source path: automake.in
installed path: bin/automake (automake-1.x)
3278c3278
< &define_variable ($xlib . '_AR', '$(AR) cru');
---
> &define_variable ($xlib . '_AR', '$(AR) $(AR_FLAGS)');
source path: m4/init.m4
installed path: share/aclocal-1.x/init.m4
82a83,93
> # Use AR and AR_FLAGS as defined by configure
> # (set to 'ar' and 'cru' by default)
> if test -z "$AR"; then
> AR=ar
> fi
> if test -z "$AR_FLAGS"; then
> AR_FLAGS=cru
> fi
> AC_SUBST([AR])dnl
> AC_SUBST([AR_FLAGS])dnl
>
source path: lib/am/libs.am
installed path: share/automake-1.x/ams/libs.am
25c25,26
< AR = ar
---
> AR = @AR@
> AR_FLAGS = @AR_FLAGS@
I strongly recommend that these patches (or similar ones) be included in
automake.
Thanks,
Paul Thomas