On 2/15/06, Brandon J. Van Every <[EMAIL PROTECTED]> wrote: > Brandon J. Van Every wrote: > > In vcbuild.bat, chicken.dll, chicken_gui.dll, and uchicken.dll are > > compiled with both /DC_NO_PIC_NO_DLL and /DPIC. That strikes me as > > wrong, or at least error prone if it doesn't actually harm anything. > > Or are these not mutually exclusive flags? In that case, I could use > > a crash course in what they really mean. > Ok, back in MinGW land, now *libchicken.dll* has the bazillion > C_temporary_stack errors etc. Previously it was only libuchicken.dll. > When building shared vs. static libraries, I've been using [PIC | > C_NO_PIC_NO_DLL]. Is this wrong? It seems that vcbuild.bat uses > [(C_NO_PIC_NO_DLL & PIC) | C_NO_PIC_NO_DLL]. It's 3 am and I really > don't get it. Why use C_NO_PIC_NO_DLL for everything? Is it a legacy > issue, an OS or compiler specific issue...? >
C_NO_PIC_NO_DLL tells the compiler that if no PIC is defined, then the code should not be compiled in DLL mode. Yes, it's somewhat awkward, and partly a bit of legacy. But getting dll building right on UNIX and Windows (msvc, mingw32, cygwin) is something that's not trivial and I'm more than happy that this whole mess is mostly working (I don't know about the state of affairs on Windows, yet. You report a lot of problems that I will try to figure out what's exactly going wrong here, but the best idea is to leave those flags in place). cheers, felix _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
