You've already forked lazarus-ccr
60 lines
1.7 KiB
ObjectPascal
60 lines
1.7 KiB
ObjectPascal
![]() |
{*******************************************************************
|
||
|
* Test library of the Apache Pascal Headers
|
||
|
*******************************************************************}
|
||
|
library testmodule;
|
||
|
|
||
|
{*******************************************************************
|
||
|
* The mode must be objfpc on this unit because the unix code uses
|
||
|
* some extensions introduced on Free Pascal
|
||
|
*******************************************************************}
|
||
|
{$ifdef fpc}
|
||
|
{$mode objfpc}{$H+}
|
||
|
{$endif}
|
||
|
|
||
|
{$IFNDEF FPC}
|
||
|
{$DEFINE WINDOWS}
|
||
|
{$ENDIF}
|
||
|
|
||
|
{$IFDEF WIN32}
|
||
|
{$DEFINE WINDOWS}
|
||
|
{$ENDIF}
|
||
|
|
||
|
{*******************************************************************
|
||
|
* Assembler code to export variables on UNIXes
|
||
|
*******************************************************************}
|
||
|
{$IFNDEF WINDOWS}
|
||
|
{$l apache_module.o}
|
||
|
{$ENDIF}
|
||
|
|
||
|
uses
|
||
|
minimain in 'minimain.pas';
|
||
|
|
||
|
var
|
||
|
test_module: module; {$ifdef Unix}cvar; external; {$endif}
|
||
|
default_module_ptr: Pmodule;
|
||
|
|
||
|
{*******************************************************************
|
||
|
* Free Pascal only supports exporting variables on Windows
|
||
|
*******************************************************************}
|
||
|
{$ifdef WINDOWS}
|
||
|
exports
|
||
|
test_module name 'test_module';
|
||
|
{$endif}
|
||
|
|
||
|
{*******************************************************************
|
||
|
* Library initialization code
|
||
|
*******************************************************************}
|
||
|
begin
|
||
|
default_module_ptr := @test_module;
|
||
|
FillChar(default_module_ptr^, SizeOf(default_module_ptr^), 0);
|
||
|
with default_module_ptr^ do begin
|
||
|
version := MODULE_MAGIC_NUMBER_MAJOR;
|
||
|
minor_version := MODULE_MAGIC_NUMBER_MINOR;
|
||
|
module_index := -1;
|
||
|
name := 'testmodule.so';
|
||
|
magic := MODULE_MAGIC_COOKIE;
|
||
|
register_hooks := @RegisterHooks;
|
||
|
end;
|
||
|
end.
|
||
|
|