-
Notifications
You must be signed in to change notification settings - Fork 557
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GCC 10 and Makefile fixes #267
Conversation
The Makefile changes are already PR #263. (Further Makefile breakage to use environment variables first is unnecessary — even though bwa has no configure script — as your recipe would use |
most build environments export The changes in PR #263 are good, but I'd like to see |
@jmarshall also, thanks for your kind words on Twitter, pretty rich coming from someone who can't write a build system that builds out of source, or write portable Makefiles, or just plain Autoconf, which you seem to be advocating, yet can't seem to get right yourself (:wave: samtools/htslib@3472494#diff-67e997bcfdac55191033d57a16d1408a). |
That htslib commit fixed a minor bug introduced by someone else. I suggest you keep any discussion here on topic for bwa. |
@jmarshall & @SoapGentoo I wonder if Makefile in minimap2 solves the problem. If so, I may change bwa makefile to the minimap2 way. |
@lh3 that Makefile is fine as well, as it doesn't explicitly set the |
* GCC 10 defaults to `-fno-common`, which makes C behave more like C++ in that you can only ever have one definition of an object per executable.
@lh3 I've dropped the Makefile changes, could you merge the GCC 10 fix? |
Thanks. |
fix bwa make with compiler option picking from lh3/bwa#267
fix bwa make with compiler option picking from lh3/bwa#267
picking from lh3/bwa#267
picking from lh3/bwa#267
Hi @lh3,
This PR includes a patch for the upcoming GCC 10, which imports C++'s ODR rule to C too.
I've also fixed the Makefile a bit so we don't have to patch it downstream.
CC
andAR
don't need to be defined,make
will usecc
andgcc
in their place. By omitting the definition, we don't have to hack the Makefile because we exportCC
andAR
to the environment, which Make looks for before using the fallbacks.