Skip to content

Instantly share code, notes, and snippets.

@lebensterben
Last active September 22, 2020 23:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lebensterben/1793d6351882ecbfa8ac50adf106d147 to your computer and use it in GitHub Desktop.
Save lebensterben/1793d6351882ecbfa8ac50adf106d147 to your computer and use it in GitHub Desktop.
Dependencies in R's C Interface
path dependencies descriptions
R.h 12 includes many other files
S.h 5 different version for code ported from S
Rinternals.h 11 definitions for using R’s internal structures
Rdefines.h 13 macros for an S-like interface to the above (no longer maintained)
Rmath.h 1 standalone math library
Rversion.h 0 R version information
Rinterfaces.h 13 for add-on front-ends (Unix-alikes only)
Rembedded.h 1 for add-on front-ends
R_ext/Applic.h 6 optimization and integration
R_ext/BLAS.h 4 C definitions for BLAS routines
R_ext/Callbacks.h 12 C (and R function) top-level task handlers
R_ext/GetX11Image.h 0 X11Image interface used by package trkplot
R_ext/Lapack.h 5 C definitions for some LAPACK routines
R_ext/Linpack.h 7 C definitions for some LINPACK routines, not all of which are included in R
R_ext/Parse.h 0 a small part of R’s parse interface: not part of the stable API.
R_ext/RStartup.h 1 for add-on front-ends
R_ext/Rdynload.h 1 needed to register compiled code in packages
R_ext/R-ftp-http.h 0 interface to internal method of download.file
R_ext/Riconv.h 0 interface to iconv
R_ext/Visibility.h 1 definitions controlling visibility
R_ext/eventloop.h 0 for packages that need to share in the R event loops (not Windows)

The following are imported by R.h

path dependencies descriptions
Rconfig.h 0 configuration info that is made available
R_ext/Arith.h 3 handling for NAs, NaNs, Inf/-Inf
R_ext/Boolean.h 0 TRUE/FALSE type
R_ext/Complex.h 0 C typedefs for R’s complex
R_ext/Constants.h 0 constants
R_ext/Error.h 0 error signaling
R_ext/Memory.h 0 memory allocation
R_ext/Print.h 0 Rprintf and variations
R_ext/RS.h 2 definitions common to R.h and S.h, including F77_CALL etc.
R_ext/Random.h 1 random number generation
R_ext/Utils.h 2 sorting and other utilities
R_ext/libextern.h 2 definitions for exports from R.dll on Windows.

Other components

path dependencies descriptions
R_ext/GraphicsEngine.h 5 Graphics systems
R_ext/GraphicsDevice.h 4 Graphics systems
R_ext/QuartzDevice.h 0 Graphics systems
R_ext/Connections.h 0 Facilities for defining custom connection implementations
R_ext/Altrep.h 0 Alternative Representations for R Objects
R_ext/Itermacros.h 0
R_ext/MathThreads.h 3
R_ext/PrtUtil.h 12
R_ext/Rallocators.h 0
R_ext/stats_package.h 1
R_ext/stats_stubs.h 12
  • Rdefines.h 13

    • R_ext/Memory.h
    • R_ext/RS.h
    • Rinternals.h 10
  • Rinterface.h 13

    • R_ext/Boolean.h
    • Rinternals.h 10
    • R_ext/RStartup.h
  • R.h 12

    • Rconfig.h
    • R_ext/Arith.h 2
    • R_ext/Boolean.h
    • R_ext/Complex.h
    • R_ext/Constants.h
    • R_ext/Error.h
    • R_ext/Memory.h
    • R_ext/Print.h
    • R_ext/Random.h
    • R_ext/Utils.h
  • R_ext/Callbacks.h 12

    • Rinternals.h 10
    • R_ext/Boolean.h
  • R_ext/PrtUtil.h 12

    • R_internals.h 10
    • R_ext/Complex.h
  • R_ext/stats_stubs.h 12

    • Rconfig.h
    • Rinternals.h 9
    • R_ext/Rdynload.h
  • Rinternals.h 11

    • R_ext/Arith.h
    • R_ext/Boolean.h
    • R_ext/Complex.h
    • R_ext/Error.h
    • R_ext/Memory.h
    • R_ext/Utils.h
    • R_ext/Print.h
    • R_ext/Rdynload.h
    • R_ext/libextern.h
    • Rconfig
    • Rinlinedfuns.h
  • R_ext/Linpack.h 7

    • R_ext/RS.h 2
    • R_ext/BLAS.h 1
    • R_ext/libextern.h 1
  • R_ext/R_Applic.h 6

    • R_ext/Boolean.h
    • R_ext/RS.h 2
    • R_ext/BLAS.h 1
  • S.h 5

    • Rconfig.h
    • R_ext/Constants.h
    • R_ext/Memory.h
    • R_ext/RS.h 1
  • R_ext/GraphicsEngine.h 5

    • R_ext/GraphicsDevice.h 4
  • R_ext/Lapack.h 5

    • R_ext/RS.h 2
    • R_ext/Complex.h
    • R_ext/BLAS.h
  • R_ext/BLAS.h 4

    • R_ext/RS.h 2
    • R_ext/Complex.h
  • R_ext/GraphicsDevice.h 4

    • R_ext/Boolean.h
    • R_ext/libextern.h 2
  • R_ext/Arith.h 3

    • R_ext/libextern.h 2
  • R_ext/MathThreads.h 3

    • R_ext/libextern.h 2
  • R_ext/libextern.h 2

    • Rconfig.h
    • Rinlinedfuns.h
  • R_ext/RS.h 2

    • Rconfig.h
    • R_ext/Error.h
  • R_ext/Utils.h 2

    • R_ext/Boolean.h
    • R_ext/Complex.h
  • Rembedded.h 1

    • R_ext/Boolean.h
  • Rmath.h 1

    • R_ext/Boolean.h
  • R_ext/Random.h 1

    • R_ext/Boolean.h
  • R_ext/Rdynload.h 1

    • R_ext/Boolean.h
  • R_ext/RStartup.h 1

    • R_ext/Boolean.h
  • R_ext/stats_package.h 1

    • Rconfig.h
  • R_ext/Visibility.h 1

    • Rconfig.h
  • Rconfig.h

  • Rversion.h

  • R_ext/Altrep.h

  • R_ext/Boolean.h

  • R_ext/Complex.h

  • R_ext/Connections.h

  • R_ext/Constants.h

  • R_ext/Error.h

  • R_ext/eventloop.h

  • R_ext/GetX11Image.h

  • R_ext/Intermacros.h

  • R_ext/Memory.h

  • R_ext/Parse.h

  • R_ext/Print.h

  • R_ext/QuartzDevice.h

  • R_ext/Rallocators.h

  • R_ext/R-ftp-http.h

  • R_ext/Riconv.h

PS. Rinlinedfuns.h ? (I don't have this, mentioned https://cran.r-project.org/doc/manuals/r-release/R-exts.html#DOCF19)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment