File: tweaklib2.pp

package info (click to toggle)
fpc 3.2.2%2Bdfsg-48
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 341,456 kB
  • sloc: pascal: 3,820,194; xml: 194,356; ansic: 9,637; asm: 8,482; java: 5,346; sh: 4,813; yacc: 3,956; makefile: 2,705; lex: 2,661; javascript: 2,454; sql: 929; php: 474; cpp: 145; perl: 136; sed: 132; csh: 34; tcl: 7
file content (61 lines) | stat: -rw-r--r-- 1,237 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
{ %NEEDLIBRARY }
{ %skiptarget=$nosharedlib }
{ %delfiles=tweaklib1 }

{$ifdef mswindows}
 {$define supported}
{$endif mswindows}
{$if defined(Unix) and not defined(aix)}
 {$define supported}
{$endif Unix}
{$ifndef fpc}
   {$define supported}
{$endif}

{$ifdef supported}

const
  {$ifdef windows}
    libname='tweaklib1.dll';
  {$else}
    libname='tweaklib1';
    {$linklib tweaklib1}
  {$endif}

var
{$ifndef darwin}
  _myvar: cardinal; weakexternal libname name '_MYVAR';
  _myvar2: cardinal; weakexternal libname name '_MYVAR2';
{$else darwin}
  { needs to be fixed in the compiler }
  _myvar: cardinal; weakexternal libname name 'MYVAR';
  _myvar2: cardinal; weakexternal libname name 'MYVAR2';
{$endif darwin}

function _test: cardinal; weakexternal libname name '_TEST';

procedure _test2; weakexternal libname name '_TEST2';

begin
{$ifdef darwin}
  if (paramcount=0) then
    halt(0);
{$endif}
  if not assigned(@_test) then
    halt(1);
  if assigned(@_test2) then
    halt(2);
  if _test<>$facef00d then
    halt(3);
  if not assigned(@_myvar) then
    halt(4);
  if assigned(@_myvar2) then
    halt(5);
  if (_myvar<>$12345678) then
    halt(6);
end.
{$else supported}
begin
  { no library support }
end.
{$endif supported}