Skip to content

Commit 55feda2

Browse files
committed
Merge pull request #646 from hashdist/gcc2
Make gcc embed rpath automatically
2 parents 2ab8cee + 25130a3 commit 55feda2

2 files changed

Lines changed: 34 additions & 0 deletions

File tree

pkgs/gcc/gcc.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,16 @@ sources:
1212
url: http://ftpmirror.gnu.org/gcc/gcc-4.9.2/gcc-4.9.2.tar.bz2
1313

1414
build_stages:
15+
# Make gcc automatically embed RPATH to the proper libstdc++, libgfortran,
16+
# libgcc and libquadmath libraries:
17+
- name: rpath_patch
18+
before: configure
19+
files: [rpath.patch]
20+
handler: bash
21+
bash: |
22+
patch -up1 < _hashdist/rpath.patch
23+
sed -i "s|@@ARTIFACT@@|${ARTIFACT}|g" gcc/config/i386/gnu-user.h gcc/config/i386/gnu-user64.h
24+
1525
- name: link_lib64_to_lib
1626
after: install
1727
handler: bash

pkgs/gcc/rpath.patch

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
diff --git a/gcc/config/i386/gnu-user.h b/gcc/config/i386/gnu-user.h
2+
index e1163c9..dc09728 100644
3+
--- a/gcc/config/i386/gnu-user.h
4+
+++ b/gcc/config/i386/gnu-user.h
5+
@@ -79,6 +79,7 @@ along with GCC; see the file COPYING3. If not see
6+
%{!static: \
7+
%{rdynamic:-export-dynamic} \
8+
-dynamic-linker %(dynamic_linker)} \
9+
+ -rpath @@ARTIFACT@@/lib \
10+
%{static:-static}}"
11+
12+
#undef LINK_SPEC
13+
diff --git a/gcc/config/i386/gnu-user64.h b/gcc/config/i386/gnu-user64.h
14+
index 1c72b41..457639b 100644
15+
--- a/gcc/config/i386/gnu-user64.h
16+
+++ b/gcc/config/i386/gnu-user64.h
17+
@@ -63,6 +63,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
18+
%{" SPEC_32 ":-dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "} \
19+
%{" SPEC_64 ":-dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "} \
20+
%{" SPEC_X32 ":-dynamic-linker " GNU_USER_DYNAMIC_LINKERX32 "}} \
21+
+ -rpath @@ARTIFACT@@/lib \
22+
%{static:-static}}"
23+
24+
#undef LINK_SPEC

0 commit comments

Comments
 (0)