From 89ab4a3cf03b8053f6980e50b47f83434b3470bf Mon Sep 17 00:00:00 2001 From: Mark Doffman Date: Wed, 7 Jan 2015 01:19:14 +0000 Subject: Add Flang stratum, system and example cluster file. Flang is an early stage Fortran compiler for LLVM. The Flang system is a standard development system that includes the correct LLVM versions for Flang development as well as the Flang compiler. --- clusters/flang-system-deploy.morph | 15 +++++++++++ strata/flang.morph | 25 ++++++++++++++++++ strata/flang/clang.morph | 10 +++++++ strata/flang/flang.morph | 10 +++++++ strata/flang/libflangrt.morph | 10 +++++++ strata/flang/llvm.morph | 10 +++++++ systems/flang-system-x86_64-generic.morph | 43 +++++++++++++++++++++++++++++++ 7 files changed, 123 insertions(+) create mode 100644 clusters/flang-system-deploy.morph create mode 100644 strata/flang.morph create mode 100644 strata/flang/clang.morph create mode 100644 strata/flang/flang.morph create mode 100644 strata/flang/libflangrt.morph create mode 100644 strata/flang/llvm.morph create mode 100644 systems/flang-system-x86_64-generic.morph diff --git a/clusters/flang-system-deploy.morph b/clusters/flang-system-deploy.morph new file mode 100644 index 00000000..d53ae534 --- /dev/null +++ b/clusters/flang-system-deploy.morph @@ -0,0 +1,15 @@ +name: flang-system-deploy +kind: cluster +description: | + Deploy a system for developing flang +systems: +- morph: systems/flang-system-x86_64-generic.morph + deploy: + vm: + type: kvm + location: kvm+ssh://USER@HOST/flang-x86_64/srv/images/flang-x86_64.img + DISK_SIZE: 20G + HOSTNAME: flang-x86_64 + INIT_SYSTEM: busybox + KERNEL_ARGS: console=ttyS0 + RAM_SIZE: 2G diff --git a/strata/flang.morph b/strata/flang.morph new file mode 100644 index 00000000..1a6b3584 --- /dev/null +++ b/strata/flang.morph @@ -0,0 +1,25 @@ +name: flang +kind: stratum +build-depends: +- morph: strata/core.morph +chunks: +- name: llvm + morph: strata/flang/llvm.morph + repo: upstream:llvm + ref: baserock/flang + build-depends: [] +- name: clang + morph: strata/flang/clang.morph + repo: upstream:clang + ref: baserock/flang + build-depends: [llvm] +- name: flang + morph: strata/flang/flang.morph + repo: upstream:flang + ref: master + build-depends: [llvm] +- name: libflangrt + morph: strata/flang/libflangrt.morph + repo: upstream:libflangrt + ref: master + build-depends: [] diff --git a/strata/flang/clang.morph b/strata/flang/clang.morph new file mode 100644 index 00000000..4980bba8 --- /dev/null +++ b/strata/flang/clang.morph @@ -0,0 +1,10 @@ +name: clang +kind: chunk +description: LLVM C, C++ compiler front-end +build-system: autotools +configure-commands: +- mkdir -p build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX="$PREFIX" +build-commands: +- cd build && make +install-commands: +- cd build && make install DESTDIR="$DESTDIR" diff --git a/strata/flang/flang.morph b/strata/flang/flang.morph new file mode 100644 index 00000000..3426d518 --- /dev/null +++ b/strata/flang/flang.morph @@ -0,0 +1,10 @@ +name: flang +kind: chunk +description: LLVM Fortran compiler front-end +build-system: autotools +configure-commands: +- mkdir -p build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX="$PREFIX" +build-commands: +- cd build && make -j1 +install-commands: +- cd build && make install DESTDIR="$DESTDIR" diff --git a/strata/flang/libflangrt.morph b/strata/flang/libflangrt.morph new file mode 100644 index 00000000..28429d22 --- /dev/null +++ b/strata/flang/libflangrt.morph @@ -0,0 +1,10 @@ +name: libflangrt +kind: chunk +description: flang runtime library +build-system: autotools +configure-commands: +- mkdir -p build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX="$PREFIX" +build-commands: +- cd build && make -j1 +install-commands: +- cd build && make install DESTDIR="$DESTDIR" diff --git a/strata/flang/llvm.morph b/strata/flang/llvm.morph new file mode 100644 index 00000000..ec3c4f39 --- /dev/null +++ b/strata/flang/llvm.morph @@ -0,0 +1,10 @@ +name: llvm +kind: chunk +description: Low Level Virtual Machine +build-system: autotools +configure-commands: +- mkdir -p build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX="$PREFIX" +build-commands: +- cd build && make +install-commands: +- cd build && make install DESTDIR="$DESTDIR" diff --git a/systems/flang-system-x86_64-generic.morph b/systems/flang-system-x86_64-generic.morph new file mode 100644 index 00000000..596fb365 --- /dev/null +++ b/systems/flang-system-x86_64-generic.morph @@ -0,0 +1,43 @@ +name: base-system-x86_64-generic +kind: system +description: The set of strata required for flang development. + system. +arch: x86_64 +strata: +- name: build-essential + morph: strata/build-essential.morph +- name: core + morph: strata/core.morph +- name: foundation + morph: strata/foundation.morph +- name: flang + morph: strata/flang.morph +- name: bsp-x86_64-generic + morph: strata/bsp-x86_64-generic.morph +- name: tools + morph: strata/tools.morph +- name: morph-utils + morph: strata/morph-utils.morph +- name: openstack-clients + morph: strata/openstack-clients.morph +- name: cloudinit-support + morph: strata/cloudinit-support.morph +- name: nodejs + morph: strata/nodejs.morph +- name: ruby + morph: strata/ruby.morph +- name: lorry + morph: strata/lorry.morph +- name: baserock-import + morph: strata/baserock-import.morph +- name: nfs + morph: strata/nfs.morph +- name: python-tools + morph: strata/python-tools.morph +configuration-extensions: +- set-hostname +- add-config-files +- simple-network +- nfsboot +- install-files +- cloud-init -- cgit v1.2.1