aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authoracm <acm@FreeBSD.org>2013-10-02 10:44:05 +0800
committeracm <acm@FreeBSD.org>2013-10-02 10:44:05 +0800
commit06dc96aee528a1e4136380288d4794aafe2a23ba (patch)
tree5f7dc1c2d46b590b75378396b734d64c54344cda /lang
parent5eb74635bd62f1193f4ecbdcd9bdf3ea35f2c0f1 (diff)
downloadfreebsd-ports-gnome-06dc96aee528a1e4136380288d4794aafe2a23ba.tar.gz
freebsd-ports-gnome-06dc96aee528a1e4136380288d4794aafe2a23ba.tar.zst
freebsd-ports-gnome-06dc96aee528a1e4136380288d4794aafe2a23ba.zip
- Fix static linking issues on amd64
- Bump PORTREVISION
Diffstat (limited to 'lang')
-rw-r--r--lang/fpc/Makefile2
-rw-r--r--lang/fpc/files/patch-compiler-systems-t_bsd.pas36
2 files changed, 37 insertions, 1 deletions
diff --git a/lang/fpc/Makefile b/lang/fpc/Makefile
index cb1d35814a26..22dcd3f62a43 100644
--- a/lang/fpc/Makefile
+++ b/lang/fpc/Makefile
@@ -3,7 +3,7 @@
PORTNAME= fpc
PORTVERSION= 2.6.2
-PORTREVISION?= 2
+PORTREVISION?= 3
CATEGORIES?= lang
MASTER_SITES= ftp://ftp.freepascal.org/pub/fpc/dist/${PORTVERSION}/source/:source \
ftp://planetmirror.com/pub/fpc/dist/${PORTVERSION}/source/:source \
diff --git a/lang/fpc/files/patch-compiler-systems-t_bsd.pas b/lang/fpc/files/patch-compiler-systems-t_bsd.pas
new file mode 100644
index 000000000000..527acf812024
--- /dev/null
+++ b/lang/fpc/files/patch-compiler-systems-t_bsd.pas
@@ -0,0 +1,36 @@
+--- compiler/systems/t_bsd.pas 2012-04-22 14:47:06.000000000 -0500
++++ compiler/systems/t_bsd.pas 2013-10-01 21:07:10.000000000 -0500
+@@ -484,10 +484,19 @@
+ if linklibc and
+ not IsDarwin Then
+ begin
+- if librarysearchpath.FindFile('crtbegin.o',false,s) then
+- LinkRes.AddFileName(s);
+ if librarysearchpath.FindFile('crti.o',false,s) then
+ LinkRes.AddFileName(s);
++ if cs_create_pic in current_settings.moduleswitches then
++ begin
++ if librarysearchpath.FindFile('crtbeginS.o',false,s) then
++ LinkRes.AddFileName(s);
++ end
++ else
++ if (cs_link_staticflag in current_settings.globalswitches) and
++ librarysearchpath.FindFile('crtbeginT.o',false,s) then
++ LinkRes.AddFileName(s)
++ else if librarysearchpath.FindFile('crtbegin.o',false,s) then
++ LinkRes.AddFileName(s);
+ end;
+ { main objectfiles }
+ while not ObjectFiles.Empty do
+@@ -572,7 +581,10 @@
+ if linklibc and
+ not IsDarwin Then
+ begin
+- Fl1:=librarysearchpath.FindFile('crtend.o',false,s1);
++ if cs_create_pic in current_settings.moduleswitches then
++ Fl1:=librarysearchpath.FindFile('crtendS.o',false,s1)
++ else
++ Fl1:=librarysearchpath.FindFile('crtend.o',false,s1);
+ Fl2:=librarysearchpath.FindFile('crtn.o',false,s2);
+ if Fl1 or Fl2 then
+ begin