Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
MariaDB and MySQL Packaging Team
mariadb-5.5
Commits
9f8aec7a
Commit
9f8aec7a
authored
Apr 22, 2016
by
Otto Kekäläinen
Browse files
Merge tag 'upstream/5.5.49' into ubuntu-14.04
Upstream version 5.5.49
parents
516ad142
d97fe3f6
Changes
249
Show whitespace changes
Inline
Side-by-side
.gitignore
View file @
9f8aec7a
...
...
@@ -61,6 +61,9 @@ include/mysql_version.h
include/mysqld_ername.h
include/mysqld_error.h
include/sql_state.h
include/probes_mysql.d
include/probes_mysql_dtrace.h
include/probes_mysql_nodtrace.h
info_macros.cmake
libmysql*/libmysql*_exports_file.cc
libmysql*/merge_archives_mysql*.cmake
...
...
Docs/INFO_SRC
View file @
9f8aec7a
commit:
d67aacb4fbb449ffa8db4e3d70fe8756d62b5222
date: 201
5-12-09 17:11:55
+0
1
00
build-date: 201
5-12-09 18:22:49
+0
1
00
short:
d67aacb
commit:
0991e19e9d38f7475390276c0557c2390e4d93c9
date: 201
6-04-20 20:25:46
+0
2
00
build-date: 201
6-04-20 22:44:41
+0
2
00
short:
0991e19e
branch: HEAD
MySQL source 5.5.4
7
MySQL source 5.5.4
9
VERSION
View file @
9f8aec7a
MYSQL_VERSION_MAJOR=5
MYSQL_VERSION_MINOR=5
MYSQL_VERSION_PATCH=4
7
MYSQL_VERSION_PATCH=4
9
MYSQL_VERSION_EXTRA=
client/client_priv.h
View file @
9f8aec7a
/*
Copyright (c) 2001, 2012, Oracle and/or its affiliates.
Copyright (c) 2009, 2016, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
client/mysql.cc
View file @
9f8aec7a
/*
Copyright (c) 2000, 2014, Oracle and/or its affiliates.
Copyright (c) 2009, 201
4
, M
onty Program Ab.
Copyright (c) 2009, 201
6
, M
ariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -95,9 +95,16 @@ extern "C" {
#endif
}
#if !defined(HAVE_VIDATTR)
#undef vidattr
#define vidattr(A) {} // Can't get this to work
#ifdef HAVE_VIDATTR
static
int
have_curses
=
0
;
static
void
my_vidattr
(
chtype
attrs
)
{
if
(
have_curses
)
vidattr
(
attrs
);
}
#else
#undef HAVE_SETUPTERM
#define my_vidattr(A) {} // Can't get this to work
#endif
#ifdef FN_NO_CASE_SENSE
...
...
@@ -1107,7 +1114,7 @@ inline int get_command_index(char cmd_char)
All client-specific commands are in the first part of commands array
and have a function to implement it.
*/
for
(
uint
i
=
0
;
*
commands
[
i
].
func
;
i
++
)
for
(
uint
i
=
0
;
commands
[
i
].
func
;
i
++
)
if
(
commands
[
i
].
cmd_char
==
cmd_char
)
return
i
;
return
-
1
;
...
...
@@ -4726,9 +4733,9 @@ com_status(String *buffer __attribute__((unused)),
if
(
skip_updates
)
{
vidattr
(
A_BOLD
);
my_
vidattr
(
A_BOLD
);
tee_fprintf
(
stdout
,
"
\n
All updates ignored to this database
\n
"
);
vidattr
(
A_NORMAL
);
my_
vidattr
(
A_NORMAL
);
}
#ifdef USE_POPEN
tee_fprintf
(
stdout
,
"Current pager:
\t\t
%s
\n
"
,
pager
);
...
...
@@ -4796,9 +4803,9 @@ com_status(String *buffer __attribute__((unused)),
}
if
(
safe_updates
)
{
vidattr
(
A_BOLD
);
my_
vidattr
(
A_BOLD
);
tee_fprintf
(
stdout
,
"
\n
Note that you are running in safe_update_mode:
\n
"
);
vidattr
(
A_NORMAL
);
my_
vidattr
(
A_NORMAL
);
tee_fprintf
(
stdout
,
"\
UPDATEs and DELETEs that don't use a key in the WHERE clause are not allowed.
\n
\
(One can force an UPDATE/DELETE by adding LIMIT # at the end of the command.)
\n
\
...
...
@@ -4891,9 +4898,10 @@ put_info(const char *str,INFO_TYPE info_type, uint error, const char *sqlstate)
{
if
(
!
inited
)
{
int
errret
;
inited
=
1
;
#ifdef HAVE_SETUPTERM
(
void
)
setupterm
((
char
*
)
0
,
1
,
(
int
*
)
0
)
;
have_curses
=
setupterm
((
char
*
)
0
,
1
,
&
errret
)
!=
ERR
;
#endif
}
if
(
info_type
==
INFO_ERROR
)
...
...
@@ -4906,7 +4914,7 @@ put_info(const char *str,INFO_TYPE info_type, uint error, const char *sqlstate)
putchar
(
'\a'
);
/* This should make a bell */
#endif
}
vidattr
(
A_STANDOUT
);
my_
vidattr
(
A_STANDOUT
);
if
(
error
)
{
if
(
sqlstate
)
...
...
@@ -4925,9 +4933,9 @@ put_info(const char *str,INFO_TYPE info_type, uint error, const char *sqlstate)
tee_fputs
(
": "
,
file
);
}
else
vidattr
(
A_BOLD
);
my_
vidattr
(
A_BOLD
);
(
void
)
tee_puts
(
str
,
file
);
vidattr
(
A_NORMAL
);
my_
vidattr
(
A_NORMAL
);
}
if
(
unbuffered
)
fflush
(
file
);
...
...
client/mysql_upgrade.c
View file @
9f8aec7a
/*
Copyright (c) 2006, 2013, Oracle and/or its affiliates.
Copyright (c) 2010, 201
5
, MariaDB
Copyright (c) 2010, 201
6
, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -182,6 +182,7 @@ static const char *load_default_groups[]=
static
void
free_used_memory
(
void
)
{
/* Free memory allocated by 'load_defaults' */
if
(
defaults_argv
)
free_defaults
(
defaults_argv
);
dynstr_free
(
&
ds_args
);
...
...
@@ -1051,16 +1052,11 @@ int main(int argc, char **argv)
/* Find mysql */
find_tool
(
mysql_path
,
IF_WIN
(
"mysql.exe"
,
"mysql"
),
self_name
);
if
(
!
opt_systables_only
)
{
/* Find mysqlcheck */
find_tool
(
mysqlcheck_path
,
IF_WIN
(
"mysqlcheck.exe"
,
"mysqlcheck"
),
self_name
);
}
else
{
if
(
!
opt_silent
)
printf
(
"The --upgrade-system-tables option was used, databases won't be touched.
\n
"
);
}
if
(
opt_systables_only
&&
!
opt_silent
)
printf
(
"The --upgrade-system-tables option was used, user tables won't be touched.
\n
"
);
/*
Read the mysql_upgrade_info file to check if mysql_upgrade
...
...
client/mysqladmin.cc
View file @
9f8aec7a
/*
Copyright (c) 2000, 2014, Oracle and/or its affiliates.
Copyright (c) 2010, 201
4
, Monty Program Ab.
Copyright (c) 2010, 201
6
, Monty Program Ab.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
client/mysqlcheck.c
View file @
9f8aec7a
/*
Copyright (c) 2001, 2011, Oracle and/or its affiliates.
Copyright (c) 2010, 201
5
, MariaDB
Copyright (c) 2010, 201
6
, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -512,7 +512,6 @@ static int is_view(const char *table)
{
fprintf
(
stderr
,
"Failed to %s
\n
"
,
query
);
fprintf
(
stderr
,
"Error: %s
\n
"
,
mysql_error
(
sock
));
my_free
(
query
);
DBUG_RETURN
(
-
1
);
}
res
=
mysql_store_result
(
sock
);
...
...
client/mysqldump.c
View file @
9f8aec7a
/*
Copyright (c) 2000, 2013, Oracle and/or its affiliates.
Copyright (c) 2010, 201
5
, M
onty Program Ab.
Copyright (c) 2010, 201
6
, M
ariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
client/mysqlimport.c
View file @
9f8aec7a
/*
Copyright (c) 2000, 2015, Oracle and/or its affiliates.
Copyright (c) 2011, 201
5
, MariaDB
Copyright (c) 2011, 201
6
, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
client/mysqlshow.c
View file @
9f8aec7a
/*
Copyright (c) 2000, 2015, Oracle and/or its affiliates.
Copyright (c) 2010, 201
5
, MariaDB
Copyright (c) 2010, 201
6
, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
client/mysqlslap.c
View file @
9f8aec7a
/*
Copyright (c) 2005, 2015, Oracle and/or its affiliates.
Copyright (c) 2010, 201
5
, MariaDB
Copyright (c) 2010, 201
6
, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
client/mysqltest.cc
View file @
9f8aec7a
/* Copyright (c) 2000, 2013, Oracle and/or its affiliates.
Copyright (c) 2009, 201
3
, Monty Program Ab.
Copyright (c) 2009, 201
6
, Monty Program Ab.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -5211,7 +5211,7 @@ static st_error global_error_names[] =
#include
<my_base.h>
static
st_error
handler_error_names
[]
=
{
{
"<No error>"
,
-
1U
,
""
},
{
"<No error>"
,
UINT_MAX
,
""
},
#include
<handler_ername.h>
{
0
,
0
,
0
}
};
...
...
cmake/dtrace.cmake
View file @
9f8aec7a
...
...
@@ -86,6 +86,9 @@ IF(ENABLE_DTRACE)
${
CMAKE_BINARY_DIR
}
/include/probes_mysql_dtrace.h
${
CMAKE_BINARY_DIR
}
/include/probes_mysql_nodtrace.h
)
ELSE
()
CONFIGURE_FILE
(
${
CMAKE_SOURCE_DIR
}
/include/probes_mysql_nodtrace.h.in
${
CMAKE_BINARY_DIR
}
/include/probes_mysql_nodtrace.h COPYONLY
)
ENDIF
()
FUNCTION
(
DTRACE_INSTRUMENT target
)
...
...
cmake/libutils.cmake
View file @
9f8aec7a
...
...
@@ -87,6 +87,11 @@ MACRO(CREATE_EXPORT_FILE VAR TARGET API_FUNCTIONS)
ENDFOREACH
()
SET
(
CONTENT
"
${
CONTENT
}
(void *)0
\n
}
\;
"
)
CONFIGURE_FILE_CONTENT
(
${
CONTENT
}
${
EXPORTS
}
)
# Avoid "function redeclared as variable" error
# when using gcc/clang option -flto(link time optimization)
IF
(
"
${
CMAKE_C_FLAGS
}
${
CMAKE_CXX_FLAGS
}
"
MATCHES
" -flto"
)
SET_SOURCE_FILES_PROPERTIES
(
${
EXPORTS
}
PROPERTIES COMPILE_FLAGS
"-fno-lto"
)
ENDIF
()
SET
(
${
VAR
}
${
EXPORTS
}
)
ENDIF
()
ENDMACRO
()
...
...
cmake/os/Windows.cmake
View file @
9f8aec7a
...
...
@@ -100,9 +100,12 @@ IF(MSVC)
STRING
(
REGEX REPLACE
"/STACK:([^ ]+)"
""
CMAKE_
${
type
}
_LINKER_FLAGS
"
${
CMAKE_
${
type
}
_LINKER_FLAGS
}
"
)
STRING
(
REGEX REPLACE
"/INCREMENTAL:([^ ]+)"
"/INCREMENTAL:NO"
CMAKE_
${
type
}
_LINKER_FLAGS_RELWITHDEBINFO
"
${
CMAKE_
${
type
}
_LINKER_FLAGS_RELWITHDEBINFO
}
"
)
STRING
(
REGEX REPLACE
"/INCREMENTAL$"
"/INCREMENTAL:NO"
CMAKE_
${
type
}
_LINKER_FLAGS_RELWITHDEBINFO
"
${
CMAKE_
${
type
}
_LINKER_FLAGS_RELWITHDEBINFO
}
"
)
STRING
(
REGEX REPLACE
"/INCREMENTAL:([^ ]+)"
"/INCREMENTAL:NO"
CMAKE_
${
type
}
_LINKER_FLAGS_DEBUG
"
${
CMAKE_
${
type
}
_LINKER_FLAGS_DEBUG
}
"
)
STRING
(
REGEX REPLACE
"/INCREMENTAL$"
"/INCREMENTAL:NO"
CMAKE_
${
type
}
_LINKER_FLAGS_DEBUG
"
${
CMAKE_
${
type
}
_LINKER_FLAGS_DEBUG
}
"
)
SET
(
CMAKE_
${
type
}
_LINKER_FLAGS_RELWITHDEBINFO
"
${
CMAKE_
${
type
}
_LINKER_FLAGS_RELWITHDEBINFO
}
/OPT:REF /release"
)
ENDFOREACH
()
# Mark 32 bit executables large address aware so they can
# use > 2GB address space
IF
(
CMAKE_SIZEOF_VOID_P MATCHES 4
)
...
...
@@ -117,7 +120,7 @@ IF(MSVC)
#TODO: update the code and remove the disabled warnings
SET
(
CMAKE_C_FLAGS
"
${
CMAKE_C_FLAGS
}
/wd4800 /wd4805 /wd4996"
)
SET
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
/wd4800 /wd4805 /wd4996 /we4099"
)
SET
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
/wd4800 /wd4805 /wd4996
/wd4291
/we4099"
)
IF
(
CMAKE_SIZEOF_VOID_P MATCHES 8
)
# _WIN64 is defined by the compiler itself.
...
...
@@ -185,14 +188,14 @@ CHECK_SYMBOL_REPLACEMENT(S_IROTH _S_IREAD sys/stat.h)
CHECK_SYMBOL_REPLACEMENT
(
S_IFIFO _S_IFIFO sys/stat.h
)
CHECK_SYMBOL_REPLACEMENT
(
SIGQUIT SIGTERM signal.h
)
CHECK_SYMBOL_REPLACEMENT
(
SIGPIPE SIGINT signal.h
)
CHECK_SYMBOL_REPLACEMENT
(
isnan _isnan float.h
)
CHECK_SYMBOL_REPLACEMENT
(
finite _finite float.h
)
CHECK_SYMBOL_REPLACEMENT
(
isnan _isnan
"math.h;
float.h
"
)
CHECK_SYMBOL_REPLACEMENT
(
finite _finite
"math;
float.h
"
)
CHECK_FUNCTION_REPLACEMENT
(
popen _popen
)
CHECK_FUNCTION_REPLACEMENT
(
pclose _pclose
)
CHECK_FUNCTION_REPLACEMENT
(
access _access
)
CHECK_FUNCTION_REPLACEMENT
(
strcasecmp _stricmp
)
CHECK_FUNCTION_REPLACEMENT
(
strncasecmp _strnicmp
)
CHECK_
FUNCTION
_REPLACEMENT
(
snprintf _snprintf
)
CHECK_
SYMBOL
_REPLACEMENT
(
snprintf _snprintf
stdio.h
)
CHECK_FUNCTION_REPLACEMENT
(
strtok_r strtok_s
)
CHECK_FUNCTION_REPLACEMENT
(
strtoll _strtoi64
)
CHECK_FUNCTION_REPLACEMENT
(
strtoull _strtoui64
)
...
...
cmake/os/WindowsCache.cmake
View file @
9f8aec7a
...
...
@@ -101,7 +101,6 @@ SET(HAVE_IPPROTO_IPV6 CACHE INTERNAL "")
SET
(
HAVE_IPV6 TRUE CACHE INTERNAL
""
)
SET
(
HAVE_IPV6_V6ONLY 1 CACHE INTERNAL
""
)
SET
(
HAVE_ISINF CACHE INTERNAL
""
)
SET
(
HAVE_ISNAN CACHE INTERNAL
""
)
SET
(
HAVE_ISSETUGID CACHE INTERNAL
""
)
SET
(
HAVE_GETUID CACHE INTERNAL
""
)
SET
(
HAVE_GETEUID CACHE INTERNAL
""
)
...
...
@@ -231,7 +230,6 @@ SET(HAVE_SIZEOF_ULONG FALSE CACHE INTERNAL "")
SET
(
HAVE_SIZEOF_U_INT32_T FALSE CACHE INTERNAL
""
)
SET
(
HAVE_SIZE_OF_SSIZE_T FALSE CACHE INTERNAL
""
)
SET
(
HAVE_SLEEP CACHE INTERNAL
""
)
SET
(
HAVE_SNPRINTF CACHE INTERNAL
""
)
SET
(
HAVE_SOCKADDR_STORAGE_SS_FAMILY 1 CACHE INTERNAL
""
)
SET
(
HAVE_SOLARIS_STYLE_GETHOST CACHE INTERNAL
""
)
SET
(
STACK_DIRECTION -1 CACHE INTERNAL
""
)
...
...
@@ -324,10 +322,8 @@ SET(WORDS_BIGENDIAN CACHE INTERNAL "")
SET
(
HAVE__S_IFIFO 1 CACHE INTERNAL
""
)
SET
(
HAVE__S_IREAD 1 CACHE INTERNAL
""
)
SET
(
HAVE__finite 1 CACHE INTERNAL
""
)
SET
(
HAVE__isnan 1 CACHE INTERNAL
""
)
SET
(
HAVE__pclose 1 CACHE INTERNAL
""
)
SET
(
HAVE__popen 1 CACHE INTERNAL
""
)
SET
(
HAVE__snprintf 1 CACHE INTERNAL
""
)
SET
(
HAVE__stricmp 1 CACHE INTERNAL
""
)
SET
(
HAVE__strnicmp 1 CACHE INTERNAL
""
)
SET
(
HAVE__strtoi64 1 CACHE INTERNAL
""
)
...
...
cmake/ssl.cmake
View file @
9f8aec7a
...
...
@@ -26,6 +26,7 @@ MACRO (MYSQL_USE_BUNDLED_SSL)
SET
(
SSL_INCLUDE_DIRS
${
INC_DIRS
}
)
SET
(
SSL_INTERNAL_INCLUDE_DIRS
${
CMAKE_SOURCE_DIR
}
/extra/yassl/taocrypt/mySTL
)
SET
(
SSL_DEFINES
"-DHAVE_YASSL -DYASSL_PURE_C -DYASSL_PREFIX -DHAVE_OPENSSL -DMULTI_THREADED"
)
SET
(
HAVE_ERR_remove_thread_state OFF CACHE INTERNAL
"yassl doesn't have ERR_remove_thread_state"
)
CHANGE_SSL_SETTINGS
(
"bundled"
)
#Remove -fno-implicit-templates
#(yassl sources cannot be compiled with it)
...
...
@@ -70,9 +71,13 @@ MACRO (MYSQL_CHECK_SSL)
MARK_AS_ADVANCED
(
CRYPTO_LIBRARY
)
INCLUDE
(
CheckSymbolExists
)
SET
(
CMAKE_REQUIRED_INCLUDES
${
OPENSSL_INCLUDE_DIR
}
)
SET
(
CMAKE_REQUIRED_LIBRARIES
${
OPENSSL_LIBRARIES
}
)
CHECK_SYMBOL_EXISTS
(
SHA512_DIGEST_LENGTH
"openssl/sha.h"
HAVE_SHA512_DIGEST_LENGTH
)
CHECK_SYMBOL_EXISTS
(
ERR_remove_thread_state
"openssl/err.h"
HAVE_ERR_remove_thread_state
)
SET
(
CMAKE_REQUIRED_INCLUDES
)
SET
(
CMAKE_REQUIRED_LIBRARIES
)
IF
(
OPENSSL_FOUND AND CRYPTO_LIBRARY AND HAVE_SHA512_DIGEST_LENGTH
)
SET
(
SSL_SOURCES
""
)
SET
(
SSL_LIBRARIES
${
OPENSSL_LIBRARIES
}
${
CRYPTO_LIBRARY
}
)
...
...
config.h.cmake
View file @
9f8aec7a
...
...
@@ -95,6 +95,7 @@
#cmakedefine HAVE_SYS_TYPES_H 1
#cmakedefine HAVE_SYS_UN_H 1
#cmakedefine HAVE_SYS_VADVISE_H 1
#cmakedefine HAVE_UCONTEXT_H 1
#cmakedefine HAVE_TERM_H 1
#cmakedefine HAVE_TERMBITS_H 1
#cmakedefine HAVE_TERMIOS_H 1
...
...
@@ -291,7 +292,6 @@
#cmakedefine HAVE_THR_YIELD 1
#cmakedefine HAVE_TIME 1
#cmakedefine HAVE_TIMES 1
#cmakedefine HAVE_UCONTEXT 1
#cmakedefine HAVE_VALLOC 1
#cmakedefine HAVE_VIDATTR 1
#define HAVE_VIO_READ_BUFF 1
...
...
@@ -319,6 +319,8 @@
#cmakedefine HAVE_TIMESPEC_TS_SEC 1
#cmakedefine STRUCT_DIRENT_HAS_D_INO 1
#cmakedefine STRUCT_DIRENT_HAS_D_NAMLEN 1
#cmakedefine STRUCT_TIMESPEC_HAS_TV_SEC 1
#cmakedefine STRUCT_TIMESPEC_HAS_TV_NSEC 1
#cmakedefine SPRINTF_RETURNS_INT 1
#define USE_MB 1
...
...
@@ -465,7 +467,7 @@
#cmakedefine HAVE_BSD_SIGNALS 1
#cmakedefine HAVE_SVR3_SIGNALS 1
#cmakedefine HAVE_V7_SIGNALS 1
#cmakedefine HAVE_ERR_remove_thread_state 1
#cmakedefine HAVE_SOLARIS_STYLE_GETHOST 1
...
...
@@ -515,6 +517,10 @@
#cmakedefine strtoll @strtoll@
#cmakedefine strtoull @strtoull@
#cmakedefine vsnprintf @vsnprintf@
#if (_MSC_VER > 1800)
#define tzname _tzname
#define P_tmpdir "C:\\TEMP"
#endif
#if (_MSC_VER > 1310)
# define HAVE_SETENV
#define setenv(a,b,c) _putenv_s(a,b)
...
...
configure.cmake
View file @
9f8aec7a
...
...
@@ -798,16 +798,36 @@ ENDIF()
#
# Test for how the C compiler does inline, if at all
#
# SunPro is weird, apparently it only supports inline at -xO3 or -xO4.
# And if CMAKE_C_FLAGS has -xO4 but CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE} has -xO2
# then CHECK_C_SOURCE_COMPILES will succeed but the built will fail.
# We must test all flags here.
# XXX actually, we can do this for all compilers, not only SunPro
IF
(
CMAKE_CXX_COMPILER_ID MATCHES
"SunPro"
AND
CMAKE_GENERATOR MATCHES
"Makefiles"
)
STRING
(
TOUPPER
"CMAKE_C_FLAGS_
${
CMAKE_BUILD_TYPE
}
"
flags
)
SET
(
CMAKE_REQUIRED_FLAGS
"
${${
flags
}}
"
)
ENDIF
()
CHECK_C_SOURCE_COMPILES
(
"
static inline int foo(){return 0;}
extern int bar(int x);
static inline int foo(){return bar(1);}
int main(int argc, char *argv[]){return 0;}"
C_HAS_inline
)
IF
(
NOT C_HAS_inline
)
CHECK_C_SOURCE_COMPILES
(
"
static __inline int foo(){return 0;}
extern int bar(int x);
static __inline int foo(){return bar(1);}
int main(int argc, char *argv[]){return 0;}"
C_HAS___inline
)
IF
(
C_HAS___inline
)
SET
(
C_INLINE __inline
)
ElSE
()
SET
(
C_INLINE
)
MESSAGE
(
WARNING
"C compiler does not support funcion inlining"
)
IF
(
NOT NOINLINE
)
MESSAGE
(
FATAL_ERROR
"Use -DNOINLINE=TRUE to allow compilation without inlining"
)
ENDIF
()
ENDIF
()
ENDIF
()
IF
(
NOT CMAKE_CROSSCOMPILING AND NOT MSVC
)
...
...
@@ -1098,3 +1118,8 @@ CHECK_STRUCT_HAS_MEMBER("struct dirent" d_ino "dirent.h" STRUCT_DIRENT_HAS_D_IN
CHECK_STRUCT_HAS_MEMBER
(
"struct dirent"
d_namlen
"dirent.h"
STRUCT_DIRENT_HAS_D_NAMLEN
)
SET
(
SPRINTF_RETURNS_INT 1
)
CHECK_INCLUDE_FILE
(
ucontext.h HAVE_UCONTEXT_H
)
IF
(
NOT HAVE_UCONTEXT_H
)
CHECK_INCLUDE_FILE
(
sys/ucontext.h HAVE_UCONTEXT_H
)
ENDIF
()
CHECK_STRUCT_HAS_MEMBER
(
"struct timespec"
tv_sec
"time.h"
STRUCT_TIMESPEC_HAS_TV_SEC
)
CHECK_STRUCT_HAS_MEMBER
(
"struct timespec"
tv_nsec
"time.h"
STRUCT_TIMESPEC_HAS_TV_NSEC
)
Prev
1
2
3
4
5
…
13
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment