summaryrefslogtreecommitdiff
path: root/rtl/nativent
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2012-04-15 15:54:10 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2012-04-15 15:54:10 +0000
commitfee1bb3ec8fc6e8b528ef2fefb1ebe63758f162b (patch)
tree62af4439c8c2569f831cd135a6c5bf397de464d4 /rtl/nativent
parent4c6a532db289fbfb49487652fb644b77d0e6977a (diff)
parentb4e67ab336b17cc2fd10d3121d5af87c5d9b071d (diff)
downloadfpc-fee1bb3ec8fc6e8b528ef2fefb1ebe63758f162b.tar.gz
* merged trunk up to r20882
o support for the new codepage-aware ansistrings in the jvm branch o empty ansistrings are now always represented by a nil pointer rather than by an empty string, because an empty string also has a code page which can confuse code (although this will make ansistrings harder to use in Java code) o more string helpers code shared between the general and jvm rtl o support for indexbyte/word in the jvm rtl (warning: first parameter is an open array rather than an untyped parameter there, so indexchar(pcharvar^,10,0) will be equivalent to indexchar[pcharvar^],10,0) there, which is different from what is intended; changing it to an untyped parameter wouldn't help though) o default() support is not yet complete o calling fpcres is currently broken due to limitations in sysutils.executeprocess() regarding handling unix quoting and the compiler using the same command lines for scripts and directly calling external programs o compiling the Java compiler currently requires adding ALLOW_WARNINGS=1 to the make command line git-svn-id: http://svn.freepascal.org/svn/fpc/branches/jvmbackend@20887 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'rtl/nativent')
-rw-r--r--rtl/nativent/Makefile292
-rw-r--r--rtl/nativent/system.pp20
2 files changed, 102 insertions, 210 deletions
diff --git a/rtl/nativent/Makefile b/rtl/nativent/Makefile
index 413c391ed7..a452b64171 100644
--- a/rtl/nativent/Makefile
+++ b/rtl/nativent/Makefile
@@ -1,10 +1,10 @@
#
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2011/08/18]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2012/04/13]
#
default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-solaris x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded mipsel-linux jvm-java
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos 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-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux jvm-java jvm-android
BSDs = freebsd netbsd openbsd darwin
-UNIXs = linux $(BSDs) solaris qnx haiku
+UNIXs = linux $(BSDs) solaris qnx haiku aix
LIMIT83fs = go32v2 os2 emx watcom
OSNeedsComspecToRunBatch = go32v2 watcom
FORCE:
@@ -154,12 +154,6 @@ ifdef OS_TARGET_DEFAULT
OS_TARGET=$(OS_TARGET_DEFAULT)
endif
endif
-ifneq ($(words $(FPC_COMPILERINFO)),5)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
-endif
ifndef CPU_SOURCE
CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
endif
@@ -185,6 +179,12 @@ else
ARCH=$(CPU_TARGET)
endif
endif
+ifeq ($(FULL_TARGET),arm-embedded)
+ifeq ($(SUBARCH),)
+$(error When compiling for arm-embedded, a sub-architecture (e.g. SUBARCH=armv4t or SUBARCH=armv7m) must be defined)
+endif
+override FPCOPT+=-Cp$(SUBARCH)
+endif
ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
TARGETSUFFIX=$(OS_TARGET)
SOURCESUFFIX=$(OS_SOURCE)
@@ -433,6 +433,9 @@ endif
ifeq ($(FULL_TARGET),powerpc-wii)
override TARGET_UNITS+=system uuchar objpas iso7185 buildrtl
endif
+ifeq ($(FULL_TARGET),powerpc-aix)
+override TARGET_UNITS+=system uuchar objpas iso7185 buildrtl
+endif
ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_UNITS+=system uuchar objpas iso7185 buildrtl
endif
@@ -454,6 +457,9 @@ endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override TARGET_UNITS+=system uuchar objpas iso7185 buildrtl
endif
+ifeq ($(FULL_TARGET),x86_64-openbsd)
+override TARGET_UNITS+=system uuchar objpas iso7185 buildrtl
+endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override TARGET_UNITS+=system uuchar objpas iso7185 buildrtl
endif
@@ -496,6 +502,9 @@ endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
override TARGET_UNITS+=system uuchar objpas iso7185 buildrtl
endif
+ifeq ($(FULL_TARGET),powerpc64-aix)
+override TARGET_UNITS+=system uuchar objpas iso7185 buildrtl
+endif
ifeq ($(FULL_TARGET),avr-embedded)
override TARGET_UNITS+=system uuchar objpas iso7185 buildrtl
endif
@@ -505,12 +514,18 @@ endif
ifeq ($(FULL_TARGET),armeb-embedded)
override TARGET_UNITS+=system uuchar objpas iso7185 buildrtl
endif
+ifeq ($(FULL_TARGET),mips-linux)
+override TARGET_UNITS+=system uuchar objpas iso7185 buildrtl
+endif
ifeq ($(FULL_TARGET),mipsel-linux)
override TARGET_UNITS+=system uuchar objpas iso7185 buildrtl
endif
ifeq ($(FULL_TARGET),jvm-java)
override TARGET_UNITS+=system uuchar objpas iso7185 buildrtl
endif
+ifeq ($(FULL_TARGET),jvm-android)
+override TARGET_UNITS+=system uuchar objpas iso7185 buildrtl
+endif
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings matrix rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs $(CPU_UNITS) charset ucomplex getopts fmtbcd #rsts=math varutils typinfo variants classes dateutils sysconst
endif
@@ -625,6 +640,9 @@ endif
ifeq ($(FULL_TARGET),powerpc-wii)
override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings matrix rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs $(CPU_UNITS) charset ucomplex getopts fmtbcd #rsts=math varutils typinfo variants classes dateutils sysconst
endif
+ifeq ($(FULL_TARGET),powerpc-aix)
+override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings matrix rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs $(CPU_UNITS) charset ucomplex getopts fmtbcd #rsts=math varutils typinfo variants classes dateutils sysconst
+endif
ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings matrix rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs $(CPU_UNITS) charset ucomplex getopts fmtbcd #rsts=math varutils typinfo variants classes dateutils sysconst
endif
@@ -646,6 +664,9 @@ endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings matrix rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs $(CPU_UNITS) charset ucomplex getopts fmtbcd #rsts=math varutils typinfo variants classes dateutils sysconst
endif
+ifeq ($(FULL_TARGET),x86_64-openbsd)
+override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings matrix rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs $(CPU_UNITS) charset ucomplex getopts fmtbcd #rsts=math varutils typinfo variants classes dateutils sysconst
+endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings matrix rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs $(CPU_UNITS) charset ucomplex getopts fmtbcd #rsts=math varutils typinfo variants classes dateutils sysconst
endif
@@ -688,6 +709,9 @@ endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings matrix rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs $(CPU_UNITS) charset ucomplex getopts fmtbcd #rsts=math varutils typinfo variants classes dateutils sysconst
endif
+ifeq ($(FULL_TARGET),powerpc64-aix)
+override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings matrix rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs $(CPU_UNITS) charset ucomplex getopts fmtbcd #rsts=math varutils typinfo variants classes dateutils sysconst
+endif
ifeq ($(FULL_TARGET),avr-embedded)
override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings matrix rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs $(CPU_UNITS) charset ucomplex getopts fmtbcd #rsts=math varutils typinfo variants classes dateutils sysconst
endif
@@ -697,12 +721,18 @@ endif
ifeq ($(FULL_TARGET),armeb-embedded)
override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings matrix rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs $(CPU_UNITS) charset ucomplex getopts fmtbcd #rsts=math varutils typinfo variants classes dateutils sysconst
endif
+ifeq ($(FULL_TARGET),mips-linux)
+override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings matrix rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs $(CPU_UNITS) charset ucomplex getopts fmtbcd #rsts=math varutils typinfo variants classes dateutils sysconst
+endif
ifeq ($(FULL_TARGET),mipsel-linux)
override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings matrix rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs $(CPU_UNITS) charset ucomplex getopts fmtbcd #rsts=math varutils typinfo variants classes dateutils sysconst
endif
ifeq ($(FULL_TARGET),jvm-java)
override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings matrix rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs $(CPU_UNITS) charset ucomplex getopts fmtbcd #rsts=math varutils typinfo variants classes dateutils sysconst
endif
+ifeq ($(FULL_TARGET),jvm-android)
+override TARGET_IMPLICITUNITS+=ndk ndkutils ddk ctypes strings matrix rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs $(CPU_UNITS) charset ucomplex getopts fmtbcd #rsts=math varutils typinfo variants classes dateutils sysconst
+endif
override INSTALL_FPCPACKAGE=y
ifeq ($(FULL_TARGET),i386-linux)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(DDKINC) $(NDKINC)
@@ -818,6 +848,9 @@ endif
ifeq ($(FULL_TARGET),powerpc-wii)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(DDKINC) $(NDKINC)
endif
+ifeq ($(FULL_TARGET),powerpc-aix)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(DDKINC) $(NDKINC)
+endif
ifeq ($(FULL_TARGET),sparc-linux)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(DDKINC) $(NDKINC)
endif
@@ -839,6 +872,9 @@ endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(DDKINC) $(NDKINC)
endif
+ifeq ($(FULL_TARGET),x86_64-openbsd)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(DDKINC) $(NDKINC)
+endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(DDKINC) $(NDKINC)
endif
@@ -881,6 +917,9 @@ endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(DDKINC) $(NDKINC)
endif
+ifeq ($(FULL_TARGET),powerpc64-aix)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(DDKINC) $(NDKINC)
+endif
ifeq ($(FULL_TARGET),avr-embedded)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(DDKINC) $(NDKINC)
endif
@@ -890,12 +929,18 @@ endif
ifeq ($(FULL_TARGET),armeb-embedded)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(DDKINC) $(NDKINC)
endif
+ifeq ($(FULL_TARGET),mips-linux)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(DDKINC) $(NDKINC)
+endif
ifeq ($(FULL_TARGET),mipsel-linux)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(DDKINC) $(NDKINC)
endif
ifeq ($(FULL_TARGET),jvm-java)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(DDKINC) $(NDKINC)
endif
+ifeq ($(FULL_TARGET),jvm-android)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(DDKINC) $(NDKINC)
+endif
ifeq ($(FULL_TARGET),i386-linux)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif
@@ -1010,6 +1055,9 @@ endif
ifeq ($(FULL_TARGET),powerpc-wii)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif
+ifeq ($(FULL_TARGET),powerpc-aix)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
+endif
ifeq ($(FULL_TARGET),sparc-linux)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif
@@ -1031,6 +1079,9 @@ endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif
+ifeq ($(FULL_TARGET),x86_64-openbsd)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
+endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif
@@ -1073,6 +1124,9 @@ endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif
+ifeq ($(FULL_TARGET),powerpc64-aix)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
+endif
ifeq ($(FULL_TARGET),avr-embedded)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif
@@ -1082,12 +1136,18 @@ endif
ifeq ($(FULL_TARGET),armeb-embedded)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif
+ifeq ($(FULL_TARGET),mips-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
+endif
ifeq ($(FULL_TARGET),mipsel-linux)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif
ifeq ($(FULL_TARGET),jvm-java)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
endif
+ifeq ($(FULL_TARGET),jvm-android)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
+endif
ifdef REQUIRE_UNITSDIR
override UNITSDIR+=$(REQUIRE_UNITSDIR)
endif
@@ -1298,7 +1358,7 @@ SHAREDLIBPREFIX=libfp
STATICLIBPREFIX=libp
IMPORTLIBPREFIX=libimp
RSTEXT=.rst
-ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
+EXEDBGEXT=.dbg
ifeq ($(OS_TARGET),go32v1)
STATICLIBPREFIX=
SHORTSUFFIX=v1
@@ -1420,6 +1480,7 @@ BATCHEXT=.sh
EXEEXT=
HASSHAREDLIB=1
SHORTSUFFIX=dwn
+EXEDBGEXT=.dSYM
endif
ifeq ($(OS_TARGET),gba)
EXEEXT=.gba
@@ -1439,164 +1500,22 @@ EXEEXT=.dol
SHAREDLIBEXT=.so
SHORTSUFFIX=wii
endif
-ifeq ($(OS_TARGET),java)
-SHAREDLIBEXT=.jar
-SHORTSUFFIX=java
-endif
-else
-ifeq ($(OS_TARGET),go32v1)
-PPUEXT=.pp1
-OEXT=.o1
-ASMEXT=.s1
-SMARTEXT=.sl1
-STATICLIBEXT=.a1
-SHAREDLIBEXT=.so1
-STATICLIBPREFIX=
-SHORTSUFFIX=v1
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-SHORTSUFFIX=dos
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-SHORTSUFFIX=wat
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),linux)
+ifeq ($(OS_TARGET),aix)
BATCHEXT=.sh
EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=lnx
+SHORTSUFFIX=aix
endif
-ifeq ($(OS_TARGET),freebsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=fbs
-endif
-ifeq ($(OS_TARGET),netbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=nbs
-endif
-ifeq ($(OS_TARGET),openbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=obs
-endif
-ifeq ($(OS_TARGET),win32)
-PPUEXT=.ppw
-OEXT=.ow
-ASMEXT=.sw
-SMARTEXT=.slw
-STATICLIBEXT=.aw
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-BATCHEXT=.cmd
-PPUEXT=.ppo
-ASMEXT=.so2
-OEXT=.oo2
-AOUTEXT=.out
-SMARTEXT=.sl2
-STATICLIBPREFIX=
-STATICLIBEXT=.ao2
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=os2
-ECHO=echo
-IMPORTLIBPREFIX=
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.library
-SHORTSUFFIX=amg
-endif
-ifeq ($(OS_TARGET),atari)
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=.ttp
-SHORTSUFFIX=ata
-endif
-ifeq ($(OS_TARGET),beos)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=be
-endif
-ifeq ($(OS_TARGET),solaris)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nw
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),netwlibc)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nwl
-IMPORTLIBPREFIX=imp
-endif
-ifeq ($(OS_TARGET),macos)
-BATCHEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-DEBUGSYMEXT=.xcoff
-SHORTSUFFIX=mac
-IMPORTLIBPREFIX=imp
+ifeq ($(OS_TARGET),java)
+OEXT=.class
+ASMEXT=.j
+SHAREDLIBEXT=.jar
+SHORTSUFFIX=java
endif
+ifeq ($(OS_TARGET),android)
+OEXT=.class
+ASMEXT=.j
+SHAREDLIBEXT=.jar
+SHORTSUFFIX=android
endif
ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
FPCMADE=fpcmade.$(SHORTSUFFIX)
@@ -1787,15 +1706,6 @@ ASNAME=$(BINUTILSPREFIX)as
LDNAME=$(BINUTILSPREFIX)ld
ARNAME=$(BINUTILSPREFIX)ar
RCNAME=$(BINUTILSPREFIX)rc
-ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),win32)
-ifeq ($(CROSSBINDIR),)
-ASNAME=asw
-LDNAME=ldw
-ARNAME=arw
-endif
-endif
-endif
ifndef ASPROG
ifdef CROSSBINDIR
ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
@@ -1839,25 +1749,6 @@ DATESTR:=$(shell $(DATE) +%Y%m%d)
else
DATESTR=
endif
-ifndef UPXPROG
-ifeq ($(OS_TARGET),go32v2)
-UPXPROG:=1
-endif
-ifeq ($(OS_TARGET),win32)
-UPXPROG:=1
-endif
-ifdef UPXPROG
-UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(UPXPROG),)
-UPXPROG=
-else
-UPXPROG:=$(firstword $(UPXPROG))
-endif
-else
-UPXPROG=
-endif
-endif
-export UPXPROG
ZIPOPT=-9
ZIPEXT=.zip
ifeq ($(USETAR),bz2)
@@ -1878,6 +1769,7 @@ override FPCOPT+=-P$(ARCH)
endif
ifeq ($(OS_SOURCE),openbsd)
override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
+override FPCMAKEOPT+=-FD$(NEW_BINUTILS_PATH)
endif
ifndef CROSSBOOTSTRAP
ifneq ($(BINUTILSPREFIX),)
@@ -1887,6 +1779,11 @@ ifneq ($(BINUTILSPREFIX),)
override FPCOPT+=-Xr$(RLINKPATH)
endif
endif
+ifndef CROSSCOMPILE
+ifneq ($(BINUTILSPREFIX),)
+override FPCMAKEOPT+=-XP$(BINUTILSPREFIX)
+endif
+endif
ifdef UNITDIR
override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
endif
@@ -1978,7 +1875,7 @@ override FPCOPT+=-Aas
endif
endif
ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
-ifneq ($(findstring $(OS_TARGET),linux solaris),)
+ifneq ($(findstring $(OS_TARGET),freebsd openbsd netbsd linux solaris),)
ifeq ($(CPU_TARGET),x86_64)
override FPCOPT+=-Cg
endif
@@ -2130,9 +2027,6 @@ endif
fpc_install: all $(INSTALLTARGET)
ifdef INSTALLEXEFILES
$(MKDIR) $(INSTALL_BINDIR)
-ifdef UPXPROG
- -$(UPXPROG) $(INSTALLEXEFILES)
-endif
$(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
endif
ifdef INSTALL_CREATEPACKAGEFPC
@@ -2180,9 +2074,11 @@ endif
.PHONY: fpc_clean fpc_cleanall fpc_distclean
ifdef EXEFILES
override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
+override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEDBGFILES))
endif
ifdef CLEAN_PROGRAMS
override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
+override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS)))
endif
ifdef CLEAN_UNITS
override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
@@ -2199,6 +2095,9 @@ fpc_clean: $(CLEANTARGET)
ifdef CLEANEXEFILES
-$(DEL) $(CLEANEXEFILES)
endif
+ifdef CLEANEXEDBGFILES
+ -$(DELTREE) $(CLEANEXEDBGFILES)
+endif
ifdef CLEANPPUFILES
-$(DEL) $(CLEANPPUFILES)
endif
@@ -2300,7 +2199,6 @@ fpc_baseinfo:
@$(ECHO) Date...... $(DATE)
@$(ECHO) FPCMake... $(FPCMAKE)
@$(ECHO) PPUMove... $(PPUMOVE)
- @$(ECHO) Upx....... $(UPXPROG)
@$(ECHO) Zip....... $(ZIPPROG)
@$(ECHO)
@$(ECHO) == Object info ==
diff --git a/rtl/nativent/system.pp b/rtl/nativent/system.pp
index 9d3f5cc3d3..8b5b19c444 100644
--- a/rtl/nativent/system.pp
+++ b/rtl/nativent/system.pp
@@ -376,12 +376,11 @@ begin
end;
{$endif}
-{$ifndef kmode}
-
-// other user mode only stuff
-
procedure SysInitStdIO;
begin
+ { This function is currently only called if the RTL is compiled for Usermode;
+ one could think about adding a text driver that outputs using DbgPrint }
+{$ifndef KMODE}
with PSimplePEB(CurrentPEB)^.ProcessParameters^ do begin
StdInputHandle := StandardInput;
StdOutputHandle := StandardOutput;
@@ -405,13 +404,8 @@ begin
Assign(ErrOutput, '');
Assign(StdErr, '');
end;
-end;
-
-{$else}
-
-// other kernel mode only stuff
-
{$endif}
+end;
function GetProcessID: SizeUInt;
begin
@@ -431,6 +425,9 @@ begin
{$endif ndef KMODE and ndef HAS_MEMORYMANAGER}
SysInitExceptions;
initvariantmanager;
+ { we do not use winlike widestrings and also the RTL can't be compiled with
+ 2.2, so we can savely use the UnicodeString manager only. }
+ initunicodestringmanager;
{$ifndef KMODE}
SysInitStdIO;
{ Arguments }
@@ -439,8 +436,5 @@ begin
InOutRes := 0;
InitSystemThreads;
errno := 0;
- { we do not use winlike widestrings and also the RTL can't be compiled with
- 2.2, so we can savely use the UnicodeString manager only. }
- initunicodestringmanager;
end.