Lines Matching +full:android +full:- +full:variables
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
90 environment variables prior to running configure. Something like this should
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.
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`
159 When the configure script checks for third-party libraries, it adds those
183 - [How To Use the C Runtime](https://support.microsoft.com/help/94248/how-to-use-the-c-run-time)
184 …- [Runtime Library Compiler Options](https://docs.microsoft.com/cpp/build/reference/md-mt-ld-use-r…
185 …- [Potential Errors Passing CRT Objects Across DLL Boundaries](https://docs.microsoft.com/cpp/c-ru…
190 multi-threaded dynamic C runtime.
202 ## MS-DOS
204 Requires DJGPP in the search path and pointing to the Watt-32 stack via
207 Run `make -f Makefile.dist djgpp` in the root curl dir.
209 For build configuration options, please see the mingw-w64 section.
213 - DJGPP 2.04 beta has a `sscanf()` bug so the URL parsing is not done
216 - Compile Watt-32 (and OpenSSL) with the same version of DJGPP. Otherwise
217 things go wrong because things like FS-extensions and `errno` values have
222 Run `make -f Makefile.dist amiga` in the root curl dir.
224 For build configuration options, please see the mingw-w64 section.
229 environment, therefore, you cannot use the various disable-protocol options of
233 [CURL-DISABLE](CURL-DISABLE.md) for the full list.
237 - Modify `lib/config-win32.h`
238 - Modify `lib/curl_setup.h`
239 - Modify `winbuild/Makefile.vc`
240 - Modify the "Preprocessor Definitions" in the libcurl project
242 Note: The pre-processor settings can be found using the Visual Studio IDE
243 under "Project -> Properties -> Configuration Properties -> C/C++ ->
246 ## Using BSD-style lwIP instead of Winsock TCP/IP stack in Win32 builds
248 In order to compile libcurl and curl using BSD-style lwIP TCP/IP stack it is
253 - Modify `lib/config-win32.h` and `src/config-win32.h`
254 - Modify `winbuild/Makefile.vc`
255 - Modify the "Preprocessor Definitions" in the libcurl project
257 Note: The pre-processor settings can be found using the Visual Studio IDE
258 under "Project -> Properties -> Configuration Properties -> C/C++ ->
261 Once that libcurl has been built with BSD-style lwIP TCP/IP stack support, in
269 This BSD-style lwIP TCP/IP stack support must be considered experimental given
276 you must add `-DCURL_STATICLIB` to your `CFLAGS`. Otherwise the linker looks
291 Transport for SSL/TLS, use the configure option `--with-secure-transport`.
293 When Secure Transport is in use, the curl options `--cacert` and `--capath`
297 The `--cert` and `--engine` options, and their libcurl equivalents, are
310 export CFLAGS="-arch $ARCH -isysroot $(xcrun -sdk $SDK --show-sdk-path) -m$SDK-version-min=$DEPLOYM…
311 ./configure --host=$ARCH-apple-darwin --prefix $(pwd)/artifacts --with-secure-transport
312 make -j8
326 export CFLAGS="-arch $ARCH -isysroot $(xcrun -sdk $SDK --show-sdk-path) -m$SDK-version-min=$DEPLOYM…
327 ./configure --host=$ARCH-apple-darwin --prefix $(pwd)/artifacts --with-secure-transport
328 make -j8
339 export CFLAGS="-arch $ARCH -isysroot $(xcrun -sdk $SDK --show-sdk-path) -m$SDK-version-min=$DEPLOYM…
340 ./configure --host=$ARCH-apple-darwin --prefix $(pwd)/artifacts --with-secure-transport
341 make -j8
348 # Android
350 When building curl for Android it is recommended to use a Linux/macOS
352 curl for Android. Before you can build curl for Android, you need to install
353 the Android NDK first. This can be done using the SDK Manager that is part of
354 Android Studio. Once you have installed the Android NDK, you need to figure
355 out where it has been installed and then set up some environment variables
356 before launching `configure`. On macOS, those variables could look like this
360 export ANDROID_NDK_HOME=~/Library/Android/sdk/ndk/25.1.8937393 # Point into your NDK.
361 export HOST_TAG=darwin-x86_64 # Same tag for Apple Silicon. Other OS values here: https://developer…
363 export AR=$TOOLCHAIN/bin/llvm-ar
364 export AS=$TOOLCHAIN/bin/llvm-as
365 export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang
366 export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++
368 export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
369 export STRIP=$TOOLCHAIN/bin/llvm-strip
373 to adjust those variables accordingly. After that you can build curl like this:
375 ./configure --host aarch64-linux-android --with-pic --disable-shared
379 impossible for curl to access Android's native SSL/TLS layer. To build curl
380 for Android using OpenSSL, follow the OpenSSL build instructions and then
383 for Android using OpenSSL like this:
386 LIBS="-lssl -lcrypto -lc++" # For OpenSSL/BoringSSL. In general, you need to the SSL/TLS layer's tr…
387 ./configure --host aarch64-linux-android --with-pic --disable-shared --with-openssl="$TOOLCHAIN/sys…
394 - Natively, running in the **ILE**. The obvious use is being able to call curl
396 - You need to build this from source. See `packages/OS400/README` for the ILE
398 - In the **PASE** environment, which runs AIX programs. curl is built as it
400 - IBM provides builds of curl in their Yum repository for PASE software.
401 - To build from source, follow the Unix instructions.
406 ## Multi-threading notes
419 - Set the environment variable `QIBM_MULTI_THREADED` to `Y` before starting
421 - Alternatively, start the job with the `ALWMLTTHD` parameter set to `*YES`.
427 `cd` to the new directory. (e.g. `cd curl-7.12.3`)
429 Set environment variables to point to the cross-compile toolchain and call
430 configure with any options you need. Be sure and specify the `--host` and
431 `--build` parameters at configuration time. The following script is an example
432 of cross-compiling for the IBM 405GP PowerPC processor using the toolchain on
439 export CPPFLAGS="-I/opt/hardhat/devkit/ppc/405/target/usr/include"
440 export AR=ppc_405-ar
441 export AS=ppc_405-as
442 export LD=ppc_405-ld
443 export RANLIB=ppc_405-ranlib
444 export CC=ppc_405-gcc
445 export NM=ppc_405-nm
447 ./configure --target=powerpc-hardhat-linux
448 --host=powerpc-hardhat-linux
449 --build=i586-pc-linux-gnu
450 --prefix=/opt/hardhat/devkit/ppc/405/target/usr/local
451 --exec-prefix=/usr/local
454 You may also need to provide a parameter like `--with-random=/dev/urandom` to
456 device for a target system. The `--prefix` parameter specifies where curl gets
462 ./configure --host=ARCH-OS
470 would mean at minimum the `-Os` option, and others like the following that
471 may be relevant in some environments: `-march=X`, `-mthumb`, `-m32`,
472 `-mdynamic-no-pic`, `-flto`, `-fdata-sections`, `-ffunction-sections`,
473 `-fno-unwind-tables`, `-fno-asynchronous-unwind-tables`,
474 `-fno-record-gcc-switches`, `-fsection-anchors`, `-fno-plt`,
475 `-Wl,--gc-sections`, `-Wl,-Bsymbolic`, `-Wl,-s`,
479 ./configure CC=gcc CFLAGS='-Os -ffunction-sections' LDFLAGS='-Wl,--gc-sections'...
484 Be sure to specify as many `--disable-` and `--without-` flags on the
485 configure command-line as you can to disable all the libcurl features that you
487 `--disable-PROTOCOL` flags for all the types of URLs your application do not
489 disabling support for some feature (run `./configure --help` to see them all):
491 - `--disable-alt-svc` (HTTP Alt-Svc)
492 - `--disable-ares` (the C-ARES DNS library)
493 - `--disable-cookies` (HTTP cookies)
494 - `--disable-basic-auth` (cryptographic authentication)
495 - `--disable-bearer-auth` (cryptographic authentication)
496 - `--disable-digest-auth` (cryptographic authentication)
497 - `--disable-kerberos-auth` (cryptographic authentication)
498 - `--disable-negotiate-auth` (cryptographic authentication)
499 - `--disable-aws` (cryptographic authentication)
500 - `--disable-dateparse` (date parsing for time conditionals)
501 - `--disable-dnsshuffle` (internal server load spreading)
502 - `--disable-doh` (DNS-over-HTTP)
503 - `--disable-form-api` (POST form API)
504 - `--disable-get-easy-options` (lookup easy options at runtime)
505 - `--disable-headers-api` (API to access headers)
506 - `--disable-hsts` (HTTP Strict Transport Security)
507 - `--disable-http-auth` (all HTTP authentication)
508 - `--disable-ipv6` (IPv6)
509 - `--disable-libcurl-option` (--libcurl C code generation support)
510 - `--disable-manual` (--manual built-in documentation)
511 - `--disable-mime` (MIME API)
512 - `--disable-netrc` (.netrc file)
513 - `--disable-ntlm` (NTLM authentication)
514 - `--disable-ntlm-wb` (NTLM WinBind)
515 - `--disable-progress-meter` (graphical progress meter in library)
516 - `--disable-proxy` (HTTP and SOCKS proxies)
517 - `--disable-pthreads` (multi-threading)
518 - `--disable-socketpair` (socketpair for asynchronous name resolving)
519 - `--disable-threaded-resolver` (threaded name resolver)
520 - `--disable-tls-srp` (Secure Remote Password authentication for TLS)
521 - `--disable-unix-sockets` (UNIX sockets)
522 - `--disable-verbose` (eliminates debugging strings and error code strings)
523 - `--disable-versioned-symbols` (versioned symbols)
524 - `--enable-symbol-hiding` (eliminates unneeded symbols in the shared library)
525 - `--without-brotli` (Brotli on-the-fly decompression)
526 - `--without-libpsl` (Public Suffix List in cookies)
527 - `--without-nghttp2` (HTTP/2 using nghttp2)
528 - `--without-ngtcp2` (HTTP/2 using ngtcp2)
529 - `--without-zstd` (Zstd on-the-fly decompression)
530 - `--without-libidn2` (internationalized domain names)
531 - `--without-librtmp` (RTMP)
532 - `--without-ssl` (SSL/TLS)
533 - `--without-zlib` (on-the-fly decompression)
536 using 'strip' or an option like `-s`. If space is really tight, you may be able
538 using the -R option to objcopy (e.g. the .comment section).
540 Using these techniques it is possible to create a basic HTTP-only libcurl
548 `--disable` statements suggested above. Use of these can cause tests relying
554 - `--disable-cookies` !cookies
555 …- `--disable-dateparse` !RETRY-AFTER !`CURLOPT_TIMECONDITION` !`CURLINFO_FILETIME` !`If-Mod…
556 - `--disable-libcurl-option` !`--libcurl`
557 - `--disable-verbose` !verbose\ logs
567 AIX, AmigaOS, Android, ArcoOS, Aros, Atari FreeMiNT, BeOS, Blackberry 10,
570 Genode, Haiku, HardenedBSD, HP-UX, Hurd, Illumos, Integrity, iOS, ipadOS, IRIX,
572 MPE/iX, MS-DOS, NCR MP-RAS, NetBSD, Netware, NextStep, Nintendo Switch,
575 Sailfish OS, SCO Unix, Serenity, SINIX-Z, SkyOS, Solaris, Sortix, SunOS,
582 Alpha, ARC, ARM, AVR32, C-SKY, CompactRISC, Elbrus, ETRAX, HP-PA, Itanium,
584 RISC-V, s390, SH4, SPARC, Tilera, VAX, x86, Xtensa, z/arch