|  | my %targets = ( | 
|  | "BC-32" => { | 
|  | inherit_from     => [ "BASE_Windows" ], | 
|  | sys_id           => "WIN32", | 
|  | bn_ops           => "BN_LLONG", | 
|  | thread_scheme    => "winthreads", | 
|  | cc               => "bcc32c", | 
|  | CPP              => "cpp32 -oCON -Sc -Sr", | 
|  | 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 => 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", | 
|  |  | 
|  | # -Sx isn't documented, but 'cpp32 -H -S' explains it: | 
|  | # | 
|  | # -Sx     Omit preprocessed text in output | 
|  | makedepcmd       => "cpp32 -oCON -Sx -Hp", | 
|  | makedep_scheme   => "embarcadero", | 
|  |  | 
|  | LD               => "ilink32", | 
|  | LDFLAGS          => picker(default => "-x -Gn -q -w-dup", | 
|  | 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       => "-ap -Tpe c0x32.obj wildargs.obj", | 
|  | ldoutflag        => ",", | 
|  | ldpostoutflag    => ",,", | 
|  | ld_resp_delim    => " +\n", | 
|  | ex_libs          => add(sub { | 
|  | my @ex_libs = ("import32.lib", | 
|  | ($disabled{shared} | 
|  | ? ($disabled{threads} ? "cw32.lib" : "cw32mt.lib") | 
|  | : ($disabled{threads} ? "cw32i.lib" : "cw32mti.lib"))); | 
|  | push @ex_libs, "ws2_32.lib" unless $disabled{sock}; | 
|  | return join(" ", @ex_libs); | 
|  | }), | 
|  | AR               => "tlib", | 
|  | ARFLAGS          => "/P256 /N /u", | 
|  | ar_resp_delim    => " &\n", | 
|  | RC               => "brcc32", | 
|  | RCFLAGS          => '-i"$(BDS)\include\windows\sdk"', | 
|  | rcoutflag        => "-fo", | 
|  | shared_target    => "win-shared", | 
|  | shared_ldflag    => "-aa -Tpd c0d32.obj", | 
|  | lddefflag        => ",", | 
|  | ldresflag        => ",", | 
|  | ld_implib_rule   => 'implib -a $< $**', | 
|  | dso_scheme       => "win32", | 
|  | shared_defflag   => '', | 
|  | perl_platform    => 'Windows::cppbuilder', | 
|  | uplink_arch      => 'common', | 
|  | } | 
|  | ); |