summaryrefslogtreecommitdiff
path: root/include/curl/system.h
Commit message (Collapse)AuthorAgeFilesLines
* copyright: fix year rangesDaniel Stenberg2020-11-051-1/+1
| | | | Follow-up from 4d2f8006777
* curl.se: new homeDaniel Stenberg2020-11-041-1/+1
| | | | Closes #6172
* system.h: fix for MCST lcc compilerr-a-sattarov2019-11-091-8/+19
| | | | | | | | | | | | Fixed build by MCST lcc compiler on MCST Elbrus 2000 architecture and do some code cleanup. e2k (Elbrus 2000) - this is VLIW/EPIC architecture, like Intel Itanium architecture. Ref: https://en.wikipedia.org/wiki/Elbrus_2000 Closes https://github.com/curl/curl/pull/4576
* defines: avoid underscore-prefixed definesDaniel Stenberg2019-08-231-15/+15
| | | | | | | | | | | Double-underscored or underscore plus uppercase letter at least. ... as they're claimed to be reserved. Reported-by: patnyb on github Fixes #4254 Closes #4255
* system.h: use proper setting with Sun C++ as wellrandomswdev2018-10-271-1/+1
| | | | | | | | | system.h selects the proper Sun settings when __SUNPRO_C is defined. The Sun compiler does not define it when compiling C++ files. I'm adding a check also on __SUNPRO_CC to allow curl to work properly also when used in a C++ project on Sun Solaris. Closes #3181
* system.h: fix for gcc on 32 bit OpenServerKevin R. Bulgrien2018-06-221-1/+1
| | | | Bug: https://curl.haxx.se/mail/lib-2018-06/0100.html
* system.h: add support for IBM xlc C compilerStephan Mühlstrasser2018-06-061-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | Added a section to system.h guarded with __xlc__ for the IBM xml C compiler. Before this change the section titled 'generic "safe guess" on old 32 bit style' was used, which resulted in a wrong definition of CURL_TYPEOF_CURL_SOCKLEN_T, and for 64-bit also CURL_TYPEOF_CURL_OFF_T was wrong. Compilation warnings fixed with this change: CC libcurl_la-ftp.lo "ftp.c", line 290.55: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed. "ftp.c", line 293.48: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed. "ftp.c", line 1070.49: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed. "ftp.c", line 1154.53: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed. "ftp.c", line 1187.51: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed. CC libcurl_la-connect.lo "connect.c", line 448.56: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed. "connect.c", line 516.66: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed. "connect.c", line 687.55: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed. "connect.c", line 696.55: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed. CC libcurl_la-tftp.lo "tftp.c", line 1115.33: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed. Closes #2637
* system.h: Add sparcv8plus to oracle/sunpro 32-bit detectionDagobert Michelsen2018-04-151-1/+3
| | | | | | | | | | | With specific compiler options selecting the arch like -xarch=sparc on newer compilers like Oracle Studio 12.4 there is no definition of __sparcv8 but __sparcv8plus which means the V9 ISA, but limited to the 32ÎíÎñbit subset defined by the V8plus ISA specification, without the Visual Instruction Set (VIS), and without other implementation-specific ISA extensions. So it should be the same as __sparcv8. Closes https://github.com/curl/curl/pull/2491
* system.h: Additionally check __LONG_MAX__ for defining curl_off_tDimitrios Apostolou2018-01-091-2/+4
| | | | | | | __SIZEOF_LONG__ was introduced in GCC 4.4, __LONG_MAX__ was introduced in GCC 3.3. Closes #2216
* Revert "curl/system.h: fix compilation with gcc on AIX PPC and IA64 HP-UX"Jay Satiro2018-01-021-2/+1
| | | | | | | | | | This reverts commit c97648b55080343bb371522bf4233e94a2a13a99. SIZEOF_LONG should not be checked in system.h since that macro is only defined when building libcurl. Ref: https://github.com/curl/curl/pull/2186#issuecomment-354767080 Ref: https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
* curl/system.h: fix compilation with gcc on AIX PPC and IA64 HP-UXDimitrios Apostolou2017-12-221-1/+2
| | | | Closes https://github.com/curl/curl/pull/2186
* system.h: include sys/poll.h for AIXDaniel Stenberg2017-08-271-0/+12
| | | | | | | | | ... to get the event/revent defines that might be used for the poll struct. Reported-by: Michael Smith Fixes #1828 Closes #1833
* curl/system.h: fix build for hppaDaniel Stenberg2017-08-201-1/+1
| | | | | Reported-by: John David Anglin Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=872502#10
* curl/system.h: check for __ppc__ as wellDaniel Stenberg2017-08-181-2/+2
| | | | | | | | | | ... regression since issue #1774 (commit 10b3df10596a) since obviously some older gcc doesn't know __powerpc__ while some newer doesn't know __ppc__ ... Fixes #1797 Closes #1798 Reported-by: Ryan Schmidt
* system.h: remove all CURL_SIZEOF_* definesDaniel Stenberg2017-08-171-90/+0
| | | | | | | ... as they're not used externally and internally we check for the sizes already in configure etc. Closes #1767
* curl/system.h: checksrc complianceDaniel Stenberg2017-08-171-4/+6
|
* curl/system.h: GCC doesn't define __ppc__ on PowerPC, uses __powerpc__Alex Potapenko2017-08-131-1/+1
| | | | Closes #1774
* curl/system.h: add Oracle Solaris StudioDaniel Stenberg2017-08-121-1/+25
| | | | Fixes #1752
* curl/system.h: support more architecturesThomas Petazzoni2017-08-111-2/+3
| | | | | | | | | | | | | | | | | The long list of architectures in include/curl/system.h is annoying to maintain, and needs to be extended for each and every architecture to support. Instead, let's rely on the __SIZEOF_LONG__ define of the gcc compiler (we are in the GNUC condition anyway), which tells us if long is 4 bytes or 8 bytes. This fixes the build of libcurl 7.55.0 on architectures such as OpenRISC or ARC. Closes #1766 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* system.h: include winsock2.h before windows.hMarcel Raad2017-07-121-1/+1
| | | | | ... to avoid compiler warnings if the user doesn't want WIN32_LEAN_AND_MEAN.
* curl_setup: always define WIN32_LEAN_AND_MEAN on WindowsMarcel Raad2017-07-111-3/+0
| | | | | | | | | Make sure to always define WIN32_LEAN_AND_MEAN before including any Windows headers to avoid pulling in unnecessary headers. This avoids unnecessary macro clashes and compiler warnings. Ref: https://github.com/curl/curl/issues/1562 Closes https://github.com/curl/curl/pull/1672
* curl/system.h: add check for XTENSA for 32bit gccDaniel Stenberg2017-06-241-1/+2
| | | | | Reported-by: Neil Kolban Fixes: 1598
* system.h: fix MinGW buildMarcel Raad2017-06-141-2/+2
| | | | | CURLSYS_PULL_WS2TCPIP_H got renamed to CURL_PULL_WS2TCPIP_H in commit 73a2fcea0b4adea6ba342cd7ed1149782c214ae3.
* includes: remove curl/curlbuild.h and curl/curlrules.hDaniel Stenberg2017-06-141-303/+343
| | | | | | | | Rely entirely on curl/system.h now. Introduced in Aug 2008 with commit 14240e9e109f. Now gone. Fixes #1456
* system.h: fix mingw sectionDaniel Stenberg2017-04-111-1/+14
| | | | | | Reported-by: Marcel Raad Fixes #1408 Closes #1409
* system.h: add section for tccDaniel Stenberg2017-04-071-0/+13
| | | | Closes #1397
* system.h: set sizeof long to 4 on "default 32 bit" systemsDaniel Stenberg2017-04-061-0/+1
| | | | | Triggered a test failure on test 1541 for the build known as "Linux 4.4 i686 tcc 0.9.26 glibc 2.20"
* include: curl/system.h is a run-time version of curlbuild.hDaniel Stenberg2017-04-031-0/+457
system.h is aimed to replace curlbuild.h at a later point in time when we feel confident system.h works sufficiently well. curl/system.h is currently used in parallel with curl/curlbuild.h curl/system.h determines a data sizes, data types and include file status based on available preprocessor defines instead of getting generated at build-time. This, in order to avoid relying on a build-time generated file that makes it complicated to do 32 and 64 bit bields from the same installed set of headers. Test 1541 verifies that system.h comes to the same conclusion that curlbuild.h offers. Closes #1373