]> git.sesse.net Git - mlt/blob - configure
b9edcab45ab7fb4254459323eb8a61912e55a14f
[mlt] / configure
1 #!/bin/bash
2
3 function show_help
4 {
5         cat << EOF
6 Funky non-autotool config script for MLT.
7
8 Options are:
9
10   --help                  - this information
11   --prefix=directory      - install prefix for path (default: $prefix)
12   --disable-debug         - Compile without debug support (default: on)
13   --disable-mmx           - Compile without MMX support (default: on)
14   --enable-gpl            - Enable GPL components
15   --cpu='cpu'             - Compile for a specific CPU/architectre (default: none)
16 EOF
17
18         for i in src/modules/*
19         do
20                 [ -d $i ] && [ "`basename $i`" != "CVS" ] && echo `basename $i` `[ -f $i/gpl ] && echo [GPL]`
21         done |
22         awk '{ printf( "  --disable-%-14.14s- Disable the %s module %s\n", $1, $1, $2 ); }'
23
24         echo
25 }
26
27 function build_config
28 {
29         (
30                 echo "version=$version"
31                 echo "prefix=$prefix"
32                 echo "bindir=$prefix/bin"
33
34                 [ "$mmx" = "true" ] && 
35                 echo "MMX_FLAGS=-DUSE_MMX"
36
37                 [ "$debug" = "true" ] && 
38                 echo "DEBUG_FLAGS=-g"
39
40                 echo "LARGE_FILE=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
41
42                 [ "$cpu" != "" ] &&
43                 echo "TARGETARCH=-march=$cpu" &&
44                 echo "TARGETCPU=-mcpu=$cpu"
45
46                 [ "`uname`" = "Linux" ] &&
47                 echo "LIBDL=-ldl"
48
49                 echo "OPTIMISATIONS=-O4 -pipe -ffast-math -fomit-frame-pointer"
50                 echo "CFLAGS+=-Wall \$(TARGETARCH) \$(TARGETCPU) \$(OPTIMISATIONS) \$(MMX_FLAGS) \$(DEBUG_FLAGS) \$(LARGE_FILE) -pthread"
51         ) > config.mak
52
53         echo "#!/bin/sh" > mlt-config
54         (
55                 echo export version=$version
56                 echo export prefix=$prefix
57                 echo export bindir=$prefix/bin
58         ) >> mlt-config
59
60         cat < mlt-config-template >> mlt-config
61
62         echo -n > packages.dat
63 }
64
65 function build_pkgconfig
66 {
67         for i in framework valerie miracle
68         do
69                 echo "prefix=$prefix" >mlt-$i.pc
70                 echo "exec_prefix=$prefix" >>mlt-$i.pc
71                 echo "libdir=$prefix/lib" >>mlt-$i.pc
72                 echo "includedir=$prefix/include" >>mlt-$i.pc
73                 echo "version=$version" >>mlt-$i.pc
74                 echo "cflags=`grep ^$i packages.dat | cut -f 2`" >>mlt-$i.pc
75                 echo "libs=`grep ^$i packages.dat | cut -f 3`" >>mlt-$i.pc
76                 cat mlt-$i.pc.in >>mlt-$i.pc
77         done
78 }
79
80 # Debug mode
81 set +x
82
83 # Define build directory for scripts called
84 export build_dir=`dirname $0`
85 export prefix=/usr/local
86 export help=0
87 export version=0.0.3
88 export debug=true
89 export mmx=true
90 export gpl=false
91 export cpu=
92
93 # Iterate through arguments
94 for i in $*
95 do
96         case $i in
97                 --help )                        help=1 ;;
98                 --prefix=* )            prefix="${i#--prefix=}" ;;
99                 --disable-debug )       debug=false ;;
100                 --disable-mmx )         mmx=false ;;
101                 --enable-gpl )          gpl=true ;;
102                 --cpu=* )                       cpu="${i#--cpu=}" ;;
103         esac
104 done
105
106 # Show help if requested
107 [ $help = 1 ] && show_help || build_config
108
109 # Iterate through each of the components
110 for i in framework modules inigo valerie miracle humperdink
111 do
112         if [ -x src/$i/configure ]
113         then
114                 [ $help = 0 ] && echo "Configuring `basename $i`:"
115                 pushd src/$i > /dev/null
116                 ./configure $@
117                 [ $? != 0 ] && exit 1
118                 popd > /dev/null
119         fi
120 done
121
122 # Build the pkg-config files
123 build_pkgconfig
124
125 # Report GPL Usage
126 [ $help != 1 ] && 
127 ( [ "$gpl" = "false" ] && 
128 echo "GPL Components are disabled" || 
129 echo "GPL License Used" )
130