Skip to content

Commit 7e7431c

Browse files
authored
update to version 4.0.0 (#34)
1 parent bb06c73 commit 7e7431c

File tree

690 files changed

+19546
-45561
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

690 files changed

+19546
-45561
lines changed

CMakeLists.txt

+46-48
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ if(MSVC)
33
cmake_policy(SET CMP0091 NEW)
44
endif()
55

6-
project (LibreSSL C ASM)
6+
project(LibreSSL LANGUAGES C ASM)
77

88
include(CheckFunctionExists)
99
include(CheckSymbolExists)
@@ -200,37 +200,42 @@ else()
200200
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
201201
endif()
202202

203+
# XXX - needs _GNU_SOURCE on linux
203204
check_function_exists(asprintf HAVE_ASPRINTF)
204205
if(HAVE_ASPRINTF)
205206
add_definitions(-DHAVE_ASPRINTF)
206207
endif()
207208

208-
check_function_exists(getopt HAVE_GETOPT)
209+
check_symbol_exists(getopt "unistd.h" HAVE_GETOPT)
209210
if(HAVE_GETOPT)
210211
add_definitions(-DHAVE_GETOPT)
211212
endif()
212213

213-
check_function_exists(reallocarray HAVE_REALLOCARRAY)
214+
check_symbol_exists(reallocarray "stdlib.h" HAVE_REALLOCARRAY)
214215
if(HAVE_REALLOCARRAY)
215216
add_definitions(-DHAVE_REALLOCARRAY)
216217
endif()
217218

219+
# XXX strcasecmp() is in strings.h which isn't available everywhere
218220
check_function_exists(strcasecmp HAVE_STRCASECMP)
219221
if(HAVE_STRCASECMP)
220222
add_definitions(-DHAVE_STRCASECMP)
221223
endif()
222224

223-
check_function_exists(strlcat HAVE_STRLCAT)
224-
if(HAVE_STRLCAT)
225-
add_definitions(-DHAVE_STRLCAT)
226-
endif()
225+
# Emscripten's strlcat and strlcpy triggers ASAN errors
226+
if(NOT EMSCRIPTEN)
227+
check_symbol_exists(strlcat "string.h" HAVE_STRLCAT)
228+
if(HAVE_STRLCAT)
229+
add_definitions(-DHAVE_STRLCAT)
230+
endif()
227231

228-
check_function_exists(strlcpy HAVE_STRLCPY)
229-
if(HAVE_STRLCPY)
230-
add_definitions(-DHAVE_STRLCPY)
232+
check_symbol_exists(strlcpy "string.h" HAVE_STRLCPY)
233+
if(HAVE_STRLCPY)
234+
add_definitions(-DHAVE_STRLCPY)
235+
endif()
231236
endif()
232237

233-
check_function_exists(strndup HAVE_STRNDUP)
238+
check_symbol_exists(strndup "string.h" HAVE_STRNDUP)
234239
if(HAVE_STRNDUP)
235240
add_definitions(-DHAVE_STRNDUP)
236241
endif()
@@ -239,67 +244,64 @@ if(WIN32)
239244
set(HAVE_STRNLEN true)
240245
add_definitions(-DHAVE_STRNLEN)
241246
else()
242-
check_function_exists(strnlen HAVE_STRNLEN)
247+
check_symbol_exists(strnlen "string.h" HAVE_STRNLEN)
243248
if(HAVE_STRNLEN)
244249
add_definitions(-DHAVE_STRNLEN)
245250
endif()
246251
endif()
247252

248-
check_function_exists(strsep HAVE_STRSEP)
253+
check_symbol_exists(strsep "string.h" HAVE_STRSEP)
249254
if(HAVE_STRSEP)
250255
add_definitions(-DHAVE_STRSEP)
251256
endif()
252257

253-
check_function_exists(strtonum HAVE_STRTONUM)
258+
check_symbol_exists(strtonum "stdlib.h" HAVE_STRTONUM)
254259
if(HAVE_STRTONUM)
255260
add_definitions(-DHAVE_STRTONUM)
256261
endif()
257262

258-
check_function_exists(timegm HAVE_TIMEGM)
259-
if(HAVE_TIMEGM)
260-
add_definitions(-DHAVE_TIMEGM)
261-
endif()
262-
263-
check_function_exists(arc4random_buf HAVE_ARC4RANDOM_BUF)
263+
check_symbol_exists(arc4random_buf "stdlib.h" HAVE_ARC4RANDOM_BUF)
264264
if(HAVE_ARC4RANDOM_BUF)
265265
add_definitions(-DHAVE_ARC4RANDOM_BUF)
266266
endif()
267267

268-
check_function_exists(arc4random_uniform HAVE_ARC4RANDOM_UNIFORM)
268+
check_symbol_exists(arc4random_uniform "stdlib.h" HAVE_ARC4RANDOM_UNIFORM)
269269
if(HAVE_ARC4RANDOM_UNIFORM)
270270
add_definitions(-DHAVE_ARC4RANDOM_UNIFORM)
271271
endif()
272272

273-
check_function_exists(explicit_bzero HAVE_EXPLICIT_BZERO)
273+
check_symbol_exists(explicit_bzero "string.h" HAVE_EXPLICIT_BZERO)
274274
if(HAVE_EXPLICIT_BZERO)
275275
add_definitions(-DHAVE_EXPLICIT_BZERO)
276276
endif()
277277

278-
check_function_exists(getauxval HAVE_GETAUXVAL)
278+
check_symbol_exists(getauxval "sys/auxv.h" HAVE_GETAUXVAL)
279279
if(HAVE_GETAUXVAL)
280280
add_definitions(-DHAVE_GETAUXVAL)
281281
endif()
282282

283+
# XXX macos fails to find getentropy with check_symbol_exists()
283284
check_function_exists(getentropy HAVE_GETENTROPY)
284285
if(HAVE_GETENTROPY)
285286
add_definitions(-DHAVE_GETENTROPY)
286287
endif()
287288

288-
check_symbol_exists(getpagesize unistd.h HAVE_GETPAGESIZE)
289+
check_symbol_exists(getpagesize "unistd.h" HAVE_GETPAGESIZE)
289290
if(HAVE_GETPAGESIZE)
290291
add_definitions(-DHAVE_GETPAGESIZE)
291292
endif()
292293

293-
check_function_exists(getprogname HAVE_GETPROGNAME)
294+
check_symbol_exists(getprogname "stdlib.h" HAVE_GETPROGNAME)
294295
if(HAVE_GETPROGNAME)
295296
add_definitions(-DHAVE_GETPROGNAME)
296297
endif()
297298

298-
check_function_exists(syslog_r HAVE_SYSLOG_R)
299+
check_symbol_exists(syslog_r "syslog.h;stdarg.h" HAVE_SYSLOG_R)
299300
if(HAVE_SYSLOG_R)
300301
add_definitions(-DHAVE_SYSLOG_R)
301302
endif()
302303

304+
# XXX - needs _GNU_SOURCE on linux
303305
check_function_exists(syslog HAVE_SYSLOG)
304306
if(HAVE_SYSLOG)
305307
add_definitions(-DHAVE_SYSLOG)
@@ -310,16 +312,17 @@ if(HAVE_TIMESPECSUB)
310312
add_definitions(-DHAVE_TIMESPECSUB)
311313
endif()
312314

313-
check_function_exists(timingsafe_bcmp HAVE_TIMINGSAFE_BCMP)
315+
check_symbol_exists(timingsafe_bcmp "string.h" HAVE_TIMINGSAFE_BCMP)
314316
if(HAVE_TIMINGSAFE_BCMP)
315317
add_definitions(-DHAVE_TIMINGSAFE_BCMP)
316318
endif()
317319

318-
check_function_exists(timingsafe_memcmp HAVE_TIMINGSAFE_MEMCMP)
320+
check_symbol_exists(timingsafe_memcmp "string.h" HAVE_TIMINGSAFE_MEMCMP)
319321
if(HAVE_TIMINGSAFE_MEMCMP)
320322
add_definitions(-DHAVE_TIMINGSAFE_MEMCMP)
321323
endif()
322324

325+
# XXX - needs _GNU_SOURCE on linux
323326
check_function_exists(memmem HAVE_MEMMEM)
324327
if(HAVE_MEMMEM)
325328
add_definitions(-DHAVE_MEMMEM)
@@ -375,7 +378,7 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "mips")
375378
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc")
376379
set(HOST_POWERPC true)
377380
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64")
378-
set(HOST_PPC64 true)
381+
set(HOST_POWERPC64 true)
379382
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64")
380383
set(HOST_RISCV64 true)
381384
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "sparc64")
@@ -386,21 +389,20 @@ endif()
386389

