#! /bin/sh LIB_DIR=/opt/R/arm64 OMP_DIR=/usr/local BRW_DIR=/opt/homebrew/opt ### 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=--no-save ## 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="clang -arch arm64" OBJC=${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="-falign-functions=64 -g -O2 -Wall -pedantic -Wno-implicit-function-declaration" ## 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="-I${BRW_DIR}/zlib/include -I${LIB_DIR}/include -I${OMP_DIR}/include -Xclang -fopenmp" ## The command which runs the Fortran compiler. ## Used for both fixed-form and free-form Fortran FC="${LIB_DIR}/gfortran/bin/gfortran -mtune=native" ## Options for the Fortran compiler. ## Use this to specify comilation flags for fixed-form Fortran. FFLAGS="-Wall -g -O2 -pedantic" ## 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="-L${BRW_DIR}/zlib/lib -L${LIB_DIR}/lib -L${OMP_DIR}/lib -lomp" ## 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="clang++ -arch arm64" ## Options for the C++ compiler. CXXFLAGS="-falign-functions=64 -g -O2 -Wall -pedantic" ## 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=/Applications/Firefox.app/Contents/MacOS/firefox ## 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=${BRW_DIR}/zlib/lib:${LIB_DIR}/lib ## 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=${LIB_DIR}/bin/pkg-config ## search path for pkg-config PKG_CONFIG_PATH=${LIB_DIR}/lib/pkgconfig:/opt/X11/lib/pkgconfig:${BRW_DIR}/zlib/lib/pkgconfig ## 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=-flto=thin ## 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=-Wl,-mllvm,-threads=4 ## 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