fltk/fltk-config.in
Michael R Sweet 3346a9fee7 Change the Fl_Group current, add, and remove methods so they are no longer
inline; this should make shared libraries work better on all platforms.

Link FLUID against shared libraries, too, so that the installed fluid is
also using shared libraries (still make a statically linked fluid for the
build)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2525 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-14 17:03:31 +00:00

297 lines
6.2 KiB
Bash
Executable File

#! /bin/sh
#
# "$Id: fltk-config.in,v 1.12.2.14 2002/07/14 17:03:30 easysw Exp $"
#
# FLTK configuration utility.
#
# Copyright 2000-2002 by Bill Spitzak and others.
# Original version Copyright 2000 by James Dean Palmer
# Adapted by Vincent Penne and Michael Sweet
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library 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
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.
#
# Please report all bugs and problems to "fltk-bugs@fltk.org".
#
MAJOR_VERSION=@FL_MAJOR_VERSION@
MINOR_VERSION=@FL_MINOR_VERSION@
PATCH_VERSION=@FL_PATCH_VERSION@
VERSION="$MAJOR_VERSION.$MINOR_VERSION.$PATCH_VERSION"
APIVERSION="$MAJOR_VERSION.$MINOR_VERSION"
### BEGIN fltk-config
prefix=@prefix@
exec_prefix=@exec_prefix@
exec_prefix_set=no
bindir=@bindir@
includedir=@includedir@
libdir=@libdir@
srcdir=@srcdir@
# compiler names
CXX="@CXX@"
CC="@CC@"
# post-process command (only needed for MacOS)
POSTBUILD="@POSTBUILD@"
# flags for C++ compiler:
CFLAGS="@CFLAGS@"
CXXFLAGS="@CXXFLAGS@"
LDFLAGS="@LDFLAGS@"
LDLIBS="@LDFLAGS@ @LIBS@"
# libraries to link with:
LIBNAME="@LIBNAME@"
DSONAME="@DSONAME@"
DSOLINK="@DSOLINK@"
IMAGELIBS="@IMAGELIBS@"
SHAREDSUFFIX="@SHAREDSUFFIX@"
usage ()
{
echo "Usage: fltk-config [OPTIONS]
Options:
[--prefix[=DIR]] return/set where FLTK is installed
[--exec-prefix[=DIR]]
[--version]
[--api-version]
Options telling what we are doing:
[--use-gl] use GL
[--use-images] use extra image formats (PNG, JPEG)
[--use-glut] use glut compatibility layer
[--use-forms] use forms compatibility layer
Options telling what information we request:
[--cflags] return flags to compile C using FLTK
[--cxxflags] return flags to compile C++ using FLTK
[--ldflags] return flags to link against FLTK
[--ldstaticflags] return flags to link against static FLTK library
even if there are DSOs installed
[--libs] return FLTK libraries full path for dependencies
Option to compile and link an application:
[-g] compile the program with debugging information
[--compile program.cxx]
[--post program]
"
exit $1
}
if test $# -eq 0; then
usage 1
fi
no_plugins=no
compile=
post=
debug=
# Parse command line options
while test $# -gt 0
do
case "$1" in
-*=*)
optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'`
;;
*)
optarg=
;;
esac
case $1 in
--prefix=*)
prefix=$optarg
if test $exec_prefix_set = no ; then
exec_prefix=$optarg
fi
;;
--prefix)
echo_prefix=yes
;;
--exec-prefix=*)
exec_prefix=$optarg
exec_prefix_set=yes
;;
--exec-prefix)
echo_exec_prefix=yes
;;
--version)
echo $VERSION
;;
--api-version)
echo $APIVERSION
;;
--use-gl | --use-glut)
use_gl=yes
;;
--use-forms)
use_forms=yes
;;
--use-images)
use_images=yes
;;
--cflags)
echo_cflags=yes
;;
--cxxflags)
echo_cxxflags=yes
;;
--ldflags)
echo_ldflags=yes
;;
--ldstaticflags)
echo_ldstaticflags=yes
;;
--libs)
echo_libs=yes
;;
-g)
debug=-g
;;
--compile)
compile=$2
post=$2
shift
;;
--post)
post=$2
shift
;;
*)
echo_help=yes
;;
esac
shift
done
if test "$includedir" != /usr/include; then
includes=-I$includedir
else
includes=
fi
if test "$libdir" != /usr/lib -a "$libdir" != /usr/lib32; then
libs=-L$libdir
else
libs=
fi
# Calculate needed libraries
LDSTATIC="$libdir/libfltk.a $LDLIBS"
LDLIBS="$libs -lfltk$SHAREDSUFFIX $LDLIBS"
LIBS="$LIBS $libdir/libfltk.a"
if test x$use_forms = xyes; then
LDLIBS="-lfltk_forms$SHAREDSUFFIX $LDLIBS"
LDSTATIC="$libdir/libfltk_forms.a $LDSTATIC"
LIBS="$LIBS $libdir/libfltk_forms.a"
fi
if test x$use_gl = xyes; then
LDLIBS="-lfltk_gl$SHAREDSUFFIX @GLLIB@ $LDLIBS"
LDSTATIC="$libdir/libfltk_gl.a @GLLIB@ $LDSTATIC"
LIBS="$LIBS $libdir/libfltk_gl.a"
fi
if test x$use_images = xyes; then
LDLIBS="-lfltk_images$SHAREDSUFFIX $IMAGELIBS $LDLIBS"
LDSTATIC="$libdir/libfltk_images.a $IMAGELIBS $LDSTATIC"
fi
LDLIBS="$DSOLINK $LDLIBS"
LDSTATIC="$LDSTATIC"
# Answer to user requests
if test -n "$echo_help"; then
usage 1
fi
if test -n "$compile"; then
case $compile in
*.cxx)
prog=`basename $compile .cxx`
;;
*.cpp)
prog=`basename $compile .cpp`
;;
*.cc)
prog=`basename $compile .cc`
;;
*.C)
prog=`basename $compile .C`
;;
*)
echo "ERROR: Unknown/bad C++ source file extension on \"$compile\"!"
exit 1
;;
esac
post=$prog
echo $CXX $CXXFLAGS $debug -o $prog $compile $LDSTATIC
$CXX $CXXFLAGS $debug -o $prog $compile $LDSTATIC
fi
if test -n "$post" -a "$POSTBUILD" != ":"; then
echo $POSTBUILD $post $includedir/FL/mac.r
$POSTBUILD $post $includedir/FL/mac.r
fi
if test "$echo_prefix" = "yes"; then
echo $prefix
fi
if test "$echo_exec_prefix" = "yes"; then
echo $exec_prefix
fi
if test "$echo_cflags" = "yes"; then
echo $includes $CFLAGS
fi
if test "$echo_cxxflags" = "yes"; then
echo $includes $CXXFLAGS
fi
if test "$echo_ldflags" = "yes"; then
my_libs=
libdirs=$libs
for i in $LDLIBS ; do
if test $i != -L$libdir ; then
if test -z "$my_libs" ; then
my_libs="$i"
else
my_libs="$my_libs $i"
fi
fi
done
echo $libdirs $my_libs
fi
if test "$echo_ldstaticflags" = "yes"; then
echo $LDSTATIC
fi
if test "$echo_libs" = "yes"; then
echo $LIBS
fi
#
# End of "$Id: fltk-config.in,v 1.12.2.14 2002/07/14 17:03:30 easysw Exp $".
#