Hi, On Wed, Apr 19, 2017 at 03:13:37PM +0200, Mojca Miklavec wrote: > I just had some back-and-forth conversation about problems related to > config.guess [1] (link is not too relevant). They sent me this link > which might be more relevant: [2], arguing that one should probably > use: > CC="clang -arch i386" > rather than > CC=clang > CFLAGS="-arch i386" > LDFLAGS="-arch i386" > > And some conversation with xwWidgets developers [3] which also > suggested me to use: > CXX="clang -stdlib=libc++" > rather than fighting with: > CXXFLAGS="-stdlib=libc++" > LDFLAGS="-stdlib=libc++"
While I agree in general, I think CMake will not accept flags as argument for -DCMAKE_C_COMPILER and -DCMAKE_CXX_COMPILER, which makes the separation necessary in any case, unless you want to wrap it in a script. > The thing is that a lot of these failures happen when developers don't > put too much attention into consistently respecting all flags. Some > don't respect the compiler, but that's easier to spot, easier to argue > about and much easier to test on any given 10.12 box. Testing for > correct stdlib flags is left to weirdos still running the ancient > boxes and includes a lot of effort in making sure that upstream fixes > the problems. But no matter how much effort goes into this, there will > still be a huge number of packages forgetting to add all the CXXFLAGS > to their autoconf setup or to their manually crafted makefiles. Homebrew has the option to wrap their compiler in a script for this reason. They even sanitize the options passed to that compiler to match the ones they expect. If you have time, give it a shot and see what breaks (and what doesn't). -- Clemens
