File: shared.i

package info (click to toggle)
dnf5 5.4.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 17,960 kB
  • sloc: cpp: 94,312; python: 3,370; xml: 1,073; ruby: 600; sql: 250; ansic: 232; sh: 104; perl: 62; makefile: 30
file content (29 lines) | stat: -rw-r--r-- 1,037 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
%{
    // Undefine macros polluting the global namespace and conflicting
    // with C++ definitions.
    //
    // These are unlikely to be needed in the bindings and in case they are, it
    // should cause a compile-time error (meaning no silent breakage).

    // From ruby - ruby.h: conflicts with fmt/format.h header
    #undef isfinite
    #undef int128_t
    #undef uint128_t

    // From perl5 - utf8.h: conflicts with fmt/format.h header
    #undef utf8_to_utf16

    // Recent versions of Perl (5.8.0) have namespace conflict problems.
    // Perl defines a bunch of short macros to make the Perl API function names shorter.
    // For example, in /usr/lib64/perl5/CORE/embed.h there is:
    // #define get_context Perl_get_context
    // We have to undefine that since we don't want our AdvisoryModule::get_context to
    // be renamed to Perl_get_context
    #undef get_context
%}


// Define empty macros. They are used to define the visibility of symbols.
#define LIBDNF_API
#define LIBDNF_LOCAL
#define LIBDNF_PLUGIN_API