[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#8599: upc (Unified Parallel C) support in automake (was: Re: AM_PROG
Too, Justin A.
bug#8599: upc (Unified Parallel C) support in automake (was: Re: AM_PROG_UPC)
Mon, 2 May 2011 12:18:34 -0700
On 4/30/11 1:10 PM, "Stefano Lattarini" <address@hidden>
>[adding automake and bug-automake lists]
>[follow-ups might drop autoconf list IMHO]
>Hello Justin and Ralf, and sorry for the delay.
>On Saturday 30 April 2011, Justin wrote:
>> On 4/29/11 8:57 PM, "Ralf Corsepius" <address@hidden> wrote:
>> >On 04/30/2011 01:16 AM, Too, Justin A. wrote:
>> >> Hi all,
>> >> In my configure.ac I simply invoke: AC_PROG_UPC
>> >> Š
>> >> $ aclocal Š
>> >> aclocal:configure.ac:12: warning: macro `AM_PROG_UPC' not found
>> >> Š
>> >> $ autoconf
>> >> Configure.ac:12: error: possibly undefined macro: AM_PROG_UPC
>> >> If this token and others are legitimate, please use m4patternallow.
>> >> See the Autoconf documentation.
>> >> Is this a non-standard macro?
>No, it's not (well, it shouldn't be). It is defined in the file
>`upc.m4' provided by automake. Thus the failure above, if not due
>to some misconfiguration or user error, is an automake bug.
Sorry, the problem was not critical. It turns out that my system
installation of Automake is 1.9, but /usr/share/aclocal/upc.m4 did not
exist. I've got 'upc.m4' in place now so it seems to make it pass
'aclocal' and 'automake' now.
I've got another somewhat related issue, and that is: how can I
conditionally use the macro AM_PROG_UPC? Most users won't have UPC in
their path so I'd like to only check for UPC if the user configures
explicitly with UPC. If I wrap the macro call like so:
if test "xwith_upc" = "xyes" ; then
I get "configure: error: conditional "am__fastdepUPC" was never defined.
Usually this means the macro was only invoked conditionally.". In the
configure script, it looks like UPC-related code is generated outside of
my if..fi block in addition to inside of the block.
Thanks for the advise,
>Justin, could you please provide more details about the failure you
>encountered? What system are you on? Which automake version are you
>using? What is the content of your configure.ac and Makefile.am files?
>And everything else you think might be useful.
>> >[Apart of this, AM_PROG_UPC violates auto*tools naming conventions;
>> >AM_*/AM_* prefixed macros are reserved for autoconf rsp. automake.]
>> >> Then, how can I add UPC support to my Autotools project?
>> >Non-standard macros need to be supplied by either the package itself or
>> >by other packages.
>> >There are several ways to do so, so answering your question would
>> >require knowing more details about the package you are trying to build.
>> Currently, I'm setting my upc file extensions to .c so that they will
>> compile without complaint from Automake, however it's obviously more
>> if they had a .upc extension:
>> foo_la_SOURCES = \
>> I want:
>> foo_la_SOURCES = \
>Well, this should be supported out of the box with Automake (there is
>even a testcase about this in the automake testsuite)... Have you really
>tried it? Does it fail for you? If yes, what is the error?
>> I found this documentation:
>> 18.2 Handling new file extensions
>> So I'm assuming I can do this:
>> upcc -c -o $@ $<
>> But this would have to be in every Makefile.am where I'd want to compile
>> UPC. Also, I would have to do a lot of configure checking and setting
>> myself so that I can use $(UPC) as the compiler in my rule, check that
>> upc/upcc is available, etc. The AM_PROG_UPC macro seemed like the most
>> convenient method.
>You might take a look at this documentation instead:
>Admittedly, it is sketchy and suboptimal, and could benefit from some
>extensions and examples. I will probably write patch sooner or later
>if nobody beats me (but I hope somebody will do, since I know nothing
>about UPC and doesn't have it available for testing).
- bug#8599: upc (Unified Parallel C) support in automake (was: Re: AM_PROG_UPC),
Too, Justin A. <=