forex forum binary options trade - New Board - Build Options (GNU MP 6.2.1)
  • Welcome to forex forum binary options trade. Please login or sign up.
Mar 23, 2023, 05:39 am


Forex trade

Build Options (GNU MP 6.2.1)

Started by PocketOption, Nov 12, 2022, 06:00 am

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Build Options (GNU MP 6.2.1)

Preferred binary options.
All the usual autoconf configure options are available, run ' ./configure --help ' for a summary. The file INSTALL.autoconf has some generic installation information too.
' configure ' requires various Unix-like tools. See Notes for Particular Systems, for some options on non-Unix systems.
It might be possible to build without the help of ' configure ', certainly all the code is there, but unfortunately you'll be on your own.
To compile in a separate build directory, cd to that directory, and prefix the configure command with the path to the GMP source directory. For example.
Not all ' make ' programs have the necessary features ( VPATH ) to support this. In particular, SunOS and Slowaris make have bugs that make them unable to build in a separate directory. Use GNU make instead.
--prefix and --exec-prefix.
The --prefix option can be used in the normal way to direct GMP to install under a particular tree. The default is ' /usr/local '.
--exec-prefix can be used to direct architecture-dependent files like libgmp.a to a different location. This can be used to share architecture-independent parts like the documentation, but separate the dependent parts. Note however that gmp.h is architecture-dependent since it encodes certain aspects of libgmp , so it will be necessary to ensure both $prefix/include and $exec_prefix/include are available to the compiler.
By default both shared and static libraries are built (where possible), but one or other can be disabled. Shared libraries result in smaller executables and permit code sharing between separate running processes, but on some CPUs are slightly slower, having a small cost on each function call.
Native Compilation, --build=CPU-VENDOR-OS.
For normal native compilation, the system can be specified with ' --build '. By default ' ./configure ' uses the output from running ' ./config.guess '. On some systems ' ./config.guess ' can determine the exact CPU type, on others it will be necessary to give it explicitly. For example,
In all cases the ' OS ' part is important, since it controls how libtool generates shared libraries. Running ' ./config.guess ' is the simplest way to see what it should be, if you don't know already.
Cross Compilation, --host=CPU-VENDOR-OS.
When cross-compiling, the system used for compiling is given by ' --build ' and the system where the library will run is given by ' --host '. For example when using a FreeBSD Athlon system to build GNU/Linux m68k binaries,
Compiler tools are sought first with the host system type as a prefix. For example m68k-mac-linux-gnu-ranlib is tried, then plain ranlib . This makes it possible for a set of cross-compiling tools to co-exist with native tools. The prefix is the argument to ' --host ', and this can be an alias, such as ' m68k-linux '. But note that tools don't have to be setup this way, it's enough to just have a PATH with a suitable cross-compiling cc etc.
Compiling for a different CPU in the same family as the build system is a form of cross-compilation, though very possibly this would merely be special options on a native compiler. In any case ' ./configure ' avoids depending on being able to run code on the build system, which is important when creating binaries for a newer CPU since they very possibly won't run on the build system.
In all cases the compiler must be able to produce an executable (of whatever format) from a standard C main . Although only object files will go to make up libgmp , ' ./configure ' uses linking tests for various purposes, such as determining what functions are available on the host system.
Currently a warning is given unless an explicit ' --build ' is used when cross-compiling, because it may not be possible to correctly guess the build system type if the PATH has only a cross-compiling cc .
Note that the ' --target ' option is not appropriate for GMP. It's for use when building compiler tools, with ' --host ' being where they will run, and ' --target ' what they'll produce code for. Ordinary programs or libraries like GMP are only interested in the ' --host ' part, being where they'll run. (Some past versions of GMP used ' --target ' incorrectly.)
In general, if you want a library that runs as fast as possible, you should configure GMP for the exact CPU type your system uses. However, this may mean the binaries won't run on older members of the family, and might run slower on other members, older or newer. The best idea is always to build GMP for the exact machine type you intend to run it on.
The following CPUs have specific support. See for details of what code and compiler options they select.
Alpha: ' alpha ', ' alphaev5 ', ' alphaev56 ', ' alphapca56 ', ' alphapca57 ', ' alphaev6 ', ' alphaev67 ', ' alphaev68 ' ' alphaev7 ' Cray: ' c90 ', ' j90 ', ' t90 ', ' sv1 ' HPPA: ' hppa1.0 ', ' hppa1.1 ', ' hppa2.0 ', ' hppa2.0n ', ' hppa2.0w ', ' hppa64 ' IA-64: ' ia64 ', ' itanium ', ' itanium2 ' MIPS: ' mips ', ' mips3 ', ' mips64 ' Motorola: ' m68k ', ' m68000 ', ' m68010 ', ' m68020 ', ' m68030 ', ' m68040 ', ' m68060 ', ' m68302 ', ' m68360 ', ' m88k ', ' m88110 ' POWER: ' power ', ' power1 ', ' power2 ', ' power2sc ' PowerPC: ' powerpc ', ' powerpc64 ', ' powerpc401 ', ' powerpc403 ', ' powerpc405 ', ' powerpc505 ', ' powerpc601 ', ' powerpc602 ', ' powerpc603 ', ' powerpc603e ', ' powerpc604 ', ' powerpc604e ', ' powerpc620 ', ' powerpc630 ', ' powerpc740 ', ' powerpc7400 ', ' powerpc7450 ', ' powerpc750 ', ' powerpc801 ', ' powerpc821 ', ' powerpc823 ', ' powerpc860 ', ' powerpc970 ' SPARC: ' sparc ', ' sparcv8 ', ' microsparc ', ' supersparc ', ' sparcv9 ', ' ultrasparc ', ' ultrasparc2 ', ' ultrasparc2i ', ' ultrasparc3 ', ' sparc64 ' x86 family: ' i386 ', ' i486 ', ' i586 ', ' pentium ', ' pentiummmx ', ' pentiumpro ', ' pentium2 ', ' pentium3 ', ' pentium4 ', ' k6 ', ' k62 ', ' k63 ', ' athlon ', ' amd64 ', ' viac3 ', ' viac32 ' Other: ' arm ', ' sh ', ' sh2 ', ' vax ',
CPUs not listed will use generic C code.
Generic C Build.
If some of the assembly code causes problems, or if otherwise desired, the generic C code can be selected with the configure --disable-assembly .
Note that this will run quite slowly, but it should be portable and should at least make it possible to get something running if all else fails.
Fat binary, --enable-fat.
Using --enable-fat selects a "fat binary" build on x86, where optimized low level subroutines are chosen at runtime according to the CPU detected. This means more code, but gives good performance on all x86 chips. (This option might become available for more architectures in the future.)
On some systems GMP supports multiple ABIs (application binary interfaces), meaning data type sizes and calling conventions. By default GMP chooses the best ABI available, but a particular ABI can be selected. For example.
See ABI and ISA, for the available choices on relevant CPUs, and what applications need to do.
By default the C compiler used is chosen from among some likely candidates, with gcc normally preferred if it's present.

When you liked this post and also you desire to get more information relating to binary options brokers that accept us clients lexington generously check out our own website.

Source: Build Options (GNU MP 6.2.1)