Hmm, maybe we should just require users to use --with-pic if they want to do shared libraries.
The other choice is to remove --with-pic completely and automatically look for pic flags ONLY if --with-shared is turned on? Both match our standards; BUT --with-pic is a pain to always have to type in and it would be rare that one wants --with-pic but not --with-shared Barry On Jul 16, 2010, at 9:09 PM, Satish Balay wrote: > The previous change to pic default had this comment. [And this change > must have been done form some other petsc-maint issue. And I keep > forgetting senarios/issues when this was done] > >>>>>> > 5a0c830b3a17 > -defaut pic=0 [shared=0] > - do pic check only when shared=1 or pic=1 > - special pic check for borland is removed - as its no longer required for > shared=0 [default] > <<<<< > > So the primary issue with default-pic=1 is: its contradictary to > default-shared=0. [and will be tempted to rectify this contradiction a > couple of years from now again] > > Satish > > On Fri, 16 Jul 2010, Barry Smith wrote: > >> >> Hmmm, I never use --with-pic=1 >> >> Why don't we just enable pic by default. Then if user does --with-pic=0 >> --with-shared we complain. Better than always required shared people to use >> --with-pic. People who don't want to use --with-pic are far and few between. > > >> >> Barry >> >> On Jul 16, 2010, at 8:39 PM, Satish Balay wrote: >> >>> On Fri, 16 Jul 2010, Barry Smith wrote: >>> >>>> >>>> I think Satish is right we should have >>>> >>>> --with-shared-libraries >>>> --with-dynamic-loading >>>> >>>> I haven't made this change but I've changed >>>> >>>> improved help message for --with-shared and --with-dynamic >>>> made --with-dynamic require --with-shared >>>> make --with-shared NOT allow --with-pic=0 >>> >>> Barry, >>> >>> With this change one has to always do the following for sharedlibs: >>> >>> --with-pic=1 --with-shared=1 >>> >>> and for dynamic libraries. >>> >>> --with-pic=1 --with-shared=1 --with-dynamic=1 >>> >>> Earlier behavior was for --with-pic to be implicitly enabled for >>> with-shared or with-dynamic. It would be good to retain the old >>> behavior. >>> >>> Part of the problem is: configure cannot distinguish between user >>> provided value vs configure default value - for any given option. So >>> we can't do both: >>> >>> * default-pic=disabled but autoenable if user provides --with-shared=1 >>> * if user provides '--with-pic=0 --with-shared=1' - flag as error. >>> >>> [I didn't remember this part - when I started this thread about this >>> issue. Looks like we should silently ignore --with-pic - when >>> --with-shared is enabled] >>> >>> Satish >>> >>> >>>> I'll change the option names in a little while >> >> >
