Browse Source

+ compile the svn revision into the compiler, to do so, a file compiler/revision.inc must exist which is updated then

git-svn-id: trunk@3491 -
florian 19 years ago
parent
commit
c6787b52a7
6 changed files with 75 additions and 45 deletions
  1. 13 1
      compiler/Makefile
  2. 13 0
      compiler/Makefile.fpc
  3. 2 2
      compiler/msg/errore.msg
  4. 1 1
      compiler/msgidx.inc
  5. 41 40
      compiler/msgtxt.inc
  6. 5 1
      compiler/version.pas

+ 13 - 1
compiler/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/04/29]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/05/13]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd x86_64-win64 arm-linux arm-palmos arm-wince powerpc64-linux
@@ -316,6 +316,15 @@ ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
 override LOCALOPT+=-dUNIX
 endif
 endif
+REVINC:=$(wildcard revision.inc)
+ifneq ($(REVINC),)
+override LOCALOPT+=-dREVINC
+ifeq ($(REVSTR),)
+SVNVERSION:=$(wildcard svnversion$(EXEEXT))
+REVSTR:=$(value ')$(shell svnversion .)$(value ')
+export REVSTR
+endif
+endif
 override LOCALOPT+=-d$(PPC_TARGET) -dGDB -dBROWSERLOG
 ifeq ($(PPC_TARGET),i386)
 override LOCALOPT+=-Fux86
