X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=configure;h=7c5a38ce6e2dae6f3d4cf075081e81231c92747d;hb=35ee06686adbfa4dd0feca625eb9a0dfee2d087e;hp=f01633c99ed4d5fb0dfb100fe5302a87618e5783;hpb=5e4afc13a1514f253373e7054ef025baef9b0ed0;p=fips diff --git a/configure b/configure index f01633c..7c5a38c 100755 --- a/configure +++ b/configure @@ -42,7 +42,6 @@ LDFLAGS=${LDFLAGS:-} # Set the defaults for values the user can specify with command-line # options. PREFIX=/usr/local -LIBDIR= usage () { @@ -82,8 +81,8 @@ specify an installation prefix other than $PREFIX using Fine tuning of some installation directories is available: + --bindir=DIR Install executables to DIR [PREFIX/bin] --libdir=DIR Install libraries to DIR [PREFIX/lib] - --includedir=DIR Install header files to DIR [PREFIX/include] --mandir=DIR Install man pages to DIR [PREFIX/share/man] --sysconfdir=DIR Read-only single-machine data [PREFIX/etc] @@ -102,6 +101,36 @@ configure-script calling conventions, but don't do anything yet: EOF } +# Given two absolute paths ("from" and "to"), compute a relative path +# from "from" to "to". For example: +# +# relative_path /foo/bar/baz /foo/qux -> ../../qux +relative_path () +{ + if [ $# -ne 2 ] ; then + echo "Internal error: relative_path requires exactly 2 arguments" + exit 1; + fi + + from="$1" + to="$2" + + # Handle trivial case up-front + if [ "$from" = "$to" ] ; then + echo "" + else + shared="$from" + relative="" + + while [ "${to#$shared}" = "$to" ] && [ "$shared" != "." ] ; do + shared="$(dirname $shared)" + relative="..${relative:+/${relative}}" + done + + echo "${relative:-.}${to#$shared}" + fi +} + # Parse command-line options for option; do if [ "${option}" = '--help' ] ; then @@ -109,10 +138,10 @@ for option; do exit 0 elif [ "${option%%=*}" = '--prefix' ] ; then PREFIX="${option#*=}" + elif [ "${option%%=*}" = '--bindir' ] ; then + BINDIR="${option#*=}" elif [ "${option%%=*}" = '--libdir' ] ; then LIBDIR="${option#*=}" - elif [ "${option%%=*}" = '--includedir' ] ; then - INCLUDEDIR="${option#*=}" elif [ "${option%%=*}" = '--mandir' ] ; then MANDIR="${option#*=}" elif [ "${option%%=*}" = '--sysconfdir' ] ; then @@ -142,17 +171,6 @@ for option; do fi done -# We set this value early, (rather than just while printing the -# Makefile.config file later like most values), because we need to -# actually investigate this value compared to the ldconfig_paths value -# below. -if [ -z "$LIBDIR" ] ; then - libdir_expanded="${PREFIX}/lib" -else - # very non-general variable expansion - libdir_expanded=`echo "$LIBDIR" | sed "s|\\${prefix}|${PREFIX}|g; s|\\$prefix/|${PREFIX}/|; s|//*|/|g"` -fi - cat < /dev/null 2>&1; then - have_pkg_config=1 + printf "Yes.\n" else - have_pkg_config=0 + printf "No.\n" + cat </dev/null | sed -n -e 's,^\(/.*\):\( (.*)\)\?$,\1,p') - # Separate ldconfig_paths only on newline (not on any potential - # embedded space characters in any filenames). Note, we use a - # literal newline in the source here rather than something like: - # - # IFS=$(printf '\n') - # - # because the shell's command substitution deletes any trailing newlines. - IFS=" -" - for path in $ldconfig_paths; do - if [ "$path" = "$libdir_expanded" ]; then - libdir_in_ldconfig=1 - fi - done - IFS=$DEFAULT_IFS - if [ "$libdir_in_ldconfig" = '0' ]; then - printf "No (will set RPATH)\n" +printf "Checking for libelf... " +printf "#include \nint main(void){return elf_version (EV_CURRENT);}\n" > elf-minimal.c +if ${CC} -o elf-minimal elf-minimal.c -lelf > /dev/null 2>&1 +then + printf "Yes.\n" + have_libelf=1 + libelf_cflags= + libelf_ldflags=-lelf +else + printf "No.\n" + have_libelf=0 + libelf_cflags= + libelf_ldflags= + errors=$((errors + 1)) +fi +rm -f elf-minimal elf-minimal.c + +printf "Checking for GL/gl.h... " +have_gl=0 +if pkg-config --exists gl; then + printf "Yes.\n" + have_gl=1 + gl_cflags=$(pkg-config --cflags gl) +else + printf "#include \nint main(void){return 0;}\n" > gl-minimal.c + if ${CC} -o gl-minimal gl-minimal.c > /dev/null 2>&1 + then + printf "Yes.\n" + have_gl=1 else - printf "Yes\n" + printf "No.\n" + errors=$((errors + 1)) fi + rm -f gl-minimal gl-minimal.c +fi + +printf "Checking for GL window-system-binding headers:\n" +have_gl_winsys=0 + +printf " Checking for GL/glx.h... " +have_glx=No +printf "#include \nint main(void){return 0;}\n" > glx-minimal.c +if ${CC} -o glx-minimal glx-minimal.c ${gl_cflags} > /dev/null 2>&1 +then + printf "Yes.\n" + have_gl_winsys=1 + have_glx=Yes else - printf "Unknown.\n" - cat <\nint main(void){return 0;}\n" > egl-minimal.c + if ${CC} -o egl-minimal egl-minimal.c ${gl_cflags} > /dev/null 2>&1 + then + printf "Yes.\n" + have_gl_winsys=1 + have_egl=1 + else + printf "No.\n" + fi + rm -f egl-minimal egl-minimal.c +fi -EOF +if [ $have_gl_winsys -eq 0 ]; then + errors=$((errors + 1)) fi if [ $errors -gt 0 ]; then @@ -262,6 +318,21 @@ EOF echo " http://talloc.samba.org/" echo fi + if [ $have_libelf -eq 0 ]; then + echo " The libelf library (including development files such as headers)" + echo " http://http://sourceforge.net/projects/elftoolchain/" + echo + fi + if [ $have_gl -eq 0 ]; then + echo " Open GL header files (GL/gl.h)" + echo " http://www.mesa3d.org/" + echo + fi + if [ $have_gl_winsys -eq 0 ]; then + echo " OpenGL window-system-bindings header files (GL/glx.h and/or GL/egl.h)" + echo " http://www.mesa3d.org/" + echo + fi cat < config.h <