summaryrefslogtreecommitdiff
path: root/configure
blob: a8426f6d487ed35b263e5ab9245a735292ab3c65 (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
#!/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 Arcmd {"ar", "-rcs", NULL}' >> config.h
echo '#define Ldcmd {"ld", "-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 Linkcmd = [\"ld\", \"-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
        ;;
    *Darwin*)
        echo '#define Symprefix "_"' >> config.h
        echo 'export SYS=osx' >> config.mk
        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 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