summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--clusters/flang-system-deploy.morph15
-rw-r--r--strata/flang.morph25
-rw-r--r--strata/flang/clang.morph10
-rw-r--r--strata/flang/flang.morph10
-rw-r--r--strata/flang/libflangrt.morph10
-rw-r--r--strata/flang/llvm.morph10
-rw-r--r--systems/flang-system-x86_64-generic.morph43
7 files changed, 123 insertions, 0 deletions
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