diff options
author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2012-04-15 15:54:10 +0000 |
---|---|---|
committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2012-04-15 15:54:10 +0000 |
commit | fee1bb3ec8fc6e8b528ef2fefb1ebe63758f162b (patch) | |
tree | 62af4439c8c2569f831cd135a6c5bf397de464d4 /rtl/nativent | |
parent | 4c6a532db289fbfb49487652fb644b77d0e6977a (diff) | |
parent | b4e67ab336b17cc2fd10d3121d5af87c5d9b071d (diff) | |
download | fpc-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/Makefile | 292 | ||||
-rw-r--r-- | rtl/nativent/system.pp | 20 |
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. |