Bläddra i källkod

* Cosmetic changes
* Slightly improved emx.pas

yuri 22 år sedan
förälder
incheckning
16fcafe424
5 ändrade filer med 194 tillägg och 38 borttagningar
  1. 143 26
      rtl/emx/Makefile
  2. 1 1
      rtl/emx/Makefile.fpc
  3. 44 9
      rtl/emx/emx.pas
  4. 0 0
      rtl/emx/sysemx.pas
  5. 6 2
      rtl/emx/system.pas

+ 143 - 26
rtl/emx/Makefile

@@ -1,8 +1,8 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2002/09/26]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2003/08/11]
 #
 default: all
-MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx
+MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx
 override PATH:=$(subst \,/,$(PATH))
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
@@ -32,7 +32,7 @@ inOS2=1
 endif
 endif
 else
-ifneq ($(findstring cygwin,$(MACHTYPE)),)
+ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 endif
 endif
@@ -58,6 +58,9 @@ ifdef inUnix
 PATHSEP=/
 else
 PATHSEP:=$(subst /,\,/)
+ifdef inCygWin
+PATHSEP=/
+endif
 endif
 ifdef PWD
 BASEDIR:=$(subst \,/,$(shell $(PWD)))
@@ -87,8 +90,8 @@ endif
 endif
 export ECHO
 endif
-OS_TARGET=emx
-CPU_TARGET=i386
+override OS_TARGET_DEFAULT=emx
+override CPU_TARGET_DEFAULT=i386
 override DEFAULT_FPCDIR=../..
 ifndef FPC
 ifdef PP
@@ -110,37 +113,38 @@ endif
 override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
 override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
 ifndef FPC_VERSION
-FPC_VERSION:=$(shell $(FPC) -iV)
+FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
+FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
 endif
-export FPC FPC_VERSION
+export FPC FPC_VERSION FPC_COMPILERINFO
 unexport CHECKDEPEND ALLDEPENDENCIES
-ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
-COMPILERINFO:=$(shell $(FPC) -iSP -iTP -iSO -iTO)
-ifndef CPU_SOURCE
-CPU_SOURCE:=$(word 1,$(COMPILERINFO))
-endif
 ifndef CPU_TARGET
-CPU_TARGET:=$(word 2,$(COMPILERINFO))
+ifdef CPU_TARGET_DEFAULT
+CPU_TARGET=$(CPU_TARGET_DEFAULT)
 endif
-ifndef OS_SOURCE
-OS_SOURCE:=$(word 3,$(COMPILERINFO))
 endif
 ifndef OS_TARGET
-OS_TARGET:=$(word 4,$(COMPILERINFO))
+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
-else
 ifndef CPU_SOURCE
-CPU_SOURCE:=$(shell $(FPC) -iSP)
+CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
 endif
 ifndef CPU_TARGET
-CPU_TARGET:=$(shell $(FPC) -iTP)
+CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
 endif
 ifndef OS_SOURCE
-OS_SOURCE:=$(shell $(FPC) -iSO)
+OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
 endif
 ifndef OS_TARGET
-OS_TARGET:=$(shell $(FPC) -iTO)
-endif
+OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
 endif
 FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
 FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
@@ -210,7 +214,7 @@ UNITPREFIX=rtl
 ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
 SYSTEMUNIT=system
 else
-SYSTEMUNIT=sysos2
+SYSTEMUNIT=sysemx
 endif
 ifdef RELEASE
 override FPCOPT+=-Ur
@@ -429,6 +433,103 @@ SHAREDLIBEXT=.so
 STATICLIBPREFIX=libp
 RSTEXT=.rst
 FPCMADE=fpcmade
+ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
+ifeq ($(OS_TARGET),go32v1)
+STATICLIBPREFIX=
+FPCMADE=fpcmade.v1
+PACKAGESUFFIX=v1
+endif
+ifeq ($(OS_TARGET),go32v2)
+STATICLIBPREFIX=
+FPCMADE=fpcmade.dos
+ZIPSUFFIX=go32
+endif
+ifeq ($(OS_TARGET),linux)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.lnx
+ZIPSUFFIX=linux
+endif
+ifeq ($(OS_TARGET),freebsd)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.freebsd
+ZIPSUFFIX=freebsd
+endif
+ifeq ($(OS_TARGET),netbsd)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.netbsd
+ZIPSUFFIX=netbsd
+endif
+ifeq ($(OS_TARGET),openbsd)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.openbsd
+ZIPSUFFIX=openbsd
+endif
+ifeq ($(OS_TARGET),win32)
+SHAREDLIBEXT=.dll
+FPCMADE=fpcmade.w32
+ZIPSUFFIX=w32
+endif
+ifeq ($(OS_TARGET),os2)
+AOUTEXT=.out
+STATICLIBPREFIX=
+SHAREDLIBEXT=.dll
+FPCMADE=fpcmade.os2
+ZIPSUFFIX=os2
+ECHO=echo
+endif
+ifeq ($(OS_TARGET),emx)
+AOUTEXT=.out
+STATICLIBPREFIX=
+SHAREDLIBEXT=.dll
+FPCMADE=fpcmade.emx
+ZIPSUFFIX=emx
+ECHO=echo
+endif
+ifeq ($(OS_TARGET),amiga)
+EXEEXT=
+SHAREDLIBEXT=.library
+FPCMADE=fpcmade.amg
+endif
+ifeq ($(OS_TARGET),atari)
+EXEEXT=.ttp
+FPCMADE=fpcmade.ata
+endif
+ifeq ($(OS_TARGET),beos)
+EXEEXT=
+FPCMADE=fpcmade.be
+ZIPSUFFIX=be
+endif
+ifeq ($(OS_TARGET),sunos)
+EXEEXT=
+FPCMADE=fpcmade.sun
+ZIPSUFFIX=sun
+endif
+ifeq ($(OS_TARGET),qnx)
+EXEEXT=
+FPCMADE=fpcmade.qnx
+ZIPSUFFIX=qnx
+endif
+ifeq ($(OS_TARGET),netware)
+EXEEXT=.nlm
+STATICLIBPREFIX=
+FPCMADE=fpcmade.nw
+ZIPSUFFIX=nw
+endif
+ifeq ($(OS_TARGET),macos)
+EXEEXT=
+FPCMADE=fpcmade.mcc
+endif
+ifeq ($(OS_TARGET),darwin)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.darwin
+ZIPSUFFIX=darwin
+endif
+else
 ifeq ($(OS_TARGET),go32v1)
 PPUEXT=.pp1
 OEXT=.o1
@@ -543,8 +644,8 @@ ZIPSUFFIX=qnx
 endif
 ifeq ($(OS_TARGET),netware)
 STATICLIBPREFIX=
-PPUEXT=.ppn
-OEXT=.on
+PPUEXT=.ppu
+OEXT=.o
 ASMEXT=.s
 SMARTEXT=.sl
 STATICLIBEXT=.a
@@ -553,6 +654,16 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 EXEEXT=.nlm
 endif
+ifeq ($(OS_TARGET),macos)
+PPUEXT=.ppu
+ASMEXT=.s
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+EXEEXT=
+FPCMADE=fpcmade.mcc
+endif
+endif
 ifndef ECHO
 ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
@@ -864,6 +975,11 @@ override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
 override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
 endif
 endif
+ifeq ($(OS_TARGET),linux)
+ifeq ($(FPC_VERSION),1.0.6)
+override FPCOPTDEF+=HASUNIX
+endif
+endif
 ifdef OPT
 override FPCOPT+=$(OPT)
 endif
@@ -882,7 +998,7 @@ override COMPILER:=$(FPC) $(FPCOPT)
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 else
-ifeq ($(OS_SOURCE),$(OS_TARGET))
+ifeq ($(FULL_SOURCE),$(FULL_TARGET))
 EXECPPAS:=@$(PPAS)
 endif
 endif
@@ -1098,6 +1214,7 @@ fpc_baseinfo:
 	@$(ECHO)  Rm........ $(RMPROG)
 	@$(ECHO)  GInstall.. $(GINSTALL)
 	@$(ECHO)  Echo...... $(ECHO)
+	@$(ECHO)  Shell..... $(SHELL)
 	@$(ECHO)  Date...... $(DATE)
 	@$(ECHO)  FPCMake... $(FPCMAKE)
 	@$(ECHO)  PPUMove... $(PPUMOVE)

+ 1 - 1
rtl/emx/Makefile.fpc

@@ -44,7 +44,7 @@ UNITPREFIX=rtl
 ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
 SYSTEMUNIT=system
 else
-SYSTEMUNIT=sysos2
+SYSTEMUNIT=sysemx
 endif
 
 # Use new feature from 1.0.5 version

+ 44 - 9
rtl/emx/emx.pas

@@ -20,20 +20,55 @@ Modifying this unit is allowed, under the following conditions:
 
 ****************************************************************************}
 
-unit emx;
+Unit emx;
 
-type    PFar=record
-            Segment,Offset:word;
-        end;
+Interface
+
+{$Mode ObjFpc}
+
+{16:16 far pointer}
+type
+  Far16Ptr=record
+    Segment, Offset: Word;
+  end;
 
 {! Don't call this one. It is used by the startup code.}
-procedure __emxinit;
+//procedure emxinit; cdecl;
+//  external 'emx' index 1;
+
 {! Calling this is not recommended. Use ___syscall instead.}
-procedure __emx_syscall;
+//procedure emx_syscall; cdecl;
+//  external 'emx' index 2;
+
 {This one converts 16:16 far pointers to 32 bit flat ones.}
-procedure __emx_16to32(APtr:PFar):pointer;
+function emx_16to32(APtr: Far16Ptr): pointer; cdecl;
+  external 'emx' index 3;
+
 {This one converts 32 bit flat pointers to 16:16 far ones.}
-procedure __emx_32to16(APtr:pointer):PFar;
+function emx_32to16(APtr: pointer): Far16Ptr; cdecl;
+  external 'emx' index 4;
+
 {This one should be called to call 16-bit procedures and functions.}
-procedure __emx_thunk1(APtr:pointer)
+function emx_thunk1(Args: Pointer; Fun: Pointer): cardinal; cdecl;
+  external 'emx' index 5;
+
+procedure emx_exception; cdecl;
+  external 'emx' index 6;
+
+// REXX function
+//ULONG emx_revision (PCSZ name, LONG argc, const RXSTRING *argv,
+//                    PCSZ queuename, PRXSTRING retstr)
+procedure emx_revision; cdecl;
+  external 'emx' index 128;
+
+Implementation
+
+End.
+
+{
+$Log$
+Revision 1.2  2003-09-24 11:13:09  yuri
+* Cosmetic changes
+* Slightly improved emx.pas
 
+}

+ 0 - 0
rtl/emx/sysos2.pas → rtl/emx/sysemx.pas


+ 6 - 2
rtl/emx/system.pas

@@ -16,7 +16,7 @@
 
 ****************************************************************************}
 
-unit {$ifdef VER1_0}sysos2{$else}System{$endif};
+unit {$ifdef VER1_0}sysemx{$else}System{$endif};
 
 {Changelog:
 
@@ -1241,7 +1241,11 @@ begin
 end.
 {
   $Log$
-  Revision 1.5  2003-06-26 17:12:29  yuri
+  Revision 1.6  2003-09-24 11:13:09  yuri
+  * Cosmetic changes
+  * Slightly improved emx.pas
+
+  Revision 1.5  2003/06/26 17:12:29  yuri
   * pmbidi added
   * some cosmetic changes