@@ -16,20 +16,53 @@ |
| 16 |
simultaneously. |
16 |
simultaneously. |
| 17 |
} |
17 |
} |
| 18 |
|
18 |
|
| 19 |
{$ifdef UNIX}uses BaseUnix;{$endif} |
19 |
{$mode objfpc}{$H+} |
| 20 |
{$ifdef WINDOWS}uses Windows;{$endif} |
|
|
| 21 |
|
20 |
|
| 22 |
procedure Mklink(Src, Dst: String); |
21 |
uses SysUtils, |
|
|
22 |
|
|
|
23 |
{$ifdef UNIX}BaseUnix;{$endif} |
|
|
24 |
{$ifdef WINDOWS}Windows;{$endif} |
|
|
25 |
|
|
|
26 |
// Cringe |
|
|
27 |
{$ifdef WINDOWS} |
|
|
28 |
const |
|
|
29 |
SYMBOLIC_LINK_FLAG_DIRECTORY = $00000001; |
|
|
30 |
|
|
|
31 |
function CreateSymbolicLinkA( |
|
|
32 |
lpSymlinkFileName: PAnsiChar; |
|
|
33 |
lpTargetFileName: PAnsiChar; |
|
|
34 |
dwFlags: DWORD |
|
|
35 |
): Boolean; stdcall; external 'kernel32'; |
|
|
36 |
{$endif} |
|
|
37 |
|
|
|
38 |
procedure Mklink(Src, Dst: AnsiString; Dir: Boolean = False); |
| 23 |
begin |
39 |
begin |
|
|
40 |
writeln(src, ', ', dst, ', ', dir); |
| 24 |
{$ifdef UNIX} |
41 |
{$ifdef UNIX} |
| 25 |
// TODO.... |
42 |
// TODO.... |
| 26 |
{$endif} |
43 |
{$endif} |
| 27 |
|
44 |
|
| 28 |
{$ifdef WINDOWS} |
45 |
{$ifdef WINDOWS} |
| 29 |
// Todo... |
46 |
if Dir then |
|
|
47 |
writeln('link dir ', CreateSymbolicLinkA(PAnsiChar(Dst), PAnsiChar(Src), SYMBOLIC_LINK_FLAG_DIRECTORY)) |
|
|
48 |
else |
|
|
49 |
writeln('link file ', CreateSymbolicLinkA(PAnsiChar(Dst), PAnsiChar(Src), 0)) |
| 30 |
{$endif} |
50 |
{$endif} |
| 31 |
end; |
51 |
end; |
| 32 |
|
52 |
|
|
|
53 |
var |
|
|
54 |
I: Integer; |
|
|
55 |
Dev: Boolean; |
|
|
56 |
DestDir: String; |
| 33 |
begin |
57 |
begin |
|
|
58 |
for I := 0 to ParamCount-1 do writeln(Paramstr(I)); |
|
|
59 |
DestDir := ParamStr(2); |
|
|
60 |
Dev := True; ///(ParamCount > 2) and (ParamStr(2) = '-d'); |
| 34 |
|
61 |
|
|
|
62 |
if Dev then begin |
|
|
63 |
Mklink('hUGETracker', DestDir+'hUGETracker', True); |
|
|
64 |
Mklink('Resources/ROMs/halt.gb', DestDir+'halt.gb'); |
|
|
65 |
end else begin |
|
|
66 |
writeln('not implemented.'); |
|
|
67 |
end; |
| 35 |
end. |
68 |
end. |