Für mein "kleines" Projekt auf
https://github.com/mikerabat/mrmath wollte ich mich mal um eine ARM kompatible Version kümmern.
Zu diesem Zweck wollte ich mal zumindest ein "Conditional Compile" einfügen, dass keine assembleroptimierten Versionen
der Funktionen einbindet.
Dazu wollte ich im
Package file (mrmath.dpk) folgende Zeilen einfügen:
{$IF not defined(x86) and not defined(x64)}
{$DEFINE MRMATH_NOASM}
{$ifend}
und auch
{$IF CompilerVersion >= 340}
{$LIBSUFFIX AUTO}
{$IFEND}
und dann später im File, an der Stelle an der die Dateien eingefügt werden:
{$IFNDEF MRMATH_NOASM}
ASMMatrixAddSubOperations in '..\..\ASMMatrixAddSubOperations.pas',
ASMMatrixAddSubOperationsx64 in '..\..\ASMMatrixAddSubOperationsx64.pas',
ASMMatrixElementwiseMultOperations in '..\..\ASMMatrixElementwiseMultOperations.pas',
ASMMatrixElementwiseMultOperationsx64 in '..\..\ASMMatrixElementwiseMultOperationsx64.pas',
... (und noch ein dutzend anderer Dateien)
{$ENDIF}
Das Konstrukt wird in der
IDE immer als "ausgegraut" dargestellt, beim Compilieren aber werden die
Datein importiert allerdings mit der Warnung, dass diese "implizit" eingefügt werden.
{$IF CompilerVersion >= 340}
{$LIBSUFFIX AUTO}
{$IFEND}
Das Konstrukt funtioniert überhaupt nicht - das IF kann vom Compiler nicht evaluiert werden und wird als Fehler ausgegeben.
Hat da wer ne Idee?