@@ -2772,6 +2781,9 @@ msg: msgtxt.inc
 $(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg \
 	     $(wildcard systems/*.pas) $(wilcard systems/*.inc) \
 	     $(wildcard $(PPC_TARGET)/*.pas) $(wildcard $(PPC_TARGET)/*.inc)
+ifneq ($(REVSTR),)
+	$(ECHO) "'$(REVSTR)'" > revision.inc
+endif
 	$(COMPILER) pp.pas
 	$(EXECPPAS)
 	$(MOVE) $(COMPILER_TARGETDIR)/$(PPEXENAME) $(EXENAME)

+ 13 - 0
compiler/Makefile.fpc

@@ -154,6 +154,16 @@ override LOCALOPT+=-dUNIX
 endif
 endif
 
+REVINC:=$(wildcard revision.inc)
+ifneq ($(REVINC),)
+override LOCALOPT+=-dREVINC
+ifeq ($(REVSTR),)
+SVNVERSION:=$(wildcard svnversion$(EXEEXT))
+REVSTR:=$(shell svnversion .)
+export REVSTR
+endif
+endif
+
 # set correct defines (-d$(CPU_TARGET) is automaticly added in makefile.fpc)
 override LOCALOPT+=-d$(PPC_TARGET) -dGDB -dBROWSERLOG
 
@@ -342,6 +352,9 @@ msg: msgtxt.inc
 $(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg \
              $(wildcard systems/*.pas) $(wilcard systems/*.inc) \
              $(wildcard $(PPC_TARGET)/*.pas) $(wildcard $(PPC_TARGET)/*.inc)
+ifneq ($(REVSTR),)
+        $(ECHO) "'$(REVSTR)'" > revision.inc
+endif
         $(COMPILER) pp.pas
         $(EXECPPAS)
         $(MOVE) $(COMPILER_TARGETDIR)/$(PPEXENAME) $(EXENAME)

+ 2 - 2
compiler/msg/errore.msg

@@ -2180,8 +2180,8 @@ option_config_is_dir=11040_F_Config file $1 is a directory
 # Logo (option -l)
 #
 option_logo=11023_[
-Free Pascal Compiler version $FPCVERSION [$FPCDATE] for $FPCCPU
-Copyright (c) 1993-2005 by Florian Klaempfl
+Free Pascal Compiler version $FPCFULLVERSION [$FPCDATE] for $FPCCPU
+Copyright (c) 1993-2006 by Florian Klaempfl
 ]
 
 #

+ 1 - 1
compiler/msgidx.inc

@@ -679,7 +679,7 @@ const
   option_info=11024;
   option_help_pages=11025;
 
-  MsgTxtSize = 39882;
+  MsgTxtSize = 39886;
 
   MsgIdxMax : array[1..20] of longint=(
     24,75,220,60,62,47,100,22,135,60,

+ 41 - 40
compiler/msgtxt.inc

@@ -729,8 +729,9 @@ const msgtxt : array[0..000166,1..240] of char=(
   '11035_D_found source file name "$1"'#000+
   '11039_E_Unknown code page'#000+
   '11040_F_Config file $1 is a directory'#000+
-  '11023_Free Pascal Compiler version $FPCVERSION [$FPCDATE] for $FPCCPU'#010+
-  'Copyright (c) 1993-2005 by Floria','n Klaempfl'#000+
+  '11023_Free Pascal Compiler version $FPCFULLVERSION [$FPCDATE] for $FPC'+
+  'CPU'#010+
+  'Copyright (c) 1993-2006 by Fl','orian Klaempfl'#000+
   '11024_Free Pascal Compiler version $FPCVERSION'#010+
   #010+
   'Compiler Date      : $FPCDATE'#010+
@@ -742,8 +743,8 @@ const msgtxt : array[0..000166,1..240] of char=(
   'Supported CPU instruction sets:'#010+
   '  $INSTRUCTIONSETS'#010+
   #010+
-  'Supported FPU instruction sets:'#010+
-  '  $F','PUINSTRUCTIONSETS'#010+
+  'Supported FPU instruction sets:'#010,
+  '  $FPUINSTRUCTIONSETS'#010+
   #010+
   'Supported Optimizations:'#010+
   '  $OPTIMIZATIONS'#010+
@@ -753,29 +754,29 @@ const msgtxt : array[0..000166,1..240] of char=(
   #010+
   'Report bugs,suggestions etc to:'#010+
   '                 [email protected]'#000+
-  '11025_**0*_p','ut + after a boolean switch option to enable it, - to di'+
+  '11025_**','0*_put + after a boolean switch option to enable it, - to di'+
   'sable it'#010+
   '**1a_the compiler doesn'#039't delete the generated assembler file'#010+
   '**2al_list sourcecode lines in assembler file'#010+
   '**2an_list node info in assembler file'#010+
-  '*L2ap_use pipes instead of c','reating temporary assembler files'#010+
+  '*L2ap_use pipes instead ','of creating temporary assembler files'#010+
   '**2ar_list register allocation/release info in assembler file'#010+
   '**2at_list temp allocation/release info in assembler file'#010+
   '**1A<x>_output format:'#010+
   '**2Adefault_use default assembler'#010+
-  '3*2Aas_assemble using GNU AS'#010,
+  '3*2Aas_assemble using GNU',' AS'#010+
   '3*2Anasmcoff_coff (Go32v2) file using Nasm'#010+
   '3*2Anasmelf_elf32 (Linux) file using Nasm'#010+
   '3*2Anasmwin32_Win32 object file using Nasm'#010+
   '3*2Anasmwdosx_Win32/WDOSX object file using Nasm'#010+
   '3*2Awasm_obj file using Wasm (Watcom)'#010+
-  '3*2Anasmobj_obj file usin','g Nasm'#010+
+  '3*2Anasmobj_obj file ','using Nasm'#010+
   '3*2Amasm_obj file using Masm (Microsoft)'#010+
   '3*2Atasm_obj file using Tasm (Borland)'#010+
   '3*2Aelf_elf32 (Linux) using internal writer'#010+
   '3*2Acoff_coff (Go32v2) using internal writer'#010+
   '3*2Apecoff_pecoff (Win32) using internal writer'#010+
-  '4*2Aas_assemble ','using GNU AS'#010+
+  '4*2Aas_assem','ble using GNU AS'#010+
   '6*2Aas_Unix o-file using GNU AS'#010+
   '6*2Agas_GNU Motorola assembler'#010+
   '6*2Amit_MIT Syntax (old GAS)'#010+
@@ -783,27 +784,27 @@ const msgtxt : array[0..000166,1..240] of char=(
   'A*2Aas_assemble using GNU AS'#010+
   'P*2Aas_assemble using GNU AS'#010+
   'S*2Aas_assemble using GNU AS'#010+
-  '**1b_generat','e browser info'#010+
+  '**1b_gen','erate browser info'#010+
   '**2bl_generate local symbol info'#010+
   '**1B_build all modules'#010+
   '**1C<x>_code generation options:'#010+
   '**2Cc<x>_set default calling convention to <x>'#010+
   '**2CD_create also dynamic library (not supported)'#010+
-  '**2Ce_Compilation with emulated floatin','g point opcodes'#010+
+  '**2Ce_Compilation with emulated flo','ating point opcodes'#010+
   '**2Cf<x>_Select fpu instruction set to use, see fpc -i for possible va'+
   'lues'#010+
   '**2Cg_Generate PIC code'#010+
   '**2Ch<n>_<n> bytes heap (between 1023 and 67107840)'#010+
   '**2Ci_IO-checking'#010+
   '**2Cn_omit linking stage'#010+
-  '**2Co_check overflow of intege','r operations'#010+
+  '**2Co_check overflow of in','teger operations'#010+
   '**2Cp<x>_select instruction set, see fpc -i for possible values'#010+
   '**2Cr_range checking'#010+
   '**2CR_verify object method call validity'#010+
   '**2Cs<n>_set stack size to <n>'#010+
   '**2Ct_stack checking'#010+
   '**2CX_create also smartlinked library'#010+
-  '**1d<x>_def','ines the symbol <x>'#010+
+  '**1d<x>','_defines the symbol <x>'#010+
   '**1D_generate a DEF file'#010+
   '**2Dd<x>_set description to <x>'#010+
   '**2Dv<x>_set DLL version to <x>'#010+
@@ -811,26 +812,26 @@ const msgtxt : array[0..000166,1..240] of char=(
   '**1e<x>_set path to executable'#010+
   '**1E_same as -Cn'#010+
   '**1F<x>_set file names and paths:'#010+
-  '**2Fa<x>[,y]_for a program l','oad first units <x> and [y] before uses '+
+  '**2Fa<x>[,y]_for a progr','am load first units <x> and [y] before uses '+
   'is parsed'#010+
   '**2Fc<x>_sets input codepage to <x>'#010+
   '**2FD<x>_sets the directory where to search for compiler utilities'#010+
   '**2Fe<x>_redirect error output to <x>'#010+
   '**2FE<x>_set exe/unit output path to <x>'#010+
-  '**2Fi<x>','_adds <x> to include path'#010+
+  '**2F','i<x>_adds <x> to include path'#010+
   '**2Fl<x>_adds <x> to library path'#010+
   '**2FL<x>_uses <x> as dynamic linker'#010+
   '**2Fo<x>_adds <x> to object path'#010+
   '**2Fr<x>_load error message file <x>'#010+
   '**2Fu<x>_adds <x> to unit path'#010+
-  '**2FU<x>_set unit output path to <x>, overr','ides -FE'#010+
+  '**2FU<x>_set unit output path to <x>, o','verrides -FE'#010+
   '*g1g_generate debugger information:'#010+
   '*g2gc_generate checks for pointers'#010+
   '*g2gd_use dbx'#010+
   '*g2gg_use gsym'#010+
   '*g2gh_use heap trace unit (for memory leak debugging)'#010+
   '*g2gl_use line info unit to show more info for backtraces'#010+
-  '*g2gv_generates pro','grams traceable with valgrind'#010+
+  '*g2gv_generates',' programs traceable with valgrind'#010+
   '*g2gw_generate dwarf debugging info'#010+
   '**1i_information'#010+
   '**2iD_return compiler date'#010+
@@ -838,51 +839,51 @@ const msgtxt : array[0..000166,1..240] of char=(
   '**2iSO_return compiler OS'#010+
   '**2iSP_return compiler processor'#010+
   '**2iTO_return target OS'#010+
-  '**2iTP_return tar','get processor'#010+
+  '**2iTP_return',' target processor'#010+
   '**1I<x>_adds <x> to include path'#010+
   '**1k<x>_Pass <x> to the linker'#010+
   '**1l_write logo'#010+
   '**1M<x>_set language mode to <x>'#010+
   '**2Mfpc_free pascal dialect (default)'#010+
   '**2Mobjfpc_switch some Delphi 2 extensions on'#010+
-  '**2Mdelphi_tries to be Delphi',' compatible'#010+
+  '**2Mdelphi_tries to be De','lphi compatible'#010+
   '**2Mtp_tries to be TP/BP 7.0 compatible'#010+
   '**2Mgpc_tries to be gpc compatible'#010+
   '**2Mmacpas_tries to be compatible to the macintosh pascal dialects'#010+
   '**1n_don'#039't read the default config file'#010+
   '**1N<x>_node tree optimizations'#010+
-  '**2Nu_unroll l','oops'#010+
+  '**2Nu_unro','ll loops'#010+
   '**1o<x>_change the name of the executable produced to <x>'#010+
   '**1O<x>_optimizations:'#010+
   '**2O-_disable optimizations'#010+
   '**2O1_level 1 optimizations (quick and debugger friendly)'#010+
   '**2O2_level 2 optimizations (-O1 + quick optimizations)'#010+
-  '**2O3_level ','3 optimizations (-O2 + slow optimizations)'#010+
+  '**2O3_le','vel 3 optimizations (-O2 + slow optimizations)'#010+
   '**2Oa<x>=<y>_set alignment'#010+
   '**2Oo[NO]<x>_enable or disable optimizations, see fpc -i for possible '+
   'values'#010+
   '**2Op<x>_set target cpu for optimizing, see fpc -i for possible values'+
   #010+
-  '**2Os_generate smaller',' code'#010+
+  '**2Os_generate sma','ller code'#010+
   '**1pg_generate profile code for gprof (defines FPC_PROFILE)'#010+
   '**1R<x>_assembler reading style:'#010+
   '**2Rdefault_use default assembler'#010+
   '3*2Ratt_read AT&T style assembler'#010+
   '3*2Rintel_read Intel style assembler'#010+
-  '6*2RMOT_read motorola style assemble','r'#010+
+  '6*2RMOT_read motorola style asse','mbler'#010+
   '**1S<x>_syntax options:'#010+
   '**2S2_same as -Mobjfpc'#010+
   '**2Sc_supports operators like C (*=,+=,/= and -=)'#010+
   '**2Sa_include assertion code.'#010+
   '**2Sd_same as -Mdelphi'#010+
   '**2Se<x>_error options. <x> is a combination of the following:'#010+
-  '**3*_<n> : compiler stops',' after the <n> errors (default is 1)'#010+
+  '**3*_<n> : compiler s','tops after the <n> errors (default is 1)'#010+
   '**3*_w : compiler stops also after warnings'#010+
   '**3*_n : compiler stops also after notes'#010+
   '**3*_h : compiler stops also after hints'#010+
   '**2Sg_allow LABEL and GOTO'#010+
   '**2Sh_Use ansistrings'#010+
-  '**2Si_support C++ styled INL','INE'#010+
+  '**2Si_support C++ styled',' INLINE'#010+
   '**2Sk_load fpcylix unit'#010+
   '**2SI<x>_set interface style to <x>'#010+
   '**3SIcom_COM compatible interface (default)'#010+
@@ -890,20 +891,20 @@ const msgtxt : array[0..000166,1..240] of char=(
   '**2Sm_support macros like C (global)'#010+
   '**2So_same as -Mtp'#010+
   '**2Sp_same as -Mgpc'#010+
-  '**2Ss_constructor ','name must be init (destructor must be done)'#010+
+  '**2Ss_construc','tor name must be init (destructor must be done)'#010+
   '**2St_allow static keyword in objects'#010+
   '**1s_don'#039't call assembler and linker'#010+
   '**2sh_Generate script to link on host'#010+
   '**2st_Generate script to link on target'#010+
-  '**2sr_Skip register allocation phase (use w','ith -alr)'#010+
+  '**2sr_Skip register allocation phase (u','se with -alr)'#010+
   '**1T<x>_Target operating system:'#010+
   '3*2Temx_OS/2 via EMX (including EMX/RSX extender)'#010+
   '3*2Tfreebsd_FreeBSD'#010+
   '3*2Tgo32v2_Version 2 of DJ Delorie DOS extender'#010+
   '3*2Tlinux_Linux'#010+
   '3*2Tnetbsd_NetBSD'#010+
-  '3*2Tnetware_Novell Netware Module (clib)'#010+
-  '3*2T','netwlibc_Novell Netware Module (libc)'#010+
+  '3*2Tnetware_Novell Netware Module (clib)'#010,
+  '3*2Tnetwlibc_Novell Netware Module (libc)'#010+
   '3*2Topenbsd_OpenBSD'#010+
   '3*2Tos2_OS/2 / eComStation'#010+
   '3*2Tsunos_SunOS/Solaris'#010+
@@ -911,7 +912,7 @@ const msgtxt : array[0..000166,1..240] of char=(
   '3*2Twdosx_WDOSX DOS extender'#010+
   '3*2Twin32_Windows 32 Bit'#010+
   '3*2Twince_Windows CE'#010+
-  '4*2Tlinux_Linu','x'#010+
+  '4*2Tlinux_','Linux'#010+
   '6*2Tamiga_Commodore Amiga'#010+
   '6*2Tatari_Atari ST/STe/TT'#010+
   '6*2Tlinux_Linux/m68k'#010+
@@ -920,7 +921,7 @@ const msgtxt : array[0..000166,1..240] of char=(
   'A*2Tlinux_Linux'#010+
   'A*2Twince_Windows CE'#010+
   'P*2Tamiga_AmigaOS on PowerPC'#010+
-  'P*2Tdarwin_Darwin and MacOS X on PowerPC',#010+
+  'P*2Tdarwin_Darwin and MacOS X on Pow','erPC'#010+
   'P*2Tlinux_Linux on PowerPC'#010+
   'P*2Tmacos_MacOS (classic) on PowerPC'#010+
   'P*2Tmorphos_MorphOS'#010+
@@ -929,47 +930,47 @@ const msgtxt : array[0..000166,1..240] of char=(
   '**1U_unit options:'#010+
   '**2Un_don'#039't check the unit name'#010+
   '**2Ur_generate release unit files'#010+
-  '**2Us_compile a syste','m unit'#010+
+  '**2Us_compile a s','ystem unit'#010+
   '**1v<x>_Be verbose. <x> is a combination of the following letters:'#010+
   '**2*_e : Show errors (default)       0 : Show nothing (except errors)'#010+
   '**2*_w : Show warnings               u : Show unit info'#010+
-  '**2*_n : Show notes                  t :',' Show tried/used files'#010+
+  '**2*_n : Show notes                 ',' t : Show tried/used files'#010+
   '**2*_h : Show hints                  c : Show conditionals'#010+
   '**2*_i : Show general info           d : Show debug info'#010+
   '**2*_l : Show linenumbers            r : Rhide/GCC compatibility mode'#010+
-  '**2*_a : Show everything       ','      x : Executable info (Win32 only'+
+  '**2*_a : Show everything   ','          x : Executable info (Win32 only'+
   ')'#010+
   '**2*_b : Write file names messages with full path'#010+
   '**2*_v : write fpcdebug.txt with     p : Write tree.log with parse tre'+
   'e'#010+
   '**2*_    lots of debugging info'#010+
   '3*1W<x>_Win32-like target options'#010+
-  '3*2WB_Create ','a relocatable image'#010+
+  '3*2WB_Cre','ate a relocatable image'#010+
   '3*2WB<x>_Set Image base to Hexadecimal <x> value'#010+
   '3*2WC_Specify console type application'#010+
   '3*2WD_Use DEFFILE to export functions of DLL or EXE'#010+
   '3*2WF_Specify full-screen type application (OS/2 only)'#010+
-  '3*2WG_Specify graphic typ','e application'#010+
+  '3*2WG_Specify graphic',' type application'#010+
   '3*2WN_Do not generate relocation code (necessary for debugging)'#010+
   '3*2WR_Generate relocation code'#010+
   'P*2WC_Specify console type application (MacOS only)'#010+
   'P*2WG_Specify graphic type application (MacOS only)'#010+
-  'P*2WT_Specify tool type app','lication (MPW tool, MacOS only)'#010+
+  'P*2WT_Specify tool type',' application (MPW tool, MacOS only)'#010+
   '**1X_executable options:'#010+
   '**2Xc_pass --shared to the linker (Unix only)'#010+
   '**2Xd_don'#039't use standard library search path (needed for cross com'+
   'pile)'#010+
-  '**2XD_try to link units dynamic          (defines FPC_LINK_DYNAMI','C)'#010+
+  '**2XD_try to link units dynamic          (defines FPC_LINK_DY','NAMIC)'#010+
   '**2Xm_generate link map'#010+
   '**2XM<x>_set the name of the '#039'main'#039' program routine (default i'+
   's '#039'main'#039')'#010+
   '**2XP<x>_prepend the binutils names with the prefix <x>'#010+
   '**2Xr<x>_set library search path to <x> (needed for cross compile)'#010+
-  '**2Xs_strip all sy','mbols from executable'#010+
+  '**2Xs_strip al','l symbols from executable'#010+
   '**2XS_try to link units static (default) (defines FPC_LINK_STATIC)'#010+
   '**2Xt_link with static libraries (-static is passed to linker)'#010+
   '**2XX_try to link units smart            (defines FPC_LINK_SMART)'#010+
   '**1*_'#010+
-  '**1?_shows this ','help'#010+
+  '**1?_shows t','his help'#010+
   '**1h_shows this help without waiting'#000
 );

+ 5 - 1
compiler/version.pas

@@ -86,7 +86,11 @@ end;
 
 function full_version_string:string;
 begin
-  full_version_string := version_nr+'.'+release_nr+'.'+patch_nr+minorpatch;
+  full_version_string := version_nr+'.'+release_nr+'.'+patch_nr+minorpatch
+{$ifdef REVINC}
+  +'-r'+{$i revision.inc}
+{$endif REVINC}
+  ;
 end;
 
 end.