From: Florian J. <flo...@we...> - 2012-05-19 22:38:12
|
Am 19.05.2012 23:39, schrieb Orcan Ogetbil: > On Sat, May 19, 2012 at 4:08 PM, Robert Jonsson wrote: > >> Good evening Orcan, >> >> > Hello! > > >> 2012/5/19 Orcan Ogetbil<oge...@gm...>: >> >>> Hi all, >>> I managed to build muse with the llvm/clang compiler on Linux without >>> too much pain. Two source files needed minor modifications and I had >>> to modify some cmake files. The compiled binary works fine. >>> >>> One issue that I encountered was about the optimization flags. clang >>> whines when different optimization levels are used among different >>> files in the same project. Currently the cmake files >>> synti/organ/CMakeLists.txt (-O2) >>> synti/simpledrums2/CMakeLists.txt (-O6) >>> have optimization overrides over the top of the default compile flags. >>> Does anyone remember why these optimization overrides are there? Can >>> we remove them? >>> >> Simple drums is Mathias synth and I know for a fact that he runs >> systems that are, shall we say, behind the upgrade curve ;) Are you >> there mathias? >> I could not say for sure but it seems to me that the purpose is only >> to wring as much speed as possible from them. I can't think of another >> reason... meaning that it should be safe to align the optimization >> flags with the others. >> >> Then again... these two build synths which are built into their own >> libraries. Is it the .o files used when linking the .so that have >> different settings? >> >> > The situation is subtle. In the current setup the all.h header file > (and also the all-pic.h which is a copy of all.h) is being precompiled > as instructed in pch.txt. all.h is currently empty. > > Now, we compile each source file with a -include > ${PROJECT_BINARY_DIR}/all.h flag. Since the all.h was precompiled, the > compiler prefers to use the precompiled all.h.pch file when it sees > the above flag while compiling some other source file. And if the > source file you are compiling is being compiled with a different > optimization flag than all.h.pch, clang fails. > > Now there are a few solutions: > - Remove optimization overrides from organ and simpledrums2, as flo suggests > independent from this problem, i'd support that ;) > - Remove the -include ${PROJECT_BINARY_DIR}/all.h flag from > everywhere. Since it is empty for the time being, this is not a > problem. The question is, will it ever get populated? > what's that file for? how could it be used? > - Remove the -include ${PROJECT_BINARY_DIR}/all.h flag from organ and > simpledrums2 > nah, i don't like this. no special cases please ;). they only makes things complicated. > - Don't precompile all.h > can someone benchmark this? if not precompiling has no notable negative performance impact on the time consumed by make clean && make, then i'd not precompile it. greetings flo > I know this is really a silly situation, and all solutions are pretty > much practically equivalent. I just wanted to get your opinion. > > Thanks, > Orcan > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Lmuse-developer mailing list > Lmu...@li... > https://lists.sourceforge.net/lists/listinfo/lmuse-developer > > |