File: configure

package info (click to toggle)
midish 1.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,344 kB
  • sloc: ansic: 22,502; sh: 268; makefile: 119
file content (139 lines) | stat: -rwxr-xr-x 2,798 bytes parent folder | download
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#!/bin/sh

#
# defaults
#
prefix=/usr/local		# where to install midish
alsa=no				# do we want alsa support ?
sndio=no			# do we want sndio support ?
vars=				# variables definitions passed as-is
bindir=				# path where to install binaries
datadir=			# path where to install doc and examples
mandir=				# path where to install man pages
defs=				# no extra #defines
lib=				# extra path to libraries
include=			# extra path to header files
rt_ldadd=			# extra -l's for posix real-time extensions
sndio_ldadd=			# extra -l's for sndio(7)
alsa_ldadd=			# extra -l's for ALSA

#
# few OS-specific tweaks
#
case `uname` in
	Linux)
		alsa=yes
		rt_ldadd="-lrt"
		;;
	OpenBSD)
		sndio=yes
		;;
esac

#
# display help screeen
#
help() {
cat << END
Usage: configure [options]
--prefix=DIR			set install prefix to DIR [$prefix]
--bindir=DIR			install executables in DIR [\$prefix/bin]
--datadir=DIR			install read-only data in DIR [\$prefix/share]
--mandir=DIR			install man pages in DIR [\$prefix/man]
--enable-alsa			enable alsa sequencer backend [$alsa]
--disable-alsa			disable alsa sequencer backend
--enable-sndio			enable libsndio backend [$sndio]
--disable-sndio			disable libsndio backend
END
}

# shell word separator (none)
IFS=''

# sed-quoted new-line
nl='\
'

for i; do
	case "$i" in
	--prefix=*)
		prefix="${i#--prefix=}"
		shift;;
	--bindir=*)
		bindir="${i#--bindir=}"
		shift;;
	--datadir=*)
		datadir="${i#--datadir=}"
		shift;;
	--mandir=*)
		mandir="${i#--mandir=}"
		shift;;
	--enable-alsa)
		alsa=yes
		shift;;
	--disable-alsa)
		alsa=no
		shift;;
	--enable-sndio)
		sndio=yes
		shift;;
	--disable-sndio)
		sndio=no
		shift;;
	CC=*|CFLAGS=*|LDFLAGS=*)
		vars="$vars$i$nl"
		shift;;
	*)
		help
		exit 1
		;;
	esac
done

bindir="${bindir:-$prefix/bin}"
datadir="${datadir:-$prefix/share}"
mandir="${mandir:-$prefix/man}"

#
# add parameters specific to backends
#
if [ $sndio = yes ]; then
	defs="$defs -DUSE_SNDIO"
	sndio_ldadd="-lsndio"
	alsa=no
elif [ $alsa = yes ]; then
	defs="$defs -DUSE_ALSA"
	alsa_ldadd="-lasound"
else
	defs="$defs -DUSE_RAW"
fi

echo "configure: creating Makefile"
sed \
-e "s:@bindir@:$bindir:" \
-e "s:@datadir@:$datadir:" \
-e "s:@mandir@:$mandir:" \
-e "s:@defs@:$defs:" \
-e "s:@include@:$include:" \
-e "s:@lib@:$lib:" \
-e "s:@rt_ldadd@:$rt_ldadd:" \
-e "s:@sndio_ldadd@:$sndio_ldadd:" \
-e "s:@alsa_ldadd@:$alsa_ldadd:" \
-e "s:@vars@:$vars:" \
< Makefile.in >Makefile

if [ ! -e version.h ]; then
	echo "#define VERSION \"midish (unknown release)\"" >version.h
fi

echo
echo "bindir................... $bindir"
echo "datadir.................. $datadir"
echo "mandir................... $mandir"
echo "alsa..................... $alsa"
echo "sndio.................... $sndio"
echo
echo "Do \"make && make install\" to compile and install midish"
echo