50-cppbuilder.conf 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. my %targets = (
  2. "BC-32" => {
  3. inherit_from => [ "BASE_Windows" ],
  4. sys_id => "WIN32",
  5. bn_ops => "BN_LLONG",
  6. thread_scheme => "winthreads",
  7. cc => "bcc32c",
  8. CPP => "cpp32 -oCON -Sc -Sr",
  9. defines => add("WIN32_LEAN_AND_MEAN", "OPENSSL_SYS_WIN32",
  10. "L_ENDIAN", "DSO_WIN32", "_stricmp=stricmp",
  11. "_strnicmp=strnicmp", "_malloca=malloc",
  12. "_freea=free", "_setmode=setmode"),
  13. cflags => picker(default => add("-q -c",
  14. threads("-tM"),
  15. shared("-tR")),
  16. debug => "-Od -v -vi- -D_DEBUG",
  17. release => "-O2"),
  18. bin_cflags => "-tWC",
  19. lib_cflags => shared("-tWD -D_WINDLL -D_DLL"),
  20. coutflag => "-o",
  21. # -Sx isn't documented, but 'cpp32 -H -S' explains it:
  22. #
  23. # -Sx Omit preprocessed text in output
  24. makedepcmd => "cpp32 -oCON -Sx -Hp",
  25. makedep_scheme => "embarcadero",
  26. LD => "ilink32",
  27. LDFLAGS => picker(default => "-x -Gn -q -w-dup",
  28. debug => '-j"$(BDS)\lib\win32c\debug" ' .
  29. '-L"$(BDS)\lib\win32c\debug" -v',
  30. release => '-j"$(BDS)\lib\win32c\release" ' .
  31. '-L"$(BDS)\lib\win32c\release"'),
  32. bin_lflags => "-ap -Tpe c0x32.obj wildargs.obj",
  33. ldoutflag => ",",
  34. ldpostoutflag => ",,",
  35. ld_resp_delim => " +\n",
  36. ex_libs => add(sub {
  37. my @ex_libs = ("import32.lib",
  38. ($disabled{shared}
  39. ? ($disabled{threads} ? "cw32.lib" : "cw32mt.lib")
  40. : ($disabled{threads} ? "cw32i.lib" : "cw32mti.lib")));
  41. push @ex_libs, "ws2_32.lib" unless $disabled{sock};
  42. return join(" ", @ex_libs);
  43. }),
  44. AR => "tlib",
  45. ARFLAGS => "/P256 /N /u",
  46. ar_resp_delim => " &\n",
  47. RC => "brcc32",
  48. RCFLAGS => '-i"$(BDS)\include\windows\sdk"',
  49. rcoutflag => "-fo",
  50. shared_target => "win-shared",
  51. shared_ldflag => "-aa -Tpd c0d32.obj",
  52. lddefflag => ",",
  53. ldresflag => ",",
  54. ld_implib_rule => 'implib -a $< $**',
  55. dso_scheme => "win32",
  56. shared_defflag => '',
  57. perl_platform => 'Windows::cppbuilder',
  58. uplink_arch => 'common',
  59. },
  60. "BC-64" => {
  61. inherit_from => [ "BASE_Windows" ],
  62. sys_id => "WIN64",
  63. bn_ops => "BN_LLONG",
  64. thread_scheme => "winthreads",
  65. cc => "bcc64",
  66. CPP => "cpp64 -oCON -Sc -Sr",
  67. defines => add("WIN32_LEAN_AND_MEAN", "OPENSSL_SYS_WIN64",
  68. "L_ENDIAN", "DSO_WIN32", "_stricmp=stricmp",
  69. "_strnicmp=strnicmp", "_setmode=setmode"),
  70. cflags => picker(default => add("-q -c",
  71. threads("-tM"),
  72. shared("-tR")),
  73. debug => "-Od -v -vi- -D_DEBUG",
  74. release => "-O2"),
  75. bin_cflags => "-tWC",
  76. lib_cflags => shared("-tWD -D_WINDLL -D_DLL"),
  77. coutflag => "-o",
  78. # -Sx isn't documented, but 'cpp64 -H -S' explains it:
  79. #
  80. # -Sx Omit preprocessed text in output
  81. makedepcmd => "cpp64 -oCON -Sx -Hp",
  82. makedep_scheme => "embarcadero",
  83. LD => "ilink64",
  84. LDFLAGS => picker(default => "-x -Gn -q -w-dup",
  85. debug => '-j"$(BDS)\lib\win64\debug" ' .
  86. '-L"$(BDS)\lib\win64\debug" -v',
  87. release => '-j"$(BDS)\lib\win64\release" ' .
  88. '-L"$(BDS)\lib\win64\release"'),
  89. bin_lflags => "-ap -Tpe c0x64.o wildargs.o",
  90. ldoutflag => ",",
  91. ldpostoutflag => ",,",
  92. ld_resp_delim => " +\n",
  93. ex_libs => add(sub {
  94. my @ex_libs = ("import64.a",
  95. ($disabled{shared}
  96. ? ($disabled{threads} ? "cw64.a" : "cw64mt.a")
  97. : ($disabled{threads} ? "cw64i.a" : "cw64mti.a")));
  98. push @ex_libs, "ws2_32.a" unless $disabled{sock};
  99. return join(" ", @ex_libs);
  100. }),
  101. AR => "tlib",
  102. ARFLAGS => "/P256 /N /u",
  103. ar_resp_delim => " &\n",
  104. RC => "brcc32",
  105. RCFLAGS => '-i"$(BDS)\include\windows\sdk"',
  106. rcoutflag => "-fo",
  107. shared_target => "win-shared",
  108. shared_ldflag => "-aa -Tpd c0d64.o",
  109. lddefflag => ",",
  110. ldresflag => ",",
  111. ld_implib_rule => 'implib -a $< $**',
  112. dso_scheme => "win64",
  113. shared_defflag => '',
  114. perl_platform => 'Windows::cppbuilder',
  115. uplink_arch => 'common',
  116. }
  117. );