To build the Intel(R) Decimal Floating-Point Math Library V2.3 (Version 2, Update 3)
(conforming to the IEEE Standard 754-2019 for Floating-Point Arithmetic) 
on processors that are implementations of the Intel(R) 64 Architecture:

  In Linux* with icx (Intel(R) Compiler 2024.2 or newer) or gcc:

    make clean  
    make CC=icx CALL_BY_REF=0 GLOBAL_RND=0 GLOBAL_FLAGS=0 UNCHANGED_BINARY_FLAGS=0
      - CC can be icx, icc, gcc, clang
      - CALL_BY_REF, GLOBAL_RND, GLOBAL_FLAGS, UNCHANGED_BINARY_FLAGS can be any of 0000, 0001, ... , 1111

  Big-endian builds are possible, but will require additional command line parameters
   
  In Windows** with icx (Intel(R) C++ Compiler 2024.2 or newer) or cl (Microsoft
  Visual C++ Compiler**):

    nmake clean 
    nmake -fmakefile.mak CC=icx CALL_BY_REF=0 GLOBAL_RND=0 GLOBAL_FLAGS=0 UNCHANGED_BINARY_FLAGS=0
      -  CC can be cl, icx, icl
      -  CALL_BY_REF, GLOBAL_RND, GLOBAL_FLAGS, UNCHANGED_BINARY_FLAGS can be any of 0000, 0001, ... , 1111
      -  [g]make, which stands for a GNU make-compatible make program (e.g. make from
         cygwin) may also be used
    
    Note: The scripts and makefiles provided here may need adjustments, 
        depending on the environment in which they are used; for example if 
        moving files from Windows to Linux, running dos2unix on the Linux 
        script files may be necessary.

    The makefiles currently support these environments, but can be extended to
    support additional ones: Linux, Windows, MacOS. See makefile.iml_head for more information.

Note:
=====
  For some other operating systems and architecture combinations see the
  following command files, as well as any command files invoked from these ones:
        RUNWINDOWS_nmake.bat
        RUNOSXINTEL64
  These command files build the Intel(R) Decimal Floating-Point Math Library,
  possibly using more than one compiler. Changes may be necessary in certain
  environments. Note that all the necessary versions of the Intel(R) Decimal 
  Floating-Point Math Library have to be built in this directory prior to
  executing the similar RUN* command in either of ../LIBRARY/ or ../TESTS/.
  Check that all the expected *.a files (or *.lib in Windows) have been created
  prior to building and running the tests or examples from ../LIBRARY/ or 
  ../TESTS/.

Note:
=====
If the makefile provided here is not used, the parameter passing method and 
local/global rounding mode and status flags may be selected by editing 
bid_conf.h:
 
Parameter passing is determined by an environment variable in bid_conf.h:
  - by value:
        #define DECIMAL_CALL_BY_REFERENCE 0
  - by reference:
        #define DECIMAL_CALL_BY_REFERENCE 1
 
Global variables are determined by two environment variables in bid_conf.h:
  - rnd_mode passed as parameter
        #define DECIMAL_GLOBAL_ROUNDING 0
  - rnd_mode global
        #define DECIMAL_GLOBAL_ROUNDING 1
  - status flags *pfpsf passed as parameter
        #define DECIMAL_GLOBAL_EXCEPTION_FLAGS 0
  - status flags *pfpsf global
        #define DECIMAL_GLOBAL_EXCEPTION_FLAGS 1
 
For more information see ../README
 
 
 
* Other names and brands may be claimed as the property of others.
 
** Microsoft, Windows, and the Windows logo are trademarks, or registered
trademarks of Microsoft Corporation in the United States and/or other countries

