-
Notifications
You must be signed in to change notification settings - Fork 51
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge #36: A few improvements to prepare for subtree in Bitcoin Core
1e96b67 Improve MinGW building (Pieter Wuille) 67a67c2 Hide non-API library symbols (Pieter Wuille) 281f811 Add MSVC CountBits implementation using _BitScanReverse (Pieter Wuille) b21917d Work around clmul msan bug in clang < 11 (Pieter Wuille) 1261e9e CPUID support on MSVC (Pieter Wuille) ec49c07 A few fixes to prepare for MSVC building (Pieter Wuille) Pull request description: This includes various build system and compatibility improvements discovered in the process of subtreeing this into Bitcoin Core (see bitcoin/bitcoin#21859). * A few compatibility issues suggested [here](bitcoin/bitcoin#21859 (comment)) by sipsorcery. * Support for __builtin_clz equivalent on MSVC * Support for CPUID detection on MSVC * Prevent internal symbols from being exported * Make old MinGW CI work (-all-static instead of -static needed). ACKs for top commit: gmaxwell: utACK 1e96b67 (I also tested it, but not with mingw or msvc, so it doesn't count) Tree-SHA512: 83d457f39940ba9b6161a45181a8fb8853b793355eac61b7327f48c03e4261fadf06e7b05668e2f138236e520530ec2fd5ddff68afeccad3e4a3d3f184c5e25e
- Loading branch information
Showing
8 changed files
with
167 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# =========================================================================== | ||
# https://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html | ||
# =========================================================================== | ||
# | ||
# SYNOPSIS | ||
# | ||
# AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) | ||
# | ||
# DESCRIPTION | ||
# | ||
# Check whether the given FLAG works with the linker or gives an error. | ||
# (Warnings, however, are ignored) | ||
# | ||
# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on | ||
# success/failure. | ||
# | ||
# If EXTRA-FLAGS is defined, it is added to the linker's default flags | ||
# when the check is done. The check is thus made with the flags: "LDFLAGS | ||
# EXTRA-FLAGS FLAG". This can for example be used to force the linker to | ||
# issue an error when a bad flag is given. | ||
# | ||
# INPUT gives an alternative input source to AC_LINK_IFELSE. | ||
# | ||
# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this | ||
# macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG. | ||
# | ||
# LICENSE | ||
# | ||
# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de> | ||
# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com> | ||
# | ||
# Copying and distribution of this file, with or without modification, are | ||
# permitted in any medium without royalty provided the copyright notice | ||
# and this notice are preserved. This file is offered as-is, without any | ||
# warranty. | ||
|
||
#serial 6 | ||
|
||
AC_DEFUN([AX_CHECK_LINK_FLAG], | ||
[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF | ||
AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl | ||
AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [ | ||
ax_check_save_flags=$LDFLAGS | ||
LDFLAGS="$LDFLAGS $4 $1" | ||
AC_LINK_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], | ||
[AS_VAR_SET(CACHEVAR,[yes])], | ||
[AS_VAR_SET(CACHEVAR,[no])]) | ||
LDFLAGS=$ax_check_save_flags]) | ||
AS_VAR_IF(CACHEVAR,yes, | ||
[m4_default([$2], :)], | ||
[m4_default([$3], :)]) | ||
AS_VAR_POPDEF([CACHEVAR])dnl | ||
])dnl AX_CHECK_LINK_FLAGS |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.