1998-05-03 05:50:29 +08:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
prefix=@prefix@
|
|
|
|
exec_prefix=@exec_prefix@
|
|
|
|
exec_prefix_set=no
|
1998-05-08 07:37:04 +08:00
|
|
|
plug_in_dir=@gimpplugindir@
|
1998-05-26 16:46:37 +08:00
|
|
|
data_dir=@gimpdatadir@
|
1998-05-03 05:50:29 +08:00
|
|
|
|
1998-07-17 16:32:02 +08:00
|
|
|
usage()
|
|
|
|
{
|
|
|
|
cat <<EOF
|
|
|
|
Usage: gimptool [OPTION]...
|
|
|
|
|
|
|
|
General options:
|
|
|
|
--help print this message
|
|
|
|
--quiet, --silent don't echo build commands
|
|
|
|
--version print the version of GIMP associated with this script
|
|
|
|
-n, --just-print, --dry-run, --recon
|
|
|
|
don't actually run any commands; just print them
|
|
|
|
Developer options:
|
|
|
|
--cflags print the compiler flags that are necessary to
|
|
|
|
compile a plug-in
|
|
|
|
--libs print the linker flags that are necessary to link a
|
|
|
|
plug-in
|
|
|
|
--prefix=PREFIX use PREFIX instead of the installation prefix that
|
|
|
|
GIMP was built when computing the output for --cflags
|
|
|
|
and --libs
|
|
|
|
--exec-prefix=PREFIX use PREFIX instead of the installation exec prefix
|
|
|
|
that GIMP was built when computing the output for
|
|
|
|
--cflags and --libs
|
|
|
|
|
|
|
|
The --cflags and --libs options can be appended with -noui to get appropriate
|
|
|
|
settings for plug-ins which do not use GTK+.
|
|
|
|
|
|
|
|
User options:
|
|
|
|
--build plug-in.c build a plug-in from a source file
|
|
|
|
--install plug-in.c same as --build, but installs the built
|
|
|
|
plug-in as well
|
|
|
|
--install-bin plug-in install a compiled plug-in
|
|
|
|
--install-script script.scm install a script-fu script
|
|
|
|
|
|
|
|
The --install options can be prefixed with --install-admin instead to install
|
|
|
|
a plug-in or script in the site directory instead of a user directory.
|
|
|
|
|
|
|
|
For plug-ins which do not use GTK+, the --build and --install options can be
|
1998-09-09 18:07:21 +08:00
|
|
|
appended with -noui for appropriate settings.
|
|
|
|
|
|
|
|
All binary build and install options can be appended with -strip to discard
|
|
|
|
debugging information.
|
1998-07-17 16:32:02 +08:00
|
|
|
EOF
|
|
|
|
|
|
|
|
exit $1
|
|
|
|
}
|
1998-05-03 05:50:29 +08:00
|
|
|
|
1998-05-04 19:16:19 +08:00
|
|
|
noarg="\
|
1998-05-08 07:37:04 +08:00
|
|
|
Error: Need a plug-in source file to build"
|
1998-05-04 19:16:19 +08:00
|
|
|
|
|
|
|
notfound="\
|
|
|
|
Error: Couldn't find source file to build"
|
|
|
|
|
1998-07-17 16:32:02 +08:00
|
|
|
quiet=no
|
|
|
|
donothing=no
|
|
|
|
|
1998-05-03 05:50:29 +08:00
|
|
|
if test $# -eq 0; then
|
1998-07-17 16:32:02 +08:00
|
|
|
usage 1
|
1998-05-03 05:50:29 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
if test x${GTK_CONFIG+set} != xset ; then
|
1998-07-17 10:19:56 +08:00
|
|
|
gtk_cflags='@GTK_CFLAGS@'
|
|
|
|
gtk_libs='@GTK_LIBS@'
|
1998-05-03 05:50:29 +08:00
|
|
|
else
|
1998-07-17 10:19:56 +08:00
|
|
|
gtk_cflags=`$GTK_CONFIG --cflags`
|
|
|
|
gtk_libs=`$GTK_CONFIG --libs`
|
1998-05-03 05:50:29 +08:00
|
|
|
fi
|
|
|
|
|
1998-09-09 18:07:21 +08:00
|
|
|
if test x${INSTALL+set} != xset ; then
|
|
|
|
INSTALL='@INSTALL@'
|
|
|
|
fi
|
|
|
|
|
1998-05-03 05:50:29 +08:00
|
|
|
if test x${CC+set} != xset ; then
|
1998-07-17 10:19:56 +08:00
|
|
|
cc='@CC@'
|
1998-05-03 05:50:29 +08:00
|
|
|
else
|
1998-07-17 10:19:56 +08:00
|
|
|
cc="$CC"
|
1998-05-03 05:50:29 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
if test x${CFLAGS+set} != xset ; then
|
1998-07-17 10:19:56 +08:00
|
|
|
cflags='@CFLAGS@'
|
1998-05-03 05:50:29 +08:00
|
|
|
else
|
1998-07-17 10:19:56 +08:00
|
|
|
cflags="$CFLAGS"
|
1998-05-03 05:50:29 +08:00
|
|
|
fi
|
|
|
|
|
1998-08-26 05:59:11 +08:00
|
|
|
if test x${LDFLAGS+set} != xset ; then
|
|
|
|
ldflags='@LDFLAGS@'
|
|
|
|
else
|
|
|
|
ldflags="$LDFLAGS"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test x${LIBS+set} != xset ; then
|
|
|
|
libs=""
|
|
|
|
else
|
|
|
|
libs="$LIBS"
|
|
|
|
fi
|
|
|
|
|
1998-05-03 05:50:29 +08:00
|
|
|
while test $# -gt 0; do
|
|
|
|
case "$1" in
|
|
|
|
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
|
|
|
|
*) optarg= ;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
case $1 in
|
1998-07-17 16:32:02 +08:00
|
|
|
--version)
|
|
|
|
echo @GIMP_VERSION@
|
|
|
|
exit 0
|
|
|
|
;;
|
|
|
|
--help)
|
|
|
|
usage 0
|
|
|
|
;;
|
|
|
|
--quiet | --silent)
|
|
|
|
quiet=yes
|
|
|
|
;;
|
|
|
|
-n | --just-print | --dry-run | --recon)
|
|
|
|
donothing=yes
|
|
|
|
;;
|
1998-05-03 05:50:29 +08:00
|
|
|
--prefix=*)
|
|
|
|
prefix=$optarg
|
|
|
|
if test $exec_prefix_set = no ; then
|
|
|
|
exec_prefix=$optarg
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
--prefix)
|
|
|
|
echo $prefix
|
|
|
|
;;
|
|
|
|
--exec-prefix=*)
|
|
|
|
exec_prefix=$optarg
|
|
|
|
exec_prefix_set=yes
|
|
|
|
;;
|
|
|
|
--exec-prefix)
|
|
|
|
echo $exec_prefix
|
|
|
|
;;
|
1998-07-17 10:19:56 +08:00
|
|
|
--cflags | --cflags-noui)
|
|
|
|
case $1 in
|
|
|
|
--cflags)
|
|
|
|
my_gtk_cflags=$gtk_cflags ;;
|
|
|
|
--cflags-noui)
|
|
|
|
my_gtk_cflags=`echo $gtk_cflags | sed 's/^.*\(-I[^ ]*glib[^ ]* *-I[^ ]*\).*$/\1/'` ;;
|
|
|
|
esac
|
1998-05-03 05:50:29 +08:00
|
|
|
if test @includedir@ != /usr/include ; then
|
|
|
|
includes=-I@includedir@
|
1998-07-17 10:19:56 +08:00
|
|
|
for i in $my_gtk_cflags ; do
|
|
|
|
if test $i = -I@includedir@ ; then
|
|
|
|
includes=""
|
|
|
|
fi
|
|
|
|
done
|
1998-05-03 05:50:29 +08:00
|
|
|
fi
|
1998-07-17 10:19:56 +08:00
|
|
|
echo $includes $my_gtk_cflags
|
1998-05-03 05:50:29 +08:00
|
|
|
;;
|
|
|
|
--libs)
|
1998-07-17 10:19:56 +08:00
|
|
|
my_gtk_libs=
|
|
|
|
libdirs=-L@libdir@
|
|
|
|
for i in $gtk_libs ; do
|
|
|
|
if test $i != -L@libdir@ ; then
|
|
|
|
if test -z "$my_gtk_libs" ; then
|
|
|
|
my_gtk_libs="$i"
|
|
|
|
else
|
|
|
|
my_gtk_libs="$my_gtk_libs $i"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
echo $libdirs -lgimpui-@LT_RELEASE@ -lgimp-@LT_RELEASE@ $my_gtk_libs
|
|
|
|
;;
|
|
|
|
--libs-noui)
|
|
|
|
glib_ldflags=`echo $gtk_libs | sed -e 's/^.*-lgdk[^ ]* *\(-L[^ ]*\).*$/\1/' -e 's/^.* -lgdk[^ ]* .*$//'`
|
|
|
|
if test -z "$glib_ldflags" ; then
|
|
|
|
glib_ldflags=`echo $gtk_libs | sed 's/^ *\(-L[^ ]*\) .*$/\1/'`
|
|
|
|
fi
|
|
|
|
glib_libs="$glib_ldflags `echo $gtk_libs | sed 's/^.*\(-lglib[^ ]*\).*$/\1/'`"
|
|
|
|
my_glib_libs=
|
|
|
|
libdirs=-L@libdir@
|
|
|
|
for i in $glib_libs ; do
|
|
|
|
if test $i != -L@libdir@ ; then
|
|
|
|
if test -z "$my_glib_libs" ; then
|
|
|
|
my_glib_libs="$i"
|
|
|
|
else
|
|
|
|
my_glib_libs="$my_glib_libs $i"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
echo -L@libdir@ -lgimp-@LT_RELEASE@ $my_glib_libs
|
1998-05-03 05:50:29 +08:00
|
|
|
;;
|
1998-05-26 16:46:37 +08:00
|
|
|
--install-bin | --install-admin-bin \
|
1998-09-09 18:07:21 +08:00
|
|
|
| --install-bin-strip | --install-admin-bin-strip \
|
1998-05-26 16:46:37 +08:00
|
|
|
| --install-script | --install-admin-script)
|
1998-05-12 08:12:47 +08:00
|
|
|
case $1 in
|
|
|
|
--install-bin)
|
1998-09-09 18:07:21 +08:00
|
|
|
install_cmd="@INSTALL_PROGRAM@"
|
|
|
|
install_dir="$HOME/@gimpdir@/plug-ins"
|
|
|
|
;;
|
|
|
|
--install-bin-strip)
|
|
|
|
install_cmd="@INSTALL_PROGRAM@ -s"
|
1998-06-09 13:05:52 +08:00
|
|
|
install_dir="$HOME/@gimpdir@/plug-ins"
|
1998-05-26 16:46:37 +08:00
|
|
|
;;
|
1998-05-12 08:12:47 +08:00
|
|
|
--install-admin-bin)
|
1998-09-09 18:07:21 +08:00
|
|
|
install_cmd="@INSTALL_PROGRAM@"
|
|
|
|
install_dir="$plug_in_dir/plug-ins"
|
|
|
|
;;
|
|
|
|
--install-admin-bin-strip)
|
|
|
|
install_cmd="@INSTALL_PROGRAM@ -s"
|
1998-05-26 16:46:37 +08:00
|
|
|
install_dir="$plug_in_dir/plug-ins"
|
|
|
|
;;
|
|
|
|
--install-script)
|
1998-09-09 18:07:21 +08:00
|
|
|
install_cmd="@INSTALL_DATA@"
|
1998-05-26 16:46:37 +08:00
|
|
|
install_dir="$HOME/.gimp/scripts"
|
|
|
|
;;
|
|
|
|
--install-admin-script)
|
1998-09-09 18:07:21 +08:00
|
|
|
install_cmd="@INSTALL_DATA@"
|
1998-05-26 16:46:37 +08:00
|
|
|
install_dir="$data_dir/scripts"
|
|
|
|
;;
|
1998-05-12 08:12:47 +08:00
|
|
|
esac
|
1998-05-26 16:46:37 +08:00
|
|
|
shift
|
1998-05-12 08:12:47 +08:00
|
|
|
if test "x$1" != "x"; then
|
1998-06-01 06:52:07 +08:00
|
|
|
if test -r "$1"; then
|
1998-05-26 16:46:37 +08:00
|
|
|
cmd="$install_cmd $1 $install_dir/$1"
|
1998-07-17 16:32:02 +08:00
|
|
|
test $quiet = "yes" || echo $cmd
|
|
|
|
test $donothing = "yes" || exec $cmd
|
1998-05-12 08:12:47 +08:00
|
|
|
else
|
|
|
|
echo "${notfound}" 1>&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo "${noarg}" 1>&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
;;
|
1998-07-17 16:32:02 +08:00
|
|
|
--build | --install | --install-admin \
|
1998-09-09 18:07:21 +08:00
|
|
|
| --build-strip | --install-strip | --install-admin-strip \
|
|
|
|
| --build-noui | --install-noui | --install-admin-noui \
|
|
|
|
| --build-noui-strip | --install-noui-strip | --install-admin-noui-strip)
|
|
|
|
opt=`echo $1 | sed 's/-strip$//'`
|
|
|
|
if test "x$opt" != "x$1" ; then
|
|
|
|
cflags=`echo $cflags | sed -e 's/-g //g' -e 's/ -g//g'`
|
|
|
|
fi
|
|
|
|
case $opt in
|
1998-07-17 16:32:02 +08:00
|
|
|
--build | --build-noui)
|
1998-05-08 07:37:04 +08:00
|
|
|
install_dir=. ;;
|
1998-07-17 16:32:02 +08:00
|
|
|
--install | --install-noui)
|
1998-06-09 13:05:52 +08:00
|
|
|
install_dir="$HOME/@gimpdir@/plug-ins" ;;
|
1998-07-17 16:32:02 +08:00
|
|
|
--install-admin | --install-admin-noui)
|
1998-05-08 07:37:04 +08:00
|
|
|
install_dir="$plug_in_dir/plug-ins" ;;
|
|
|
|
esac
|
1998-09-09 18:07:21 +08:00
|
|
|
noui=`echo $opt | sed 's/^.*\(noui\)$/\1/'`
|
1998-07-17 16:32:02 +08:00
|
|
|
if test "$noui" = "noui" ; then
|
|
|
|
gimp_cflags=`$0 --cflags-noui`
|
|
|
|
gimp_libs=`$0 --libs-noui`
|
|
|
|
else
|
|
|
|
gimp_cflags=`$0 --cflags`
|
|
|
|
gimp_libs=`$0 --libs`
|
1998-05-03 05:50:29 +08:00
|
|
|
fi
|
|
|
|
shift
|
1998-05-04 19:16:19 +08:00
|
|
|
if test "x$1" != "x"; then
|
1998-06-01 06:52:07 +08:00
|
|
|
if test -r "$1"; then
|
1998-08-26 05:59:11 +08:00
|
|
|
cmd="$cc $cflags $gimp_cflags -o $install_dir/`echo $1 | sed 's/\.[^\.]*$//'` $1 $ldflags $gimp_libs $libs"
|
1998-07-17 16:32:02 +08:00
|
|
|
test $quiet = "yes" || echo $cmd
|
|
|
|
test $donothing = "yes" || exec $cmd
|
1998-05-04 19:16:19 +08:00
|
|
|
else
|
|
|
|
echo "${notfound}" 1>&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo "${noarg}" 1>&2
|
|
|
|
exit 1
|
|
|
|
fi
|
1998-05-03 05:50:29 +08:00
|
|
|
;;
|
|
|
|
*)
|
1998-07-17 16:32:02 +08:00
|
|
|
usage 1
|
1998-05-03 05:50:29 +08:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
|