Newer
Older
dub_jkp / test / win32_default.d
  1. /+ dub.json: {
  2. "name": "win32_default",
  3. "configurations": [
  4. {
  5. "name": "Default",
  6. "versions": [ "Default" ]
  7. },
  8. {
  9. "name": "OMF",
  10. "versions": [ "OMF" ]
  11. },
  12. {
  13. "name": "MsCoff",
  14. "versions": [ "MsCoff" ]
  15. },
  16. {
  17. "name": "MsCoff64",
  18. "versions": [ "MsCoff", "Is64" ]
  19. }
  20. ]
  21. } +/
  22.  
  23. module dynlib.app;
  24.  
  25. pragma(msg, "Frontend: ", __VERSION__);
  26.  
  27. // Object format should match the expectation
  28. version (OMF)
  29. {
  30. enum expSize = 4;
  31. enum expFormat = "omf";
  32. }
  33. else version (MsCoff)
  34. {
  35. // Should be a 32 bit build
  36. version (Is64) enum expSize = 8;
  37. else enum expSize = 4;
  38.  
  39. enum expFormat = "coff";
  40. }
  41. else version (Default)
  42. {
  43. enum expSize = 4;
  44. enum expFormat = __VERSION__ >= 2099 ? "coff" : "omf";
  45. }
  46. else
  47. {
  48. static assert(false, "Missing version flag!");
  49. }
  50.  
  51. enum actFormat = __traits(getTargetInfo, "objectFormat");
  52.  
  53. static assert(actFormat == expFormat);
  54. static assert((int*).sizeof == expSize);