@@ -22,7 +22,7 @@ else | |||||
CXXFLAGS := -pipe -O3 -fno-rtti -fno-exceptions -DNDEBUG | CXXFLAGS := -pipe -O3 -fno-rtti -fno-exceptions -DNDEBUG | ||||
endif | endif | ||||
CXXFLAGS += $(LASH_CFLAGS) $(FLTK_CFLAGS) -DINSTALL_PREFIX=\"$(prefix)\" -DVERSION=\"$(VERSION)\" | |||||
CXXFLAGS += $(libsndfile_CFLAGS) $(LASH_CFLAGS) $(FLTK_CFLAGS) -DINSTALL_PREFIX=\"$(prefix)\" -DVERSION=\"$(VERSION)\" | |||||
include scripts/colors | include scripts/colors | ||||
@@ -32,7 +32,7 @@ LASH_Client::~LASH_Client ( ) | |||||
/* TODO: anything? */ | /* TODO: anything? */ | ||||
} | } | ||||
#ifdef USE_LASH | |||||
#ifdef HAVE_LASH | |||||
#include <lash/lash.h> | #include <lash/lash.h> | ||||
@@ -43,7 +43,7 @@ Timeline_OBJS:=$(Timeline_SRCS:.C=.o) | |||||
# $(Timeline_OBJS): Makefile | # $(Timeline_OBJS): Makefile | ||||
# $(Timeline_OBJS): make.conf | # $(Timeline_OBJS): make.conf | ||||
Timeline_LIBS := $(FLTK_LIBS) $(JACK_LIBS) $(SNDFILE_LIBS) $(LASH_LIBS) | |||||
Timeline_LIBS := $(FLTK_LIBS) $(JACK_LIBS) $(libsndfile_LIBS) $(LASH_LIBS) | |||||
Timeline/timeline: $(Timeline_OBJS) FL | Timeline/timeline: $(Timeline_OBJS) FL | ||||
@ echo -n Linking timeline... | @ echo -n Linking timeline... | ||||
@@ -1,119 +1,27 @@ | |||||
#!/bin/sh | #!/bin/sh | ||||
# | # | ||||
# Copyright (C) 2008 Jonathan Moore Liles | # Copyright (C) 2008 Jonathan Moore Liles | ||||
# | |||||
. scripts/colors | |||||
fatal () | |||||
{ | |||||
echo "$BOLD$RED$*$SGR0" | |||||
exit 255 | |||||
} | |||||
ask () | |||||
{ | |||||
echo -n "$1 [$BOLD$3$SGR0] " | |||||
read R | |||||
echo "${2}=${R:-$3}" >> make.conf | |||||
} | |||||
# This file is licensed under version 2 of the GPL. | |||||
ok () | |||||
{ | |||||
echo "$BOLD${GREEN}ok${SGR0}." | |||||
} | |||||
failed () | |||||
{ | |||||
echo "$BOLD${RED}failed!${SGR0}" | |||||
rm -f make.conf | |||||
} | |||||
. scripts/config-funcs | |||||
[ $# -gt 0 ] && fatal "This is not an autoconf script. Run it without any options and you will be prompted." | [ $# -gt 0 ] && fatal "This is not an autoconf script. Run it without any options and you will be prompted." | ||||
echo "-- Configuration:" | |||||
# get the old values | |||||
if [ -f make.conf ] | |||||
then | |||||
OIFS="$IFS" | |||||
IFS='' | |||||
eval "`sed -n '/^## options/{ : i; /^## libs/{ q }; p; n; b i }' make.conf`" | |||||
IFS="$OIFS" | |||||
fi | |||||
echo "# This is a generated file. Any changes may be lost!" > make.conf | |||||
begin | |||||
echo "## options" >> make.conf | |||||
begin_options | |||||
ask "Install prefix?" prefix ${prefix:-/usr/local} | ask "Install prefix?" prefix ${prefix:-/usr/local} | ||||
ask "Use LASH?" USE_LASH ${USE_LASH:-yes} | ask "Use LASH?" USE_LASH ${USE_LASH:-yes} | ||||
ask "Build for debugging?" MAINTAINER_MODE ${MAINTAINER_MODE:-no} | ask "Build for debugging?" MAINTAINER_MODE ${MAINTAINER_MODE:-no} | ||||
echo "## libs/flags" >> make.conf | |||||
# tests | |||||
echo -n "Checking for ${BOLD}FLTK${SGR0}..." | |||||
FLTK_VERSION=`fltk-config --version` | |||||
FLTK_VERSION_MAJOR=`echo $FLTK_VERSION | cut -d'.' -f1` | |||||
FLTK_VERSION_MINOR=`echo $FLTK_VERSION | cut -d'.' -f2` | |||||
FLTK_VERSION_PATCH=`echo $FLTK_VERSION | cut -d'.' -f3` | |||||
if ! ( [ $FLTK_VERSION_MAJOR -ge 1 ] && [ $FLTK_VERSION_MINOR -ge 1 ] && [ $FLTK_VERSION_PATCH -ge 7 ] ) | |||||
then | |||||
failed | |||||
fatal "The installed FLTK version ($FLTK_VERSION) is too old." | |||||
else | |||||
ok | |||||
fi | |||||
echo "FLTK_LIBS=`fltk-config --use-images --ldflags`" >> make.conf | |||||
echo "FLTK_CFLAGS=`fltk-config --cflags`" >> make.conf | |||||
check_command () | |||||
{ | |||||
echo -n "Checking for ${BOLD}$1${SGR0}..." | |||||
if ! [ -x "`which $2`" ] | |||||
then | |||||
failed | |||||
fatal "Command $1 not found." | |||||
else | |||||
ok | |||||
fi | |||||
} | |||||
check_command FLUID fluid | |||||
# | |||||
check () | |||||
{ | |||||
echo -n "Checking for $BOLD$1$SGR0..." | |||||
if ! pkg-config --exists $3 | |||||
then | |||||
failed | |||||
fatal "Required package $1 doesn't appear to be installed." | |||||
elif ! pkg-config --atleast-version $2 $3 | |||||
then | |||||
failed | |||||
fatal "The installed version of $1 (`pkg-config --mod-version $3`) is too old." | |||||
fi | |||||
ok | |||||
return 0 | |||||
} | |||||
begin_tests | |||||
check JACK 0.103.0 jack && echo "JACK_LIBS=`pkg-config --libs jack`" >> make.conf | |||||
check libSNDFILE 1.0.17 sndfile && echo "SNDFILE_LIBS=`pkg-config --libs sndfile`" >> make.conf | |||||
require_FLTK 1 1 7 | |||||
require_command FLUID fluid | |||||
require_package JACK 0.103.0 jack | |||||
require_package libsndfile 1.0.17 sndfile | |||||
grep -q 'USE_LASH=yes' make.conf && | |||||
check LASH 0.5.4 lash-1.0 && | |||||
( echo "LASH_LIBS=`pkg-config --libs lash-1.0`" >> make.conf | |||||
echo "LASH_CFLAGS=-DUSE_LASH `pkg-config --cflags lash-1.0`" >> make.conf ) | |||||
[ $USE_LASH = yes ] && require_package LASH 0.5.4 lash-1.0 | |||||
echo "-- Configuration complete." | |||||
end |
@@ -0,0 +1,141 @@ | |||||
#!/bin/sh | |||||
# | |||||
# Copyright (C) 2008 Jonathan Moore Liles | |||||
# This file is licensed under version 2 of the GPL. | |||||
. scripts/colors | |||||
# support functions for 'configure' scripts. | |||||
fatal () | |||||
{ | |||||
echo "$BOLD$RED$*$SGR0" > /dev/stderr | |||||
exit 255 | |||||
} | |||||
ask () | |||||
{ | |||||
local answer default | |||||
default="`eval echo \\$$2`" | |||||
default=${default:-$3} | |||||
echo -n "$BLACK$BOLD::$SGR0 $1 [$BOLD$3$SGR0] " | |||||
read answer | |||||
echo "${2}=${answer:-$default}" >> make.conf | |||||
} | |||||
ok () | |||||
{ | |||||
echo "$BOLD${GREEN}ok${SGR0}." | |||||
} | |||||
failed () | |||||
{ | |||||
echo "$BOLD${RED}failed!${SGR0}" > /dev/stderr | |||||
rm -f make.conf | |||||
} | |||||
extract_options () | |||||
{ | |||||
local OIFS | |||||
if [ -f make.conf ] | |||||
then | |||||
OIFS="$IFS" | |||||
IFS='' | |||||
eval "`sed -n '/^## options/{ : i; /^## libs/{ q }; p; n; b i }' make.conf`" | |||||
IFS="$OIFS" | |||||
fi | |||||
} | |||||
begin () | |||||
{ | |||||
echo -n "Checking sanity..." | |||||
require_command pkg-config pkg-config > /dev/null | |||||
require_command sed sed > /dev/null | |||||
ok | |||||
} | |||||
begin_options () | |||||
{ | |||||
# get the old values | |||||
extract_options | |||||
echo "# This is a generated file. Any changes may be lost!" > make.conf | |||||
echo "## options" >> make.conf | |||||
echo "--- Configuration required ---" | |||||
} | |||||
begin_tests () | |||||
{ | |||||
echo "## libs/flags" >> make.conf | |||||
extract_options | |||||
} | |||||
append () | |||||
{ | |||||
echo "$1" >> make.conf | |||||
} | |||||
end () | |||||
{ | |||||
echo "--- Configuration complete ---" | |||||
} | |||||
require_command () | |||||
{ | |||||
echo -n "Checking for ${BOLD}$1${SGR0}..." | |||||
if ! [ -x "`which $2`" ] | |||||
then | |||||
failed | |||||
fatal "Command $1 not found." | |||||
else | |||||
ok | |||||
fi | |||||
} | |||||
require_package () | |||||
{ | |||||
echo -n "Checking for $BOLD$1$SGR0..." | |||||
if ! pkg-config --exists $3 | |||||
then | |||||
failed | |||||
fatal "Required package $1 doesn't appear to be installed." | |||||
elif ! pkg-config --atleast-version $2 $3 | |||||
then | |||||
failed | |||||
fatal "The installed version of $1 (`pkg-config --mod-version $3`) is too old." | |||||
fi | |||||
append "${1}_LIBS=`pkg-config --libs $3`" | |||||
append "${1}_CFLAGS=-DHAVE_${1} `pkg-config --cflags $3`" | |||||
ok | |||||
return 0 | |||||
} | |||||
require_FLTK () | |||||
{ | |||||
echo -n "Checking for ${BOLD}FLTK${SGR0}..." | |||||
FLTK_VERSION=`fltk-config --version` | |||||
FLTK_VERSION_MAJOR=`echo $FLTK_VERSION | cut -d'.' -f1` | |||||
FLTK_VERSION_MINOR=`echo $FLTK_VERSION | cut -d'.' -f2` | |||||
FLTK_VERSION_PATCH=`echo $FLTK_VERSION | cut -d'.' -f3` | |||||
if ! ( [ $FLTK_VERSION_MAJOR -ge $1 ] && [ $FLTK_VERSION_MINOR -ge $2 ] && [ $FLTK_VERSION_PATCH -ge $3 ] ) | |||||
then | |||||
failed | |||||
fatal "The installed FLTK version ($FLTK_VERSION) is too old." | |||||
else | |||||
ok | |||||
fi | |||||
append "FLTK_LIBS=`fltk-config --use-images --ldflags`" | |||||
append "FLTK_CFLAGS=`fltk-config --cflags`" | |||||
} |