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