Brent Cook
51368394eb
Land #886 , add compat getopt implementation
2023-07-07 04:32:20 -05:00
Brent Cook
7463f87cf1
add compat getopt implementation, remove patches
...
This adds a getopt implementation for compatibility where it is not
available, removing a couple of regress patches.
Note, this is a slightly modified copy from OpenBSD libc that doesn't
expose getopt_long, which has dependency conflicts with Windows system
headers and isn't needed anyway.
2023-07-07 12:11:20 +03:00
Brent Cook
afcd4be8a7
change socket / file descriptor checks on windows
...
based on discussion in https://github.com/libressl/portable/issues/266
and https://bugs.python.org/issue23524 adjust the compat layer for
Windows to use _get_osfhandle in combination with
_set_thread_local_invalid_parameter_handler if applicable to more
reliably determine if a handle is a socket, file, or closed socket.
This prevents assertions when calling tls_close on an already-closed
socket.
2023-07-06 20:32:34 +03:00
Brent Cook
2203c13d25
make cross compilation possible on macOS with CMake
...
Sync CMAKE_SYSTEM_PROCESSOR to CMAKE_OSX_ARCHITECTURES. This doesn't
support universal binaries, but does allow cross-compiling for a single
architecture by setting -DCMAKE_OSX_ARCHITECTURES=(arm64|x86_64)
2023-07-04 12:36:57 +03:00
Brent Cook
419fbd6fba
fix asm on x86_64 macos
2023-05-26 21:51:56 -05:00
Theo Buehler
94763de52b
Disable assembly on macos for now
2023-04-25 12:43:20 +02:00
Brent Cook
ab214b5696
handle i?86 for 32-bit CMake builds
2023-02-27 07:26:07 -06:00
Brent Cook
b0310cb34e
set CMAKE_SYSTEM_PROCESSOR when cross compiling
...
handle x86 as option for 32-bit x86 on Windows
2023-02-27 05:48:23 -06:00
Brent Cook
a0a6e7bd07
reenable aarch64 asm for macos
2023-02-25 10:35:21 -06:00
Brent Cook
a498c6a7c9
only disable asm on aarch64 for now, enable for other archs
2023-02-23 08:31:31 -06:00
Brent Cook
4bcb537aa8
generally disable asm for now
2023-02-21 01:39:35 -06:00
Brent Cook
5a695723ab
disable BN ASM for aarch64 for now (fails tests)
2023-02-21 01:13:08 -06:00
Brent Cook
8fc30eca61
generate and include arch-specific headers for CMake builds
2023-02-21 00:25:04 -06:00
Jiajie Chen
ef2d6c70da
Detect machine/endian.h for macOS
2022-07-12 22:29:39 +08:00
kinichiro
9a18f4247e
Add libmd as platform specific libraries for Solaris
2022-01-17 19:04:23 +09:00
Brent Cook
549ead1f94
adjust cmake check to include dependencies for netinet/ip.h
2021-11-30 10:58:12 -06:00
kinichiro
870a1ebbc2
Build static library for regression tests when shared build with CMake
2021-11-27 20:57:14 +09:00
Brent Cook
2ac3d32ec5
Update CMake for new header checks
2021-11-09 23:04:29 -06:00
Brent Cook
b3b087416c
Land #694 , Add the option for Apple-style xcframework libraries
2021-11-09 07:08:46 -06:00
Tobias Heider
2d853ecfc3
Don't install pkgconfig if ENABLE_LIBRESSL_INSTALL is disabled.
2021-11-06 23:31:26 +01:00
Cameron Lowell Palmer
6318b4ec48
Add the option to support an Apple-style xcframework for tls, ssl, and crypto
2021-10-15 17:58:58 +02:00
Tobias Heider
7072a55b80
Add -DHAVE_GNU_STACK on ELF platforms to enable non-executable
...
stack annotations for the GNU toolchain.
2021-07-20 18:19:47 +02:00
kinichiro
b25111c22d
Fix UWP build
...
- Do not set _WIN32_WINNT to enable VirtualAllocFromApp
- Disable tlstest since SetHandleInformation is not supported on UWP
2021-05-29 20:55:50 +09:00
Paweł Wegner
21ab73316f
cmake: tweak for clang-cl
...
This change allows libressl to be built with clang-cl.
2021-05-18 16:39:39 +02:00
kinichiro
4c56df46de
Statically link libcrypto/ssl into libtls with cmake
2021-05-07 20:31:22 +09:00
Brent Cook
921c0675a2
Add '--enable-libtls-only' build option
2021-04-07 07:51:45 -05:00
Brent Cook
df3d4bb57a
Add -lbcrypt to Windows builds for CNG in getentropy
2020-11-11 05:39:56 -06:00
Samuel Marks
12a400c90d
[CMakeLists.txt] Move project
below cmake_minimum_required
; fix indentation in its if
/else
block; [tap-driver.sh] Copyright line update (was automatic with ./autogen.sh
)
2020-05-23 17:16:04 +10:00
kinichiro
740488d89e
Fix cmake build to enable masm with VS2019
...
To specify architecture Visual Studio 16 2019 requires -A option,
and it is stored in variable CMAKE_GENERATOR_PLATFORM.
Until Visual Studio 15 2017, architecture was indicated as part of
generator string (e.g. "Visual Studio 15 2017 Win64")
2020-05-09 20:24:27 +09:00
Brent Cook
012014df35
more MSVC build/test tweaks
2020-05-01 08:31:11 -05:00
Brent Cook
13159a59e1
make cmake version bump conditional on MSVC
2020-05-01 04:34:48 -05:00
Brent Cook
1c3377bac0
bump cmake and appveyor build environment
2020-05-01 04:09:57 -05:00
OJ
4d07b727d2
Force use of 3.15.7
2020-04-20 20:28:48 +10:00
OJ
79fb34a90b
Add support for use of static MSVC runtimes
...
In certain contexts LibreSSL needs to be built with `/MT` instead of `/MD` for inclusion in other projects. These changes allow for the command-line option `USE_STATIC_MSVC_RUNTIMES` to be set to `ON` if the use wishes to generate projects that will build with static runtimes.
This feature requires CMAKE version 3.15+, hence the minimum required version has changed as well.
2020-04-15 13:12:31 +10:00
Matthew Albrecht
a4338ca124
Check for existing uninstall target before creating.
2019-09-20 15:15:11 -05:00
kinichiro
30e91bc6d2
Enable speed on win32
...
- Use thread and sleep instead of signal and alarm, on win32
- Disable -multi option on win32 since fork is hard to implement
2019-07-14 19:45:34 +09:00
kinichiro
389145ed42
Fix illegal pkg-config file generated
2019-07-09 20:56:17 +09:00
Brent Cook
0e8b7c1ef9
remove comments and unify fixups
2019-06-10 06:49:34 -05:00
kinichiro
bbb662b69c
Fix masm build
...
- Fix masm operators and comments
- Add -DOPENSSL_NO_ASM only if not 64 bit build
- Add -DCMAKE_INSTALL_PREFIX to avoid build error
2019-06-10 06:49:34 -05:00
Stephan Vedder
c6f8ca2bc6
Enable masm compilation under windows
2019-06-10 06:49:34 -05:00
Brent Cook
535246269d
add __dead__ annotation support
2019-02-09 09:09:36 -06:00
Brent Cook
5269dbb279
update cmake
2019-01-31 13:56:56 -06:00
Brent Cook
495a1b6316
more masm fixes, but disable for now
2019-01-21 20:15:30 -06:00
Brent Cook
1b2e3576e0
a couple of fixes to get MSVC Win64 going again
2019-01-21 15:26:32 -06:00
Brent Cook
6c6b58f610
use generator to determine if we're building 64-bit code on Windows
2019-01-21 11:19:11 -06:00
Brent Cook
64d9c5d678
fixes to build asm on MSVS
2019-01-21 05:24:11 -06:00
Brent Cook
f553a9fe63
consider masm/mingw assembly flavors from cmake
2019-01-20 21:18:34 -06:00
Brent Cook
7af3ba340d
add configure-time check for timespecsub
2019-01-06 15:47:55 -06:00
Brent Cook
c23f745179
add some defines for building Mingw cross-compiled with CMake
2019-01-02 05:37:35 -06:00
tux3
8fee85b013
Fix CMake not finding getpagesize for Android 19
2018-12-14 14:38:35 +01:00