[Top][All Lists]
[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
From: |
Too, Justin A. |
Subject: |
bug#8599: upc (Unified Parallel C) support in automake (was: Re: AM_PROG_UPC) |
Date: |
Mon, 2 May 2011 12:18:34 -0700 |
User-agent: |
Microsoft-MacOutlook/14.2.0.101115 |
Hi Stefano
On 4/30/11 1:10 PM, "Stefano Lattarini" <address@hidden>
wrote:
>[adding automake and bug-automake lists]
>[follow-ups might drop autoconf list IMHO]
>[Reference:
><http://lists.gnu.org/archive/html/autoconf/2011-04/msg00072.html>]
>
>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
>>in
>> >>library
>> >> Š
>> >> $ 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?
>> >Yes.
>> >
>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
AM_PROG_UPC
fi
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
>
>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
>>clear
>> if they had a .upc extension:
>>
>> foo_la_SOURCES = \
>> main.c
>> test.c
>>
>> I want:
>>
>> foo_la_SOURCES = \
>> main.upc
>> test.upc
>>
>>
>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
>>
>>
>>https://idlebox.net/2009/apidocs/automake-1.11.zip/automake_18.html#SEC14
>>8
>>
>> So I'm assuming I can do this:
>>
>> .upc.o:
>> 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
>>up
>> 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:
>
>
><http://www.gnu.org/software/automake/manual/html_node/Unified-Parallel-C-
>Support.html>
>
>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).
>
>Regards,
> Stefano
- bug#8599: upc (Unified Parallel C) support in automake (was: Re: AM_PROG_UPC),
Too, Justin A. <=