- Updated to version 2.2.2rc1

- Enabled debuginfo for ppc64 again
- Do not strip the debugdata on x86_64 anymore
- Packages_base, packages_fcl and packages_extra are merged into packages
- Don't install packages_fv separately anymore
- Fix for incorrect path in official fpc 2.2.2rc1-sourcefile
- Updated licence-tag from "GPL and modified LGPL" to fedora-tag "GPLv2+
    and LGPLv2+ with exceptions"
- Removed UsePrebuildcompiler define for ppc64
This commit is contained in:
Joost van der Sluis 2008-06-30 21:55:00 +00:00
parent f478c9b4ea
commit 5f91b5a391
7 changed files with 134 additions and 107 deletions

View File

@ -1,5 +1 @@
fpcbuild-2.2.0.tar.gz
fpc-2.2.0-samplecfg_32and64bit.patch
fpc-2.2.0.compiler.bin.tar.gz
fpc-2.2.0-build-id.patch
fpc-2.2.0-fpcdocs.patch
fpcbuild-2.2.2rc1.tar.gz

View File

@ -1,67 +0,0 @@
--- fpcsrc/compiler/dbgdwarf.pas.org 2008-04-17 17:32:10.000000000 +0200
+++ fpcsrc/compiler/dbgdwarf.pas 2008-04-17 17:32:23.000000000 +0200
@@ -37,7 +37,7 @@
interface
uses
- cclasses,
+ cclasses,globtype,
aasmbase,aasmtai,aasmdata,
symbase,symtype,symdef,symsym,
finput,
@@ -221,6 +221,7 @@
function def_dwarf_class_struct_lab(def:tobjectdef) : tasmsymbol;
function get_file_index(afile: tinputfile): Integer;
procedure write_symtable_syms(st:TSymtable);
+ function clean_dwarf_path(const s:tcmdstr):tcmdstr;
protected
// set if we should use 64bit headers (dwarf3 and up)
_use_64bit_headers: Boolean;
@@ -331,8 +332,8 @@
implementation
uses
- cutils,cfileutils,
- version,globtype,globals,verbose,systems,
+ sysutils,cutils,cfileutils,
+ version,globals,verbose,systems,
cpubase,cgbase,paramgr,
fmodule,
defutil,symconst,symtable
@@ -622,6 +623,14 @@
TDebugInfoDwarf
****************************************************************************}
+ function TDebugInfoDwarf.clean_dwarf_path(const s:tcmdstr):tcmdstr;
+ begin
+ { Make a clean path for gdb. Remove trailing / and ./ prefixes and
+ use always a / }
+ result:=BsToSlash(ExcludeTrailingPathDelimiter(ExtractRelativePath('.',s)));
+ end;
+
+
procedure TDebugInfoDwarf.set_use_64bit_headers(state: boolean);
begin
_use_64bit_headers:=state;
@@ -2233,7 +2242,8 @@
ditem := TDirIndexItem(dirlist[n]);
if ditem.Name = '.' then
Continue;
- linelist.concat(tai_string.create(ditem.Name+#0));
+ { Write without trailing path delimiter and also don't prefix with ./ for current dir }
+ linelist.concat(tai_string.create(clean_dwarf_path(ditem.Name)+#0));
end;
linelist.concat(tai_const.create_8bit(0));
@@ -2356,9 +2366,9 @@
{ first manadatory compilation unit TAG }
append_entry(DW_TAG_compile_unit,true,[
- DW_AT_name,DW_FORM_string,FixFileName(current_module.sourcefiles.get_file(1).name^)+#0,
+ DW_AT_name,DW_FORM_string,clean_dwarf_path(FixFileName(current_module.sourcefiles.get_file(1).path^+current_module.sourcefiles.get_file(1).name^))+#0,
DW_AT_producer,DW_FORM_string,'Free Pascal '+full_version_string+' '+date_string+#0,
- DW_AT_comp_dir,DW_FORM_string,BsToSlash(FixPath(current_module.sourcefiles.get_file(1).path^,false))+#0,
+ DW_AT_comp_dir,DW_FORM_string,clean_dwarf_path(FixPath(GetCurrentDir,false))+#0,
DW_AT_language,DW_FORM_data1,DW_LANG_Pascal83,
DW_AT_identifier_case,DW_FORM_data1,DW_ID_case_insensitive]);

16
fpc-2.2.2-build-id.patch Normal file
View File

@ -0,0 +1,16 @@
Index: fpcsrc/compiler/utils/samplecfg
===================================================================
--- fpcsrc/compiler/utils/samplecfg (revision 8809)
+++ fpcsrc/compiler/utils/samplecfg (working copy)
@@ -290,6 +290,11 @@
# to perform
# -----------------------
+# Use BuildId by default
+# -----------------------
+-k--build-id
+
+# -----------------------
# Set Filenames and Paths
# -----------------------

26
fpc-2.2.2-fpcdocs.patch Normal file
View File

@ -0,0 +1,26 @@
Index: fpcdocs/Makefile.fpc
===================================================================
--- fpcdocs/Makefile.fpc
+++ fpcdocs/Makefile.fpc
@@ -258,7 +258,7 @@
comphelp.inc:
echo "% Automatically generated. Do not edit" > comphelp.inc
echo "\begin{verbatim}" >> comphelp.inc
- fpc -h >>comphelp.inc
+ $(FPC) -h >>comphelp.inc
echo "\end{verbatim}" >> comphelp.inc
# Local copy of the required styles
Index: fpcdocs/Makefile
===================================================================
--- fpcdocs/Makefile
+++ fpcdocs/Makefile
@@ -1867,7 +1882,7 @@
comphelp.inc:
echo "% Automatically generated. Do not edit" > comphelp.inc
echo "\begin{verbatim}" >> comphelp.inc
- fpc -h >>comphelp.inc
+ $(FPC) -h >>comphelp.inc
echo "\end{verbatim}" >> comphelp.inc
syntax.sty: styles/syntax.sty
cp $(wildcard styles/*.sty) .

View File

@ -0,0 +1,68 @@
Index: fpcsrc/compiler/utils/samplecfg
===================================================================
--- fpcsrc/compiler/utils/samplecfg (revision 11245)
+++ fpcsrc/compiler/utils/samplecfg (working copy)
@@ -35,7 +35,7 @@
if [ $# = 0 ]; then
echo 'Usage :'
echo 'samplecfg fpcdir confdir'
- echo 'fpcdir = Path where FPC is installed'
+ echo 'fpcdir = Prefix where FPC is installed (/usr, /usr/local)'
echo 'confdir = Path to /etc'
exit 1
fi
@@ -155,7 +155,8 @@
# set right path to FPC with $fpcversion
-FPCPATH=`dirname "$1"`/\$fpcversion
+FPCPATH32=`dirname "$1"`/lib/fpc/\$fpcversion
+FPCPATH64=`dirname "$1"`/lib64/fpc/\$fpcversion
# Write the file
echo Writing sample configuration file to $thefile
@@ -291,26 +297,36 @@
# path to the messagefile, not necessary anymore but can be used to override
# the default language
-#-Fr$FPCPATH/msg/errore.msg
-#-Fr$FPCPATH/msg/errorn.msg
+#-Fr$FPCPATH32/msg/errore.msg
+#-Fr$FPCPATH32/msg/errorn.msg
+#-Fr$FPCPATH64/msg/errore.msg
+#-Fr$FPCPATH64/msg/errorn.msg
# searchpath for includefiles
#-Fi/pp/inc;/pp/rtl/inc
#IFDEF FPCAPACHE_1_3
--Fu$FPCPATH/units/\$fpctarget/httpd-1.3/
+-Fu$FPCPATH32/units/\$fpctarget/httpd-1.3/
+-Fu$FPCPATH64/units/\$fpctarget/httpd-1.3/
#ELSE
#IFDEF FPCAPACHE_2_0
--Fu$FPCPATH/units/\$fpctarget/httpd-2.0
+-Fu$FPCPATH32/units/\$fpctarget/httpd-2.0
+-Fu$FPCPATH64/units/\$fpctarget/httpd-2.0
#ELSE
--Fu$FPCPATH/units/\$fpctarget/httpd-2.2
+-Fu$FPCPATH32/units/\$fpctarget/httpd-2.2
+-Fu$FPCPATH64/units/\$fpctarget/httpd-2.2
#ENDIF
#ENDIF
# searchpath for units and other system dependent things
--Fu$FPCPATH/units/\$fpctarget
--Fu$FPCPATH/units/\$fpctarget/*
--Fu$FPCPATH/units/\$fpctarget/rtl
+# 32-bits
+-Fu$FPCPATH32/units/\$fpctarget
+-Fu$FPCPATH32/units/\$fpctarget/*
+-Fu$FPCPATH32/units/\$fpctarget/rtl
+# 64-bits
+-Fu$FPCPATH64/units/\$fpctarget
+-Fu$FPCPATH64/units/\$fpctarget/*
+-Fu$FPCPATH64/units/\$fpctarget/rtl
#-Fu~/fpc/packages/base/*/units/$fpctarget;~/fpc/fcl/units/$fpctarget;~/fpc/rtl/units/$fpctarget
# searchpath for libraries

View File

@ -1,23 +1,21 @@
%ifarch ppc64
%define useprebuiltcompiler 1
%endif
Name: fpc
Version: 2.2.0
Release: 12%{?dist}
Version: 2.2.2
Release: 0.1.rc1%{?dist}
Summary: Free Pascal Compiler
Group: Development/Languages
License: GPL and modified LGPL
License: GPLv2+ and LGPLv2+ with exceptions
URL: http://www.freepascal.org/
Source0: ftp://ftp.freepascal.org/pub/fpc/dist/source-%{version}/%{name}build-%{version}.tar.gz
# Source0: ftp://ftp.freepascal.org/pub/fpc/dist/source-%{version}/%{name}build-%{version}.tar.gz
# The rc-download has a different path:
Source0: ftp://ftp.freepascal.org/pub/fpc/beta/%{version}rc1/source/%{name}build-%{version}rc1.tar.gz
# This is only needed when useprebuiltcompiler is defined.
# But it's not in an 'if defined' block, since the file has to be included in the srpm
Source1: http://www.cnoc.nl/fpc/%{name}-%{version}.compiler.bin.tar.gz
# Thus you should enable this line when useprebuildcompiler is defined for any target
# Source1: http://www.cnoc.nl/fpc/%{name}-%{version}.compiler.bin.tar.gz
Patch0: %{name}-%{version}-samplecfg_32and64bit.patch
Patch1: %{name}-%{version}-build-id.patch
Patch2: %{name}-%{version}-fpcdocs.patch
Patch3: %{name}-%{version}-DWARF_Patch_r8847.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: gpm, glibc, ncurses, binutils
@ -54,21 +52,18 @@ The fpc-src package contains the sources of Freepascal, for documentation or
automatical-code generation purposes.
%define smart _smart
%define fpcopt '-k--build-id -gl'
%ifarch ppc
%define ppcname ppcppc
%define fpcopt '-k--build-id -gl'
%else
%ifarch x86_64
%define ppcname ppcx64
%define fpcopt '-k--build-id -gl'
%else
%ifarch ppc64
%define ppcname ppcppc64
%define fpcopt '-k--build-id'
%else
%define ppcname ppc386
%define fpcopt '-k--build-id -gl'
%endif
%endif
%endif
@ -77,12 +72,12 @@ automatical-code generation purposes.
%if %{defined useprebuiltcompiler}
%setup -a1 -n fpcbuild-%{version} -q
%else
%setup -n fpcbuild-%{version} -q
# %setup -n fpcbuild-%{version} -q
%setup -n release_2_2_2_rc1 -q
%endif
%patch0
%patch1
%patch2
%patch3
%build
# The source-files:
@ -103,22 +98,10 @@ NEWFPDOC=`pwd`/utils/fpdoc/fpdoc
DATA2INC=`pwd`/utils/data2inc
make compiler_cycle FPC=${STARTPP} OPT=%{fpcopt}
make rtl_clean rtl%{smart} FPC=${NEWPP} OPT=%{fpcopt}
make packages_base%{smart} FPC=${NEWPP} OPT=%{fpcopt}
make packages_fcl%{smart} FPC=${NEWPP} OPT=%{fpcopt}
make fv%{smart} FPC=${NEWPP} OPT=%{fpcopt}
make packages_extra%{smart} FPC=${NEWPP} OPT=%{fpcopt}
make packages%{smart} FPC=${NEWPP} OPT=%{fpcopt}
make ide_all FPC=${NEWPP} OPT=%{fpcopt}
make utils_all FPC=${NEWPP} DATA2INC=${DATA2INC} OPT=%{fpcopt}
%ifarch x86_64
# Debugedit crashes on this file, if it has debug-info.
# As a temporary solution, strip the debug-info.
%__strip utils/h2pas/h2pas
%__strip utils/grab_vcsa
%__strip compiler/utils/ppudump
%__strip packages/fcl-net/mkxmlrpc
%endif
cd ..
make -C fpcdocs pdf FPC=${NEWPP} FPDOC=${NEWFPDOC}
@ -138,7 +121,6 @@ INSTALLOPTS="FPC=${NEWPP} FPCMAKE=${FPCMAKE} \
make compiler_distinstall ${INSTALLOPTS}
make rtl_distinstall ${INSTALLOPTS}
make packages_distinstall ${INSTALLOPTS}
make fv_distinstall ${INSTALLOPTS}
make ide_distinstall ${INSTALLOPTS}
make utils_distinstall ${INSTALLOPTS}
cd ../install
@ -194,6 +176,16 @@ rm -rf %{buildroot}
%{_datadir}/fpcsrc
%changelog
* Sun Jun 22 2008 Joost van der Sluis <joost@cnoc.nl> 2.2.2rc1-1
- Updated to version 2.2.2rc1
- Enabled debuginfo for ppc64 again
- Do not strip the debugdata on x86_64 anymore
- Packages_base, packages_fcl and packages_extra are merged into packages
- Don't install packages_fv separately anymore
- Fix for incorrect path in official fpc 2.2.2rc1-sourcefile
- Updated licence-tag from "GPL and modified LGPL" to fedora-tag "GPLv2+ and LGPLv2+ with exceptions"
- Removed UsePrebuildcompiler define for ppc64
* Wed Apr 16 2008 Joost van der Sluis <joost@cnoc.nl> 2.2.0-12
- Fix for DWARF-debug generation - fixes some more build problems on x86_64 and F9, bugzilla 337051

View File

@ -1,5 +1 @@
0869cfd07d012b702ff08c0a4196624b fpcbuild-2.2.0.tar.gz
01fb41d3a6b0536939f63d684d916e5f fpc-2.2.0-samplecfg_32and64bit.patch
d78b19b59457bb98dacb6e3267fe3714 fpc-2.2.0.compiler.bin.tar.gz
02d1e509ba590b7de0817f69658f047f fpc-2.2.0-build-id.patch
3a5fbdcee3f36dbfaf57915456fa70e5 fpc-2.2.0-fpcdocs.patch
5c450b43281d9bee497622c114d2ca14 fpcbuild-2.2.2rc1.tar.gz