Configuration: rework how dependency making is handled
[openssl.git] / Configurations / 50-cppbuilder.conf
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
22         # -Sx isn't documented, but 'cpp32 -H -S' explains it:
23         #
24         # -Sx     Omit preprocessed text in output
25         makedepcmd       => "cpp32 -oCON -Sx -Hp",
26         makedep_scheme   => "embarcadero",
27
28         LD               => "ilink32",
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",
35         ldoutflag        => ",",
36         ldpostoutflag    => ",,",
37         ld_resp_delim    => " +\n",
38         ex_libs          => add(sub {
39             my @ex_libs = ("import32.lib",
40                            ($disabled{shared}
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);
45         }),
46         AR               => "tlib",
47         ARFLAGS          => "/P256 /N /u",
48         ar_resp_delim    => " &\n",
49         RC               => "brcc32",
50         RCFLAGS          => '-i"$(BDS)\include\windows\sdk"',
51         rcoutflag        => "-fo",
52         shared_target    => "win-shared",
53         shared_ldflag    => "-aa -Tpd c0d32.obj",
54         lddefflag        => ",",
55         ldresflag        => ",",
56         ld_implib_rule   => 'implib -a $< $**',
57         dso_scheme       => "win32",
58         shared_defflag   => '',
59         perl_platform    => 'Windows::cppbuilder',
60         uplink_arch      => 'common',
61     }
62 );