Jeff Trawick wrote:
> 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.
>
When we use libtool to compile a module, it will use build time CFLAGS. 
Shouldn't the user be exposed to same set of flags while using 
apr-1-config/apu-1-config ?
Or are you suggesting that we change the libtool flags, too ?
>
>>
>>> 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.
>
Then, do you think we should change the 'Usage' text to highlight its 
usage while linking ?
------
When linking with libtool, an application should do something like:
  APR_LIBS="`apr-1-config --link-libtool --ldflags --libs`"
or when linking directly:
  APR_LIBS="`apr-1-config --link-ld --ldflags --libs`"
------


Thanks,
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
>
> _______________________________________________
>
>
> webstack-discuss mailing list
> webstack-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/webstack-discuss

Reply via email to