[Freeipa-devel] [PATCHES][SSSD] Convert SSSD build system to Automake

Stephen Gallagher sgallagh at redhat.com
Thu May 14 11:47:38 UTC 2009


On 05/14/2009 06:58 AM, Sumit Bose wrote:
> Sumit Bose schrieb:
>> Sumit Bose schrieb:
>>> Stephen Gallagher schrieb:
>>>> On 05/13/2009 07:56 AM, Stephen Gallagher wrote:
>>>>> On 05/12/2009 03:39 PM, Stephen Gallagher wrote:
>>>>>> ------------------------------------------------------------------------
>>>>>>
>>>>>> _______________________________________________
>>>>>> Freeipa-devel mailing list
>>>>>> Freeipa-devel at redhat.com
>>>>>> https://www.redhat.com/mailman/listinfo/freeipa-devel
>>>>> Updating patches. I forgot to remove the obsolete files server.mk and
>>>>> rules.mk.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>> _______________________________________________
>>>>> Freeipa-devel mailing list
>>>>> Freeipa-devel at redhat.com
>>>>> https://www.redhat.com/mailman/listinfo/freeipa-devel
>>>> One more try, this time fixing some whitespace mistakes as well.
>>>>
>>> It would be nice if the m4 file can be placed in a common subdirectory.
>>> Maybe even better if the libreplace m4 files can be read from the
>>> replace directory.
>>>
>>> The patch should update BUILD.txt and sssd.spec in the top level
>>> directory, too.
>>>
>>> Are you planning to migrate sss_client, too?
>>>
>> It was possible to call
>>
>> CFLAGS="-g -Wall -Wextra" make
>>
>>
>> to append options to CFLAGS without rerunning configure. Is there a
>> macro to enable this with autotools, too?
>>
> 
> yet another comment. This patch stores all *.o, *.lo, libs and binary
> files in the top level directory. Although 'make clean' removes them
> all, it would be much nicer if they are build in the directories of the
> source files.
> 
> bye,
> Sumit


I'll try to address all of your concerns:

1) I'm working on seeing if I can pull the m4 files into a subdirectory.
I'll release a new patch shortly, I hope.

2) Change the syntax to:
make CFLAGS="-g -Wall -Wextra"
(The variable substitution needs to follow the command in order to be
treated as a substitution in the Makefile)

3) As far as storing the .o files in the top level directory, this is
just how automake is doing it internally. However, one of the distinct
advantages to automake is the availability of parallel builds. E.g.
create a directory called x86_64, then run ../configure from that
directory. It will generate symlinks for the source files and headers,
etc. and then you can perform the build there. Cleanup is as simple as
rm -Rf x86_64.

In order to have them build individually from the subdirectories, I'd
need to set up a recursive automake to generate static libraries in each
of the directories, which is something I intentionally avoided, because
most of those object files need to be linked into the shared objects
such as the plugins. Linking static libraries into a shared object is
non-portable (and throws a noisy warning if you do it)


-- 
Stephen Gallagher
RHCE 804006346421761

Looking to carve out IT costs?
www.redhat.com/carveoutcosts/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3258 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20090514/9a13b13b/attachment.p7s>


More information about the Freeipa-devel mailing list