aboutsummaryrefslogtreecommitdiff
path: root/configure
blob: 836c6e0b1182dec41ac8dcc4903072119f22c78f (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
111
112
113
114
115
116
117
118
119
120
#!/bin/bash

#######################################################################
# OS Setup Routines
#######################################################################
setup_win32()
{
    echo "Build environment... Microsoft Windows";
    BUILD_FOR='Win32'
    PORTAUDIO_MAKEOPTS='-lwinmm'
    MORELIBS="$MORELIBS -lwinmm -mwindows"
#   MOREDEPS="$MOREDEPS \$(BINDIR)nojack.o"
}


setup_linux_gnu()
{
    echo "Build environment... GNU/Linux";
    BUILD_FOR='LinuxGNU'
    PORTAUDIO_MAKEOPTS='-pthread'
}


setup_linux_win32()
{
    echo "Build environment... Microsoft Windows (Linux)"
    BUILD_FOR='Win32Linux'
    PORTAUDIO_MAKEOPTS='-lwinmm'
    GCC='i586-mingw32msvc-gcc'
}


setup_darwin()
{
    echo "Build environment... Macintosh OS X";
    BUILD_FOR='Darwin'
    JACK_MAKEOPTS='-L/sw/lib -I/sw/include'
    PORTAUDIO_MAKEOPTS='-L/sw/lib -I/sw/include'
    export CFLAGS="-no-cpp-precomp -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
    export CXXFLAGS="-no-cpp-precomp -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
}


#######################################################################
# Library Tests
#######################################################################
find_fltk()
{
    TEST=`fltk-config --version | awk \
        'BEGIN {FS="=";version="Unavailable"} 1==1 {version=$1}  END {print version}'`

    if [ $? == 0 ]; then
        echo "Searching for FLTK... found $TEST"
        TMPCCARGS="$TMPCCARGS -DLIBFLTK=\"$TEST\""
    else
        echo "Searching for FLTK... not found"
        echo "Can't continue."
        exit 1
    fi
}


#######################################################################
# Main Configure Routine
#######################################################################
main()
{
    [[ -e Makefile ]] && make clean

    MORELIBS=''  # Extra libraries
    MOREDEPS=''  # Extra dependencies
    BUILD_FOR='' # Build architecture
    GCC='gcc'    # GCC Command (different if building Win32 on Linux)
    TMPCCARGS=''    # Extra CC Arguments

    # Check for Windows
    if [[ $BUILD_FOR == '' && \
        ($WINDIR == "C:\\WINNT" || $WINDIR == "C:\\WINDOWS") ]]; 
    then
        setup_win32
    fi

    # Check for Linux or Win32 building on Linux
    if [[ $BUILD_FOR == '' && \
        `if [ -e /proc/version ]; then cat /proc/version | grep Linux; fi` != "" ]]
    then
        if [ "$1" = "--os=win32" ]; then
            setup_linux_win32
        else
            setup_linux_gnu
        fi
    fi

    # Check for Mac OS X
    if [[ $BUILD_FOR == '' && \
        ("`echo $version|grep powerpc-apple-darwin`" != "" || \
         "`echo $OSTYPE|grep darwin`" != "") ]]
    then
        setup_darwin $1
    fi

    # Check for Essential Libraries
    find_fltk

    # Create the Makefile
    echo "BUILD_ARCH=$BUILD_FOR" > Makefile
    echo "MORELIBS=$MORELIBS" >> Makefile
    echo "MOREDEPS=$MOREDEPS" >> Makefile
    echo "TMPCCARGS=$TMPCCARGS" >> Makefile

    if [[ $1 == '--with-universal' ]]; then
        echo "UNIVERSAL=true" >> Makefile
    fi

    cat Makefile.in >> Makefile

    echo -e "\nConfiguration complete. If all looked OK, now run make.";
}

main $1