1 1.1 christos my %targets = ( 2 1.1 christos "BC-32" => { 3 1.1 christos inherit_from => [ "BASE_Windows" ], 4 1.1 christos sys_id => "WIN32", 5 1.1 christos bn_ops => "BN_LLONG", 6 1.1 christos thread_scheme => "winthreads", 7 1.1 christos cc => "bcc32c", 8 1.1 christos CPP => "cpp32 -oCON -Sc -Sr", 9 1.1 christos defines => add("WIN32_LEAN_AND_MEAN", "OPENSSL_SYS_WIN32", 10 1.1 christos "L_ENDIAN", "DSO_WIN32", "_stricmp=stricmp", 11 1.1 christos "_strnicmp=strnicmp", "_malloca=malloc", 12 1.1 christos "_freea=free", "_setmode=setmode"), 13 1.1 christos cflags => picker(default => add("-q -c", 14 1.1 christos threads("-tM"), 15 1.1 christos shared("-tR")), 16 1.1 christos debug => "-Od -v -vi- -D_DEBUG", 17 1.1 christos release => "-O2"), 18 1.1 christos bin_cflags => "-tWC", 19 1.1 christos lib_cflags => shared("-tWD -D_WINDLL -D_DLL"), 20 1.1 christos coutflag => "-o", 21 1.1 christos 22 1.1 christos # -Sx isn't documented, but 'cpp32 -H -S' explains it: 23 1.1 christos # 24 1.1 christos # -Sx Omit preprocessed text in output 25 1.1 christos makedepcmd => "cpp32 -oCON -Sx -Hp", 26 1.1 christos makedep_scheme => "embarcadero", 27 1.1 christos 28 1.1 christos LD => "ilink32", 29 1.1 christos LDFLAGS => picker(default => "-x -Gn -q -w-dup", 30 1.1 christos debug => '-j"$(BDS)\lib\win32c\debug" ' . 31 1.1 christos '-L"$(BDS)\lib\win32c\debug" -v', 32 1.1 christos release => '-j"$(BDS)\lib\win32c\release" ' . 33 1.1 christos '-L"$(BDS)\lib\win32c\release"'), 34 1.1 christos bin_lflags => "-ap -Tpe c0x32.obj wildargs.obj", 35 1.1 christos ldoutflag => ",", 36 1.1 christos ldpostoutflag => ",,", 37 1.1 christos ld_resp_delim => " +\n", 38 1.1 christos ex_libs => add(sub { 39 1.1 christos my @ex_libs = ("import32.lib", 40 1.1 christos ($disabled{shared} 41 1.1 christos ? ($disabled{threads} ? "cw32.lib" : "cw32mt.lib") 42 1.1 christos : ($disabled{threads} ? "cw32i.lib" : "cw32mti.lib"))); 43 1.1 christos push @ex_libs, "ws2_32.lib" unless $disabled{sock}; 44 1.1 christos return join(" ", @ex_libs); 45 1.1 christos }), 46 1.1 christos AR => "tlib", 47 1.1 christos ARFLAGS => "/P256 /N /u", 48 1.1 christos ar_resp_delim => " &\n", 49 1.1 christos RC => "brcc32", 50 1.1 christos RCFLAGS => '-i"$(BDS)\include\windows\sdk"', 51 1.1 christos rcoutflag => "-fo", 52 1.1 christos shared_target => "win-shared", 53 1.1 christos shared_ldflag => "-aa -Tpd c0d32.obj", 54 1.1 christos lddefflag => ",", 55 1.1 christos ldresflag => ",", 56 1.1 christos ld_implib_rule => 'implib -a $< $**', 57 1.1 christos dso_scheme => "win32", 58 1.1 christos shared_defflag => '', 59 1.1 christos perl_platform => 'Windows::cppbuilder', 60 1.1 christos uplink_arch => 'common', 61 1.1 christos }, 62 1.1 christos "BC-64" => { 63 1.1 christos inherit_from => [ "BASE_Windows" ], 64 1.1 christos sys_id => "WIN64", 65 1.1 christos bn_ops => "BN_LLONG", 66 1.1 christos thread_scheme => "winthreads", 67 1.1 christos cc => "bcc64", 68 1.1 christos CPP => "cpp64 -oCON -Sc -Sr", 69 1.1 christos defines => add("WIN32_LEAN_AND_MEAN", "OPENSSL_SYS_WIN64", 70 1.1 christos "L_ENDIAN", "DSO_WIN32", "_stricmp=stricmp", 71 1.1 christos "_strnicmp=strnicmp", "_setmode=setmode"), 72 1.1 christos cflags => picker(default => add("-q -c", 73 1.1 christos threads("-tM"), 74 1.1 christos shared("-tR")), 75 1.1 christos debug => "-Od -v -vi- -D_DEBUG", 76 1.1 christos release => "-O2"), 77 1.1 christos bin_cflags => "-tWC", 78 1.1 christos lib_cflags => shared("-tWD -D_WINDLL -D_DLL"), 79 1.1 christos coutflag => "-o", 80 1.1 christos 81 1.1 christos # -Sx isn't documented, but 'cpp64 -H -S' explains it: 82 1.1 christos # 83 1.1 christos # -Sx Omit preprocessed text in output 84 1.1 christos makedepcmd => "cpp64 -oCON -Sx -Hp", 85 1.1 christos makedep_scheme => "embarcadero", 86 1.1 christos 87 1.1 christos LD => "ilink64", 88 1.1 christos LDFLAGS => picker(default => "-x -Gn -q -w-dup", 89 1.1 christos debug => '-j"$(BDS)\lib\win64\debug" ' . 90 1.1 christos '-L"$(BDS)\lib\win64\debug" -v', 91 1.1 christos release => '-j"$(BDS)\lib\win64\release" ' . 92 1.1 christos '-L"$(BDS)\lib\win64\release"'), 93 1.1 christos bin_lflags => "-ap -Tpe c0x64.o wildargs.o", 94 1.1 christos ldoutflag => ",", 95 1.1 christos ldpostoutflag => ",,", 96 1.1 christos ld_resp_delim => " +\n", 97 1.1 christos ex_libs => add(sub { 98 1.1 christos my @ex_libs = ("import64.a", 99 1.1 christos ($disabled{shared} 100 1.1 christos ? ($disabled{threads} ? "cw64.a" : "cw64mt.a") 101 1.1 christos : ($disabled{threads} ? "cw64i.a" : "cw64mti.a"))); 102 1.1 christos push @ex_libs, "ws2_32.a" unless $disabled{sock}; 103 1.1 christos return join(" ", @ex_libs); 104 1.1 christos }), 105 1.1 christos AR => "tlib", 106 1.1 christos ARFLAGS => "/P256 /N /u", 107 1.1 christos ar_resp_delim => " &\n", 108 1.1 christos RC => "brcc32", 109 1.1 christos RCFLAGS => '-i"$(BDS)\include\windows\sdk"', 110 1.1 christos rcoutflag => "-fo", 111 1.1 christos shared_target => "win-shared", 112 1.1 christos shared_ldflag => "-aa -Tpd c0d64.o", 113 1.1 christos lddefflag => ",", 114 1.1 christos ldresflag => ",", 115 1.1 christos ld_implib_rule => 'implib -a $< $**', 116 1.1 christos dso_scheme => "win64", 117 1.1 christos shared_defflag => '', 118 1.1 christos perl_platform => 'Windows::cppbuilder', 119 1.1 christos uplink_arch => 'common', 120 1.1 christos } 121 1.1 christos ); 122