Seema Alevoor wrote:
>
>
> On 02/24/09 21:22, Jeff Trawick wrote:
>> Seema Alevoor wrote:
>>>
>>>
>>> On 02/24/09 06:29, Jeff Trawick wrote:
>>>> Seema Alevoor wrote:
>>>>> Please review the webrev at http://cr.opensolaris.org/~seema/6782613/
>>>>>
>>>>> Main changes:
>>>>> * --cflags includes CFLAGS and EXTRA_CFLAGS
>>>>> * --link-ld and --link-libtool options includes --ldflags option 
>>>>> value.
>>>>>
>>>> These all sound like APR fixes, and not issues with our 
>>>> integration. Is that right? What was broken? I just see the 
>>>> -m32/-m64 issue in the CR.
>>>>
>>> Evaluation has details about why --ldflags change was necessary.
>>>
>>>> I understand that --cflags without the user-specified CFLAGS broke 
>>>> with 64-bit builds, and I've posted to dev at apr asking about the 
>>>> history (it is a hindrance people have put up with for too long).
>>
>> According to a highly esteemed APR colleague, the usual solution for 
>> 64-bit builds, and ABI issues in general, is to include such flags in 
>> CC.  CFLAGS may include flags not appropriate to pass on to 
>> applications.  I've tweaked my personal Apache/APR build scripts to 
>> move "-m64" from CFLAGS to CC, and can avoid the ugly "apxs -Wl,-m64 
>> -Wc,-m64 ..." hack, and apr-1-config output looks good too.
>>
>> For our build we own all these settings and can determine whether we 
>> only include items in CFLAGS that can be passed on to applications so 
>> the choice isn't absolutely critical, but it would be great to follow 
>> the normal path.
>>
> For our builds, common flags are defined in the master makefile and 
> they are all
> part of CFLAGS variable.

Okay, so we clearly have to do something out of the ordinary.

I'd rather see us edit the --cc value in apr-1-config to match a 
recommended APR build than extend the meaning of --cflags/--cppflags in 
both apr-1-config and apu-1-config.


>
>> If for some reason CC can't include -m64/-m32 because of our own 
>> build requirements, it could be patched into apr-1-config's CC in 
>> lieu of the existing patch for CFLAGS and CPPFLAGS.
>>
>>>>
>>>> Why should --link-ld and --link-libtool include the --ldflags value 
>>>> too?
>>>>
>>> This is related to CR 6772796.
>>
>> I'd expect that the user needs to call "apr-1-config --ldflags" 
>> themselves when putting together the command-line.
>>
> I think more common usage is to call "apu-1-config --link-(libtool | 
> ld) --libs" .
> It could be because of the Usage text.

I didn't mean "--ldflags" instead of "--link-(libtool | ld) --libs"; I 
meant in addition to.  The variables have different meanings.  The help 
output shows building a list of required libraries via "apu-1-config 
--link-(libtool | ld) --libs".  It also says the application should use 
the --ldflags value too.

>
>> --link-ld and --link-libtool specify the arguments for referring to 
>> the library, for when ld is used directly or for when libtool is used.
>>
>> I'm having trouble reproducing that Solaris 10 CR.  I would think 
>> that /usr/sfw/lib/libexpat would be in the default search path.  
>
> It will not be in the system default search path.
>
>> "apr-1-config --ldflags" is empty anyway (using the GA build on 
>> Solaris 10 or 2008.11).
>
> "apu-1-config --ldflags" on S10 has /usr/sfw/lib
> On OpenSolaris, it will be empty. But earlier, even on OpenSolaris, 
> some dependent libs were in /usr/sfw/lib.

Oops, I was checking apr-1-config instead of apu-1-config; I now follow 
you with how implicitly adding the --ldflags will make a difference with 
apu-1-config; I just don't think it is appropriate, since the 
application's build process is supposed to query --ldflags on its own.

>
>
> Regards,
> Seema.
>
>>> Why is the following change needed? (add -L$libdir if apr-1-config
>>>> hasn't been installed to its usual place)
>>>
>>> When the command "apr-1-config --link-ld --libs" is run from the 
>>> proto area, it should not
>>> include the runpath value as it points to the proto area.
>>> This is similar to the --link-libtool change.
>>>
>>> Thanks,
>>> Seema.
>>>
>>>>
>>>> ++        if test -n "$install_root"; then
>>>> ++            flags="$flags -L$libdir -l${APR_LIBNAME}"
>>>> ++        else
>>>> ++            flags="$flags -L$libdir -R$libdir -l${APR_LIBNAME}"
>>>> ++        fi
>>
>> _______________________________________________
>>
>>
>> webstack-discuss mailing list
>> webstack-discuss at opensolaris.org
>> http://mail.opensolaris.org/mailman/listinfo/webstack-discuss


Reply via email to