Skip to content
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

Remove march=native support from Configure. #1555

Merged
merged 1 commit into from
Aug 20, 2023

Conversation

Dead2
Copy link
Member

@Dead2 Dead2 commented Aug 12, 2023

This removes the partially broken march=native support from Configure.
CMake will still support this mode of compilation.

Compiling like this is an edge-case, and it is non-trivial to test, support and maintain with a codebase that supports many arch specific optimizations like ours. Removing this from Configure makes Configure simpler and easier to maintain, while letting us spend more effort on improving support in CMake.

@Dead2 Dead2 added the cleanup Improving maintainability or removing code. label Aug 12, 2023
@codecov
Copy link

codecov bot commented Aug 12, 2023

Codecov Report

Patch coverage has no change and project coverage change: +0.01% 🎉

Comparison is base (73bbb54) 83.87% compared to head (6756728) 83.89%.
Report is 2 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1555      +/-   ##
===========================================
+ Coverage    83.87%   83.89%   +0.01%     
===========================================
  Files          132      132              
  Lines        10843    10843              
  Branches      2801     2801              
===========================================
+ Hits          9095     9097       +2     
+ Misses        1049     1047       -2     
  Partials       699      699              
Flag Coverage Δ
macos_clang 42.97% <ø> (ø)
macos_gcc 73.61% <ø> (ø)
ubuntu_clang 82.50% <ø> (ø)
ubuntu_clang_debug 82.14% <ø> (ø)
ubuntu_clang_inflate_allow_invalid_dist 82.15% <ø> (ø)
ubuntu_clang_inflate_strict 83.52% <ø> (+1.02%) ⬆️
ubuntu_clang_mmap 82.82% <ø> (ø)
ubuntu_clang_pigz 13.96% <ø> (+0.05%) ⬆️
ubuntu_clang_pigz_no_optim 11.51% <ø> (ø)
ubuntu_clang_pigz_no_threads 13.78% <ø> (+0.05%) ⬆️
ubuntu_clang_reduced_mem 82.90% <ø> (ø)
ubuntu_clang_toolchain_riscv ∅ <ø> (∅)
ubuntu_gcc 75.98% <ø> (+0.74%) ⬆️
ubuntu_gcc_aarch64 77.40% <ø> (ø)
ubuntu_gcc_aarch64_compat_no_opt 75.65% <ø> (ø)
ubuntu_gcc_aarch64_no_acle 76.16% <ø> (ø)
ubuntu_gcc_aarch64_no_neon 76.16% <ø> (ø)
ubuntu_gcc_armhf 77.47% <ø> (ø)
ubuntu_gcc_armhf_compat_no_opt 75.62% <ø> (ø)
ubuntu_gcc_armhf_no_acle 77.42% <ø> (ø)
ubuntu_gcc_armhf_no_neon 77.32% <ø> (ø)
ubuntu_gcc_armsf 74.65% <ø> (ø)
ubuntu_gcc_armsf_compat_no_opt 74.09% <ø> (ø)
ubuntu_gcc_benchmark 73.82% <ø> (+0.24%) ⬆️
ubuntu_gcc_compat_no_opt 76.85% <ø> (ø)
ubuntu_gcc_compat_sprefix 73.57% <ø> (-0.16%) ⬇️
ubuntu_gcc_m32 73.81% <ø> (+0.42%) ⬆️
ubuntu_gcc_mingw_i686 73.50% <ø> (-0.16%) ⬇️
ubuntu_gcc_mingw_x86_64 73.51% <ø> (ø)
ubuntu_gcc_mips 74.97% <ø> (ø)
ubuntu_gcc_mips64 74.98% <ø> (ø)
ubuntu_gcc_no_avx2 74.28% <ø> (ø)
ubuntu_gcc_no_ctz 74.65% <ø> (ø)
ubuntu_gcc_no_ctzll 74.64% <ø> (ø)
ubuntu_gcc_no_pclmulqdq 74.28% <ø> (ø)
ubuntu_gcc_no_sse2 74.48% <ø> (ø)
ubuntu_gcc_no_sse42 74.94% <ø> (+0.21%) ⬆️
ubuntu_gcc_o1 74.18% <ø> (+0.05%) ⬆️
ubuntu_gcc_osb ∅ <ø> (∅)
ubuntu_gcc_pigz 38.17% <ø> (+0.02%) ⬆️
ubuntu_gcc_pigz_aarch64 39.11% <ø> (ø)
ubuntu_gcc_ppc 73.92% <ø> (ø)
ubuntu_gcc_ppc64 74.36% <ø> (ø)
ubuntu_gcc_ppc64_power9 74.53% <ø> (ø)
ubuntu_gcc_ppc64le 74.43% <ø> (ø)
ubuntu_gcc_ppc64le_novsx 74.75% <ø> (ø)
ubuntu_gcc_ppc64le_power9 74.31% <ø> (ø)
ubuntu_gcc_ppc_no_power8 74.63% <ø> (ø)
ubuntu_gcc_s390x 74.80% <ø> (ø)
ubuntu_gcc_s390x_dfltcc 71.92% <ø> (ø)
ubuntu_gcc_s390x_dfltcc_compat 73.98% <ø> (ø)
ubuntu_gcc_s390x_no_crc32 74.59% <ø> (ø)
ubuntu_gcc_sparc64 74.79% <ø> (ø)
ubuntu_gcc_sprefix 73.40% <ø> (ø)
win64_gcc 74.40% <ø> (+0.45%) ⬆️
win64_gcc_compat_no_opt 74.71% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

see 4 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@nmoinvaz
Copy link
Member

I don't have any problems with it. As you know I have been in favor of removing configure and nmake for a long time. 😆

Remove pkgcheck comparison of march=native builds between CMake and Configure.
@mtl1979
Copy link
Collaborator

mtl1979 commented Aug 14, 2023

Makes absolutely no sense at all to remove features from configure script if we are going to remove whole configure script soon... Essentially we break testing "native" CMake build on CI.

It makes more sense to make one big patch for the next major version that removes comparing CMake and configure builds and at the same time removes whole configure script.

@Dead2
Copy link
Member Author

Dead2 commented Aug 14, 2023

@mtl1979 We are not removing configure script..

@mtl1979
Copy link
Collaborator

mtl1979 commented Aug 14, 2023

@mtl1979 We are not removing configure script..

Good as my Linux still has "too old" CMake version...

@nmoinvaz
Copy link
Member

@mtl1979 time to upgrade. Stop living in the past. 🤣

@mtl1979
Copy link
Collaborator

mtl1979 commented Aug 14, 2023

@mtl1979 time to upgrade. Stop living in the past. 🤣

Can't upgrade work PC used for building binaries... Have to use oldest possible Linux version so it's compatible with all available releases... Can't use gcc 7 or later due to issue while compiling binaries that cause off by 8 in pointers. As everyone knows, gcc developers are more interested in making new releases than fixing bugs in existing ones.

@Dead2 Dead2 changed the title RFC: Remove march=native support from Configure. Remove march=native support from Configure. Aug 17, 2023
@Dead2 Dead2 merged commit 0cb2b37 into develop Aug 20, 2023
264 checks passed
@haampie
Copy link
Contributor

haampie commented Aug 29, 2023

I would not remove the configure script, it only complicates bootstrapping. For example cmake needs zlib & curl, curl needs zlib & openssl, openssl needs zlib & perl (as build dep), perl needs zlib.

@Dead2 Dead2 deleted the remove-configure-arch-native branch September 5, 2023 12:29
@Dead2 Dead2 mentioned this pull request Oct 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cleanup Improving maintainability or removing code.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants