gimptool-2.0.in 10.1 KB
Newer Older
Manish Singh's avatar
Manish Singh committed
1
#! /bin/sh
2 3 4 5

prefix=@prefix@
exec_prefix=@exec_prefix@
exec_prefix_set=no
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

bindir=@bindir@
sbindir=@sbindir@
libexecdir=@libexecdir@
datadir=@datadir@
sysconfdir=@sysconfdir@
sharedstatedir=@sharedstatedir@
localstatedir=@localstatedir@
libdir=@libdir@
infodir=@infodir@
mandir=@mandir@
includedir=@includedir@

gimpplugindir=@gimpplugindir@
gimpdatadir=@gimpdatadir@
21

22 23
rt_libs=@RT_LIBS@

24 25 26
usage()
{
  cat <<EOF
27
Usage: gimptool-2.0 [OPTION]...
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

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

47 48 49 50 51
Installation directory options:
  --prefix --exec-prefix --bindir --sbindir --libexecdir --datadir --sysconfdir
  --sharedstatedir --localstatedir --libdir --infodir --mandir --includedir
  --gimpplugindir --gimpdatadir

52 53 54 55 56 57 58 59 60 61
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

Marc Lehmann's avatar
Marc Lehmann committed
62 63 64 65
  --uninstall-bin plug-in         remove a plug-in again
  --uninstall-script plug-in      remove a script-fu script

The --install and --uninstall options have "admin" counterparts (with
Manish Singh's avatar
Manish Singh committed
66
prefix --install-admin instead of --install) that can be used instead to
Marc Lehmann's avatar
Marc Lehmann committed
67 68
install/uninstall a plug-in or script in the site directory instead of a
user directory.
69 70

For plug-ins which do not use GTK+, the --build and --install options can be
Manish Singh's avatar
Manish Singh committed
71
appended with -noui for appropriate settings. For plug-ins that use GTK+ but
72
not libgimpui, append -nogimpui.
Manish Singh's avatar
Manish Singh committed
73 74 75

All binary build and install options can be appended with -strip to discard
debugging information.
76 77 78 79
EOF

  exit $1
}
80

81
noarg="\
82
Error: Need a plug-in source file to build"
83 84

notfound="\
Marc Lehmann's avatar
Marc Lehmann committed
85
Error: Couldn't find file to build/install/uninstall"
86

87 88 89
quiet=no
donothing=no

90
if test $# -eq 0; then
91
  usage 1
92 93
fi

94
if test x${PKG_CONFIG+set} != xset ; then
95 96
  gtk_cflags='@GTK_CFLAGS@'
  gtk_libs='@GTK_LIBS@'
97 98 99
  glib_cflags='@GLIB_CFLAGS@'
  glib_libs='@GLIB_LIBS@'
else
100 101 102 103
  gtk_cflags=`$PKG_CONFIG --cflags gtk+-2.0`
  gtk_libs=`$PKG_CONFIG --libs gtk+-2.0`
  glib_cflags=`$PKG_CONFIG --cflags glib-2.0`
  glib_libs=`$PKG_CONFIG --libs glib-2.0`
104 105
fi

Manish Singh's avatar
Manish Singh committed
106 107
if test x${INSTALL+set} != xset ; then
  INSTALL='@INSTALL@'
108 109 110 111
  if test "$INSTALL" = "./install-sh -c"; then
    mydirname=`echo $0 | sed -e 's#\(.*\)/[^/].*$#\1#'`
    INSTALL="$mydirname/gimpinstall"
  fi
Manish Singh's avatar
Manish Singh committed
112 113
fi

114
if test x${CC+set} != xset ; then
115
  cc='@CC@'
116
else
117
  cc="$CC"
118 119 120
fi

if test x${CFLAGS+set} != xset ; then
121
  cflags='@CFLAGS@'
122
else
123
  cflags="$CFLAGS"
124 125
fi

126 127 128 129 130 131 132 133 134 135 136 137
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

138 139 140 141 142 143 144
while test $# -gt 0; do
  case "$1" in
  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  *) optarg= ;;
  esac

  case $1 in
145
    --version)
146
      echo @GIMP_MAJOR_VERSION@.@GIMP_MINOR_VERSION@.@GIMP_MICRO_VERSION@
147 148 149 150 151 152 153 154 155 156 157
      exit 0
      ;;
    --help)
      usage 0
      ;;
    --quiet | --silent)
      quiet=yes
      ;;
    -n | --just-print | --dry-run | --recon)
      donothing=yes
      ;;
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
    --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
      ;;
174 175 176 177 178 179 180
    --*dir)
      dirname=\$`echo $1 | sed -e 's,^--,,'`
      dirname=`eval echo $dirname`
      test -z "$dirname" && exit 1
      echo $dirname
      exit 0
      ;;
Manish Singh's avatar
Manish Singh committed
181
    --cflags | --cflags-noui | --cflags-nogimpui)
182
      case $1 in
Manish Singh's avatar
Manish Singh committed
183
        --cflags | --cflags-nogimpui)
184 185
          my_gtk_cflags=$gtk_cflags ;;
        --cflags-noui)
186
          my_gtk_cflags=$glib_cflags ;;
187
      esac
Manish Singh's avatar
Manish Singh committed
188
      includes=-I@includedir@/gimp-@GIMP_API_VERSION@
189
      echo $includes $my_gtk_cflags
190
      ;;
Manish Singh's avatar
Manish Singh committed
191
    --libs | --libs-nogimpui)
192 193 194 195 196 197 198 199 200 201 202
      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
Manish Singh's avatar
Manish Singh committed
203 204
      case $1 in
        --libs)
Manish Singh's avatar
Manish Singh committed
205
          echo $libdirs -lgimpui-@GIMP_API_VERSION@ -lgimpwidgets-@GIMP_API_VERSION@ -lgimp-@GIMP_API_VERSION@ -lgimpcolor-@GIMP_API_VERSION@ -lgimpmath-@GIMP_API_VERSION@ -lgimpbase-@GIMP_API_VERSION@ $my_gtk_libs $rt_libs ;;
Manish Singh's avatar
Manish Singh committed
206
        --libs-nogimpui)
Manish Singh's avatar
Manish Singh committed
207
          echo $libdirs -lgimp-@GIMP_API_VERSION@ -lgimpcolor-@GIMP_API_VERSION@ -lgimpmath-@GIMP_API_VERSION@ -lgimpbase-@GIMP_API_VERSION@ $my_gtk_libs $rt_libs ;;
Manish Singh's avatar
Manish Singh committed
208
      esac
209 210
      ;;
    --libs-noui)
Manish Singh's avatar
Manish Singh committed
211
      echo -L@libdir@ -lgimp-@GIMP_API_VERSION@ -lgimpcolor-@GIMP_API_VERSION@ -lgimpmath-@GIMP_API_VERSION@ -lgimpbase-@GIMP_API_VERSION@ $glib_libs $rt_libs
212
      ;;
213
    --install-bin | --install-admin-bin \
Manish Singh's avatar
Manish Singh committed
214
    | --install-bin-strip | --install-admin-bin-strip \
Marc Lehmann's avatar
Marc Lehmann committed
215 216 217
    | --install-script | --install-admin-script \
    | --uninstall-bin | --uninstall-admin-bin \
    | --uninstall-script | --uninstall-admin-script )
218
      case $1 in
Marc Lehmann's avatar
Marc Lehmann committed
219
        --*install-bin)
Manish Singh's avatar
Manish Singh committed
220 221 222 223 224
          install_cmd="@INSTALL_PROGRAM@"
          install_dir="$HOME/@gimpdir@/plug-ins"
          ;;
        --install-bin-strip)
          install_cmd="@INSTALL_PROGRAM@ -s"
225
          install_dir="$HOME/@gimpdir@/plug-ins"
226
          ;;
Marc Lehmann's avatar
Marc Lehmann committed
227
        --*install-admin-bin)
Manish Singh's avatar
Manish Singh committed
228
          install_cmd="@INSTALL_PROGRAM@"
229
          install_dir="$gimpplugindir/plug-ins"
Manish Singh's avatar
Manish Singh committed
230 231 232
          ;;
        --install-admin-bin-strip)
          install_cmd="@INSTALL_PROGRAM@ -s"
233
          install_dir="$gimpplugindir/plug-ins"
234
          ;;
Marc Lehmann's avatar
Marc Lehmann committed
235
        --*install-script)
Manish Singh's avatar
Manish Singh committed
236
          install_cmd="@INSTALL_DATA@"
237
          install_dir="$HOME/@gimpdir@/scripts"
238
          ;;
Marc Lehmann's avatar
Marc Lehmann committed
239
        --*install-admin-script)
Manish Singh's avatar
Manish Singh committed
240
          install_cmd="@INSTALL_DATA@"
241
          install_dir="$gimpdatadir/scripts"
242
          ;;
243
      esac
Marc Lehmann's avatar
Marc Lehmann committed
244 245 246 247
      case $1 in
        --uninstall-* )
          shift
          if test "x$1" != "x"; then
248 249 250
            dest=`echo $1 | sed -e 's#.*/\([^/].*\)$#\1#'`
            if test -f "$DESTDIR$install_dir/$dest"; then
              cmd="rm -f $DESTDIR$install_dir/$dest"
Marc Lehmann's avatar
Marc Lehmann committed
251 252 253 254 255 256 257 258 259 260 261 262 263 264 265
              test $quiet = "yes" || echo $cmd
              test $donothing = "yes" || exec $cmd
            else
              echo "${notfound}" 1>&2
              exit 1
            fi  
          else
            echo "${noarg}" 1>&2
            exit 1
          fi
          ;;
        *)
          shift
          if test "x$1" != "x"; then
            if test -r "$1"; then
266 267 268
              cmd="@INSTALL_PROGRAM@ -d $DESTDIR$install_dir"
              test $quiet = "yes" || echo $cmd
              test $donothing = "yes" || $cmd
269 270
              dest=`echo $1 | sed -e 's#.*/\([^/].*\)$#\1#'`
              cmd="$install_cmd $1 $DESTDIR$install_dir/$dest"
Marc Lehmann's avatar
Marc Lehmann committed
271 272 273 274 275 276 277 278 279 280 281 282
              test $quiet = "yes" || echo $cmd
              test $donothing = "yes" || exec $cmd
            else
              echo "${notfound}" 1>&2
              exit 1
            fi  
          else
            echo "${noarg}" 1>&2
            exit 1
          fi
        ;;
      esac
283
      ;;
Manish Singh's avatar
Manish Singh committed
284 285 286 287
    --build | --install | --install-admin | --build-strip | --install-strip \
    | --install-admin-strip | --build-nogimpui | --install-nogimpui \
    | --install-admin-nogimpui | --build-nogimpui-strip \
    | --install-nogimpui-strip | --install-admin-nogimpui-strip \
Manish Singh's avatar
Manish Singh committed
288 289 290 291 292 293 294
    | --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
Manish Singh's avatar
Manish Singh committed
295
        --build | --build-noui | --build-nogimpui)
296
          install_dir=. ;;
Manish Singh's avatar
Manish Singh committed
297
        --install | --install-noui | --install-nogimpui)
298
          install_dir="$HOME/@gimpdir@/plug-ins" ;;
Manish Singh's avatar
Manish Singh committed
299
        --install-admin | --install-admin-noui | --install-admin-nogimpui)
300
          install_dir="$gimpplugindir/plug-ins" ;;
301
      esac
Manish Singh's avatar
Manish Singh committed
302
      noui=`echo $opt | sed 's/^.*\(noui\)$/\1/'`
Manish Singh's avatar
Manish Singh committed
303
      nogimpui=`echo $opt | sed 's/^.*\(nogimpui\)$/\1/'`
304 305 306
      if test "$noui" = "noui" ; then
        gimp_cflags=`$0 --cflags-noui`
        gimp_libs=`$0 --libs-noui`
Manish Singh's avatar
Manish Singh committed
307 308 309
      elif test "$nogimpui" = "nogimpui" ; then
        gimp_cflags=`$0 --cflags-nogimpui`
        gimp_libs=`$0 --libs-nogimpui`
310 311 312
      else
        gimp_cflags=`$0 --cflags`
        gimp_libs=`$0 --libs`
313 314
      fi
      shift
315
      if test "x$1" != "x"; then
316
        if test -r "$1"; then
317 318 319 320 321
          if test "$install_dir" != "."; then
            cmd="@INSTALL_PROGRAM@ -d $DESTDIR$install_dir"
            test $quiet = "yes" || echo $cmd
            test $donothing = "yes" || $cmd
          fi
322 323
          dest=`echo $1 | sed -e 's#.*/\([^/].*\)$#\1#' -e 's/\.[^.]*$//'`
          cmd="$cc $cflags $gimp_cflags -o $install_dir/$dest $1 $ldflags $gimp_libs $libs"
324 325
          test $quiet = "yes" || echo $cmd
          test $donothing = "yes" || exec $cmd
326 327 328 329 330 331 332 333
        else
          echo "${notfound}" 1>&2
          exit 1
        fi  
      else
        echo "${noarg}" 1>&2
        exit 1
      fi
334 335
      ;;
    *)
336
      usage 1
337 338 339 340
      ;;
  esac
  shift
done