build_support/yat-config.in

Code
Comments
Other
Rev Date Author Line
1348 21 Jun 08 peter 1 # $Id$
1348 21 Jun 08 peter 2
2119 12 Dec 09 peter 3 # Copyright (C) 2008 Jari Häkkinen, Peter Johansson
4359 23 Aug 23 peter 4 # Copyright (C) 2009, 2010, 2011, 2013, 2015, 2017, 2019 Peter Johansson
1348 21 Jun 08 peter 5 #
1469 02 Sep 08 peter 6 # This file is part of the yat library, http://dev.thep.lu.se/yat
1348 21 Jun 08 peter 7 #
1348 21 Jun 08 peter 8 # The yat library is free software; you can redistribute it and/or
1348 21 Jun 08 peter 9 # modify it under the terms of the GNU General Public License as
1486 09 Sep 08 jari 10 # published by the Free Software Foundation; either version 3 of the
1348 21 Jun 08 peter 11 # License, or (at your option) any later version.
1348 21 Jun 08 peter 12 #
1348 21 Jun 08 peter 13 # The yat library is distributed in the hope that it will be useful,
1348 21 Jun 08 peter 14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
1348 21 Jun 08 peter 15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1348 21 Jun 08 peter 16 # General Public License for more details.
1348 21 Jun 08 peter 17 #
1348 21 Jun 08 peter 18 # You should have received a copy of the GNU General Public License
1487 10 Sep 08 jari 19 # along with yat. If not, see <http://www.gnu.org/licenses/>.
1348 21 Jun 08 peter 20
1348 21 Jun 08 peter 21 prefix="@prefix@"
1348 21 Jun 08 peter 22 exec_prefix="@exec_prefix@"
1348 21 Jun 08 peter 23 bindir="@bindir@"
1348 21 Jun 08 peter 24 libdir="@libdir@"
1348 21 Jun 08 peter 25 includedir="@includedir@"
1348 21 Jun 08 peter 26
1998 13 Jun 09 peter 27 abs_top_builddir="@abs_top_builddir@"
1998 13 Jun 09 peter 28 abs_top_srcdir="@abs_top_srcdir@"
1998 13 Jun 09 peter 29
1697 06 Jan 09 peter 30 installed=no
1697 06 Jan 09 peter 31
3716 10 Nov 17 peter 32 host_os="@host_os@"
3716 10 Nov 17 peter 33 GXX="@GXX@"
1348 21 Jun 08 peter 34 CXX="@CXX@"
1348 21 Jun 08 peter 35 CXXCPP="@CXXCPP@"
1348 21 Jun 08 peter 36 CPPFLAGS="@CPPFLAGS@"
1348 21 Jun 08 peter 37 CXXFLAGS="@CXXFLAGS@"
1348 21 Jun 08 peter 38 LDFLAGS="@LDFLAGS@"
1348 21 Jun 08 peter 39 LIBS="@LIBS@"
1892 13 Apr 09 peter 40 YAT_CPPFLAGS="@YAT_CPPFLAGS@"
1892 13 Apr 09 peter 41 YAT_CXXFLAGS="@YAT_CXXFLAGS@"
1892 13 Apr 09 peter 42 YAT_LDFLAGS="@YAT_LDFLAGS@"
1897 15 Apr 09 peter 43 YAT_PRIMARY_LIBS="@YAT_PRIMARY_LIBS@"
3111 10 Nov 13 peter 44 YAT_STATIC_LIBS="@YAT_STATIC_LIBS@"
1897 15 Apr 09 peter 45 LIBM="@LIBM@"
3715 10 Nov 17 peter 46 # let user override these four variables
3715 10 Nov 17 peter 47 : ${YAT_CONFIG_CPPFLAGS="@YAT_CONFIG_CPPFLAGS@"}
3715 10 Nov 17 peter 48 : ${YAT_CONFIG_CXXFLAGS="@YAT_CONFIG_CXXFLAGS@"}
3715 10 Nov 17 peter 49 : ${YAT_CONFIG_LDFLAGS="@YAT_CONFIG_LDFLAGS@"}
3715 10 Nov 17 peter 50 : ${YAT_CBLAS_LIB="@YAT_CBLAS_LIB@"}
1348 21 Jun 08 peter 51
2264 27 May 10 peter 52 LA_FILE="$libdir/libyat.la"
1697 06 Jan 09 peter 53 if test x$installed = xno; then
2264 27 May 10 peter 54   LA_FILE="@abs_top_builddir@/yat/libyat.la"
1697 06 Jan 09 peter 55 fi
1406 11 Aug 08 peter 56
1348 21 Jun 08 peter 57 usage()
1348 21 Jun 08 peter 58 {
1348 21 Jun 08 peter 59     cat <<EOF
1348 21 Jun 08 peter 60 Usage: yat-config [OPTION]...
1348 21 Jun 08 peter 61
1348 21 Jun 08 peter 62 Known values for OPTION are:
1406 11 Aug 08 peter 63   --prefix                    print prefix
1406 11 Aug 08 peter 64   --bindir                    print location where binaries are installed
1406 11 Aug 08 peter 65   --includedir                print location where headers are installed
1406 11 Aug 08 peter 66   --libdir                    print location where @PACKAGE@ library is installed
1406 11 Aug 08 peter 67   --cxx                       print C++ compiler name
1406 11 Aug 08 peter 68   --cxxcpp                    print C++ preprocessor name and required options
1406 11 Aug 08 peter 69   --cppflags                  print C++ preprocessor flags
1406 11 Aug 08 peter 70   --cxxflags                  print C++ compiler flags
1406 11 Aug 08 peter 71   --ldflags                   print linker flags
1406 11 Aug 08 peter 72   --libs                      print libraries to link against
1898 16 Apr 09 peter 73   --libs-without-cblas        print libraries to link against except cblas
1406 11 Aug 08 peter 74   --link-libtool              print the libtool inputs for linking to @PACKAGE@
2020 04 Aug 09 peter 75   --yat-la-file               print the path to the .la file
1408 13 Aug 08 peter 76   --atleast-version=VERSION   return 0 if @PACKAGE@ is at least version VERSION
1406 11 Aug 08 peter 77   --version                   print @PACKAGE@'s version
1406 11 Aug 08 peter 78   --version-major             print @PACKAGE@'s MAJOR version
2828 12 Sep 12 peter 79   --version-minor             print @PACKAGE@'s MINOR version
2828 12 Sep 12 peter 80   --version-patch             print @PACKAGE@'s PATCH version
3133 24 Nov 13 peter 81   --help                      print this help and exit
1348 21 Jun 08 peter 82
3133 24 Nov 13 peter 83 An alternative CBLAS library can be specified using the YAT_CBLAS_LIB
3133 24 Nov 13 peter 84 environment variable. The CBLAS library detected during configuration
3133 24 Nov 13 peter 85 is used by default (@YAT_CBLAS_LIB@).
3133 24 Nov 13 peter 86
1350 21 Jun 08 peter 87 Report bugs to <@PACKAGE_BUGREPORT@>.
3382 10 Mar 15 peter 88 yat home page: <@PACKAGE_URL@>
1348 21 Jun 08 peter 89 EOF
1348 21 Jun 08 peter 90
1348 21 Jun 08 peter 91     exit $1
1348 21 Jun 08 peter 92 }
1348 21 Jun 08 peter 93
1348 21 Jun 08 peter 94
1348 21 Jun 08 peter 95 if test $# -eq 0; then
1689 31 Dec 08 peter 96     usage 1
1348 21 Jun 08 peter 97 fi
1348 21 Jun 08 peter 98
3800 04 May 19 peter 99 output=""
1348 21 Jun 08 peter 100
1348 21 Jun 08 peter 101 while test $# -gt 0; do
1348 21 Jun 08 peter 102     case "$1" in
1348 21 Jun 08 peter 103     --prefix)
3800 04 May 19 peter 104     output="$output $prefix"
1348 21 Jun 08 peter 105     ;;
1348 21 Jun 08 peter 106     --bindir)
3800 04 May 19 peter 107     output="$output $bindir"
1348 21 Jun 08 peter 108     ;;
1348 21 Jun 08 peter 109     --includedir)
3800 04 May 19 peter 110     output="$output $includedir"
1348 21 Jun 08 peter 111     ;;
1423 20 Aug 08 peter 112     --libdir)
3800 04 May 19 peter 113     output="$output $libdir"
1423 20 Aug 08 peter 114     ;;
1348 21 Jun 08 peter 115     --cxx)
3800 04 May 19 peter 116     output="$output $CXX"
1348 21 Jun 08 peter 117     ;;
1348 21 Jun 08 peter 118     --cxxcpp)
3800 04 May 19 peter 119     output="$output $CXXCPP"
1348 21 Jun 08 peter 120     ;;
1348 21 Jun 08 peter 121     --cppflags)
1697 06 Jan 09 peter 122     if test $installed = yes; then
3716 10 Nov 17 peter 123        # add $includedir unless
3716 10 Nov 17 peter 124        #   1) $includedir is /usr/include or
3716 10 Nov 17 peter 125        #   2) $includedir is /usr/local/include on linux
3716 10 Nov 17 peter 126        add_path=yes
1857 07 Mar 09 peter 127        if test "x$includedir" = "x/usr/include"; then
3716 10 Nov 17 peter 128            add_path=no
3716 10 Nov 17 peter 129        elif (test "x$includedir" = "x/usr/local/include" &&
3716 10 Nov 17 peter 130               test x"$GXX" = x"yes"); then
3716 10 Nov 17 peter 131     case $host_os in
3716 10 Nov 17 peter 132           linux* | gnu* | k*bsd*-gnu) add_path=no;;
3716 10 Nov 17 peter 133      esac
3716 10 Nov 17 peter 134        fi
3716 10 Nov 17 peter 135        if test x"$add_path" = x"yes"; then
3800 04 May 19 peter 136          output="$output -I$includedir"
1857 07 Mar 09 peter 137        fi
2828 12 Sep 12 peter 138     else
1998 13 Jun 09 peter 139        # For VPATH build we need to add path to some generated files
1998 13 Jun 09 peter 140        # The second part is to allow header files in `yat/utility' to
1998 13 Jun 09 peter 141        # include generated files simply as "generated.h".
1998 13 Jun 09 peter 142        if test "x$abs_top_builddir" != "x$abs_top_srcdir"; then
3800 04 May 19 peter 143           output="$output -I$abs_top_builddir"
3800 04 May 19 peter 144           output="$output -I$abs_top_builddir/yat/utility"
1998 13 Jun 09 peter 145        fi
3800 04 May 19 peter 146        output="$output -I$abs_top_srcdir"
1697 06 Jan 09 peter 147     fi
3800 04 May 19 peter 148     output="$output $YAT_CPPFLAGS $CPPFLAGS $YAT_CONFIG_CPPFLAGS"
1348 21 Jun 08 peter 149     ;;
1348 21 Jun 08 peter 150     --cxxflags)
3800 04 May 19 peter 151     output="$output $YAT_CXXFLAGS $CXXFLAGS $YAT_CONFIG_CXXFLAGS"
1348 21 Jun 08 peter 152     ;;
1348 21 Jun 08 peter 153     --libs)
3800 04 May 19 peter 154     output="$output -lyat $YAT_STATIC_LIBS $YAT_PRIMARY_LIBS $YAT_CBLAS_LIB $LIBM $LIBS"
1348 21 Jun 08 peter 155     ;;
1898 16 Apr 09 peter 156     --libs-without-cblas)
3800 04 May 19 peter 157     output="$output -lyat $YAT_STATIC_LIBS $YAT_PRIMARY_LIBS $LIBM $LIBS"
1898 16 Apr 09 peter 158     ;;
1348 21 Jun 08 peter 159     --ldflags)
1857 07 Mar 09 peter 160     if test "x$libdir" = "x/usr/lib"; then
1857 07 Mar 09 peter 161       : # ignore standard '/usr/lib'
2828 12 Sep 12 peter 162     elif (test "$CXX" = "g++" &&
2217 14 Mar 10 peter 163           test "x$libdir" = "x/usr/local/lib"); then
1857 07 Mar 09 peter 164       : # ignore '/usr/local/lib' if we use g++
1857 07 Mar 09 peter 165     else
3800 04 May 19 peter 166       output="$output -L$libdir"
1857 07 Mar 09 peter 167     fi
3800 04 May 19 peter 168     output="$output $YAT_LDFLAGS $LDFLAGS $YAT_CONFIG_LDFLAGS"
1348 21 Jun 08 peter 169     ;;
1370 14 Jul 08 peter 170     --link-libtool)
3800 04 May 19 peter 171     output="$output $LA_FILE $YAT_STATIC_LIBS $YAT_CBLAS_LIB"
1370 14 Jul 08 peter 172     ;;
2020 04 Aug 09 peter 173     --yat-la-file)
3800 04 May 19 peter 174     output="$output $LA_FILE"
2020 04 Aug 09 peter 175     ;;
1406 11 Aug 08 peter 176     --atleast-version=*)
2266 05 Jun 10 peter 177       optarg=`echo "$1" | sed 's/--atleast-version=//'`
2266 05 Jun 10 peter 178       min_major=`echo "$optarg" | sed 's/\([0-9]*\).*/\1/'`
1406 11 Aug 08 peter 179       if test "$optarg" = "$min_major"; then
1406 11 Aug 08 peter 180           min_minor="0";
1406 11 Aug 08 peter 181       else
2266 05 Jun 10 peter 182          min_minor=`echo "$optarg" | sed 's/[0-9]*.\([0-9]*\).*/\1/'`
1406 11 Aug 08 peter 183       fi
1406 11 Aug 08 peter 184       if test "$optarg" = "$min_major.$min_minor"; then
1406 11 Aug 08 peter 185          min_patch="0";
1406 11 Aug 08 peter 186       else
2266 05 Jun 10 peter 187          min_patch=`echo "$optarg" | sed 's/[0-9]*.[0-9]*.\([0-9]*\).*/\1/'`
1406 11 Aug 08 peter 188       fi
1406 11 Aug 08 peter 189       if test "$optarg" = "$min_patch"; then
2828 12 Sep 12 peter 190         echo "yat-config: \`$optarg' is not a valid VERSION"
1406 11 Aug 08 peter 191         exit 255
1406 11 Aug 08 peter 192       fi
1406 11 Aug 08 peter 193       if !(test -n "$min_major" && test -n "$min_minor" \
2828 12 Sep 12 peter 194            && test -n "$min_patch"); then
2828 12 Sep 12 peter 195         echo "yat-config: \`$optarg' is not a valid VERSION"
1406 11 Aug 08 peter 196         exit 255
1406 11 Aug 08 peter 197       fi
1406 11 Aug 08 peter 198       if ( test $min_major -gt @YAT_MAJOR_VERSION@ || \
1406 11 Aug 08 peter 199            ( test $min_major -eq @YAT_MAJOR_VERSION@ && \
1406 11 Aug 08 peter 200              ( test $min_minor -gt @YAT_MINOR_VERSION@ || \
2474 13 Apr 11 peter 201                ( test $min_minor -eq @YAT_MINOR_VERSION@ && \
1406 11 Aug 08 peter 202                  ( test $min_patch -gt @YAT_PATCH_VERSION@ ||
2828 12 Sep 12 peter 203                    (test $min_patch -eq @YAT_PATCH_VERSION@ &&
1406 11 Aug 08 peter 204                     test "@YAT_DEV_BUILD@" = "true" )))))) ; then
2474 13 Apr 11 peter 205       exit 1;
1406 11 Aug 08 peter 206       fi
1406 11 Aug 08 peter 207       exit 0
1406 11 Aug 08 peter 208     ;;
1348 21 Jun 08 peter 209     --version)
2266 05 Jun 10 peter 210     echo @VERSION@
1348 21 Jun 08 peter 211     exit 0
1348 21 Jun 08 peter 212     ;;
1348 21 Jun 08 peter 213     --version-major)
2266 05 Jun 10 peter 214     echo @YAT_MAJOR_VERSION@
1348 21 Jun 08 peter 215     exit 0
1348 21 Jun 08 peter 216     ;;
1348 21 Jun 08 peter 217     --version-minor)
2266 05 Jun 10 peter 218     echo @YAT_MINOR_VERSION@
1348 21 Jun 08 peter 219     exit 0
1348 21 Jun 08 peter 220     ;;
1348 21 Jun 08 peter 221     --version-patch)
2266 05 Jun 10 peter 222     echo @YAT_PATCH_VERSION@
1348 21 Jun 08 peter 223     exit 0
1348 21 Jun 08 peter 224     ;;
1348 21 Jun 08 peter 225     --help)
1689 31 Dec 08 peter 226     usage 0
1348 21 Jun 08 peter 227     ;;
1348 21 Jun 08 peter 228     *)
2473 13 Apr 11 peter 229     echo "yat-config: unrecognized option '$1'" >&2
2473 13 Apr 11 peter 230     echo "Try \`yat-config --help' for more information." >&2
2473 13 Apr 11 peter 231     exit 1
1348 21 Jun 08 peter 232     ;;
1348 21 Jun 08 peter 233     esac
1348 21 Jun 08 peter 234
1348 21 Jun 08 peter 235     # Next please.
1348 21 Jun 08 peter 236     shift
1348 21 Jun 08 peter 237 done
1348 21 Jun 08 peter 238
3800 04 May 19 peter 239 echo $output
1348 21 Jun 08 peter 240 exit 0