mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 02:11:30 +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/fpmake.pp svneol=native#text/plain | ||||||
| packages/rexx/readme.txt svneol=native#text/plain | packages/rexx/readme.txt svneol=native#text/plain | ||||||
| packages/rexx/src/rexxsaa.pp 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 svneol=native#text/plain | ||||||
| packages/sdl/LGPL.addon svneol=native#text/plain | packages/sdl/LGPL.addon svneol=native#text/plain | ||||||
| packages/sdl/MPL-1.1 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