387390
if(ENABLE_ASM)
388391
if(CMAKE_C_COMPILER_ABI STREQUAL "ELF")
389-
if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|amd64)")
392+
if(HOST_X86_64)
390393
set(HOST_ASM_ELF_X86_64 true)
391-
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm" AND
392-
NOT CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
394+
elseif(HOST_ARM)
393395
set(HOST_ASM_ELF_ARMV4 true)
394-
elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND CMAKE_SYSTEM_PROCESSOR MATCHES "i386")
396+
elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND HOST_I386)
395397
set(HOST_ASM_ELF_X86_64 true)
396398
endif()
397399
add_definitions(-DHAVE_GNU_STACK)
398-
elseif(APPLE AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
400+
elseif(APPLE AND HOST_X86_64)
399401
set(HOST_ASM_MACOSX_X86_64 true)
400402
elseif(MSVC AND (CMAKE_GENERATOR MATCHES "Win64" OR CMAKE_GENERATOR_PLATFORM STREQUAL "x64"))
401403
set(HOST_ASM_MASM_X86_64 true)
402404
ENABLE_LANGUAGE(ASM_MASM)
403-
elseif(MINGW AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
405+
elseif(MINGW AND HOST_X86_64)
404406
set(HOST_ASM_MINGW64_X86_64 true)
405407
endif()
406408
endif()
@@ -509,15 +511,13 @@ if(ENABLE_LIBRESSL_INSTALL)
509511
"${CMAKE_CURRENT_BINARY_DIR}/LibreSSLConfigVersion.cmake"
510512
DESTINATION "${LIBRESSL_INSTALL_CMAKEDIR}"
511513
)
512-
endif()
513514

514-
if(ENABLE_LIBRESSL_INSTALL)
515515
if(NOT MSVC)
516516
# Create pkgconfig files.
517517
set(prefix ${CMAKE_INSTALL_PREFIX})
518518
set(exec_prefix \${prefix})
519519
set(libdir \${exec_prefix}/${CMAKE_INSTALL_LIBDIR})
520-
set(includedir \${prefix}/include)
520+
set(includedir \${prefix}/${CMAKE_INSTALL_INCLUDEDIR})
521521
if(PLATFORM_LIBS)
522522
string(REGEX REPLACE ";" " -l" PLATFORM_LDADD ";${PLATFORM_LIBS}")
523523
endif()
@@ -530,19 +530,17 @@ if(ENABLE_LIBRESSL_INSTALL)
530530
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig
531531
DESTINATION ${CMAKE_INSTALL_LIBDIR})
532532
endif()
533-
endif(ENABLE_LIBRESSL_INSTALL)
534533

535-
if(ENABLE_LIBRESSL_INSTALL)
536534
install(FILES cert.pem openssl.cnf x509v3.cnf DESTINATION ${CONF_DIR})
537535
install(DIRECTORY DESTINATION ${CONF_DIR}/certs)
538-
endif(ENABLE_LIBRESSL_INSTALL)
539536

540-
if(NOT TARGET uninstall)
541-
configure_file(
542-
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
543-
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
544-
IMMEDIATE @ONLY)
537+
if(NOT TARGET uninstall)
538+
configure_file(
539+
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
540+
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
541+
IMMEDIATE @ONLY)
545542

546-
add_custom_target(uninstall
547-
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
543+
add_custom_target(uninstall
544+
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
545+
endif()
548546
endif()

0 commit comments

Comments
 (0)