You've already forked lazarus-ccr
Added option to gir2pas to disable wrapper functions and properties. Usefull if trying to use an older gtk3 version than the bindings are based on since all unresolved functions will prevent linking.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2498 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -208,6 +208,7 @@ begin
|
||||
'Note: If -C or -O are not used then pascal Objects and consts '+
|
||||
'are in a single unit.');
|
||||
{$ENDIF CreatePascalClasses}
|
||||
AddOption(['N', 'no-wrappers'], False ,'Do not create wrappers for objects.');
|
||||
AddOption(['w', 'overwrite-files'], False ,'If the output .pas file(s) already exists then overwrite them.');
|
||||
AddOption(['n', 'no-default'], False ,'/usr/share/gir-1.0 is not added as a search location for needed .gir files.');
|
||||
AddOption(['p', 'paths'], True ,'List of paths seperated by ":" to search for needed .gir files.');
|
||||
@ -278,6 +279,9 @@ begin
|
||||
Include(FOptions, goSeperateConsts);
|
||||
end;
|
||||
|
||||
if FCmdOptions.HasOption('no-wrappers') then
|
||||
Include(FOptions, goNoWrappers);
|
||||
|
||||
if FCmdOptions.HasOption('objects') then
|
||||
begin
|
||||
Include(FOptions, goObjects);
|
||||
|
@ -8,7 +8,7 @@ uses
|
||||
Classes, SysUtils, girNameSpaces, girObjects, girTokens, contnrs;
|
||||
|
||||
type
|
||||
TgirOption = (goWantTest, goLinkDynamic, goSeperateConsts, goClasses, goObjects, goIncludeDeprecated);
|
||||
TgirOption = (goWantTest, goLinkDynamic, goSeperateConsts, goClasses, goObjects, goIncludeDeprecated, goNoWrappers);
|
||||
TgirOptions = set of TgirOption;
|
||||
TgirWriteEvent = procedure (Sender: TObject; AUnitName: AnsiString; AStream: TStringStream) of object;
|
||||
|
||||
@ -1189,7 +1189,7 @@ begin
|
||||
|
||||
// This is the line that will be used by in the TObject declaration. <----
|
||||
// result will be written in the object declaration.
|
||||
if OptionsIndicateWrapperMethod then
|
||||
if OptionsIndicateWrapperMethod and not(goNoWrappers in FOptions) then
|
||||
Result := Entry + Deprecated
|
||||
else
|
||||
Result := '';
|
||||
@ -1223,7 +1223,7 @@ begin
|
||||
|
||||
//RoutineType, AObjectName, AObjectFunctionName, AParams, AFunctionReturns, AFlatFunctionName, AWantSelf
|
||||
// writes the implementation of what we declared in the object
|
||||
if AWantWrapperForObject and (Prefix = '') and OptionsIndicateWrapperMethod then
|
||||
if AWantWrapperForObject and (Prefix = '') and OptionsIndicateWrapperMethod and not (goNoWrappers in FOptions) then
|
||||
WriteWrapperForObject(RoutineType, AItem.TranslatedName, ProperUnit.SanitizeName(AFunction.Name), AFunction.Params, Returns, AFunction.CIdentifier, AIsMethod);
|
||||
end;
|
||||
|
||||
@ -1310,7 +1310,7 @@ var
|
||||
OptionsIndicateWrapperMethod: Boolean;
|
||||
begin
|
||||
OptionsIndicateWrapperMethod:=FUnitType = PascalUnitTypeAll;
|
||||
if not OptionsIndicateWrapperMethod then
|
||||
if not OptionsIndicateWrapperMethod or (goNoWrappers in FOptions) then
|
||||
Exit('');
|
||||
ReadFunc:= 'read '+SanitizeName('get_'+ AProperty.Name);
|
||||
if AProperty.Writable then
|
||||
|
Reference in New Issue
Block a user