SONAME clarification

Benjamin Lindner lindnerben at gmx.net
Mon Feb 2 14:20:17 CST 2009



Benjamin Lindner wrote:
>>
>> In the end, I decided to go with three separate prefixes to go along
>> with the three separate types of suffixes we have:
>>
>>   LIBPRE     LIBEXT
>>   SHLLIBPRE  SHLLIB and SHLLIB_VER
>>   SHLBINPRE  SHLBIN and SHLBIN_VER
>>
>> and checked in the following changeset:
>>
>>   http://hg.savannah.gnu.org/hgweb/octave/rev/f8b3ece45bda
>>
>> If this is not the right thing to do for some platform(s), then please
>> submit patches relative to the current sources from the Mercurial
>> archive.  For example, I'm not sure how SHLEXT and SHLEXT_VER fit into
>> this arrangement, and whether there should also be a prefix variable
>> corresponding to those variables.
>>
> 
> May I suggest that we please use *separate* case statements for separate 
> build archictectures, if the overlap is not significant.
> 
> Truly, cygwin and mingw now show to be different enough to justify 
> separate treatment. Aside from completely different naming conventions, 
> in the mingw case I also need additional flags, since mkoctfile and 
> octave-config are compiled executables and not shell scripts - which is 
> *not* the case for cygwin.
> 
> Keeping mingw and cygwin separate here, changes due to architecture 
> affect only the architecture in question - keep it independent, this 
> makes maintaining much easier for both cygwin and mingw
> 
> I see an immediate bug now, as the
>   library_path_var=PATH
> statement is missing for the mingw case (I guess cygwin will also need 
> this)
> 
> Also I miss the three statements
>     CPICFLAG=
>     CXXPICFLAG=
>     FPICFLAG=
> for mingw target (code compiled with mingw in inherently PI, so it is 
> not required to add -fPIC, as the resulting gcc warning tells).
> 
> Also I don't understand the meaning of SHLBIN. What is it supposed to 
> mean? A search through the source code shows no targets containing 
> SHLBIN? A short comment in configure.in would I guess be very helpful 
> for those who are not familiar with all the makefile conventions in full 
> depth.
> 
> Sorry for making such a noise here, but this changeset gives me a bit of 
> a headache tracking down what has changed for mingw platform, because of 
> modifications orinigally intended for the cygwin platform...
> 
> I am perfectly willing to provide changesets here, but I feel I do no 
> longer understand the code...
> 

Ok, here's a try for a changeset

It separates cygwin and mingw targets in the switch/case chain, and adds 
the appropriate variables for the mingw target.
The reasons I vote for separation of targets are again:
  *) different naming scheme for libraries
  *) compiled versions of mkoctfile and octave-config for the mingw target
  *) possible future addition of support for shared libgcc/libstdc++ for 
mingw target

These distinctions would otherwise lead to nested if-then-else checks 
which are IMO harder to read and maintain.

benjamin
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: separate-cygwin-mingw-configure.patch
Url: https://www-old.cae.wisc.edu/pipermail/octave-maintainers/attachments/20090202/e6a5a621/attachment.ksh 


More information about the Octave-maintainers mailing list