mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-30 17:51:32 +01:00 
			
		
		
		
	* skeleton for rtl-console package. Not yet active.
git-svn-id: trunk@26371 -
This commit is contained in:
		
							parent
							
								
									b8203a3406
								
							
						
					
					
						commit
						1df3226a2f
					
				
							
								
								
									
										4
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
								
							| @ -6454,6 +6454,10 @@ packages/rexx/examples/callrexx.pas svneol=native#text/plain | ||||
| packages/rexx/fpmake.pp svneol=native#text/plain | ||||
| packages/rexx/readme.txt svneol=native#text/plain | ||||
| packages/rexx/src/rexxsaa.pp svneol=native#text/plain | ||||
| packages/rtl-console/Makefile svneol=native#text/plain | ||||
| packages/rtl-console/Makefile.fpc svneol=native#text/plain | ||||
| packages/rtl-console/Makefile.fpc.fpcmake svneol=native#text/plain | ||||
| packages/rtl-console/fpmake.pp svneol=native#text/plain | ||||
| packages/sdl/LGPL svneol=native#text/plain | ||||
| packages/sdl/LGPL.addon svneol=native#text/plain | ||||
| packages/sdl/MPL-1.1 svneol=native#text/plain | ||||
|  | ||||
							
								
								
									
										2337
									
								
								packages/rtl-console/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2337
									
								
								packages/rtl-console/Makefile
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										91
									
								
								packages/rtl-console/Makefile.fpc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								packages/rtl-console/Makefile.fpc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,91 @@ | ||||
| #
 | ||||
| #   Makefile.fpc for running fpmake
 | ||||
| #
 | ||||
| 
 | ||||
| [package] | ||||
| name=rtl-console | ||||
| version=2.7.1 | ||||
| 
 | ||||
| [require] | ||||
| packages=rtl fpmkunit | ||||
| 
 | ||||
| [install] | ||||
| fpcpackage=y | ||||
| 
 | ||||
| [default] | ||||
| fpcdir=../.. | ||||
| 
 | ||||
| [prerules] | ||||
| FPMAKE_BIN_CLEAN=$(wildcard .$(PATHSEP)fpmake$(SRCEXEEXT)) | ||||
| ifdef OS_TARGET | ||||
| FPC_TARGETOPT+=--os=$(OS_TARGET) | ||||
| endif | ||||
| ifdef CPU_TARGET | ||||
| FPC_TARGETOPT+=--cpu=$(CPU_TARGET) | ||||
| endif | ||||
| LOCALFPMAKE=.$(PATHSEP)fpmake$(SRCEXEEXT) | ||||
| 
 | ||||
| [rules] | ||||
| # Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
 | ||||
| override FPCOPT:=$(filter-out -FU%,$(FPCOPT)) | ||||
| override FPCOPT:=$(filter-out -FE%,$(FPCOPT)) | ||||
| # Compose general fpmake-parameters
 | ||||
| ifdef FPMAKEOPT | ||||
| FPMAKE_OPT+=$(FPMAKEOPT) | ||||
| endif | ||||
| FPMAKE_OPT+=--localunitdir=../.. | ||||
| FPMAKE_OPT+=--globalunitdir=.. | ||||
| FPMAKE_OPT+=$(FPC_TARGETOPT) | ||||
| FPMAKE_OPT+=$(addprefix -o ,$(FPCOPT)) | ||||
| FPMAKE_OPT+=--compiler=$(FPC) | ||||
| FPMAKE_OPT+=-bu | ||||
| .NOTPARALLEL: | ||||
| 
 | ||||
| fpmake: fpmake.pp | ||||
| 	$(FPCFPMAKE) fpmake.pp $(FPMAKE_SKIP_CONFIG) $(addprefix -Fu,$(COMPILER_FPMAKE_UNITDIR)) $(FPCMAKEOPT) $(OPT) | ||||
| all:	fpmake | ||||
| 	$(LOCALFPMAKE) compile $(FPMAKE_OPT) | ||||
| smart:	fpmake | ||||
| 	$(LOCALFPMAKE) compile $(FPMAKE_OPT) -o -XX -o -CX | ||||
| release:	fpmake | ||||
| 	$(LOCALFPMAKE) compile $(FPMAKE_OPT) -o -dRELEASE | ||||
| debug:	fpmake | ||||
| 	$(LOCALFPMAKE) compile $(FPMAKE_OPT) -o -dDEBUG | ||||
| # If no fpmake exists and (dist)clean is called, do not try to build fpmake, it will
 | ||||
| # most often fail because the dependencies are cleared.
 | ||||
| # In case of a clean, simply do nothing
 | ||||
| ifeq ($(FPMAKE_BIN_CLEAN),) | ||||
| clean: | ||||
| else | ||||
| clean: | ||||
| 	$(FPMAKE_BIN_CLEAN) clean $(FPMAKE_OPT) | ||||
| endif | ||||
| # In case of a distclean, perform an 'old'-style distclean. This to avoid problems
 | ||||
| # when the package is compiled using fpcmake prior to running this clean using fpmake
 | ||||
| ifeq ($(FPMAKE_BIN_CLEAN),) | ||||
| distclean:	$(addsuffix _distclean,$(TARGET_DIRS)) fpc_cleanall | ||||
| else | ||||
| distclean: | ||||
| ifdef inUnix | ||||
|         { $(FPMAKE_BIN_CLEAN) distclean $(FPMAKE_OPT); if [ $$? != "0" ]; then { echo Something wrong with fpmake exectable. Remove the executable and call make recursively to recover.; $(DEL) $(FPMAKE_BIN_CLEAN); $(MAKE) fpc_cleanall; }; fi;  } | ||||
| else | ||||
|         $(FPMAKE_BIN_CLEAN) distclean $(FPMAKE_OPT) | ||||
| endif | ||||
| 	-$(DEL) $(LOCALFPMAKE) | ||||
| endif | ||||
| cleanall: distclean | ||||
| install:	fpmake | ||||
| ifdef UNIXHier | ||||
| 	$(LOCALFPMAKE) install $(FPMAKE_OPT) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR) | ||||
| else | ||||
| 	$(LOCALFPMAKE) install $(FPMAKE_OPT) --prefix=$(INSTALL_BASEDIR) --unitinstalldir=$(INSTALL_UNITDIR) | ||||
| endif | ||||
| # distinstall also installs the example-sources
 | ||||
| distinstall:	fpmake | ||||
| ifdef UNIXHier | ||||
| 	$(LOCALFPMAKE) install $(FPMAKE_OPT) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR) -ie | ||||
| else | ||||
| 	$(LOCALFPMAKE) install $(FPMAKE_OPT) --prefix=$(INSTALL_BASEDIR)  --unitinstalldir=$(INSTALL_UNITDIR) -ie | ||||
| endif | ||||
| zipinstall:	fpmake | ||||
| 	$(LOCALFPMAKE) zipinstall $(FPMAKE_OPT) | ||||
							
								
								
									
										57
									
								
								packages/rtl-console/Makefile.fpc.fpcmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								packages/rtl-console/Makefile.fpc.fpcmake
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | ||||
| #
 | ||||
| #   Makefile.fpc for Free Vision for Free Pascal
 | ||||
| #
 | ||||
| 
 | ||||
| [package] | ||||
| name=rtl-console | ||||
| version=2.7.1 | ||||
| 
 | ||||
| # all Unices support everything except QNX(nothing)
 | ||||
| [target] | ||||
| units_android=crt video mouse keyboard | ||||
| units_aix=crt video mouse keyboard | ||||
| units_linux=crt video mouse keyboard | ||||
| units_solaris=crt video mouse keyboard | ||||
| units_freebsd=crt video mouse keyboard | ||||
| units_netbsd=crt video mouse keyboard | ||||
| units_openbsd=crt video mouse keyboard | ||||
| units_darwin=crt video mouse keyboard | ||||
| units_iphonesim=crt video mouse keyboard | ||||
| units_beos=crt video mouse keyboard | ||||
| units_haiku=crt video mouse keyboard | ||||
| 
 | ||||
| units_go32v2=crt video mouse keyboard | ||||
| units_watcom=crt | ||||
| units_msdos=crt,keyboard | ||||
| units_win32=crt video mouse keyboard winevent | ||||
| units_win64=crt video mouse keyboard winevent | ||||
| units_emx=crt video mouse keyboard | ||||
| units_os2=crt video mouse keyboard | ||||
| units_netware=crt video mouse keyboard | ||||
| units_netwlibc=crt video mouse keyboard | ||||
| units_morphos=video mouse keyboard | ||||
| 
 | ||||
| [compiler] | ||||
| includedir=src/$(OS_TARGET) src/inc | ||||
| includedir_unix=src/unix | ||||
| includedir_win32=src/win | ||||
| includedir_win64=src/win | ||||
| includedir_os2=src/os2commn | ||||
| includedir_emx=src/os2commn | ||||
| 
 | ||||
| sourcedir=src/$(OS_TARGET)  src/inc | ||||
| sourcedir_iphonesim=src/darwin | ||||
| sourcedir_unix=src/unix | ||||
| sourcedir_win32=src/win | ||||
| sourcedir_win64=src/win | ||||
| sourcedir_os2=src/os2commn | ||||
| sourcedir_emx=src/os2commn | ||||
| 
 | ||||
| [install] | ||||
| fpcpackage=y | ||||
| 
 | ||||
| [default] | ||||
| fpcdir=../.. | ||||
| 
 | ||||
| [rules] | ||||
| .NOTPARALLEL: | ||||
							
								
								
									
										106
									
								
								packages/rtl-console/fpmake.pp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										106
									
								
								packages/rtl-console/fpmake.pp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,106 @@ | ||||
| {$ifndef ALLPACKAGES} | ||||
| {$mode objfpc}{$H+} | ||||
| program fpmake; | ||||
| 
 | ||||
| uses fpmkunit; | ||||
| {$endif ALLPACKAGES} | ||||
| 
 | ||||
| procedure add_rtl_console(const ADirectory: string); | ||||
| 
 | ||||
| Const  | ||||
|   // All Unices have full set of KVM+Crt in unix/ except QNX which is not | ||||
|   // in workable state atm. | ||||
|   UnixLikes = AllUnixOSes -[QNX]; | ||||
|   | ||||
|   WinEventOSes = [win32,win64]; | ||||
|   KVMAll       = [emx,go32v2,MorphOS,netware,netwlibc,os2,win32,win64]+UnixLikes; | ||||
|    | ||||
|   // all full KVMers have crt too, except MorphOS | ||||
|   CrtOSes      = KVMALL+[msdos,WatCom]-[MorphOS]; | ||||
|   KbdOSes      = KVMALL+[msdos]; | ||||
|   VideoOSes    = KVMALL; | ||||
|   MouseOSes    = KVMALL; | ||||
| 
 | ||||
| // Amiga has a crt in its RTL dir, but it is commented in the makefile | ||||
| 
 | ||||
| Var | ||||
|   P : TPackage; | ||||
|   T : TTarget; | ||||
| 
 | ||||
| begin | ||||
|   With Installer do | ||||
|     begin | ||||
|     P:=AddPackage('rtl-console'); | ||||
|     P.Directory:=ADirectory; | ||||
|     P.Version:='2.7.1'; | ||||
|     P.Author := 'FPC core team, Pierre Mueller, Peter Vreman'; | ||||
|     P.License := 'LGPL with modification, '; | ||||
|     P.HomepageURL := 'www.freepascal.org'; | ||||
|     P.OSes:=KVMALL+CrtOSes; | ||||
|     P.Email := ''; | ||||
|     P.Description := 'Rtl-console, console abstraction'; | ||||
|     P.NeedLibC:= false; | ||||
| 
 | ||||
|     P.SourcePath.Add('src/inc'); | ||||
|     P.SourcePath.Add('src/$(OS)'); | ||||
|     P.SourcePath.Add('src/darwin',[iphonesim]); | ||||
|     P.SourcePath.Add('src/unix',AllUnixOSes); | ||||
|     P.SourcePath.Add('src/os2commn',[os2,emx]); | ||||
|     P.SourcePath.Add('src/win',WinEventOSes); | ||||
| 
 | ||||
|     P.IncludePath.Add('src/inc'); | ||||
|     P.IncludePath.Add('src/unix',AllUnixOSes); | ||||
|     P.IncludePath.Add('src/$(OS)'); | ||||
|     P.IncludePath.Add('src/darwin',[iphonesim]); | ||||
| 
 | ||||
|     T:=P.Targets.AddUnit('winevent.pp',WinEventOSes); | ||||
| 
 | ||||
|     T:=P.Targets.AddUnit('keyboard.pp',KbdOSes); | ||||
|     with T.Dependencies do | ||||
|       begin | ||||
|         AddInclude('keybrdh.inc'); | ||||
|         AddInclude('keyboard.inc'); | ||||
|         AddInclude('keyscan.inc',AllUnixOSes); | ||||
|         AddUnit   ('winevent',[win32,win64]); | ||||
|         AddInclude('nwsys.inc',[netware]); | ||||
|       end; | ||||
| 
 | ||||
|     T:=P.Targets.AddUnit('mouse.pp',MouseOSes); | ||||
|     with T.Dependencies do | ||||
|      begin | ||||
|        AddInclude('mouseh.inc'); | ||||
|        AddInclude('mouse.inc'); | ||||
|        AddUnit   ('winevent',[win32,win64]); | ||||
|      end; | ||||
| 
 | ||||
|     T:=P.Targets.AddUnit('video.pp',VideoOSes); | ||||
|     with T.Dependencies do | ||||
|      begin | ||||
|        AddInclude('videoh.inc'); | ||||
|        AddInclude('video.inc'); | ||||
|        AddInclude('videodata.inc',[MorphOS]); | ||||
|        AddInclude('convert.inc',AllUnixOSes); | ||||
|        AddInclude('nwsys.inc',[netware]); | ||||
|      end; | ||||
| 
 | ||||
|     T:=P.Targets.AddUnit('crt.pp',CrtOSes); | ||||
|     with T.Dependencies do | ||||
|      begin | ||||
|        AddInclude('crth.inc'); | ||||
|        AddInclude('crt.inc'); | ||||
|        AddInclude('nwsys.inc',[netware]); | ||||
|      end; | ||||
| 
 | ||||
|     T:=P.Targets.AddUnit('vesamode.pp',[go32v2]); | ||||
|     with T.Dependencies do | ||||
|      AddUnit('video'); | ||||
|   end | ||||
| end; | ||||
|   | ||||
| {$ifndef ALLPACKAGES} | ||||
| begin | ||||
|   add_fcl_db(''); | ||||
|   Installer.Run; | ||||
| end. | ||||
| {$endif ALLPACKAGES} | ||||
| 
 | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 marco
						marco