summaryrefslogtreecommitdiff
path: root/strata/build-essential/gcc.def
diff options
context:
space:
mode:
Diffstat (limited to 'strata/build-essential/gcc.def')
-rw-r--r--strata/build-essential/gcc.def41
1 files changed, 41 insertions, 0 deletions
diff --git a/strata/build-essential/gcc.def b/strata/build-essential/gcc.def
new file mode 100644
index 00000000..592a39b7
--- /dev/null
+++ b/strata/build-essential/gcc.def
@@ -0,0 +1,41 @@
+name: gcc
+
+configure-commands:
+- mkdir o
+
+# Configure flag notes:
+# 1. An attempt to stop anything going in $PREFIX/lib64 (which doesn't
+# fully work; we will need to hobble the multilib configuration in
+# config/i386/t-linux64 if we really want to kill /lib64).
+# 2. Multilib does not make sense in Baserock.
+# 3. Optimisation libraries which for now we do without.
+# 4. Recommended by Linux From Scratch; required for C++ ABI
+# compatibility with other Linux distributions.
+# 5. MPFR is built in the GCC tree, we need to locate it.
+# 6. Avoid having more than one copy of ZLib in use on the system
+- |
+ cd o && \
+ ../configure \
+ $(../morph-arch-config) \
+ --prefix="$PREFIX" \
+ `# [1]` --libdir=$PREFIX/lib \
+ --disable-nls \
+ --enable-languages=c,c++,fortran \
+ --enable-shared --enable-threads=posix \
+ `# [2]` --disable-multilib \
+ `# [3]` --disable-libgomp --without-cloog --without-ppl \
+ `# [4]` --enable-__cxa_atexit \
+ `# [5]` --with-mpfr-include="$(pwd)/../mpfr/src" \
+ --with-mpfr-lib="$(pwd)/mpfr/src/.libs" \
+ `# [6]` --with-system-zlib
+
+build-commands:
+- cd o && make
+
+install-commands:
+- cd o && make DESTDIR="$DESTDIR" install
+- ln -s gcc "$DESTDIR/$PREFIX/bin/cc"
+- >
+ for fortran_alias in f77 f90 f95; do
+ ln -s gfortran "$DESTDIR/$PREFIX/bin/$fortran_alias"
+ done