-
Notifications
You must be signed in to change notification settings - Fork 632
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
Fix for #2885 #2893
Fix for #2885 #2893
Conversation
…2885 This commit fixes universal-ctags#2885 which is caused by use custom AX_PROG_CC_FOR_BUILD aclocal macro which does not honor $CC abd other env varuiables. With that simplification packcc binary is compiled and linked ans non installeable program with only standard AC_PROG_CC macro. It simplifirs as well automake by building packcc as noinst_PROGRAMS, and because that custon clean-local targert can be removed as well.
After run autoupdate from autoconf 2.71 it removes using AC_PROG_CC_C99 as obsoleted macro -AC_PROG_CC_C99 +m4_warn([obsolete], +[AC_PROG_CC_C99 is obsolete; use AC_PROG_CC +])dnl +AC_REQUIRE(AC_PROG_CC) After clean above left comment this patch only removes using AC_PROG_CC_C99.
Codecov Report
@@ Coverage Diff @@
## master #2893 +/- ##
=======================================
Coverage 87.09% 87.09%
=======================================
Files 194 194
Lines 44403 44403
=======================================
Hits 38674 38674
Misses 5729 5729 Continue to review full report at Codecov.
|
|
bin_PROGRAMS = ctags | ||
noinst_LIBRARIES = libctags.a | ||
|
||
noinst_PROGRAMS = | ||
noinst_PROGRAMS = packcc | ||
noinst_PROGRAMS += mini-geany | ||
|
||
if HAVE_STRNLEN_FOR_BUILD | ||
EXTRA_CPPFLAGS_FOR_BUILD = -DUSE_SYSTEM_STRNLEN |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We must pass this flag when building packcc.
We can use packcc_CFLAGS.
AC_PROG_RANLIB | ||
AC_C_BIGENDIAN | ||
|
||
# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html | ||
AX_PROG_CC_FOR_BUILD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was introduced in #2747 to fix the cross-compilation failure.
Removing this will break it again, I think.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with you. Why the circle-ci doesn't report the failure of the cross-compilation.
Removing AC_PROG_CC_C99 breaks the builds on older systems. |
I just remembered that we used |
BTW, Is there a way to trigger circle-ci forcedly? |
Maybe it fixes crosscompilation but it breaks normal build as well when LTO and autoconf 2.71 are used. I would suggest to repeat crosscompilation with autoconf 2.71. In other words whoever will try to use LTO will bounce with that issue. |
As I wrote I'm using now autoconf 2.71 and if yopu will try to run |
We cannot accept the change breaking the cross-compilation feature and the support for OpenBSD. Please, submit a pull request that can pass all test cases on the all CI/CD environment. If you say LTO is more important than the cross-compilation feature and the support for OpenBSD, please show how it improves the performance of ctags. You can use https://github.com/univrsal-ctags/coebase. If LTO improves the performance much, we have to consider the way to introduce LTO without breaking the cross-compilation feature and the support for OpenBSD. |
I understand that. |
You mentioned LTO. Did you set $CFLAGS or something to enable LTO? |
I got the same question. |
Yes.
|
This PR fixes #2885.
It also removes using AC_PROG_CC_C99 as autoupdate from autoconf 2.71 suggests.