| #! /bin/sh |
| |
| ### This file is part of R. |
| ### |
| ### R is free software; you can redistribute it and/or modify it under |
| ### the terms of the GNU General Public License as published by the Free |
| ### Software Foundation; either version 2 of the License, or (at your |
| ### option) any later version. |
| ### |
| ### R is distributed in the hope that it will be useful, but WITHOUT ANY |
| ### WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| ### FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public |
| ### License for more details. |
| ### |
| ### You should have received a copy of the GNU General Public License |
| ### along with R; if not, a copy is available at |
| ### https://www.r-project.org/Licenses/ |
| |
| ## By means of this file you can (also) provide default values for the |
| ## configuration process. To set variables, uncomment the VAR=DEFAULT |
| ## lines and set DEFAULT according to your needs. |
| ## See etc/Renviron.in for further variables you may wish to set. |
| |
| ## The command used to spool PostScript files to the printer. |
| ## If unspecified, the system will look for either 'lpr' or 'lp'. |
| ## R_PRINTCMD=lpr |
| |
| ## The paper size for the local (PostScript) printer. |
| ## It must either be left blank or set to one of 'a4' or 'letter'. |
| ## If left blank the system will use 'a4'. |
| ## R_PAPERSIZE=a4 |
| |
| ## Set the default behavior of R when ending a session |
| ## Set this to one of '--save' or '--no-save' depending whether you |
| ## want automatic saving of '.RData' or not. |
| ## Note that this applies to interactive and batch use, |
| ## but NOT to the utility R CMD BATCH |
| ## (which defaults to --save irrespective of this setting) |
| ## R_BATCHSAVE= |
| |
| ## The command which runs the C compiler. |
| ## If unspecified, a search is made for gcc and cc (in that order). |
| ## To override this choice, specify the name or path of the command |
| ## which runs the compiler, for example 'c99'. |
| ## It is also necessary to set the architecture here, e.g. 'gcc -m32'. |
| ## CC= |
| |
| ## Debugging and optimization options for the C compiler. |
| ## Use this to specify CFLAGS for the version of the C compiler |
| ## specified above. |
| ## If unspecified, defaults to '-g -O2' for gcc, |
| ## and '-g' in all other cases except icc (for which see R-admin.html). |
| ## Be wary of aggressive settings such as -ffast-math, -Ofast and |
| ## -Werror (which is likely to cause configure to fail). |
| ## CFLAGS= |
| |
| ## Defines for C compilation. |
| ## Use this to specify defines to be used in the compilation of R, |
| ## DEFS= |
| |
| ## The following additional CFLAGS to be used only in the main |
| ## compilation and only in building shared objects respectively. |
| ## For example, on some systems one needs 'MAIN_CFLAGS=-pg' when |
| ## profiling. |
| ## MAIN_CFLAGS= |
| ## SHLIB_CFLAGS= |
| |
| ## Header file search directory ('-IDIR') and any other miscellaneous |
| ## options (such as defines) for the C preprocessor and compiler. |
| ## If unset defaults to '-I/usr/local/include', with '-I/sw/include' |
| ## prepended on systems using Fink with root '/sw'. |
| ## CPPFLAGS= |
| |
| ## The command which runs the Fortran compiler. |
| ## Used for both fixed-form and free-form Fortran |
| ## FC= |
| |
| ## Options for the Fortran compiler. |
| ## Use this to specify comilation flags for fixed-form Fortran. |
| ## FFLAGS= |
| ## Ditto for free-form Fortran. |
| ## FCFLAGS= |
| ## If just one of these is set, it is used for both. |
| ## If both are unspecified, defaults to '-g -O2' for gfortran, |
| ## otherwise '-g' if this is accepted, otherwise ''. |
| ## Use these if the compiler needs flags such as --free, -qfixed and |
| ## cannot determine which from the source-file extension. |
| |
| ## macros for compiling by Fortran (for use in Makefiles) |
| ## SHLIB_FCLD=${FC} |
| ## Unlike SHLIB_CXXLDFLAGS, SHLIB_FCLDFLAGS is never additional |
| ## SHLIB_FCLDFLAGS=${SHLIB_LDFLAGS} |
| |
| ## Additional libraries needed to link a shared object with FC, |
| ## e.g. on x86 Solaris |
| ## FCLIBS_XTRA= |
| |
| ## Options for safe compilation under the Fortran compiler. |
| ## Use this to specify FFLAGS for the version of the compiler specified |
| ## above, using as accurate a result as possible, e.g. no optimization |
| ## or using -ffloat-store. |
| ## SAFE_FFLAGS= |
| |
| ## The following additional FFLAGS to be used only in the main |
| ## compilation and only in building shared objects respectively. |
| ## For example, on some systems one needs 'MAIN_FFLAGS=-pg' when |
| ## profiling. |
| ## MAIN_FFLAGS= |
| ## SHLIB_FFLAGS= |
| |
| ## The command to be used to load the main R binary. |
| ## This is usually the C compiler, but the automatic |
| ## choice can be overridden by means of this variable. |
| ## MAIN_LD= |
| |
| ## The flags which are necessary for loading main program which will |
| ## load DLLs at runtime. HP-UX and Linux-elf are examples of platforms |
| ## which use this. Those platforms are already taken care of by |
| ## configure, and anything set here will be in addition unless MAIN_LD |
| ## is given. |
| ## For example, one can set flags for profiling here. |
| ## MAIN_LDFLAGS= |
| |
| ## Any special flags which must be used when compiling C code to be |
| ## turned into a shared object. This is typically something like |
| ## '-fpic' or '-fPIC'. If this variable is left unspecified an attempt |
| ## is made to automatically detect the correct value. |
| ## CPICFLAGS= |
| |
| ## The following variable can be used to provide any PIC flags for the |
| ## Fortran compiler. If this variable is left unspecified an |
| ## attempt is made to automatically detect the correct value. |
| ## FPICFLAGS= |
| |
| ## The command to be used to create shared objects which contain object |
| ## files from a C or Fortran compiler only. This is usually the C |
| ## compiler or 'ld', but the automatic choice can be overridden by means |
| ## of this variable. |
| ## SHLIB_LD= |
| |
| ## Any special flags which are required by the linker when creating |
| ## shared objects containing object files from a C or Fortran |
| ## compiler only. This is usually automatically detected by configure, |
| ## and anything set here will be in addition unless SHLIB_LD is given. |
| ## SHLIB_LDFLAGS= |
| |
| ## ditto for a dynamic library: DYLIB_LDFLAGS defaults to SHLIB_LDFLAGS |
| ## DYLIB_LD= |
| ## DYLIB_LDFLAGS= |
| |
| ## The appropriate 'lib' dir, normally 'lib', but 'lib64' on Linux on |
| ## x86_64, mips64, ppc64, sparc64, s390x but not ia64 (except Debian |
| ## and derivatives). |
| ## LIBnn= |
| |
| ## Path ('-L'), and any other miscellaneous options for the linker. |
| ## '-L' options set here will be prepended to LD_LIBRARY_PATH (or its |
| ## system equivalent) at run time. |
| ## If unset defaults to '-L/usr/local/lib', with '-L/sw/lib' prepended |
| ## on macOS systems using Fink with root '/sw'. |
| ## On some Linux 64-bit systems its default is -L/usr/local/lib64. |
| ## If LIBnn is set it defaults to -L/usr/local/$LIBnn. |
| ## LDFLAGS= |
| |
| |
| ## The command which runs the C++ compiler. |
| ## This is optional, for use in packages. |
| ## If not specified, configure |
| ## uses the values of the environment variables 'CXX' or 'CCC' if set, |
| ## and then looks under the names 'c++', 'g++', 'CC' and more OS-specific |
| ## names (from autoconf). |
| ## CXX= |
| |
| ## Options for the C++ compiler. |
| ## CXXFLAGS= |
| |
| ## Any special flags which must be used when compiling C++ code to be |
| ## turned into a shared object. If this variable is left unspecified |
| ## an attempt is made to automatically detect the correct value. |
| ## CXXPICFLAGS= |
| |
| ## Option to specify the default C++ standard, |
| ## e.g. -std=c++11 or -std=gnu++11 |
| ## CXXSTD= |
| |
| ## The command to be used to load shared objects which contain object |
| ## files from the C++ compiler. This is usually the C++ compiler/linker, |
| ## but the automatic choice can be overridden by means of this |
| ## variable. (Include $(CXXSTD) if set.) |
| ## SHLIB_CXXLD= |
| |
| ## Any special flags which are required when creating shared objects |
| ## containing object files from a C++ compiler. This is usually |
| ## automatically detected by configure, and anything set here will be in |
| ## addition unless SHLIB_CXXLD is given. |
| ## SHLIB_CXXLDFLAGS= |
| |
| ## Not used by R but configure can fail to find it, so set to |
| ## "$CXX -E" if it does. |
| ## CXXCPP= |
| |
| ## Tcl/Tk settings. |
| ## Use TCLTK_LIBS for all '-L' and '-l' options needed for linking |
| ## against the Tcl and Tk library. |
| ## TCLTK_LIBS= |
| ## Use TCLTK_CPPFLAGS for all '-I' options needed for finding the tcl.h |
| ## and tk.h headers. |
| ## TCLTK_CPPFLAGS= |
| |
| ## Browser default |
| ## Default setting for the R_BROWSER env variable |
| ## If unset configure searches in turn for (currently) |
| ## firefox mozilla galeon opera xdg-open kfmclient gnome-moz-remote open |
| ## and uses the full path of the first it finds. |
| ## R_BROWSER= |
| |
| ## BLAS and LAPACK settings |
| ## Use BLAS_LIBS for all '-L' and '-l' options needed for linking |
| ## against an external BLAS implementation. |
| ## BLAS_LIBS= |
| ## Use LAPACK_LIBS for all '-L' and '-l' options needed for linking |
| ## against an external LAPACK implementation. |
| ## Note that (see R-admin) that our main intention is to allow a |
| ## LAPACK-containing BLAS to be used, so this is rarely needed, and |
| ## it is not used if the BLAS already contains LAPACK. |
| ## LAPACK_LIBS= |
| |
| ## Make name or path |
| ## Set this if you want to use a make by another name. |
| ## For example, if your GNU make is called 'gmake', use 'MAKE=gmake'. |
| ## MAKE= |
| |
| ## Tar name or path |
| ## Set this to prefer a tar which has the capability to automagically |
| ## read compressed archives. The default is to choose 'gtar' or |
| ## 'gnutar'(normally GNU tar) then 'tar'. |
| ## Note that 'bsdtar' (from the libarchive project) is known to create |
| ## archives in a non-POSIX format that other tars and untar() cannot |
| ## read, so should be avoided. |
| ## TAR= |
| |
| ## Dynamic library path |
| ## This is be default created from libraries added to LIBS. |
| ## Used for DYLD_FALLBACK_LIBRARY_PATH on macOS and LD_LIBRARY_PATH elsewhere. |
| ## Allow user to override. |
| ## R_LD_LIBRARY_PATH= |
| |
| ## C++11 compiler, optional for use in packages. |
| ## Introduced in R 3.1.0 |
| ## The command which runs the C++11 compiler: defaults to $(CXX), but |
| ## empty if that (plus standard) cannot compile the tested C++11 code. |
| ## CXX11= |
| |
| ## The 'standard' for the C++11 compiler, which is invoked as |
| ## $(CXX11) $(CXX11STD) for both compiling and linking DSOs/DLLs. |
| ## '-std=gnu++11' and '-std=gnu++0x' are tried in turn by configure. |
| ## followed by '-std=c++11' and '-std=c++0x' |
| ## CXX11STD= |
| |
| ## Analogues for the C++11 compiler: default to the settings for C++ |
| ## CXX11FLAGS= |
| ## CXX11PICFLAGS= |
| ## SHLIB_CXX11LD= |
| ## SHLIB_CXX11LDFLAGS= |
| |
| ## C++14 compiler, optional for use in packages. |
| ## Introduced in R 3.4.0 |
| ## The command which runs the C++14 compiler: defaults to $(CXX11), but |
| ## empty if that (plus standard) cannot compile the tested C++14 code. |
| ## CXX14= |
| |
| ## The 'standard' for the C++14 compiler, which is invoked as |
| ## $(CXX14) $(CXX14STD) for both compiling and linking DSOs/DLLs. |
| ## '-std=gnu++14' and '-std=gnu++1y" are tried by configure, also |
| ## '-std=c++14' and '-std=c++1y" |
| ## CXX14STD= |
| |
| ## Analogues for the C++14 compiler: default to the settings for C++11 |
| ## CXX14FLAGS= |
| ## CXX14PICFLAGS= |
| ## SHLIB_CXX14LD= |
| ## SHLIB_CXX14LDFLAGS= |
| |
| ## C++17 compiler, optional for use in packages. |
| ## Introduced in R 3.4.0 |
| ## The command which runs the C++17 compiler: defaults to $(CXX14), but |
| ## empty if that (plus standard) cannot compile the tested C++17 code. |
| ## CXX17= |
| |
| ## The 'standard' for the C++17 compiler, which is invoked as |
| ## $(CXX17) $(CXX17STD) for both compiling and linking DSOs/DLLs. |
| ## '-std=gnu++17' and '-std=gnu++1z" are tried by configure, also |
| ## '-std=c++17' and '-std=c++1z" |
| ## CXX17STD= |
| |
| ## Analogues for the C++17 compiler: default to the settings for C++14 |
| ## CXX17FLAGS= |
| ## CXX17PICFLAGS= |
| ## SHLIB_CXX17LD= |
| ## SHLIB_CXX17LDFLAGS= |
| |
| ## C++20 compiler, optional for use in packages. |
| ## Introduced in R 4.0.0 |
| ## The command which runs the C++20 compiler: defaults to $(CXX17), but |
| ## empty if that (plus standard) cannot compile the tested C++20 code. |
| ## CXX20= |
| |
| ## The 'standard' for the C++20 compiler, which is invoked as |
| ## $(CXX20) $(CXX20STD) for both compiling and linking DSOs/DLLs. |
| ## '-std=gnu++20' and '-std=gnu++2a" are tried by configure, also |
| ## '-std=c++20' and '-std=c++2a" |
| ## CXX20STD= |
| |
| ## Analogues for the C++20 compiler: default to the settings for C++17 |
| ## CXX20FLAGS= |
| ## CXX20PICFLAGS= |
| ## SHLIB_CXX20LD= |
| ## SHLIB_CXX20LDFLAGS= |
| |
| ## Additional libraries to link the internet module against. |
| ## Some claim Solaris needs -lsocket -lnsl |
| ## INTERNET_LIBS= |
| |
| ## Script from texinfo 5.1 or later. |
| ## Usually the full path to texi2any. |
| ## TEXI2ANY= |
| |
| ## Full path to version of curl-config to be used |
| ## CURL_CONFIG= |
| ## Use these to override curl-config if needed. |
| ## Used as from R 3.2.0. |
| ## CURL_CPPFLAGS= |
| ## CURL_LIBS= |
| ## To force a static link use the line below: this is only needed |
| ## if both shared and static libcurl libraries were installed (and |
| ## not guaranteed to work then). |
| ## CURL_LIBS=`curl-config --static-libs` |
| |
| ## Path to the version of pkg-config to be used for locating cairographics, |
| ## and possibly jpeg, libpng and libtiff. |
| ## PKG_CONFIG= |
| ## search path for pkg-config |
| ## PKG_CONFIG_PATH= |
| ## path overriding pkg-config's default search path |
| ## PKG_CONFIG_LIBDIR= |
| |
| ## OpenMP settings. |
| ## The configure code is conservative about enabling OpenMP |
| ## so use can be forced here (or non-use if set but empty). |
| ## For packages (note that SHLIB_OPENMP_CXXFLAGS is for CXX, not |
| ## necessarily for CXX11/14/17/20). |
| ## SHLIB_OPENMP_CFLAGS= |
| ## SHLIB_OPENMP_CXXFLAGS= |
| ## SHLIB_OPENMP_FFLAGS= |
| ## For R itself (src/main/array.c and src/library/stats/src/distance.c) |
| ## R_OPENMP_CFLAGS= |
| |
| ## POSIX threads setting |
| ## pthreads is used in src/main/eval.c. The configure code sees if |
| ## any flag is needed to link to pthread functions (after the OpenMP |
| ## CFLAGS) and if so tries -pthread. Setting this allows an |
| ## alternative to be tried immediately before -pthread. |
| ## PTHREAD_OPT= |
| |
| ## Visibility settings |
| ## Allow user to override the configure checks if they know what they |
| ## are doing. |
| ## C_VISIBILITY= |
| ## CXX_VISIBILITY= |
| ## F_VISIBILITY= |
| |
| ## Fortran-C compatibility |
| ## The C type used by Fortran to pass 'hidden' character lengths (if any) |
| ## Often size_t (unsigned int or long, or long long in Win64) |
| ## Allow user to override the configure checks if they know what they |
| ## are doing (the value is unchecked). |
| ## FC_LEN_T= |
| |
| ## C Stack Direction |
| ## In case optimization defeats the configure test: 'down' (the usual) or 'up' |
| ## R_C_STACK_DIRECTION= |
| |
| ## Commands which might need to be set for LTO builds |
| ## Typical values for LTO are gcc-ar, gcc-nm and gcc-ranlib |
| ## AR= |
| ## NM= |
| ## RANLIB= |
| ## |
| ## The LTO macro, defaulting to -flto |
| ## Could be e.g. -flto=8 for GCC or -flto=thin for clang. |
| ## LTO= |
| ## Ditto for the Fortran compiler, defaulting to the value of LTO. |
| ## LTO_FC= |
| ## |
| ## Flags for linking with LTO in addition to $(LTO), e.g. to |
| ## parallelize ThinLTO or to change linker such as -fuse-ld=gold or |
| ## -fuse-ld=lld (with gcc or clang). |
| ## LTO_LD= |
| |
| ## Programs which configure will look for on the path |
| ## AR |
| ## GETWD=pwd |
| ## A BSD-compatible install program or script: |
| ## tries ginstall scoinst install and falls back to tools/install-sh |
| ## INSTALL |
| ## LN_S="ln -s" |
| ## MAKE |
| ## Tries less more page pg in turn |
| ## PAGER |
| ## PAPERCONF |
| ## Tries pkg-config then pkgconf |
| ## PKG_CONFIG |
| ## RANLIB |
| ## REALPATH |
| ## Tries gtar gnutar tar |
| ## TAR |
| ## XMKMF |
| ## R_BZIPCMD=bzip2 |
| ## R_GZIPCMD=gzip |
| ## looks for lpr then lp |
| ## R_PRINTCMD |
| ## tries firefox mozilla galeon opera xdg-open kfmclient gnome-moz-remote open |
| ## R_BROWSER |
| ## tries acroread acroread4 xdg-open evince xpdf gv gnome-gv ggv |
| ## okular kpdf open gpdf kghostview |
| ## R_PDFVIEWER |
| ## R_TEXI2DVICMD |
| ## R_UNZIPCMD=unzip |
| ## R_ZIPCMD=zip |
| |
| ## Tries ginstall-info install-info |
| ## INSTALL_INFO |
| ## KPSEWHICH |
| ## MAKEINDEX |
| ## PDFLATEX |
| ## PDFTEX |
| ## TEXI2ANY |
| ## TEXI2DVI |
| |
| ## The exception, looked for in /usr/xpg4/bin before the path |
| ## SED=sed |