#!/bin/sh # # # dropnroll # # Copyright (C) 2009-2015 Christian Pointner # # This file is part of dropnroll. # # dropnroll is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. # # dropnroll is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with dropnroll. If not, see . # TARGET=`uname -s` EBUILD_COMPAT=0 USE_CLANG=0 PREFIX='/usr/local' BINDIR='' ETCDIR='' SYSTEMDDIR='' INSTALLSYSTEMD=1 MANDIR='' INSTALLMANPAGE=1 EXAMPLESDIR='' INSTALLEXAMPLES=1 print_usage() { echo "configure --help print this" echo " --target= build target i.e. Linux (default: autodetect)" echo " --prefix= the installation prefix (default: /usr/local)" echo " --bindir= the path to the bin directory (default: $PREFIX/bin)" echo " --sysconfdir= the path to the system configuration directory (default: $PREFIX/etc" echo " --systemddir= the path to the systemd service unit directory (default: /usr/lib/systemd/system)" echo " --no-systemd dont't install systemd service unit" echo " --mandir= the path to the system man pages (default: $PREFIX/share/man)" echo " --no-manpage dont't install manpage" echo " --examplesdir= the path to the examples files (default: $PREFIX/share/examples)" echo " --no-examples dont't install example files" echo " --use-clang use clang/llvm as compiler/linker" } for arg do case $arg in --target=*) TARGET=${arg#--target=} ;; --use-clang) USE_CLANG=1 ;; --prefix=*) PREFIX=${arg#--prefix=} ;; --bindir=*) BINDIR=${arg#--bindir=} ;; --sysconfdir=*) ETCDIR=${arg#--sysconfdir=} ;; --systemddir=*) SYSTEMDDIR=${arg#--systemddir=} ;; --no-systemd) INSTALLSYSTEMD=0 ;; --mandir=*) MANDIR=${arg#--mandir=} ;; --no-manpage) INSTALLMANPAGE=0 ;; --examplesdir=*) EXAMPLESDIR=${arg#--examplesdir=} ;; --no-examples) INSTALLEXAMPLES=0 ;; --ebuild-compat) EBUILD_COMPAT=1 ;; --help) print_usage exit 0 ;; *) ERRORS="$ERRORS $arg" ;; esac done if [ -n "$ERRORS" ] && [ $EBUILD_COMPAT -ne 1 ]; then for error in $ERRORS; do echo "Unknown argument: $error" done print_usage exit 1 fi if [ $USE_CLANG -eq 0 ]; then CFLAGS='-g -Wall -O2' LDFLAGS='-g -Wall -O2' COMPILER='gcc' else CFLAGS='-g -O2' LDFLAGS='-g -O2' COMPILER='clang' fi LDFLAGS=$LDFLAGS' -lrt' rm -f version.h rm -f include.mk case $TARGET in Linux) echo "Linux specific build options" ;; OpenBSD|FreeBSD|NetBSD) echo "BSD specific build options" CFLAGS=$CFLAGS' -I/usr/local/include' LDFLAGS=$LDFLAGS' -L/usr/local/lib' ;; *) echo "platform not supported" exit 1; ;; esac if [ -z "$BINDIR" ]; then BINDIR=$PREFIX/bin fi if [ -z "$SYSTEMDDIR" ]; then SYSTEMDDIR=/usr/lib/systemd/system fi if [ -z "$ETCDIR" ]; then ETCDIR=$PREFIX/etc fi if [ -z "$MANDIR" ]; then MANDIR=$PREFIX/share/man fi if [ -z "$EXAMPLESDIR" ]; then EXAMPLESDIR=$PREFIX/share/examples fi cat > include.mk <> include.mk echo "installing systemd service unit" else echo "not installing system service unit" fi if [ $INSTALLMANPAGE -eq 1 ]; then echo "MANDIR := $MANDIR" >> include.mk echo "installing manpage" else echo "not installing manpage" fi if [ $INSTALLEXAMPLES -eq 1 ]; then echo "EXAMPLESDIR := $EXAMPLESDIR" >> include.mk echo "installing example files" else echo "not installing example files" fi exit 0