diff --git a/ChangeLog b/ChangeLog index 579e604859..1f23a415fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +Thu Jul 16 16:20:47 PDT 1998 Manish Singh + + * gimptool.in: Added --cflags-noui and --libs-noui flags and + appropriate sed junk to craft it. Don't call gtk-config unless + GTK_CONFIG is set; hard code the info. Strip out redundant + stuff from the output + + * libgimp/gimp.h + * libgimp/gimpimage.c: make gimp_image_flatten return a value + to be consistent with the PDB + Thu Jul 16 13:13:23 PDT 1998 Manish Singh * updated MapObject again diff --git a/gimptool-1.2.in b/gimptool-1.2.in index 3685f3302c..3897798d07 100644 --- a/gimptool-1.2.in +++ b/gimptool-1.2.in @@ -7,7 +7,7 @@ plug_in_dir=@gimpplugindir@ data_dir=@gimpdatadir@ usage="\ -Usage: gimptool [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--libs] [--cflags] [--build plug-in.c] [--install plug-in.c] [--install-admin plug-in.c] [--install-bin plug-in] [--install-admin-bin plug-in] [--install-script script.scm] [--install-admin-script script.scm]" +Usage: gimptool [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--libs] [--libs-noui] [--cflags] [--cflags-noui] [--build plug-in.c] [--install plug-in.c] [--install-admin plug-in.c] [--install-bin plug-in] [--install-admin-bin plug-in] [--install-script script.scm] [--install-admin-script script.scm]" noarg="\ Error: Need a plug-in source file to build" @@ -16,26 +16,28 @@ notfound="\ Error: Couldn't find source file to build" if test $# -eq 0; then - echo "${usage}" 1>&2 - exit 1 + echo "${usage}" 1>&2 + exit 1 fi if test x${GTK_CONFIG+set} != xset ; then - gtk_config='@GTK_CONFIG@' + gtk_cflags='@GTK_CFLAGS@' + gtk_libs='@GTK_LIBS@' else - gtk_config="$GTK_CONFIG" + gtk_cflags=`$GTK_CONFIG --cflags` + gtk_libs=`$GTK_CONFIG --libs` fi if test x${CC+set} != xset ; then - cc='@CC@' + cc='@CC@' else - cc="$CC" + cc="$CC" fi if test x${CFLAGS+set} != xset ; then - cflags='@CFLAGS@' + cflags='@CFLAGS@' else - cflags="$CFLAGS" + cflags="$CFLAGS" fi while test $# -gt 0; do @@ -64,14 +66,55 @@ while test $# -gt 0; do --version) echo @GIMP_VERSION@ ;; - --cflags) + --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 if test @includedir@ != /usr/include ; then includes=-I@includedir@ + for i in $my_gtk_cflags ; do + if test $i = -I@includedir@ ; then + includes="" + fi + done fi - echo $includes `$gtk_config --cflags` + echo $includes $my_gtk_cflags ;; --libs) - echo -L@libdir@ -lgimpui-@LT_RELEASE@ -lgimp-@LT_RELEASE@ `$gtk_config --libs` + 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 ;; --install-bin | --install-admin-bin \ | --install-script | --install-admin-script) @@ -125,7 +168,7 @@ while test $# -gt 0; do shift if test "x$1" != "x"; then if test -r "$1"; then - cmd="$cc $cflags $includes `$gtk_config --cflags` -o $install_dir/`echo $1|sed 's/\.[^\.]*$//'` $1 -L@libdir@ -lgimpui-@LT_RELEASE@ -lgimp-@LT_RELEASE@ `$gtk_config --libs`" + cmd="$cc $cflags `$0 --cflags` -o $install_dir/`echo $1|sed 's/\.[^\.]*$//'` $1 `$0 --libs`" echo $cmd exec $cmd else diff --git a/gimptool.in b/gimptool.in index 3685f3302c..3897798d07 100644 --- a/gimptool.in +++ b/gimptool.in @@ -7,7 +7,7 @@ plug_in_dir=@gimpplugindir@ data_dir=@gimpdatadir@ usage="\ -Usage: gimptool [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--libs] [--cflags] [--build plug-in.c] [--install plug-in.c] [--install-admin plug-in.c] [--install-bin plug-in] [--install-admin-bin plug-in] [--install-script script.scm] [--install-admin-script script.scm]" +Usage: gimptool [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--libs] [--libs-noui] [--cflags] [--cflags-noui] [--build plug-in.c] [--install plug-in.c] [--install-admin plug-in.c] [--install-bin plug-in] [--install-admin-bin plug-in] [--install-script script.scm] [--install-admin-script script.scm]" noarg="\ Error: Need a plug-in source file to build" @@ -16,26 +16,28 @@ notfound="\ Error: Couldn't find source file to build" if test $# -eq 0; then - echo "${usage}" 1>&2 - exit 1 + echo "${usage}" 1>&2 + exit 1 fi if test x${GTK_CONFIG+set} != xset ; then - gtk_config='@GTK_CONFIG@' + gtk_cflags='@GTK_CFLAGS@' + gtk_libs='@GTK_LIBS@' else - gtk_config="$GTK_CONFIG" + gtk_cflags=`$GTK_CONFIG --cflags` + gtk_libs=`$GTK_CONFIG --libs` fi if test x${CC+set} != xset ; then - cc='@CC@' + cc='@CC@' else - cc="$CC" + cc="$CC" fi if test x${CFLAGS+set} != xset ; then - cflags='@CFLAGS@' + cflags='@CFLAGS@' else - cflags="$CFLAGS" + cflags="$CFLAGS" fi while test $# -gt 0; do @@ -64,14 +66,55 @@ while test $# -gt 0; do --version) echo @GIMP_VERSION@ ;; - --cflags) + --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 if test @includedir@ != /usr/include ; then includes=-I@includedir@ + for i in $my_gtk_cflags ; do + if test $i = -I@includedir@ ; then + includes="" + fi + done fi - echo $includes `$gtk_config --cflags` + echo $includes $my_gtk_cflags ;; --libs) - echo -L@libdir@ -lgimpui-@LT_RELEASE@ -lgimp-@LT_RELEASE@ `$gtk_config --libs` + 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 ;; --install-bin | --install-admin-bin \ | --install-script | --install-admin-script) @@ -125,7 +168,7 @@ while test $# -gt 0; do shift if test "x$1" != "x"; then if test -r "$1"; then - cmd="$cc $cflags $includes `$gtk_config --cflags` -o $install_dir/`echo $1|sed 's/\.[^\.]*$//'` $1 -L@libdir@ -lgimpui-@LT_RELEASE@ -lgimp-@LT_RELEASE@ `$gtk_config --libs`" + cmd="$cc $cflags `$0 --cflags` -o $install_dir/`echo $1|sed 's/\.[^\.]*$//'` $1 `$0 --libs`" echo $cmd exec $cmd else diff --git a/libgimp/gimp.h b/libgimp/gimp.h index 8c5af23dfa..4bbfb2f1d3 100644 --- a/libgimp/gimp.h +++ b/libgimp/gimp.h @@ -370,7 +370,7 @@ void gimp_image_clean_all (gint32 image_ID); void gimp_image_disable_undo (gint32 image_ID); void gimp_image_enable_undo (gint32 image_ID); void gimp_image_clean_all (gint32 image_ID); -void gimp_image_flatten (gint32 image_ID); +gint32 gimp_image_flatten (gint32 image_ID); void gimp_image_lower_channel (gint32 image_ID, gint32 channel_ID); void gimp_image_lower_layer (gint32 image_ID, diff --git a/libgimp/gimpimage.c b/libgimp/gimpimage.c index 9b20aa95e3..988c1844a8 100644 --- a/libgimp/gimpimage.c +++ b/libgimp/gimpimage.c @@ -239,18 +239,25 @@ gimp_image_clean_all (gint32 image_ID) gimp_destroy_params (return_vals, nreturn_vals); } -void +gint32 gimp_image_flatten (gint32 image_ID) { GParam *return_vals; int nreturn_vals; + gint32 layer_ID; return_vals = gimp_run_procedure ("gimp_image_flatten", &nreturn_vals, PARAM_IMAGE, image_ID, PARAM_END); + layer_ID = -1; + if (return_vals[0].data.d_status == STATUS_SUCCESS) + layer_ID = return_vals[1].data.d_layer; + gimp_destroy_params (return_vals, nreturn_vals); + + return layer_ID; } void diff --git a/libgimp/gimpimage_pdb.c b/libgimp/gimpimage_pdb.c index 9b20aa95e3..988c1844a8 100644 --- a/libgimp/gimpimage_pdb.c +++ b/libgimp/gimpimage_pdb.c @@ -239,18 +239,25 @@ gimp_image_clean_all (gint32 image_ID) gimp_destroy_params (return_vals, nreturn_vals); } -void +gint32 gimp_image_flatten (gint32 image_ID) { GParam *return_vals; int nreturn_vals; + gint32 layer_ID; return_vals = gimp_run_procedure ("gimp_image_flatten", &nreturn_vals, PARAM_IMAGE, image_ID, PARAM_END); + layer_ID = -1; + if (return_vals[0].data.d_status == STATUS_SUCCESS) + layer_ID = return_vals[1].data.d_layer; + gimp_destroy_params (return_vals, nreturn_vals); + + return layer_ID; } void