summaryrefslogtreecommitdiffstats
path: root/Configurations/50-cppbuilder.conf
diff options
context:
space:
mode:
Diffstat (limited to 'Configurations/50-cppbuilder.conf')
-rw-r--r--Configurations/50-cppbuilder.conf30
1 files changed, 21 insertions, 9 deletions
diff --git a/Configurations/50-cppbuilder.conf b/Configurations/50-cppbuilder.conf
index 334672e1a3..cb293afcb9 100644
--- a/Configurations/50-cppbuilder.conf
+++ b/Configurations/50-cppbuilder.conf
@@ -3,34 +3,46 @@ my %targets = (
inherit_from => [ "BASE_Windows" ],
sys_id => "WIN32",
bn_ops => "BN_LLONG",
- dso_scheme => "win32",
thread_scheme => "winthreads",
cc => "bcc32c",
defines => add("WIN32_LEAN_AND_MEAN", "OPENSSL_SYS_WIN32",
"L_ENDIAN", "DSO_WIN32", "_stricmp=stricmp",
"_strnicmp=strnicmp", "_malloca=malloc",
"_freea=free", "_setmode=setmode"),
- cflags => picker(default => "-q -c -tWC -tWM",
+ cflags => picker(default => add("-q -c",
+ threads("-tM"),
+ shared("-tR")),
debug => "-Od -v -vi- -D_DEBUG",
release => "-O2"),
+ bin_cflags => "-tWC",
+ lib_cflags => shared("-tWD -D_WINDLL -D_DLL"),
coutflag => "-o",
LD => "ilink32",
- bin_lflags => combine(picker(default => "-ap -Tpe -x -Gn -q",
- debug => '-j"$(BDS)\lib\win32c\debug" ' .
- '-L"$(BDS)\lib\win32c\debug"',
- release => '-j"$(BDS)\lib\win32c\release" ' .
- '-L"$(BDS)\lib\win32c\release"'),
- "wildargs.obj"),
+ LDFLAGS => picker(default => "-ap -x -Gn -q",
+ debug => '-j"$(BDS)\lib\win32c\debug" ' .
+ '-L"$(BDS)\lib\win32c\debug" -v',
+ release => '-j"$(BDS)\lib\win32c\release" ' .
+ '-L"$(BDS)\lib\win32c\release"'),
+ bin_lflags => "-Tpe c0x32.obj wildargs.obj",
ldoutflag => ",",
ldpostoutflag => ",,",
ld_resp_delim => " +\n",
ex_libs => add(sub {
- my @ex_libs = ("cw32mt.lib", "import32.lib");
+ my @ex_libs = ("import32.lib",
+ ($disabled{shared}
+ ? ($disabled{threads} ? "cw32.lib" : "cw32mt.lib")
+ : ($disabled{threads} ? "cw32i.lib" : "cw32mti.lib")));
push @ex_libs, ("crypt32.lib", "ws2_32.lib") unless $disabled{sock};
return join(" ", @ex_libs);
}),
AR => "tlib",
ARFLAGS => "/P256 /N /u",
ar_resp_delim => " &\n",
+ shared_target => "win-shared",
+ shared_ldflag => "-Tpd c0d32.obj",
+ dso_lflags => "-Tpd c0d32.obj",
+ lddefflag => ",",
+ ld_implib_rule => 'implib $< $**',
+ dso_scheme => "win32",
}
);