Import Upstream version 20180207
[hcoop/debian/mlton.git] / regression / library / library-test
CommitLineData
7f918cf1
CE
1#! /usr/bin/env bash
2
3ML=../../build/bin/mlton
4
5O[0]='-default-ann'
6O[1]='allowFFI true'
7O[2]='-link-opt'
8O[3]='-L.'
9
10LIB="-link-opt -l"
11
12# Enable finding libraries locally
13export LD_LIBRARY_PATH=.
14
15set -ex
16
17# Compile DSO #1
18$ML "${O[@]}" "$@" -format libarchive libm1.sml libm1.c
19$ML "${O[@]}" "$@" ${LIB}m1 -format library libm2.sml libm2.c
20
21# Compile DSO #2
22$ML "${O[@]}" "$@" -format libarchive libm3.sml libm3.c
23$ML "${O[@]}" "$@" ${LIB}m3 ${LIB}m2 -format library libm4.sml libm4.c
24
25# Compile executable
26$ML "${O[@]}" "$@" -format archive libm5.sml libm5.c
27$ML "${O[@]}" "$@" ${LIB}m5 ${LIB}m4 -format executable \
28 -default-ann 'allowFFI true' -export-header check.h check.sml check.c
29
30# Check that symbols resolved correctly
31./check | sed '' > check.log
32
33# Confirm expected output
34set +x
35diff -u check.ok check.log
36echo '********** PASS:' "$@" '**********'
37rm -f check.log