summaryrefslogtreecommitdiff
path: root/configure
blob: 9ab6872d716916beec79aab294c262e0a4cf7f80 (plain)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#!/bin/sh

for i in `seq 30`; do
    echo "Lots of output to emulate automake... ok"
    echo "Testing for things you'll never use... fail"
    echo "Satisfying the fortran77 lobby... ok"
    echo "Burning CPU time checking for the bloody obvious... ok"
done
echo "Automake emulated successfully"

prefix="/usr/local"

for arg in $*; do
    shift 1
    case $arg in
        "--redo" | "-r")
            if [ -f ./configvar_cache ]; then
                . ./configvar_cache
            fi
            ;;
        "--prefix" | "-p") 
            prefix=shift $*
            ;;
        --prefix=*)
            prefix=`echo $arg | sed 's/^--prefix=//g'`
            ;;
        "--help" | "-h") 
            echo "Usage:"
            echo "      --prefix | -p: The prefix to install to"
            break;
            ;;
        *) echo "Unrecognized argument $arg";;
    esac
done

OS=`uname`
MACH=`uname -m`

echo export INST_ROOT=$prefix > config.mk

echo '#define Instroot "'$prefix'"' > config.h
echo '#define Asmcmd {"as", "-g", "-o", NULL}' >> config.h
echo '#define Defaultasm Gnugas' >> config.h
echo '#define Objsuffix ".o"' >> config.h
echo 'export SYSCLASS=posixy' >> config.mk

# mbld mbld/config.myr
echo "pkg config = " > mbld/config.myr
echo "const Instroot = \"$prefix\"" >> mbld/config.myr
echo "const Objsuffix = \".o\"" >> mbld/config.myr
echo "const Arcmd = [\"ar\", \"-rcs\"]" >> mbld/config.myr
echo "const Ascmd = [\"as\", \"-g\"]" >> mbld/config.myr
echo "const Directlib = false" >> mbld/config.myr
echo "const Runtime = \"_myrrt.o\"" >> mbld/config.myr
echo "const Manpath = \"share/man/man\"" >> mbld/config.myr
case $OS in
    *Linux*)
        echo '#define Symprefix ""' >> config.h
        echo '#define Defaultasm Gnugas' >> config.h
        echo 'export SYS=linux' >> config.mk
        echo 'const Sys = "Linux"' >> mbld/config.myr
        echo 'const Linkcmd = ["ld", "-o"]' >> mbld/config.myr
        ;;
    *Darwin*)
        echo '#define Symprefix "_"' >> config.h
        echo 'export SYS=osx' >> config.mk
        echo 'const Linkcmd = ["ld", ' \
            '"-pagezero_size", "0x100000000",' \
            '"-macosx_version_min", "10.6",'\
            '"-o"]' >> mbld/config.myr
        echo 'const Sys = "OSX"' >> mbld/config.myr
        ;;
    *FreeBSD*)
        echo '#define Symprefix ""' >> config.h
        echo '#define Defaultasm Gnugas' >> config.h
        echo 'export SYS=freebsd' >> config.mk
        echo 'const Linkcmd = ["ld", "-o"]' >> mbld/config.myr
        echo 'const Sys = "FreeBSD"' >> mbld/config.myr
        ;;
    *)
        echo ''
        echo '********************************'
        echo 'Unknown system'
        echo 'Cannot build'
        echo '********************************'
        rm -f config.h config.mk
        exit 1
        ;;
esac

case $MACH in
    *x86_64*)
        echo 'export ARCH=x64' >> config.mk
        echo 'const Arch = "x64"' >> mbld/config.myr
        ;;
    *)
        echo ''
        echo '********************************'
        echo 'Unknown system'
        echo 'Cannot build'
        echo '********************************'
esac
echo ';;' >> mbld/config.myr

echo "prefix=$prefix" > configvar_cache
cat << EOF
    Building with:
        prefix=$prefix
EOF