forked from jack-pappas/ExtCore
-
Notifications
You must be signed in to change notification settings - Fork 0
/
proto-compile
executable file
·41 lines (33 loc) · 3.87 KB
/
proto-compile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/sh
# Paths to tools and sources
unamestr=$(uname)
if [ "$unamestr" = 'Linux' ]; then
fsharp_dir=/home/jack/SourceCode/fsharp
elif [ "$unamestr" = 'FreeBSD' ]; then
fsharp_dir=/usr/home/jack/SourceCode/fsharp
else
echo "Unknown platform: $unamestr" 1>&2
exit 1
fi
# Create build directory structure.
mkdir build
pushd build
mkdir net40-Client
mkdir net45
mkdir profile47
mkdir profile7
mkdir profile78
mkdir profile259
popd
#
# Compile builds using the F# proto-compiler.
#
# Create the file list.
extcore_files="ExtCore/Pervasive.fs ExtCore/Substring.fs ExtCore/String.fs ExtCore/Control.Agents.fs ExtCore/Control.fs ExtCore/Control.Observable.fs ExtCore/Control.Indexed.fs ExtCore/Control.Cps.fs ExtCore/Control.Tasks.fs ExtCore/Collections.fs ExtCore/Collections.Seq.fs ExtCore/Collections.ListZipper.fs ExtCore/Collections.List.fs ExtCore/Collections.Vector.fs ExtCore/Collections.VectorView.fs ExtCore/Collections.ResizeArray.fs ExtCore/Collections.Array.fs ExtCore/Collections.TaggedArray.fs ExtCore/Collections.ArrayView.fs ExtCore/Collections.Set.fs ExtCore/Collections.Map.fs ExtCore/Collections.Dict.fs ExtCore/Collections.Bimap.fs ExtCore/Collections.IntSet.fs ExtCore/Collections.IntMap.fs ExtCore/Collections.IntBimap.fs ExtCore/Collections.LongSet.fs ExtCore/Collections.LongMap.fs ExtCore/Collections.LongBimap.fs ExtCore/Collections.HashSet.fs ExtCore/Collections.HashMap.fs ExtCore/Collections.Multiset.fs ExtCore/Collections.Multimap.fs ExtCore/Collections.LazyList.fs ExtCore/Collections.Queue.fs ExtCore/Collections.PriorityQueue.fs ExtCore/Collections.AsyncSeq.fs ExtCore/ControlCollections.State.fs ExtCore/ControlCollections.Reader.fs ExtCore/ControlCollections.ReaderState.fs ExtCore/ControlCollections.Maybe.fs ExtCore/ControlCollections.ReaderMaybe.fs ExtCore/ControlCollections.Choice.fs ExtCore/ControlCollections.ReaderChoice.fs ExtCore/ControlCollections.ProtectedState.fs ExtCore/ControlCollections.ReaderProtectedState.fs ExtCore/ControlCollections.StatefulChoice.fs ExtCore/ControlCollections.Async.fs ExtCore/ControlCollections.AsyncState.fs ExtCore/ControlCollections.AsyncMaybe.fs ExtCore/ControlCollections.AsyncChoice.fs ExtCore/ControlCollections.AsyncProtectedState.fs ExtCore/ControlCollections.Cont.fs ExtCore/ControlCollections.StateCont.fs ExtCore/Caching.LruCache.fs ExtCore/NativeInterop.fs ExtCore/IO.fs ExtCore/Net.fs ExtCore/Args.fs ExtCore/ExtraPervasives.fs ExtCore/AssemblyInfo.fs"
# net40-Client
mono $fsharp_dir/lib/proto/fsc-proto.exe -o:./build/net40-Client/ExtCore.dll --doc:./build/net40-Client/ExtCore.xml -r:/usr/local/lib/mono/4.0/System.dll -r:/usr/local/lib/mono/4.0/System.Core.dll -r:/usr/local/lib/mono/4.0/System.Numerics.dll --define:TRACE --define:PROTO_COMPILER --define:FX_ATLEAST_40 --debug:pdbonly --optimize+ --fullpaths --nowarn:42,75,1204 --platform:anycpu --target:library --extraoptimizationloops:1 $extcore_files
# net45
mono $fsharp_dir/lib/proto/fsc-proto.exe -o:./build/net45/ExtCore.dll --doc:./build/net45/ExtCore.xml -r:/usr/local/lib/mono/4.5/System.dll -r:/usr/local/lib/mono/4.5/System.Core.dll -r:/usr/local/lib/mono/4.5/System.Numerics.dll --define:TRACE --define:PROTO_COMPILER --define:FX_ATLEAST_40 --define:FX_ATLEAST_45 --debug:pdbonly --optimize+ --fullpaths --nowarn:42,75,1204 --platform:anycpu --target:library --extraoptimizationloops:1 $extcore_files
# profile47
#mono $fsharp_dir/lib/proto/fsc-proto.exe -o:./build/profile47/ExtCore.dll --doc:./build/profile47/ExtCore.xml -r:/usr/local/lib/mono/4.0/System.dll -r:/usr/local/lib/mono/4.0/System.Core.dll -r:/usr/local/lib/mono/4.0/System.Numerics.dll --define:TRACE --define:PROTO_COMPILER --define:FX_NO_SYSTEM_CONSOLE --define:FX_ATLEAST_PORTABLE --define:FX_SIMPLE_DIAGNOSTICS --define:FX_NO_TPL_PARALLEL --debug:pdbonly --optimize+ --fullpaths --nowarn:42,75,1204 --platform:anycpu --target:library --extraoptimizationloops:1 $extcore_files
# TODO - Implement builds for netcore profiles