Ver código fonte

+ feature switch RESOURCES
* use of feature switches in objpas updated
+ build unit objpas for embedded targets

git-svn-id: trunk@15473 -

florian 15 anos atrás
pai
commit
138c5d1570
4 arquivos alterados com 112 adições e 64 exclusões
  1. 2 2
      compiler/globtype.pas
  2. 98 61
      rtl/embedded/Makefile
  3. 1 1
      rtl/embedded/Makefile.fpc
  4. 11 0
      rtl/objpas/objpas.pp

+ 2 - 2
compiler/globtype.pas

@@ -189,7 +189,7 @@ interface
          f_heap,f_init_final,f_rtti,f_classes,f_exceptions,f_exitcode,
          f_ansistrings,f_widestrings,f_textio,f_consoleio,f_fileio,
          f_random,f_variants,f_objects,f_dynarrays,f_threading,f_commandargs,
-         f_processes,f_stackcheck,f_dynlibs,f_softfpu,f_objectivec1
+         f_processes,f_stackcheck,f_dynlibs,f_softfpu,f_objectivec1,f_resources
        );
        tfeatures = set of tfeature;
 
@@ -238,7 +238,7 @@ interface
          'HEAP','INITFINAL','RTTI','CLASSES','EXCEPTIONS','EXITCODE',
          'ANSISTRINGS','WIDESTRINGS','TEXTIO','CONSOLEIO','FILEIO',
          'RANDOM','VARIANTS','OBJECTS','DYNARRAYS','THREADING','COMMANDARGS',
-         'PROCESSES','STACKCHECK','DYNLIBS','SOFTFPU','OBJECTIVEC1'
+         'PROCESSES','STACKCHECK','DYNLIBS','SOFTFPU','OBJECTIVEC1','RESOURCES'
        );
 
     type

+ 98 - 61
rtl/embedded/Makefile

@@ -1,10 +1,10 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2010/06/22]
 #
 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 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 sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd 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
+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 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 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
 BSDs = freebsd netbsd openbsd darwin
-UNIXs = linux $(BSDs) solaris qnx
+UNIXs = linux $(BSDs) solaris qnx haiku
 LIMIT83fs = go32v2 os2 emx watcom
 OSNeedsComspecToRunBatch = go32v2 watcom
 FORCE:
@@ -285,178 +285,187 @@ endif
 OBJPASDIR=$(RTL)/objpas
 GRAPHDIR=$(INC)/graph
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
+endif
+ifeq ($(FULL_TARGET),i386-nativent)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
+endif
+ifeq ($(FULL_TARGET),x86_64-solaris)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
+endif
+ifeq ($(FULL_TARGET),mipsel-linux)
+override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings
 endif
 override INSTALL_FPCPACKAGE=y
 ifeq ($(FULL_TARGET),i386-linux)
@@ -519,6 +528,9 @@ endif
 ifeq ($(FULL_TARGET),i386-symbian)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 endif
+ifeq ($(FULL_TARGET),i386-nativent)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
+endif
 ifeq ($(FULL_TARGET),m68k-linux)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 endif
@@ -582,6 +594,9 @@ endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 endif
+ifeq ($(FULL_TARGET),x86_64-solaris)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
+endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 endif
@@ -633,6 +648,9 @@ endif
 ifeq ($(FULL_TARGET),armeb-embedded)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 endif
+ifeq ($(FULL_TARGET),mipsel-linux)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
+endif
 ifeq ($(FULL_TARGET),i386-linux)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
@@ -693,6 +711,9 @@ endif
 ifeq ($(FULL_TARGET),i386-symbian)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(FULL_TARGET),i386-nativent)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(FULL_TARGET),m68k-linux)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
@@ -756,6 +777,9 @@ endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(FULL_TARGET),x86_64-solaris)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
@@ -807,6 +831,9 @@ endif
 ifeq ($(FULL_TARGET),armeb-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
 endif
+ifeq ($(FULL_TARGET),mipsel-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
+endif
 ifdef REQUIRE_UNITSDIR
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
 endif
@@ -1149,6 +1176,10 @@ ifeq ($(OS_TARGET),symbian)
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=symbian
 endif
+ifeq ($(OS_TARGET),NativeNT)
+SHAREDLIBEXT=.dll
+SHORTSUFFIX=nativent
+endif
 else
 ifeq ($(OS_TARGET),go32v1)
 PPUEXT=.pp1
@@ -1887,6 +1918,9 @@ endif
 ifdef EXEFILES
 override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
 endif
+ifdef CLEAN_PROGRAMS
+override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
+endif
 ifdef CLEAN_UNITS
 override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
@@ -1933,6 +1967,9 @@ endif
 ifdef CLEANRSTFILES
 	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
 endif
+endif
+ifdef CLEAN_FILES
+	-$(DEL) $(CLEAN_FILES)
 endif
 	-$(DELTREE) units
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)

+ 1 - 1
rtl/embedded/Makefile.fpc

@@ -7,7 +7,7 @@ main=rtl
 
 [target]
 loaders=
-units=$(SYSTEMUNIT) $(CPU_UNITS) # objpas macpas strings \
+units=$(SYSTEMUNIT) $(CPU_UNITS) objpas # macpas strings \
 #      dos \
 #       sysutils \
 #       classes math typinfo varutils fmtbcd \

+ 11 - 0
rtl/objpas/objpas.pp

@@ -40,9 +40,14 @@ unit objpas;
        PPointerArray = ^PointerArray;
        TBoundArray = array of integer;
 
+{$ifdef FPC_HAS_FEATURE_CLASSES}
 Var
    ExceptionClass: TClass; { Exception base class (must actually be Exception, defined in sysutils ) }
+{$endif FPC_HAS_FEATURE_CLASSES}
+{$ifdef FPC_HAS_FEATURE_EXCEPTIONS}
+Var
    ExceptObjProc: Pointer; { Used to convert OS exceptions to exceptions in Delphi. Unused in FPC}
+{$endif FPC_HAS_FEATURE_EXCEPTIONS}
 
 {****************************************************************************
                              Compatibility routines.
@@ -88,6 +93,7 @@ Var
                              Resource strings.
 ****************************************************************************}
 
+{$ifdef FPC_HAS_FEATURE_RESOURCES}
    type
      TResourceIterator = Function (Name,Value : AnsiString; Hash : Longint; arg:pointer) : AnsiString;
 
@@ -111,6 +117,7 @@ Var
      PResStringRec=^AnsiString;
      TResStringRec=AnsiString;
    Function LoadResString(p:PResStringRec):AnsiString;
+{$endif FPC_HAS_FEATURE_RESOURCES}
 
   implementation
 
@@ -250,6 +257,7 @@ begin
 end;
 {$endif FPC_HAS_FEATURE_FILEIO}
 
+{$ifdef FPC_HAS_FEATURE_RESOURCES}
 { ---------------------------------------------------------------------
     ResourceString support
   ---------------------------------------------------------------------}
@@ -552,10 +560,13 @@ Function LoadResString(p:PResStringRec):AnsiString;
 begin
   Result:=p^;
 end;
+{$endif FPC_HAS_FEATURE_RESOURCES}
 
 
+{$ifdef FPC_HAS_FEATURE_RESOURCES}
 Initialization
 {  ResetResourceTables;}
 finalization
   FinalizeResourceTables;
+{$endif FPC_HAS_FEATURE_RESOURCES}
 end.