autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: using autoconf to create build scripts for Assembly language program


From: Basin Ilya
Subject: Re: using autoconf to create build scripts for Assembly language programs
Date: Fri, 8 Jun 2018 16:18:59 +0300
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0

Apparently, add:

    LINK = $(LD) $(RAWLDFLAGS) -o $@


On 08.06.2018 15:24, mallapadi niranjan wrote:
> On Fri, Jun 8, 2018 at 1:06 PM, Basin Ilya <address@hidden> wrote:
> 
>> It might be late, but if you ever want to use /usr/bin/as, here's what you
>> need to change:
>>
>> - In AM_INIT_AUTOMAKE add '-Wno-override' after '-Wall' to allow override
>> Automake rules:
>>
>>     AM_INIT_AUTOMAKE([-Wall -Wno-override -Werror])
>>
>> - In Makefile.am add the custom rule:
>>
>>     .s.o:
>>         $(AS) $(ASFLAGS) -o $@ $<
>>
>> - Don't use AM_CCASFLAGS.
>>
> 
> 
> Thanks that did help, but for linker it still uses gcc , can we override
> that too to use /usr/bin/ld , ?
> 
> bin_PROGRAMS = hello
> hello_SOURCES = hello.s
> ASFLAGS = -gstabs+
> hello_LDFLAGS=-nostdlib -lgcc -Wl,-e_start
> 
> .s.o:
>         $(AS) $(ASFLAGS) -o $@ $<
> 
> 
> output of make after the above changes:
> 
> <snip>
> address@hidden foobar]$ make
> make  all-am
> make[1]: Entering directory
> `/home/ashok/practice/ia32/myasm/autotools/foobar'
> as -gstabs+  -o hello.o hello.s
> gcc  -g -O2 -nostdlib -lgcc -Wl,-e_start  -o hello hello.o
> make[1]: Leaving directory
> `/home/ashok/practice/ia32/myasm/autotools/foobar'
> </snip>
> 
> 
> 
>>
>>
>> On 07.06.2018 21:16, mallapadi niranjan wrote:
>>> On Thu, Jun 7, 2018 at 10:03 PM, Eric Blake <address@hidden> wrote:
>>>
>>>> On 06/07/2018 11:23 AM, mallapadi niranjan wrote:
>>>>
>>>>> Thanks for the reply, that did help  a bit but  was not able to remove
>> the
>>>>>>
>>>>> -c option
>>>>>
>>>>> I passed./configure CCAS=/usr/bin/as CFLAGS=''
>>>>>
>>>>>
>>>>>   address@hidden foobar]$ make
>>>>> make  all-am
>>>>> make[1]: Entering directory
>>>>> `/home/ashok/practice/ia32/myasm/autotools/foobar'
>>>>> /usr/bin/as --gstabs+  -c -o hello.o hello.s
>>>>>
>>>>
>>>> The automake documentation states that when you use AM_PROG_AS, your
>>>> assembler MUST behave like a C compiler, in that it MUST accept -c and
>> -o.
>>>> If /usr/bin/as does not accept -c, then you'll have to provide a
>>>> shell-script wrapper that adds that functionality on top of
>> /usr/bin/as, at
>>>> least according to the automake documentation.
>>>>
>>>> But again, the autoconf list is not the best list to be asking this;
>>>> you'll (hopefully) get better response on the automake list, since it
>> is an
>>>> automake feature you are trying to use.
>>>
>>>
>>> I was able to resolve it now using gcc itself instead of /usr/binas to
>>> compile and link the assembler  using below method
>>>
>>> Makefile.am
>>>
>>> bin_PROGRAMS = hello
>>> hello_SOURCES = hello.s
>>> hello_LDFLAGS=-nostdlib -lgcc -Wl,-e_start
>>>
>>>
>>>
>>>
>>>>
>>>>
>>>> --
>>>> Eric Blake, Principal Software Engineer
>>>> Red Hat, Inc.           +1-919-301-3266
>>>> Virtualization:  qemu.org | libvirt.org
>>>>
>>> _______________________________________________
>>> Autoconf mailing list
>>> address@hidden
>>> https://lists.gnu.org/mailman/listinfo/autoconf
>>>
>>
> _______________________________________________
> Autoconf mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/autoconf
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]