forked from mirrors/gstreamer-rs
782d84bede
The `links` annotation in `Cargo.toml` is intended to ensure that in the crate graph there's at most one crate that's an implementation of some sort concept. This can make sense in some scenarios, most prominent of which is when the crate defines `#[no_mangle]` symbols (e.g. by compiling a vendored C library.) In that situation linking a binary that depends on two versions of the library cannot work because of colliding symbol names. There does not appear to be a similar reason to impose such a restriction on the users of `gstreamer-sys` and similar, however. All of these crates link to a system library, they do not define any `#[no_mangle]` symbols nor they vendor and build C libraries as part of their build process. All they do is linking to a system library. Most likely all the different versions of the bindings will link to the exact same library too. I haven't seen any global resources that these bindings use to ensure soundness of the library, either.
33 lines
1.1 KiB
C
33 lines
1.1 KiB
C
// Generated by gir (https://github.com/gtk-rs/gir @ b193568)
|
|
// from gir-files (https://github.com/gtk-rs/gir-files @ 7d95377)
|
|
// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 831b444)
|
|
// DO NOT EDIT
|
|
|
|
#include "manual.h"
|
|
#include <stdio.h>
|
|
|
|
#define PRINT_CONSTANT(CONSTANT_NAME) \
|
|
printf("%s;", #CONSTANT_NAME); \
|
|
printf(_Generic((CONSTANT_NAME), \
|
|
char *: "%s", \
|
|
const char *: "%s", \
|
|
char: "%c", \
|
|
signed char: "%hhd", \
|
|
unsigned char: "%hhu", \
|
|
short int: "%hd", \
|
|
unsigned short int: "%hu", \
|
|
int: "%d", \
|
|
unsigned int: "%u", \
|
|
long: "%ld", \
|
|
unsigned long: "%lu", \
|
|
long long: "%lld", \
|
|
unsigned long long: "%llu", \
|
|
float: "%f", \
|
|
double: "%f", \
|
|
long double: "%ld"), \
|
|
CONSTANT_NAME); \
|
|
printf("\n");
|
|
|
|
int main() {
|
|
return 0;
|
|
}
|