aboutsummaryrefslogtreecommitdiff
path: root/m4/curl-compilers.m4
AgeCommit message (Collapse)Author
2017-08-16m4/curl-compilers.m4: use proper quotes around string, not backticksDaniel Stenberg
... when setting clang version to assume 3.7 Caused a lot of "integer expression expected" warnings by configure.
2017-07-10curl-compilers.m4: disable warning spam with Cygwin's clangMarcel Raad
When building with Cygwin or MinGW, libtool uses a wrapper executable instead of a wrapper script [1], which is written in C and throws missing-variable-declarations warnings. Don't enable these warnings on Cygwin and MinGW in order to avoid warnings for every executable built, which spams the test suite output when using Cygwin's clang. [1] https://www.gnu.org/software/libtool/manual/html_node/Wrapper-executables.html Closes https://github.com/curl/curl/pull/1665
2017-06-24curl-compilers.m4: fix unknown-warning-option on Apple clangMarcel Raad
Since 5598b0bd63f690c151074494ce47ef872f004ab4, clang -v is used to detect the clang version. The version number was expected to come after the word "version". For Apple clang, this doesn't work as it has its own versioning scheme. The version number is now first searched after the string "based on LLVM". This works for Apple clang before version 7, and also for e.g. Ubuntu's clang up to version 3.7. If it's not found and the version string contains "Apple LLVM version", clang version 3.7 is assumed, which is the version that comes with Xcode 7. Otherwise, the version number is still expected after the word "version", which works for very old Apple clang versions. Ref: https://trac.macports.org/wiki/XcodeVersionInfo Fixes https://github.com/curl/curl/issues/1606 Closes https://github.com/curl/curl/pull/1607
2017-06-16curl-compilers.m4: enable comma clang warningMarcel Raad
It usually warns when using commas instead of semicolons or other operators by accident. Closes https://github.com/curl/curl/pull/1578
2017-06-16curl-compilers.m4: enable missing-variable-declarations clang warningMarcel Raad
It usually warns when forgetting to declare TU-local variables static. Closes https://github.com/curl/curl/pull/1578
2017-06-16curl-compilers.m4: enable double-promotion warningMarcel Raad
Enable -Wdouble-promotion for both GCC and clang. It warns on implicit promotion from float to double. Closes https://github.com/curl/curl/pull/1578
2017-06-16curl-compilers.m4: enable vla warning for clangMarcel Raad
Previously, that warning was only implicitly active in C90 mode. Enable it unconditionally as already done for GCC. Closes https://github.com/curl/curl/pull/1578
2017-06-01curl-compilers.m4: escape square brackets in regexMarcel Raad
Otherwise, they are removed in the final configure file. Also changed sed to "$SED" like in most other calls in this file.
2017-06-01curl-compilers.m4: fix compiler_num for clangMarcel Raad
"clang -dumpversion" always returns "4.2.1", the GCC version that clang was initially compatible to. Use "clang -v" instead, which returns the actual clang version. Fixes https://github.com/curl/curl/issues/1522 Closes https://github.com/curl/curl/pull/1523
2017-05-31curl-compilers.m4: enable -Wshift-sign-overflow for clangMarcel Raad
clang 2.9+ supports -Wshift-sign-overflow, which warns about undefined behavior on signed left shifts when shifting by too many places. Ref: https://github.com/curl/curl/issues/1516 Closes https://github.com/curl/curl/pull/1517
2017-04-24curl-compilers.m4: accept -Og and -Ofast GCC flagsMarcel Raad
-Og, introduced in GCC 4.8, optimizes for debugging experience. -Ofast, introduced in GCC 4.7, builds on -O3 and enables further optimizations breaking strict standards compliance. When specified in CFLAGS, these were always overridden by -O0 or -O2. Fix this by adding them to flags_opt_all. Ref: https://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Optimize-Options.html Ref: https://github.com/curl/curl/pull/1404#issuecomment-296401570 Closes https://github.com/curl/curl/pull/1440
2017-04-15curl-compilers.m4: turn implicit function declarations into errorsMarcel Raad
This adds -Werror-implicit-function-declaration for GCC 2.95+ so that these errors are visible at the point where they occur instead of only at link time. Implicit function declarations are illegal in C99 and C++ anyway, and the same warning has been turned into an error for ICC in commit 3072c5b8a127057aa922b7c51051bbb4a630b091. Ref: https://gcc.gnu.org/onlinedocs/gcc-2.95.2/gcc_2.html#SEC8 Ref: https://curl.haxx.se/mail/lib-2017-04/0001.html Closes https://github.com/curl/curl/pull/1419
2016-11-07s/cURL/curlDaniel Stenberg
We're mostly saying just "curl" in lower case these days so here's a big cleanup to adapt to this reality. A few instances are left as the project could still formally be considered called cURL.
2016-06-21curl-compilers.m4: improve detection of GCC's -fvisibility= flagKamil Dudka
Some builds of GCC produce output on both stdout and stderr when --help --verbose is used. The 2>&1 redirection caused them to be arbitrarily interleaved with each other because of stream buffering. Consequently, grep failed to match the fvisibility= string in the mixed output, even though the string was present in GCC's standard output. This led to silently disabling symbol hiding in some builds of curl.
2016-02-03URLs: Change more haxx.se URLs from http: to https:Dan Fandrich
2016-02-03URLs: change all http:// URLs to https://Daniel Stenberg
2013-09-27configure: use icc options without spaceDaniel Stenberg
The latest version(s) of the icc compiler no longer accept the extra space in the -we (warning enable), -wd (warning disable), etc. Reported-by: Elmira A Semenova Bug: http://curl.haxx.se/mail/lib-2013-09/0182.html
2013-09-07configure: improve CURL_CHECK_COMPILER_PROTOTYPE_MISMATCHDaniel Stenberg
The compiler test used a variable before it was assigned when it tried to see how it acts on a mismatching prototype, which could cause a false positive.
2013-03-08configure: use XC_LIBTOOL for portability across libtool versionsYang Tse
2013-01-20configure: autotools compatibility fixes - step IYang Tse
Fix proper macro expansion order across autotools versions for C compiler and preprocessor program checks.
2012-12-16configure: check if compiler halts on function prototype mismatchYang Tse
2012-11-16autoconf: don't force-disable compiler debug optionDaniel Stenberg
When nothing is told to configure, we should not enforce switching off debug options with -g0 (or similar). We instead don't use -g at all in that situaion and therefore allow the user's CFLAGS settings possibly dictate what to do.
2012-06-29curl-compilers.m4: remove -Wstrict-aliasing=3 from clangYang Tse
Currently it is unknown if there is any version of clang that actually supports -Wstrict-aliasing. What is known is that there are several that don't support it.
2012-06-26curl-compilers.m4: -Wstrict-aliasing=3 for warning enabled gcc and clang buildsYang Tse
2012-04-16curl-compilers.m4: -Wno-pedantic-ms-format for Windows gcc 4.5 buildsYang Tse
When building a Windows target with gcc 4.5 or newer and strict compiler warnings enabled use -Wno-pedantic-ms-format in addition to other flags.
2012-04-14headers: surround GCC attribute names with double underscoresJonathan Nieder
This protects from attribute names being defined by third party's code. Improvement: http://curl.haxx.se/mail/lib-2012-04/0127.html
2012-04-11build adjustments: CURL_HIDDEN_SYMBOLS no longer defined in config filesYang Tse
configure script now provides conditional definitions for Makefile.am that result in CURL_HIDDEN_SYMBOLS being defined by resulting makefiles when appropriate. Additionally, configure script option for symbol hiding control is now named --enable-symbol-hiding --disable-symbol-hiding. While still valid, old option name --enable-hidden-symbols --disable-hidden-symbols will be deprecated in some future release.
2011-08-08curl-compilers.m4: serial number bumpYang Tse
2011-08-08curl-compilers.m4: CURL_CONVERT_INCLUDE_TO_ISYSTEM adjustments:Yang Tse
Add CURL_CHECK_COMPILER as a requirement. Ensure macro does nothing unless GNU_C or CLANG compiler is used. This should allow usage of this macro in unforeseen placements.
2011-06-04xlc: avoid preprocessor definition usage when linkingYang Tse
2010-12-02configure: undo using autobuilds to temporarily verify strict aliasing warnings.Yang Tse
2010-11-18configure: use autobuilds to temporarily verify strict aliasing warnings.Yang Tse
Temporarily, When cross-compiling with gcc 3.0 or later, enable strict aliasing rules and warnings. Given that cross-compiled targets autobuilds do not run the
2010-11-09serial number bumpYang Tse
2010-03-24remove the CVSish $Id$ linesDaniel Stenberg
2010-03-22Fix warnings for clangDaniel Johnson
2010-03-17replaced intel compiler option -no-ansi-alias with -fno-strict-aliasingYang Tse
2010-03-05Daniel Johnson provided fixes for building with the clang compilerDaniel Stenberg
2009-06-17Added a few more compiler warning options for gcc.Dan Fandrich
2009-06-09Added --enable-curldebug configure option to enable and disable buildingYang Tse
with the low-level curl debug memory tracking 'feature' to allow decoupled setting from --enable-debug.
2009-05-15remove outdated commentYang Tse
2009-05-07Proper naming for the experimental compiler test and moved to *-compilers.m4Yang Tse
2009-05-07Moved *_CHECK_COMPILER_HALT_ON_ERROR and ↵Yang Tse
*_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE to *-compilers.m4 along with other *_CHECK_COMPILER_*
2009-04-17remove compiler options used while debugging the icc 9.1 optimizer issueYang Tse
2009-04-15Set HP-UX compiler warning level back to the one that exposesYang Tse
the socklen_t issue on this platform.
2008-11-18attempting to keep lines below 80 charsYang Tse
2008-11-17Added more compiler warning options for gcc 4.3Dan Fandrich
2008-10-25icc adjustments:Yang Tse
Select ANSI C89 dialect plus GNU extensions, again.
2008-10-24some more temporary magic for the icc seg-fault issueYang Tse
2008-10-24icc permanent adjustment:Yang Tse
Select precise floating-point model, otherwise doubles are less than 64-bit wide icc test adjustment: Select c89 dialect
2008-10-23icc adjustments:Yang Tse
Enable more icc warnings. Optimization disabling options used only for icc 9.1