swh:1:snp:a72e953ecd624a7df6e6196bbdd05851996c5e40
Raw File
Tip revision: 6aaedecc447e3d8226d5027fb13d0c3cbfbfea2a authored by Kristoffer Carlsson on 23 April 2021, 05:59:49 UTC
Set VERSION to 1.6.1 (#40507)
Tip revision: 6aaedec
jl_exports.h
// This file is a part of Julia. License is MIT: https://julialang.org/license
// Bring in the curated lists of exported data and function symbols, then
// perform C preprocessor magic upon them to generate lists of declarations and
// functions to re-export our function symbols from libjulia-internal to libjulia.
#include "../src/jl_exported_data.inc"
#include "../src/jl_exported_funcs.inc"

// Define pointer data as `const void * $(name);`
#define XX(name)    JL_DLLEXPORT const void * name;
JL_EXPORTED_DATA_POINTERS(XX)
#undef XX

// Define symbol data as `$type) $(name);`
#define XX(name, type)    JL_DLLEXPORT type name;
JL_EXPORTED_DATA_SYMBOLS(XX)
#undef XX

// Define holder locations for function addresses as `const void * $(name)_addr`
#define XX(name)    JL_HIDDEN const void * name##_addr;
JL_EXPORTED_FUNCS(XX)
#undef XX

// Generate lists of function names and addresses
#define XX(name)    #name,
static const char *const jl_exported_func_names[] = {
    JL_EXPORTED_FUNCS(XX)
    NULL
};
#undef XX

#define XX(name)    &name##_addr,
static const void ** jl_exported_func_addrs[] = {
    JL_EXPORTED_FUNCS(XX)
    NULL
};
#undef XX
back to top