| 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', | |
| }, | |
| "BC-64" => { | |
| inherit_from => [ "BASE_Windows" ], | |
| sys_id => "WIN64", | |
| bn_ops => "BN_LLONG", | |
| thread_scheme => "winthreads", | |
| cc => "bcc64", | |
| CPP => "cpp64 -oCON -Sc -Sr", | |
| defines => add("WIN32_LEAN_AND_MEAN", "OPENSSL_SYS_WIN64", | |
| "L_ENDIAN", "DSO_WIN32", "_stricmp=stricmp", | |
| "_strnicmp=strnicmp", "_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 'cpp64 -H -S' explains it: | |
| # | |
| # -Sx Omit preprocessed text in output | |
| makedepcmd => "cpp64 -oCON -Sx -Hp", | |
| makedep_scheme => "embarcadero", | |
| LD => "ilink64", | |
| LDFLAGS => picker(default => "-x -Gn -q -w-dup", | |
| debug => '-j"$(BDS)\lib\win64\debug" ' . | |
| '-L"$(BDS)\lib\win64\debug" -v', | |
| release => '-j"$(BDS)\lib\win64\release" ' . | |
| '-L"$(BDS)\lib\win64\release"'), | |
| bin_lflags => "-ap -Tpe c0x64.o wildargs.o", | |
| ldoutflag => ",", | |
| ldpostoutflag => ",,", | |
| ld_resp_delim => " +\n", | |
| ex_libs => add(sub { | |
| my @ex_libs = ("import64.a", | |
| ($disabled{shared} | |
| ? ($disabled{threads} ? "cw64.a" : "cw64mt.a") | |
| : ($disabled{threads} ? "cw64i.a" : "cw64mti.a"))); | |
| push @ex_libs, "ws2_32.a" 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 c0d64.o", | |
| lddefflag => ",", | |
| ldresflag => ",", | |
| ld_implib_rule => 'implib -a $< $**', | |
| dso_scheme => "win64", | |
| shared_defflag => '', | |
| perl_platform => 'Windows::cppbuilder', | |
| uplink_arch => 'common', | |
| } | |
| ); |