You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.2KB

  1. /*
  2. * DISTRHO Cardinal Plugin
  3. * Copyright (C) 2021 Filipe Coelho <falktx@falktx.com>
  4. *
  5. * This program is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU General Public License as
  7. * published by the Free Software Foundation; either version 3 of
  8. * the License, or any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * For a full copy of the GNU General Public License see the LICENSE file.
  16. */
  17. #pragma once
  18. /* On mingw stdio functions like printf are not inline, and thus get defined every time they are used.
  19. * We go through a few steps to ensure unique symbol names.
  20. */
  21. #ifdef STDIO_OVERRIDE
  22. // helper macros
  23. # define STDIO_OVERRIDE_HELPER(NS, SEP, FN) NS ## SEP ## FN
  24. # define STDIO_OVERRIDE_MACRO(NS, FN) STDIO_OVERRIDE_HELPER(NS, _, FN)
  25. // prefix the needed stdio functions
  26. # define printf STDIO_OVERRIDE_MACRO(STDIO_OVERRIDE, printf)
  27. #endif // STDIO_OVERRIDE
  28. // now just include the real stdio.h
  29. #include_next <stdio.h>