scheme48arch.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /* Part of Scheme 48 1.9. See file COPYING for notices and license.
  2. *
  3. * Authors: Mike Sperber, Robert Ransom, Marcus Crestani
  4. */
  5. /*
  6. * For building and linking DLLs on Windows, we need to mark functions
  7. * the DLL calls in Scheme 48 and vice versa explicitly---and differently
  8. * depending on whether we're compiling the DLL or Scheme 48 itself.
  9. *
  10. * Therefore, on Windows, we assume that __COMPILING_SCHEME48_ITSELF__
  11. * is defined when Scheme 48 itself is being compiled, and not when
  12. * we're compiling something external against it.
  13. */
  14. #if defined(__CYGWIN__) || defined(_WIN32)
  15. # ifdef __COMPILING_SCHEME48_ITSELF__
  16. # define S48_EXTERN_ADD_ONS __declspec(dllexport)
  17. # else
  18. # define S48_EXTERN_ADD_ONS __declspec(dllimport)
  19. # endif
  20. #endif
  21. #ifndef S48_EXTERN_ADD_ONS
  22. # define S48_EXTERN_ADD_ONS
  23. #endif
  24. #define S48_EXTERN extern S48_EXTERN_ADD_ONS
  25. /*
  26. * We repeat this so we won't have to install sysdep.h.
  27. */
  28. /* Check for sizeof (void *) */
  29. #define SIZEOF_VOID_P 4
  30. /* Check for the number of bits per byte */
  31. #define BITS_PER_BYTE 8
  32. /* Define if building with BIBOP GC. */
  33. #define S48_GC_BIBOP 1
  34. /* Define if building with two-space GC. */
  35. /* #undef S48_GC_TWOSPACE */
  36. /* Define to 1 if you have the <stdint.h> header file. */
  37. #undef HAVE_STDINT_H
  38. /* Define to 1 if you have the <sys/types.h> header file. */
  39. #undef HAVE_SYS_TYPES_H
  40. typedef unsigned _int16 uint16_t;
  41. typedef unsigned _int32 uint32_t;
  42. #include <stdio.h> /* size_t */