3 inherit_from => [ "BASE_Windows" ],
6 thread_scheme => "winthreads",
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",
16 debug => "-Od -v -vi- -D_DEBUG",
19 lib_cflags => shared("-tWD -D_WINDLL -D_DLL"),
22 # -Sx isn't documented, but 'cpp32 -H -S' explains it:
24 # -Sx Omit preprocessed text in output
25 makedepcmd => "cpp32 -oCON -Sx -Hp",
26 makedep_scheme => "embarcadero",
29 LDFLAGS => picker(default => "-x -Gn -q -w-dup",
30 debug => '-j"$(BDS)\lib\win32c\debug" ' .
31 '-L"$(BDS)\lib\win32c\debug" -v',
32 release => '-j"$(BDS)\lib\win32c\release" ' .
33 '-L"$(BDS)\lib\win32c\release"'),
34 bin_lflags => "-ap -Tpe c0x32.obj wildargs.obj",
36 ldpostoutflag => ",,",
37 ld_resp_delim => " +\n",
39 my @ex_libs = ("import32.lib",
41 ? ($disabled{threads} ? "cw32.lib" : "cw32mt.lib")
42 : ($disabled{threads} ? "cw32i.lib" : "cw32mti.lib")));
43 push @ex_libs, "ws2_32.lib" unless $disabled{sock};
44 return join(" ", @ex_libs);
47 ARFLAGS => "/P256 /N /u",
48 ar_resp_delim => " &\n",
50 RCFLAGS => '-i"$(BDS)\include\windows\sdk"',
52 shared_target => "win-shared",
53 shared_ldflag => "-aa -Tpd c0d32.obj",
56 ld_implib_rule => 'implib -a $< $**',
57 dso_scheme => "win32",
59 perl_platform => 'Windows::cppbuilder',
60 uplink_arch => 'common',