From e4a405dcd939406d92b6d545b8e917c3af0e1bcc Mon Sep 17 00:00:00 2001 From: nickysn Date: Wed, 27 Sep 2017 16:55:56 +0000 Subject: [PATCH] + added unit 'cpu' for i8086 git-svn-id: trunk@37332 - --- .gitattributes | 1 + rtl/i8086/cpu.pp | 242 +++++++++++++++++++++++++++++++++++++++++ rtl/msdos/Makefile | 177 +++++++++++++++--------------- rtl/msdos/Makefile.fpc | 6 +- 4 files changed, 340 insertions(+), 86 deletions(-) create mode 100644 rtl/i8086/cpu.pp diff --git a/.gitattributes b/.gitattributes index f41c7d362a..35feb337a4 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9211,6 +9211,7 @@ rtl/i386/setjump.inc svneol=native#text/plain rtl/i386/setjumph.inc svneol=native#text/plain rtl/i386/strings.inc svneol=native#text/plain rtl/i386/stringss.inc svneol=native#text/plain +rtl/i8086/cpu.pp svneol=native#text/plain rtl/i8086/hugeptr.inc svneol=native#text/plain rtl/i8086/i8086.inc svneol=native#text/plain rtl/i8086/int32p.inc svneol=native#text/plain diff --git a/rtl/i8086/cpu.pp b/rtl/i8086/cpu.pp new file mode 100644 index 0000000000..9e6b2dfccf --- /dev/null +++ b/rtl/i8086/cpu.pp @@ -0,0 +1,242 @@ +{ + This file is part of the Free Pascal run time library. + Copyright (c) 1999-2000 by Florian Klaempfl + + This unit contains some routines to get informations about the + processor + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} +{$mode objfpc} +unit cpu; + + interface + + uses + sysutils; + + { returns true, if the processor supports the cpuid instruction } + function cpuid_support : boolean; + + { returns true, if floating point is done by an emulator } + function floating_point_emulation : boolean; + + { returns the contents of the cr0 register } + function cr0 : longint; + +// function InterlockedCompareExchange128Support : boolean; +// function AESSupport : boolean;inline; +// function AVXSupport: boolean;inline; +// function AVX2Support: boolean;inline; +// function FMASupport: boolean;inline; + +// var +// is_sse3_cpu : boolean = false; + + function InterlockedCompareExchange128(var Target: Int128Rec; NewValue: Int128Rec; Comperand: Int128Rec): Int128Rec; + + implementation + +{$ASMMODE INTEL} +{$ASMCPU 80386} +// var +// _AVXSupport, +// _AVX2Support, +// _AESSupport, +// _FMASupport : boolean; + + + function InterlockedCompareExchange128(var Target: Int128Rec; NewValue: Int128Rec; Comperand: Int128Rec): Int128Rec; + begin + RunError(217); + end; + + + function cpuid_support : boolean;assembler;nostackframe; + { + Check if the ID-flag can be changed, if changed then CpuID is supported. + } + asm + xor ax, ax +{$IFDEF FPC_MM_HUGE} + mov bx, SEG Test8086 + mov es, bx + cmp byte ptr es:[Test8086], 2 { 2 = 80386 or later } +{$ELSE FPC_MM_HUGE} + cmp byte ptr [Test8086], 2 { 2 = 80386 or later } +{$ENDIF FPC_MM_HUGE} + jb @@Done { Test8086<2 means 80286 or earlier } + pushfd + pushfd + pop bx + pop cx + mov dx, cx + xor cx, 20h + push cx + push bx + popfd + pushfd + pop bx + pop cx + popfd + and cx, 20h + and dx, 20h + cmp cx, dx + je @@Done + inc ax + @@Done: + end; + + + function cr0 : longint;assembler;nostackframe; + asm + int 3 + xor ax, ax + xor dx, dx +{$IFDEF FPC_MM_HUGE} + mov bx, SEG Test8086 + mov es, bx + mov al, byte ptr es:[Test8086] +{$ELSE FPC_MM_HUGE} + mov al, byte ptr [Test8086] +{$ENDIF FPC_MM_HUGE} + test al, al { 0 = 8086/8088/80186/80188/NEC v20/v30: no cr0/msw register; simply return 0 } + jz @@Done + cmp al, 1 { 1 = 80286 } + jne @@386_or_later + { on 80286 we use SMSW (high 16 bits are 0, because dx=0) } + smsw ax + jmp @@Done + @@386_or_later: + { use smsw first, to see if we are in real mode (mov eax, cr0 isn't supported in virtual 8086 mode) } + smsw ax + test al, 1 + jz @@386_read_cr0 { real mode: we can read cr0 } + { 386 in protected mode; check the virtual 8086 mode flag } + { unfortunately, this doesn't work, because pushfd never pushes the virtual 8086 mode flag as 1 } + //pushfd + //pop cx + //pop cx + //test cl, 2 + //jnz @@Done {if in virtual 8086 mode, we can't read cr0, so just return the SMSW result } + { so, we must assume virtual 8086 mode and just return the SMSW result } + { TODO: this can be updated for e.g. protected mode 286 targets, where we + can safely assume the CPU is not in virtual 8086 mode, but proper protected mode + and still try to read cr0 } + jmp @@Done +@@386_read_cr0: + pushf { save the previous state of the interrupt flag } + cli { disable interrupts, because some buggy TSR may destroy the high + 16 bits of eax in an interrupt handler (BP7's 32-bit mul/div + helpers do this, when they detect a 386 or later, so e.g. a BP7 + TSR that hooks the timer interrupt could do this) } + { store eax, so that we preserve the high 16 bits of eax } + push eax + mov eax, cr0 + push eax + pop cx + pop dx + pop eax { restore eax } + mov ax, cx + popf { restore interrupts to their previous state } + @@Done: + end; + + + function floating_point_emulation : boolean; + begin + {!!!! I don't know currently the position of the EM flag } + { $4 after Ralf Brown's list } + floating_point_emulation:=(cr0 and $4)<>0; + end; + + +{$ASMMODE ATT} +// function XGETBV(i : dword) : int64;assembler; +// asm +// movl %eax,%ecx +// // older FPCs don't know the xgetbv opcode +// .byte 0x0f,0x01,0xd0 +// end; + + +// procedure SetupSupport; +// var +// _ecx,_ebx : longint; +// begin +// is_sse3_cpu:=false; +// if cpuid_support then +// begin +// asm +// pushl %ebx +// movl $1,%eax +// cpuid +// movl %ecx,_ecx +// popl %ebx +// end; +// _AESSupport:=(_ecx and $2000000)<>0; +// +// _AVXSupport:= +// { XGETBV suspport? } +// ((_ecx and $08000000)<>0) and +// { xmm and ymm state enabled? } +// ((XGETBV(0) and %110)=%110) and +// { avx supported? } +// ((_ecx and $10000000)<>0); +// +// is_sse3_cpu:=(_ecx and $1)<>0; +// +// _FMASupport:=_AVXSupport and ((_ecx and $1000)<>0); +// +// asm +// pushl %ebx +// movl $7,%eax +// movl $0,%ecx +// cpuid +// movl %ebx,_ebx +// popl %ebx +// end; +// _AVX2Support:=_AVXSupport and ((_ebx and $20)<>0); +// end; +// end; + + +// function InterlockedCompareExchange128Support : boolean; +// begin +// { 32 Bit CPUs have no 128 Bit interlocked exchange support } +// result:=false; +// end; + + +// function AESSupport : boolean; +// begin +// result:=_AESSupport; +// end; + + +// function AVXSupport: boolean;inline; +// begin +// result:=_AVXSupport; +// end; + + +// function AVX2Support: boolean;inline; +// begin +// result:=_AVX2Support; +// end; + + +// function FMASupport: boolean;inline; +// begin +// result:=_FMASupport; +// end; + +begin +// SetupSupport; +end. diff --git a/rtl/msdos/Makefile b/rtl/msdos/Makefile index 30b3378c1f..4f191d929b 100644 --- a/rtl/msdos/Makefile +++ b/rtl/msdos/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by FPCMake Version 2.0.0 [2017/08/22] +# Don't edit, this file is generated by FPCMake Version 2.0.0 [2017-09-21 rev 37286] # default: all MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-aros x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-darwin wasm-wasm sparc64-linux @@ -349,256 +349,256 @@ ifdef NO_EXCEPTIONS_IN_SYSTEM override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM endif ifeq ($(FULL_TARGET),i386-linux) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-go32v2) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-win32) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-os2) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-freebsd) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-beos) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-haiku) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-netbsd) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-solaris) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-netware) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-openbsd) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-wdosx) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-darwin) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-emx) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-watcom) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-netwlibc) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-wince) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-embedded) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-symbian) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-nativent) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-iphonesim) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-android) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-aros) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),m68k-linux) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),m68k-netbsd) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),m68k-amiga) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),m68k-atari) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),m68k-palmos) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),m68k-macos) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),m68k-embedded) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),powerpc-linux) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),powerpc-netbsd) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),powerpc-amiga) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),powerpc-macos) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),powerpc-darwin) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),powerpc-morphos) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),powerpc-embedded) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),powerpc-wii) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),powerpc-aix) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),sparc-linux) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),sparc-netbsd) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),sparc-solaris) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),sparc-embedded) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),x86_64-linux) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),x86_64-freebsd) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),x86_64-netbsd) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),x86_64-solaris) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),x86_64-openbsd) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),x86_64-darwin) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),x86_64-win64) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),x86_64-embedded) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),x86_64-iphonesim) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),x86_64-aros) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),x86_64-dragonfly) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),arm-linux) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),arm-palmos) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),arm-darwin) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),arm-wince) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),arm-gba) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),arm-nds) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),arm-embedded) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),arm-symbian) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),arm-android) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),arm-aros) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),powerpc64-linux) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),powerpc64-darwin) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),powerpc64-embedded) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),powerpc64-aix) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),avr-embedded) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),armeb-linux) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),armeb-embedded) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),mips-linux) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),mipsel-linux) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),mipsel-embedded) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),mipsel-android) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),jvm-java) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),jvm-android) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i8086-embedded) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i8086-msdos) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i8086-win16) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),aarch64-linux) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),aarch64-darwin) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),wasm-wasm) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),sparc64-linux) -override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable +override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 extpas rtlconst typinfo cpu types getopts fgl classes msmouse ports charset cpall ctypes fpwidestring character unicodedata unicodenumtable endif ifeq ($(FULL_TARGET),i386-linux) override TARGET_IMPLICITUNITS+=exeinfo cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp737 cp775 cp850 cp852 cp855 cp856 cp857 cp860 cp861 cp862 cp863 cp864 cp865 cp866 cp869 cp874 cp3021 cp8859_1 cp8859_2 cp8859_3 cp8859_4 cp8859_5 cp8859_6 cp8859_7 cp8859_8 cp8859_9 cp8859_10 cp8859_11 cp8859_13 cp8859_14 cp8859_15 cp8859_16 cpkoi8_r cpkoi8_u @@ -2560,7 +2560,11 @@ ifdef INSTALL_BUILDUNIT override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES)) endif ifdef INSTALLPPUFILES +ifneq ($(IMPORTLIBPREFIX)-$(STATICLIBEXT),$(STATICLIBPREFIX)-$(STATICLIBEXT)) override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) +else +override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) +endif ifneq ($(UNITTARGETDIRPREFIX),) override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES))) override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES)))) @@ -2912,6 +2916,9 @@ sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) system$(PPUEXT) macpas$(PPUEXT) : $(INC)/macpas.pp objpas$(PPUEXT) math$(PPUEXT) system$(PPUEXT) $(COMPILER) $(INC)/macpas.pp $(REDIR) $(EXECPPAS) +cpu$(PPUEXT) : $(PROCINC)/cpu.pp sysutils$(PPUEXT) system$(PPUEXT) + $(COMPILER) $(PROCINC)/cpu.pp + $(EXECPPAS) getopts$(PPUEXT) : $(INC)/getopts.pp system$(PPUEXT) $(COMPILER) $(INC)/getopts.pp $(REDIR) $(EXECPPAS) diff --git a/rtl/msdos/Makefile.fpc b/rtl/msdos/Makefile.fpc index 9664cb1dae..a3098504ec 100644 --- a/rtl/msdos/Makefile.fpc +++ b/rtl/msdos/Makefile.fpc @@ -6,7 +6,7 @@ main=rtl [target] loaders=prt0s prt0t prt0m prt0c prt0l prt0h # exceptn fpu units=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils \ - math macpas iso7185 extpas rtlconst typinfo types \ + math macpas iso7185 extpas rtlconst typinfo cpu types \ getopts fgl classes \ msmouse ports \ charset cpall ctypes \ @@ -180,6 +180,10 @@ macpas$(PPUEXT) : $(INC)/macpas.pp objpas$(PPUEXT) math$(PPUEXT) system$(PPUEXT) # # Other system-independent RTL Units # +cpu$(PPUEXT) : $(PROCINC)/cpu.pp sysutils$(PPUEXT) system$(PPUEXT) + $(COMPILER) $(PROCINC)/cpu.pp + $(EXECPPAS) + getopts$(PPUEXT) : $(INC)/getopts.pp system$(PPUEXT) $(COMPILER) $(INC)/getopts.pp $(REDIR) $(EXECPPAS)