On 7 February 2009 Mark Hindess wrote: > Perhaps we should make use.libstdc++6=true the default? Or maybe even try > a little harder to make a better guess at the default with a patch like > the one appended?
Hmm it is not this easy. The library libstdc++ belongs to gcc, and its location depends on gcc version (gcc may be even installed in a non-standard location). Guessing it is not easy without configure script. Here's what I get when I execute "locate libstdc++.so.6" on Gentoo Linux: /usr/lib64/gcc/x86_64-pc-linux-gnu/3.4.6/32/libstdc++.so.6 /usr/lib64/gcc/x86_64-pc-linux-gnu/3.4.6/32/libstdc++.so.6.0.3 /usr/lib64/gcc/x86_64-pc-linux-gnu/3.4.6/libstdc++.so.6 /usr/lib64/gcc/x86_64-pc-linux-gnu/3.4.6/libstdc++.so.6.0.3 /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/32/libstdc++.so.6 /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/32/libstdc++.so.6.0.8 /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libstdc++.so.6 /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libstdc++.so.6.0.8 The naming of path like "x86_64-pc-linux-gnu" is very platform dependent as well. Someone might even want to use Intel compiler to build Harmony, I recall icc used to work at some point of time and produced quite an optimized code. > Index: working_classlib/make/properties.xml > =================================================================== > --- working_classlib/make/properties.xml (revision 741852) > +++ working_classlib/make/properties.xml (working copy) > @@ -313,6 +313,12 @@ > </condition> > <property name="hy.portlib.stubs" value="false" /> > > + <condition property="use.libstdc++6" value="true"> > + <and> > + <isset property="is.linux" /> > + <available file="/usr/lib/libstdc++.so.6" type="file" /> > + </and> > + </condition> > <condition property="hy.libstdc++.suffix" value=".libstdc++6"> > <isset property="use.libstdc++6"/> > </condition> > Index: common_resources/make/properties.xml > =================================================================== > --- common_resources/make/properties.xml (revision 741852) > +++ common_resources/make/properties.xml (working copy) > @@ -69,6 +69,12 @@ > <property name="hy.test.timeout" value="900000" /> > <property name="hy.test.vmargs" value="" /> > > + <condition property="use.libstdc++6" value="true"> > + <and> > + <isset property="is.linux" /> > + <available file="/usr/lib/libstdc++.so.6" type="file" /> > + </and> > + </condition> > <condition property="hy.platform.suffix" value=".libstdc++6"> > <isset property="use.libstdc++6"/> > </condition> -- Gregory
