• Home
  • Raw
  • Download

Lines Matching +full:amiga +full:- +full:gcc

1 <!--
4 SPDX-License-Identifier: curl
5 -->
22 ./bootstrap-vcpkg.sh
33 the `GIT-INFO.md` file in the root directory for specific instructions on how
41 ./configure --with-openssl [--with-gnutls --with-wolfssl]
52 ./configure --help
57 ./configure --prefix=/path/to/curl/tree
63 ./configure --prefix=$HOME
72 ./configure --with-openssl
75 you have pkg-config installed, set the pkg-config path first, like this:
77 env PKG_CONFIG_PATH=/opt/OpenSSL/lib/pkgconfig ./configure --with-openssl
79 Without pkg-config installed, use this:
81 ./configure --with-openssl=/opt/OpenSSL
86 ./configure --without-ssl
93 CPPFLAGS="-I/path/to/ssl/include" LDFLAGS="-L/path/to/ssl/lib" ./configure
97 provide this option to gcc to set a hard-coded path to the runtime linker:
99 LDFLAGS=-Wl,-R/usr/local/ssl/lib ./configure --with-openssl
106 ./configure --disable-shared
110 handled automatically by the library loader - on all modern systems.
128 If you are a curl developer and use gcc, you might want to enable more debug
129 options with the `--enable-debug` option.
132 services, and configure tries to auto-detect a decent default. If you want to
139 - AmiSSL: `--with-amissl`
140 - BearSSL: `--with-bearssl`
141 - GnuTLS: `--with-gnutls`.
142 - mbedTLS: `--with-mbedtls`
143 - OpenSSL: `--with-openssl` (also for BoringSSL, AWS-LC, LibreSSL, and quictls)
144 - rustls: `--with-rustls`
145 - Schannel: `--with-schannel`
146 - Secure Transport: `--with-secure-transport`
147 - wolfSSL: `--with-wolfssl`
169 When the configure script checks for third-party libraries, it adds those
185 - Microsoft Visual Studio 2008 v9.0 or later (`_MSC_VER >= 1500`)
186 - MinGW-w64
198 - [How To Use the C Runtime](https://support.microsoft.com/help/94248/how-to-use-the-c-run-time)
199- [Runtime Library Compiler Options](https://docs.microsoft.com/cpp/build/reference/md-mt-ld-use-r…
200- [Potential Errors Passing CRT Objects Across DLL Boundaries](https://docs.microsoft.com/cpp/c-ru…
205 multi-threaded dynamic C runtime.
217 ## MS-DOS
222 CC=/path/to/djgpp/bin/i586-pc-msdosdjgpp-gcc \
223 AR=/path/to/djgpp/bin/i586-pc-msdosdjgpp-ar \
224 RANLIB=/path/to/djgpp/bin/i586-pc-msdosdjgpp-ranlib \
226 --host=i586-pc-msdosdjgpp \
227 --with-openssl=/path/to/djgpp \
228 --with-zlib=/path/to/djgpp \
229 --without-libpsl \
230 --disable-shared
233 -DCMAKE_SYSTEM_NAME=DOS \
234 -DCMAKE_C_COMPILER_TARGET=i586-pc-msdosdjgpp \
235 -DCMAKE_C_COMPILER=/path/to/djgpp/bin/i586-pc-msdosdjgpp-gcc \
236 -DWATT_ROOT=/path/to/djgpp/net/watt \
237 -DOPENSSL_INCLUDE_DIR=/path/to/djgpp/include \
238 -DOPENSSL_SSL_LIBRARY=/path/to/djgpp/lib/libssl.a \
239 -DOPENSSL_CRYPTO_LIBRARY=/path/to/djgpp/lib/libcrypto.a \
240 -DZLIB_INCLUDE_DIR=/path/to/djgpp/include \
241 -DZLIB_LIBRARY=/path/to/djgpp/lib/libz.a \
242 -DCURL_USE_LIBPSL=OFF
246 - Requires DJGPP 2.04 or upper.
248 - Compile Watt-32 (and OpenSSL) with the same version of DJGPP. Otherwise
249 things go wrong because things like FS-extensions and `errno` values have
257 CC=/opt/amiga/bin/m68k-amigaos-gcc \
258 AR=/opt/amiga/bin/m68k-amigaos-ar \
259 RANLIB=/opt/amiga/bin/m68k-amigaos-ranlib \
260 --host=m68k-amigaos \
261 --with-amissl \
262 CFLAGS='-O0 -msoft-float -mcrt=clib2' \
263 CPPFLAGS=-I/path/to/AmiSSL/Developer/include \
264 LDFLAGS=-L/path/to/AmiSSL/Developer/lib/AmigaOS3 \
265 LIBS='-lnet -lm -latomic' \
266 --without-libpsl \
267 --disable-shared
270 -DAMIGA=1 \
271 -DCMAKE_SYSTEM_NAME=Generic \
272 -DCMAKE_C_COMPILER_TARGET=m68k-unknown-amigaos \
273 -DCMAKE_C_COMPILER=/opt/amiga/bin/m68k-amigaos-gcc \
274 -DCMAKE_C_FLAGS='-O0 -msoft-float -mcrt=clib2' \
275 -DAMISSL_INCLUDE_DIR=/path/to/AmiSSL/Developer/include \
276 -DAMISSL_STUBS_LIBRARY=/path/to/AmiSSL/Developer/lib/AmigaOS3/libamisslstubs.a \
277 -DAMISSL_AUTO_LIBRARY=/path/to/AmiSSL/Developer/lib/AmigaOS3/libamisslauto.a \
278 -DCURL_USE_LIBPSL=OFF
283 environment, therefore, you cannot use the various disable-protocol options of
287 [CURL-DISABLE](CURL-DISABLE.md) for the full list.
291 - Modify `lib/config-win32.h`
292 - Modify `lib/curl_setup.h`
293 - Modify `winbuild/Makefile.vc`
294 - Modify the "Preprocessor Definitions" in the libcurl project
296 Note: The pre-processor settings can be found using the Visual Studio IDE
297 under "Project -> Properties -> Configuration Properties -> C/C++ ->
300 ## Using BSD-style lwIP instead of Winsock TCP/IP stack in Windows builds
302 In order to compile libcurl and curl using BSD-style lwIP TCP/IP stack it is
307 - Modify `lib/config-win32.h`
308 - Modify `winbuild/Makefile.vc`
309 - Modify the "Preprocessor Definitions" in the libcurl project
311 Note: The pre-processor settings can be found using the Visual Studio IDE
312 under "Project -> Properties -> Configuration Properties -> C/C++ ->
315 Once that libcurl has been built with BSD-style lwIP TCP/IP stack support, in
323 This BSD-style lwIP TCP/IP stack support must be considered experimental given
330 you must add `-DCURL_STATICLIB` to your `CFLAGS`. Otherwise the linker looks
345 Transport for SSL/TLS, use the configure option `--with-secure-transport`.
347 When Secure Transport is in use, the curl options `--cacert` and `--capath`
351 The `--cert` and `--engine` options, and their libcurl equivalents, are
364 export CFLAGS="-arch $ARCH -isysroot $(xcrun -sdk $SDK --show-sdk-path) -m$SDK-version-min=$DEPLOYM…
365 ./configure --host=$ARCH-apple-darwin --prefix $(pwd)/artifacts --with-secure-transport
366 make -j8
374 -DCMAKE_OSX_ARCHITECTURES=x86_64 \
375 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.8 \
376 -DCMAKE_OSX_SYSROOT="$(xcrun --sdk macosx --show-sdk-path)"
389 export CFLAGS="-arch $ARCH -isysroot $(xcrun -sdk $SDK --show-sdk-path) -m$SDK-version-min=$DEPLOYM…
390 ./configure --host=$ARCH-apple-darwin --prefix $(pwd)/artifacts --with-secure-transport
391 make -j8
399 -DCMAKE_SYSTEM_NAME=iOS \
400 -DCMAKE_OSX_ARCHITECTURES=arm64 \
401 -DCMAKE_OSX_DEPLOYMENT_TARGET=11.0
411 export CFLAGS="-arch $ARCH -isysroot $(xcrun -sdk $SDK --show-sdk-path) -m$SDK-version-min=$DEPLOYM…
412 ./configure --host=$ARCH-apple-darwin --prefix $(pwd)/artifacts --with-secure-transport
413 make -j8
435 -DANDROID_ABI=arm64-v8a \
436 -DANDROID_PLATFORM=android-29 \
437 -DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake" \
438 -DCURL_ENABLE_SSL=OFF \
439 -DCURL_USE_LIBPSL=OFF
445 export HOST_TAG=darwin-x86_64 # Same tag for Apple Silicon. Other OS values here: https://developer…
447 export AR=$TOOLCHAIN/bin/llvm-ar
448 export AS=$TOOLCHAIN/bin/llvm-as
449 export CC=$TOOLCHAIN/bin/aarch64-linux-android29-clang
450 export CXX=$TOOLCHAIN/bin/aarch64-linux-android29-clang++
452 export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
453 export STRIP=$TOOLCHAIN/bin/llvm-strip
459 ./configure --host aarch64-linux-android --with-pic --disable-shared
470 LIBS="-lssl -lcrypto -lc++" # For OpenSSL/BoringSSL. In general, you need to the SSL/TLS layer's tr…
471 ./configure --host aarch64-linux-android --with-pic --disable-shared --with-openssl="$TOOLCHAIN/sys…
478 - Natively, running in the **ILE**. The obvious use is being able to call curl
480 - You need to build this from source. See `packages/OS400/README` for the ILE
482 - In the **PASE** environment, which runs AIX programs. curl is built as it
484 - IBM provides builds of curl in their Yum repository for PASE software.
485 - To build from source, follow the Unix instructions.
490 ## Multi-threading notes
503 - Set the environment variable `QIBM_MULTI_THREADED` to `Y` before starting
505 - Alternatively, start the job with the `ALWMLTTHD` parameter set to `*YES`.
511 `cd` to the new directory. (e.g. `cd curl-7.12.3`)
513 Set environment variables to point to the cross-compile toolchain and call
514 configure with any options you need. Be sure and specify the `--host` and
515 `--build` parameters at configuration time. The following script is an example
516 of cross-compiling for the IBM 405GP PowerPC processor using the toolchain on
523 export CPPFLAGS="-I/opt/hardhat/devkit/ppc/405/target/usr/include"
524 export AR=ppc_405-ar
525 export AS=ppc_405-as
526 export LD=ppc_405-ld
527 export RANLIB=ppc_405-ranlib
528 export CC=ppc_405-gcc
529 export NM=ppc_405-nm
531 ./configure --target=powerpc-hardhat-linux
532 --host=powerpc-hardhat-linux
533 --build=i586-pc-linux-gnu
534 --prefix=/opt/hardhat/devkit/ppc/405/target/usr/local
535 --exec-prefix=/usr/local
538 You may also need to provide a parameter like `--with-random=/dev/urandom` to
540 device for a target system. The `--prefix` parameter specifies where curl gets
546 ./configure --host=ARCH-OS
553 compiler optimization flags to reduce the size of the binary. For gcc, this
554 would mean at minimum the `-Os` option, and others like the following that
555 may be relevant in some environments: `-march=X`, `-mthumb`, `-m32`,
556 `-mdynamic-no-pic`, `-flto`, `-fdata-sections`, `-ffunction-sections`,
557 `-fno-unwind-tables`, `-fno-asynchronous-unwind-tables`,
558 `-fno-record-gcc-switches`, `-fsection-anchors`, `-fno-plt`,
559 `-Wl,--gc-sections`, `-Wl,-Bsymbolic`, `-Wl,-s`,
563 ./configure CC=gcc CFLAGS='-Os -ffunction-sections' LDFLAGS='-Wl,--gc-sections'...
568 Be sure to specify as many `--disable-` and `--without-` flags on the
569 configure command-line as you can to disable all the libcurl features that you
571 `--disable-PROTOCOL` flags for all the types of URLs your application do not
573 disabling support for some feature (run `./configure --help` to see them all):
575 - `--disable-alt-svc` (HTTP Alt-Svc)
576 - `--disable-ares` (the C-ARES DNS library)
577 - `--disable-cookies` (HTTP cookies)
578 - `--disable-basic-auth` (cryptographic authentication)
579 - `--disable-bearer-auth` (cryptographic authentication)
580 - `--disable-digest-auth` (cryptographic authentication)
581 - `--disable-kerberos-auth` (cryptographic authentication)
582 - `--disable-negotiate-auth` (cryptographic authentication)
583 - `--disable-aws` (cryptographic authentication)
584 - `--disable-dateparse` (date parsing for time conditionals)
585 - `--disable-dnsshuffle` (internal server load spreading)
586 - `--disable-doh` (DNS-over-HTTP)
587 - `--disable-form-api` (POST form API)
588 - `--disable-get-easy-options` (lookup easy options at runtime)
589 - `--disable-headers-api` (API to access headers)
590 - `--disable-hsts` (HTTP Strict Transport Security)
591 - `--disable-http-auth` (all HTTP authentication)
592 - `--disable-ipv6` (IPv6)
593 - `--disable-libcurl-option` (--libcurl C code generation support)
594 - `--disable-manual` (--manual built-in documentation)
595 - `--disable-mime` (MIME API)
596 - `--disable-netrc` (.netrc file)
597 - `--disable-ntlm` (NTLM authentication)
598 - `--disable-ntlm-wb` (NTLM winbind)
599 - `--disable-progress-meter` (graphical progress meter in library)
600 - `--disable-proxy` (HTTP and SOCKS proxies)
601 - `--disable-pthreads` (multi-threading)
602 - `--disable-socketpair` (socketpair for asynchronous name resolving)
603 - `--disable-threaded-resolver` (threaded name resolver)
604 - `--disable-tls-srp` (Secure Remote Password authentication for TLS)
605 - `--disable-unix-sockets` (Unix sockets)
606 - `--disable-verbose` (eliminates debugging strings and error code strings)
607 - `--disable-versioned-symbols` (versioned symbols)
608 - `--enable-symbol-hiding` (eliminates unneeded symbols in the shared library)
609 - `--without-brotli` (Brotli on-the-fly decompression)
610 - `--without-libpsl` (Public Suffix List in cookies)
611 - `--without-nghttp2` (HTTP/2 using nghttp2)
612 - `--without-ngtcp2` (HTTP/2 using ngtcp2)
613 - `--without-zstd` (Zstd on-the-fly decompression)
614 - `--without-libidn2` (internationalized domain names)
615 - `--without-librtmp` (RTMP)
616 - `--without-ssl` (SSL/TLS)
617 - `--without-zlib` (on-the-fly decompression)
620 using 'strip' or an option like `-s`. If space is really tight, you may be able
622 using the -R option to objcopy (e.g. the .comment section).
624 Using these techniques it is possible to create a basic HTTP-only libcurl
626 (as of libcurl version 8.6.0, using gcc 13.2.0).
632 `--disable` statements suggested above. Use of these can cause tests relying
638 - `--disable-cookies` !cookies
639- `--disable-dateparse` !RETRY-AFTER !`CURLOPT_TIMECONDITION` !`CURLINFO_FILETIME` !`If-Mod…
640 - `--disable-libcurl-option` !`--libcurl`
641 - `--disable-verbose` !verbose\ logs
654 Garmin OS, Genode, Haiku, HardenedBSD, HP-UX, Hurd, IBM I, illumos,
656 Mbed, Meego, Micrium, MINIX, Minoca, Moblin, MorphOS, MPE/iX, MS-DOS,
657 NCR MP-RAS, NetBSD, Netware, NextStep, Nintendo 3DS Nintendo Switch,
660 RTEMS, Sailfish OS, SCO Unix, Serenity, SINIX-Z, SkyOS, software,
668 Alpha, ARC, ARM, AVR32, C-SKY, CompactRISC, Elbrus, ETRAX, HP-PA, Itanium,
670 RISC-V, s390, SH4, SPARC, Tilera, VAX, x86, Xtensa, z/arch