xref: /src/crypto/openssl/Configurations/50-cppbuilder.conf (revision e7be843b4a162e68651d3911f0357ed464915629)
19dd13e84SCy Schubertmy %targets = (
29dd13e84SCy Schubert    "BC-32" => {
39dd13e84SCy Schubert        inherit_from     => [ "BASE_Windows" ],
49dd13e84SCy Schubert        sys_id           => "WIN32",
59dd13e84SCy Schubert        bn_ops           => "BN_LLONG",
69dd13e84SCy Schubert        thread_scheme    => "winthreads",
79dd13e84SCy Schubert        cc               => "bcc32c",
89dd13e84SCy Schubert        CPP              => "cpp32 -oCON -Sc -Sr",
99dd13e84SCy Schubert        defines          => add("WIN32_LEAN_AND_MEAN", "OPENSSL_SYS_WIN32",
109dd13e84SCy Schubert                                "L_ENDIAN", "DSO_WIN32", "_stricmp=stricmp",
119dd13e84SCy Schubert                                "_strnicmp=strnicmp", "_malloca=malloc",
129dd13e84SCy Schubert                                "_freea=free", "_setmode=setmode"),
139dd13e84SCy Schubert        cflags           => picker(default => add("-q -c",
149dd13e84SCy Schubert                                                  threads("-tM"),
159dd13e84SCy Schubert                                                  shared("-tR")),
169dd13e84SCy Schubert                                   debug   => "-Od -v -vi- -D_DEBUG",
179dd13e84SCy Schubert                                   release => "-O2"),
189dd13e84SCy Schubert        bin_cflags       => "-tWC",
199dd13e84SCy Schubert        lib_cflags       => shared("-tWD -D_WINDLL -D_DLL"),
209dd13e84SCy Schubert        coutflag         => "-o",
219dd13e84SCy Schubert
229dd13e84SCy Schubert        # -Sx isn't documented, but 'cpp32 -H -S' explains it:
239dd13e84SCy Schubert        #
249dd13e84SCy Schubert        # -Sx     Omit preprocessed text in output
259dd13e84SCy Schubert        makedepcmd       => "cpp32 -oCON -Sx -Hp",
269dd13e84SCy Schubert        makedep_scheme   => "embarcadero",
279dd13e84SCy Schubert
289dd13e84SCy Schubert        LD               => "ilink32",
299dd13e84SCy Schubert        LDFLAGS          => picker(default => "-x -Gn -q -w-dup",
309dd13e84SCy Schubert                                   debug   => '-j"$(BDS)\lib\win32c\debug" ' .
319dd13e84SCy Schubert                                              '-L"$(BDS)\lib\win32c\debug" -v',
329dd13e84SCy Schubert                                   release => '-j"$(BDS)\lib\win32c\release" ' .
339dd13e84SCy Schubert                                              '-L"$(BDS)\lib\win32c\release"'),
349dd13e84SCy Schubert        bin_lflags       => "-ap -Tpe c0x32.obj wildargs.obj",
359dd13e84SCy Schubert        ldoutflag        => ",",
369dd13e84SCy Schubert        ldpostoutflag    => ",,",
379dd13e84SCy Schubert        ld_resp_delim    => " +\n",
389dd13e84SCy Schubert        ex_libs          => add(sub {
399dd13e84SCy Schubert            my @ex_libs = ("import32.lib",
409dd13e84SCy Schubert                           ($disabled{shared}
419dd13e84SCy Schubert                            ? ($disabled{threads} ? "cw32.lib" : "cw32mt.lib")
429dd13e84SCy Schubert                            : ($disabled{threads} ? "cw32i.lib" : "cw32mti.lib")));
439dd13e84SCy Schubert            push @ex_libs, "ws2_32.lib" unless $disabled{sock};
449dd13e84SCy Schubert            return join(" ", @ex_libs);
459dd13e84SCy Schubert        }),
469dd13e84SCy Schubert        AR               => "tlib",
479dd13e84SCy Schubert        ARFLAGS          => "/P256 /N /u",
489dd13e84SCy Schubert        ar_resp_delim    => " &\n",
499dd13e84SCy Schubert        RC               => "brcc32",
509dd13e84SCy Schubert        RCFLAGS          => '-i"$(BDS)\include\windows\sdk"',
519dd13e84SCy Schubert        rcoutflag        => "-fo",
529dd13e84SCy Schubert        shared_target    => "win-shared",
539dd13e84SCy Schubert        shared_ldflag    => "-aa -Tpd c0d32.obj",
549dd13e84SCy Schubert        lddefflag        => ",",
559dd13e84SCy Schubert        ldresflag        => ",",
569dd13e84SCy Schubert        ld_implib_rule   => 'implib -a $< $**',
579dd13e84SCy Schubert        dso_scheme       => "win32",
589dd13e84SCy Schubert        shared_defflag   => '',
599dd13e84SCy Schubert        perl_platform    => 'Windows::cppbuilder',
609dd13e84SCy Schubert        uplink_arch      => 'common',
6129536654SEnji Cooper    },
6229536654SEnji Cooper    "BC-64" => {
6329536654SEnji Cooper        inherit_from     => [ "BASE_Windows" ],
6429536654SEnji Cooper        sys_id           => "WIN64",
6529536654SEnji Cooper        bn_ops           => "BN_LLONG",
6629536654SEnji Cooper        thread_scheme    => "winthreads",
6729536654SEnji Cooper        cc               => "bcc64",
6829536654SEnji Cooper        CPP              => "cpp64 -oCON -Sc -Sr",
6929536654SEnji Cooper        defines          => add("WIN32_LEAN_AND_MEAN", "OPENSSL_SYS_WIN64",
7029536654SEnji Cooper                                "L_ENDIAN", "DSO_WIN32", "_stricmp=stricmp",
7129536654SEnji Cooper                                "_strnicmp=strnicmp", "_setmode=setmode"),
7229536654SEnji Cooper        cflags           => picker(default => add("-q -c",
7329536654SEnji Cooper                                                  threads("-tM"),
7429536654SEnji Cooper                                                  shared("-tR")),
7529536654SEnji Cooper                                   debug   => "-Od -v -vi- -D_DEBUG",
7629536654SEnji Cooper                                   release => "-O2"),
7729536654SEnji Cooper        bin_cflags       => "-tWC",
7829536654SEnji Cooper        lib_cflags       => shared("-tWD -D_WINDLL -D_DLL"),
7929536654SEnji Cooper        coutflag         => "-o",
8029536654SEnji Cooper
8129536654SEnji Cooper        # -Sx isn't documented, but 'cpp64 -H -S' explains it:
8229536654SEnji Cooper        #
8329536654SEnji Cooper        # -Sx     Omit preprocessed text in output
8429536654SEnji Cooper        makedepcmd       => "cpp64 -oCON -Sx -Hp",
8529536654SEnji Cooper        makedep_scheme   => "embarcadero",
8629536654SEnji Cooper
8729536654SEnji Cooper        LD               => "ilink64",
8829536654SEnji Cooper        LDFLAGS          => picker(default => "-x -Gn -q -w-dup",
8929536654SEnji Cooper                                   debug   => '-j"$(BDS)\lib\win64\debug" ' .
9029536654SEnji Cooper                                              '-L"$(BDS)\lib\win64\debug" -v',
9129536654SEnji Cooper                                   release => '-j"$(BDS)\lib\win64\release" ' .
9229536654SEnji Cooper                                              '-L"$(BDS)\lib\win64\release"'),
9329536654SEnji Cooper        bin_lflags       => "-ap -Tpe c0x64.o wildargs.o",
9429536654SEnji Cooper        ldoutflag        => ",",
9529536654SEnji Cooper        ldpostoutflag    => ",,",
9629536654SEnji Cooper        ld_resp_delim    => " +\n",
9729536654SEnji Cooper        ex_libs          => add(sub {
9829536654SEnji Cooper            my @ex_libs = ("import64.a",
9929536654SEnji Cooper                           ($disabled{shared}
10029536654SEnji Cooper                            ? ($disabled{threads} ? "cw64.a" : "cw64mt.a")
10129536654SEnji Cooper                            : ($disabled{threads} ? "cw64i.a" : "cw64mti.a")));
10229536654SEnji Cooper            push @ex_libs, "ws2_32.a" unless $disabled{sock};
10329536654SEnji Cooper            return join(" ", @ex_libs);
10429536654SEnji Cooper        }),
10529536654SEnji Cooper        AR               => "tlib",
10629536654SEnji Cooper        ARFLAGS          => "/P256 /N /u",
10729536654SEnji Cooper        ar_resp_delim    => " &\n",
10829536654SEnji Cooper        RC               => "brcc32",
10929536654SEnji Cooper        RCFLAGS          => '-i"$(BDS)\include\windows\sdk"',
11029536654SEnji Cooper        rcoutflag        => "-fo",
11129536654SEnji Cooper        shared_target    => "win-shared",
11229536654SEnji Cooper        shared_ldflag    => "-aa -Tpd c0d64.o",
11329536654SEnji Cooper        lddefflag        => ",",
11429536654SEnji Cooper        ldresflag        => ",",
11529536654SEnji Cooper        ld_implib_rule   => 'implib -a $< $**',
11629536654SEnji Cooper        dso_scheme       => "win64",
11729536654SEnji Cooper        shared_defflag   => '',
11829536654SEnji Cooper        perl_platform    => 'Windows::cppbuilder',
11929536654SEnji Cooper        uplink_arch      => 'common',
1209dd13e84SCy Schubert    }
1219dd13e84SCy Schubert);
122