| @@ -22,7 +22,7 @@ else | |||
| CXXFLAGS := -pipe -O3 -fno-rtti -fno-exceptions -DNDEBUG | |||
| 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 | |||
| @@ -32,7 +32,7 @@ LASH_Client::~LASH_Client ( ) | |||
| /* TODO: anything? */ | |||
| } | |||
| #ifdef USE_LASH | |||
| #ifdef HAVE_LASH | |||
| #include <lash/lash.h> | |||
| @@ -43,7 +43,7 @@ Timeline_OBJS:=$(Timeline_SRCS:.C=.o) | |||
| # $(Timeline_OBJS): Makefile | |||
| # $(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 | |||
| @ echo -n Linking timeline... | |||
| @@ -1,119 +1,27 @@ | |||
| #!/bin/sh | |||
| # | |||
| # 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." | |||
| 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 "Use LASH?" USE_LASH ${USE_LASH:-yes} | |||
| 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`" | |||
| } | |||