updated to use libtool 1.1

* updated to use libtool 1.1

* app/transform_core.c: fixed display artifacts for the transform tools, sorta.

* plug-ins/pcx/pcx.c: updated pcx plug-in

and some admistrivia

-Yosh
This commit is contained in:
Manish Singh
1998-03-14 23:21:07 +00:00
parent c934cc8cce
commit 374b123995
10 changed files with 843 additions and 614 deletions

View File

@ -1,3 +1,12 @@
Sat Mar 14 15:14:16 PST 1998 Manish Singh <yosh@gimp.org>
* updated to use libtool 1.1
* app/transform_core.c: fixed display artifacts for the
transform tools, sorta.
* plug-ins/pcx/pcx.c: updated pcx plug-in
Sat Mar 14 18:50:29 MET 1998 Sven Neumann <sven@gimp.org> Sat Mar 14 18:50:29 MET 1998 Sven Neumann <sven@gimp.org>
* app/main.c: applied gimp-ovchinnikov-970312-0.patch which * app/main.c: applied gimp-ovchinnikov-970312-0.patch which

View File

@ -4,7 +4,7 @@ to have the following packages installed:
- GNU autoconf 2.12 - GNU autoconf 2.12
- GNU automake 1.2f - GNU automake 1.2f
Available in ftp://ftp.cygnus.com/pub/tromey Available in ftp://ftp.cygnus.com/pub/tromey
- GNU libtool 1.0f - GNU libtool 1.1
These should be available by ftp from prep.ai.mit.edu or any of the These should be available by ftp from prep.ai.mit.edu or any of the
fine GNU mirrors. Beta software can be found at alpha.gnu.org. fine GNU mirrors. Beta software can be found at alpha.gnu.org.

View File

@ -10,6 +10,10 @@ GIMP on unix:
5. Install the GIMP by running `make install'. 5. Install the GIMP by running `make install'.
6. Optionally install the separate gimp-data-extras package. 6. Optionally install the separate gimp-data-extras package.
Please make sure you don't have any old GTK, jpeg, etc. libraries lying
around on your system, otherwise configure will fail to find the new
ones.
Generic instructions for configuring and compiling auto-configured Generic instructions for configuring and compiling auto-configured
packages are included below. Here is an illustration of commands that packages are included below. Here is an illustration of commands that
might be used to build and install the GIMP. The actual configuration, might be used to build and install the GIMP. The actual configuration,

6
README
View File

@ -119,9 +119,9 @@ More information about Byxnet can be found at
http://rudolf.canberra.edu.au/gimp/byxnet.html http://rudolf.canberra.edu.au/gimp/byxnet.html
Manish Singh (yosh@gimp.org) has contributed a set of keybindings similar Included is a set of keybindings similar to those in Adobe Photoshop (tm).
to those in Adobe Photoshop (tm). You can find them in the ps-menurc file. You can find them in the ps-menurc file. To use them, copy this file to
To use them, copy this file to ~/.gimp/menurc ~/.gimp/menurc
We sincerely hope you enjoy the program. Please report problems to We sincerely hope you enjoy the program. Please report problems to
gimp-developer@scam.xcf.berkeley.edu. Before reporting a problem, you gimp-developer@scam.xcf.berkeley.edu. Before reporting a problem, you

View File

@ -267,6 +267,9 @@ transform_core_button_release (tool, bevent, gdisp_ptr)
undo_push_group_end (gdisp->gimage); undo_push_group_end (gdisp->gimage);
/* Flush the gdisplays */ /* Flush the gdisplays */
/* FIXME: this expose is a performance drag, but it prevents display
artifacts */
gdisplay_expose_area (gdisp, 0, 0, gdisp->disp_width, gdisp->disp_height);
gdisplays_flush (); gdisplays_flush ();
} }
else else

View File

@ -267,6 +267,9 @@ transform_core_button_release (tool, bevent, gdisp_ptr)
undo_push_group_end (gdisp->gimage); undo_push_group_end (gdisp->gimage);
/* Flush the gdisplays */ /* Flush the gdisplays */
/* FIXME: this expose is a performance drag, but it prevents display
artifacts */
gdisplay_expose_area (gdisp, 0, 0, gdisp->disp_width, gdisp->disp_height);
gdisplays_flush (); gdisplays_flush ();
} }
else else

430
ltconfig
View File

@ -1,8 +1,7 @@
#! /bin/sh #! /bin/sh
# ltconfig - Create a system-specific libtool. # ltconfig - Create a system-specific libtool.
# Generated automatically from ltconfig.in by configure. # Copyright (C) 1996-1998 Free Software Foundation, Inc.
# Copyright (C) 1996, 1997, Free Software Foundation, Inc.
# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
# #
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
@ -26,26 +25,54 @@
# A lot of this script is taken from autoconf-2.10. # A lot of this script is taken from autoconf-2.10.
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
echo=echo
if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
else
# The Solaris and AIX default echo program unquotes backslashes.
# This makes it impossible to quote backslashes using
# echo "$something" | sed 's/\\/\\\\/g'
# So, we emulate echo with printf '%s\n'
echo="printf %s\\n"
if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
else
# Oops. We have no working printf. Try to find a not-so-buggy echo.
echo=echo
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
for dir in $PATH /usr/ucb; do
if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then
echo="$dir/echo"
break
fi
done
IFS="$save_ifs"
fi
fi
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
Xsed='sed -e s/^X//'
sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
# Same as above, but do not quote variable references.
double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
# The name of this program. # The name of this program.
progname=`echo "$0" | sed 's%^.*/%%'` progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
# Constants: # Constants:
PROGRAM=ltconfig PROGRAM=ltconfig
PACKAGE=libtool PACKAGE=libtool
VERSION=1.0f VERSION=1.1
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5' ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
rm="rm -f" rm="rm -f"
help="Try \`$progname --help' for more information." help="Try \`$progname --help' for more information."
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s/\([\\"$\\\\]\)/\\\1/g'
# Same as above, but don't quote variable references.
double_quote_subst='s/\([\\"\\\\]\)/\\\1/g'
# Global variables: # Global variables:
can_build_shared=yes can_build_shared=yes
enable_shared=yes enable_shared=yes
@ -99,7 +126,7 @@ Generate a system-specific libtool script.
--help display this help and exit --help display this help and exit
--no-verify do not verify that HOST is a valid host type --no-verify do not verify that HOST is a valid host type
--quiet same as \`--silent' --quiet same as \`--silent'
--silent don't print informational messages --silent do not print informational messages
--srcdir=DIR find \`config.guess' in DIR --srcdir=DIR find \`config.guess' in DIR
--version output version information and exit --version output version information and exit
--with-gcc assume that the GNU C compiler will be used --with-gcc assume that the GNU C compiler will be used
@ -139,7 +166,7 @@ EOM
if test -z "$ltmain"; then if test -z "$ltmain"; then
ltmain="$option" ltmain="$option"
elif test -z "$host"; then elif test -z "$host"; then
# FIXME This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1 # This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
# if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then # if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
# echo "$progname: warning \`$option' is not a valid host type" 1>&2 # echo "$progname: warning \`$option' is not a valid host type" 1>&2
# fi # fi
@ -160,7 +187,9 @@ fi
if test -f "$ltmain"; then : if test -f "$ltmain"; then :
else else
echo "$progname: warning: \`$ltmain' does not exist" 1>&2 echo "$progname: \`$ltmain' does not exist" 1>&2
echo "$help" 1>&2
exit 1
fi fi
# Quote any args containing shell metacharacters. # Quote any args containing shell metacharacters.
@ -212,7 +241,7 @@ fi
if test -z "$srcdir"; then if test -z "$srcdir"; then
# Assume the source directory is the same one as the path to ltmain.sh. # Assume the source directory is the same one as the path to ltmain.sh.
srcdir=`echo "$ltmain" | sed 's%/[^/]*$%%'` srcdir=`$echo "$ltmain" | $Xsed -e 's%/[^/]*$%%'`
test "$srcdir" = "$ltmain" && srcdir=. test "$srcdir" = "$ltmain" && srcdir=.
fi fi
@ -268,10 +297,10 @@ else
host_alias=$host host_alias=$host
fi fi
# Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts. # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
case "$host" in case "$host_os" in
*-*-linux-gnu*) ;; linux-gnu*) ;;
*-*-linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
esac esac
host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
@ -279,7 +308,7 @@ host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
case "$host_os" in case "$host_os" in
aix*) aix3*)
# AIX sometimes has problems with the GCC collect2 program. For some # AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems # reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke. # vanish in a puff of smoke.
@ -293,6 +322,7 @@ esac
# Determine commands to create old-style static archives. # Determine commands to create old-style static archives.
old_archive_cmds='$AR cru $oldlib$oldobjs' old_archive_cmds='$AR cru $oldlib$oldobjs'
old_postinstall_cmds='chmod 644 $oldlib' old_postinstall_cmds='chmod 644 $oldlib'
old_postuninstall_cmds=
# Set a sane default for `AR'. # Set a sane default for `AR'.
test -z "$AR" && AR=ar test -z "$AR" && AR=ar
@ -318,7 +348,7 @@ fi
if test -n "$RANLIB"; then if test -n "$RANLIB"; then
old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib" old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib"
old_postinstall_cmds="$old_postinstall_cmds;\$RANLIB \$oldlib" old_postinstall_cmds="\$RANLIB \$oldlib;$old_postinstall_cmds"
fi fi
# Check to see if we are using GCC. # Check to see if we are using GCC.
@ -391,7 +421,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
# Now see if the compiler is really GCC. # Now see if the compiler is really GCC.
with_gcc=no with_gcc=no
echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6 echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
echo "$progname:394: checking whether we are using GNU C" >&5 echo "$progname:424: checking whether we are using GNU C" >&5
$rm conftest.c $rm conftest.c
cat > conftest.c <<EOF cat > conftest.c <<EOF
@ -399,7 +429,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
yes; yes;
#endif #endif
EOF EOF
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:402: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:432: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
with_gcc=yes with_gcc=yes
fi fi
$rm conftest.c $rm conftest.c
@ -412,14 +442,12 @@ compiler="$2"
echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6 echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
pic_flag= pic_flag=
profile_flag_pattern=
special_shlib_compile_flags= special_shlib_compile_flags=
wl= wl=
link_static_flag= link_static_flag=
no_builtin_flag= no_builtin_flag=
if test "$with_gcc" = yes; then if test "$with_gcc" = yes; then
profile_flag_pattern='-pg?'
wl='-Wl,' wl='-Wl,'
link_static_flag='-static' link_static_flag='-static'
no_builtin_flag=' -fno-builtin' no_builtin_flag=' -fno-builtin'
@ -431,6 +459,12 @@ if test "$with_gcc" = yes; then
os2*) os2*)
# We can build DLLs from non-PIC. # We can build DLLs from non-PIC.
;; ;;
amigaos*)
# FIXME: we need at least 68020 code to build shared libraries, but
# adding the `-m68020' flag to GCC prevents building anything better,
# like `-m68040'.
pic_flag='-m68020 -resident32 -malways-restore-a4'
;;
*) *)
pic_flag='-fPIC' pic_flag='-fPIC'
;; ;;
@ -446,7 +480,7 @@ else
hpux9* | hpux10*) hpux9* | hpux10*)
# Is there a better link_static_flag that works with the bundled CC? # Is there a better link_static_flag that works with the bundled CC?
wl='-Wl,' wl='-Wl,'
link_static_flag='${wl}-a ${wl}archive' link_static_flag="${wl}-a ${wl}archive"
pic_flag='+Z' pic_flag='+Z'
;; ;;
@ -484,6 +518,12 @@ else
wl='-Qoption ld ' wl='-Qoption ld '
;; ;;
sysv4.2uw2*)
pic_flag='-KPIC'
link_static_flag='-Bstatic'
wl='-Wl,'
;;
uts4*) uts4*)
pic_flag='-pic' pic_flag='-pic'
link_static_flag='-Bstatic' link_static_flag='-Bstatic'
@ -504,12 +544,12 @@ if test -n "$pic_flag"; then
echo > conftest.c echo > conftest.c
save_CFLAGS="$CFLAGS" save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $pic_flag -DPIC" CFLAGS="$CFLAGS $pic_flag -DPIC"
echo "$progname:507: checking if $compiler PIC flag $pic_flag works" >&5 echo "$progname:547: checking if $compiler PIC flag $pic_flag works" >&5
if { (eval echo $progname:508: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then if { (eval echo $progname:548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
# Append any errors to the config.log. # Append any errors to the config.log.
cat conftest.err 1>&5 cat conftest.err 1>&5
# On HP-UX, the stripped-down bundled CC doesn't accept +Z, but also # On HP-UX, the stripped-down bundled CC does not accept +Z, but also
# reports no error. So, we need to grep stderr for (Bundled). # reports no error. So, we need to grep stderr for (Bundled).
if grep '(Bundled)' conftest.err >/dev/null; then if grep '(Bundled)' conftest.err >/dev/null; then
echo "$ac_t"no 1>&6 echo "$ac_t"no 1>&6
@ -547,8 +587,8 @@ $rm conftest*
echo 'main(){return(0);}' > conftest.c echo 'main(){return(0);}' > conftest.c
save_LDFLAGS="$LDFLAGS" save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $link_static_flag" LDFLAGS="$LDFLAGS $link_static_flag"
echo "$progname:550: checking if $compiler static flag $link_static_flag works" >&5 echo "$progname:590: checking if $compiler static flag $link_static_flag works" >&5
if { (eval echo $progname:551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then if { (eval echo $progname:591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
echo "$ac_t$link_static_flag" 1>&6 echo "$ac_t$link_static_flag" 1>&6
else else
echo "$ac_t"none 1>&6 echo "$ac_t"none 1>&6
@ -580,15 +620,15 @@ if test -z "$LD"; then
if test "$with_gcc" = yes; then if test "$with_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path. # Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6 echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
echo "$progname:583: checking for ld used by GCC" >&5 echo "$progname:623: checking for ld used by GCC" >&5
ac_prog=`($CC -print-prog-name=ld) 2>&5` ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in case "$ac_prog" in
# Accept absolute paths. # Accept absolute paths.
/*) /* | [A-Za-z]:\\*)
test -z "$LD" && LD="$ac_prog" test -z "$LD" && LD="$ac_prog"
;; ;;
"") "")
# If it fails, then pretend we aren't using GCC. # If it fails, then pretend we are not using GCC.
ac_prog=ld ac_prog=ld
;; ;;
*) *)
@ -598,10 +638,10 @@ if test -z "$LD"; then
esac esac
elif test "$with_gnu_ld" = yes; then elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld... $ac_c" 1>&6 echo $ac_n "checking for GNU ld... $ac_c" 1>&6
echo "$progname:601: checking for GNU ld" >&5 echo "$progname:641: checking for GNU ld" >&5
else else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
echo "$progname:604: checking for non-GNU ld" >&5 echo "$progname:644: checking for non-GNU ld" >&5
fi fi
if test -z "$LD"; then if test -z "$LD"; then
@ -635,7 +675,7 @@ if test -z "$LD"; then
fi fi
fi fi
# Check to see if it really is or isn't GNU ld. # Check to see if it really is or is not GNU ld.
echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6 echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
# I'd rather use --version here, but apparently some GNU ld's only accept -v. # I'd rather use --version here, but apparently some GNU ld's only accept -v.
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
@ -649,6 +689,7 @@ echo "$ac_t$with_gnu_ld" 1>&6
echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6 echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
allow_undefined_flag= allow_undefined_flag=
no_undefined_flag=
archive_cmds= archive_cmds=
old_archive_from_new_cmds= old_archive_from_new_cmds=
export_dynamic_flag_spec= export_dynamic_flag_spec=
@ -656,43 +697,41 @@ hardcode_libdir_flag_spec=
hardcode_libdir_separator= hardcode_libdir_separator=
hardcode_direct=no hardcode_direct=no
hardcode_minus_L=no hardcode_minus_L=no
hardcode_runpath_var=no
hardcode_shlibpath_var=unsupported hardcode_shlibpath_var=unsupported
runpath_var= runpath_var=
case "$host_os" in
amigaos* | sunos4*)
# On these operating systems, we should treat GNU ld like the system ld.
gnu_ld_acts_native=yes
;;
*)
gnu_ld_acts_native=no
;;
esac
ld_shlibs=yes ld_shlibs=yes
if test "$with_gnu_ld" = yes; then if test "$with_gnu_ld" = yes && test "$gnu_ld_acts_native" != yes; then
# See if GNU ld supports shared libraries. # See if GNU ld supports shared libraries.
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
case "$host_os" in archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs'
sunos4*) runpath_var=LD_RUN_PATH
ld_shlibs=yes ld_shlibs=yes
hardcode_direct=yes else
hardcode_shlibpath_var=no ld_shlibs=no
;; fi
*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
runpath_var=LD_RUN_PATH
hardcode_runpath_var=yes
ld_shlibs=yes
else
ld_shlibs=no
fi
;;
esac
if test "$ld_shlibs" = yes; then if test "$ld_shlibs" = yes; then
archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs$deplibs' hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
hardcode_libdir_flag_spec='${wl}-rpath $wl$libdir' export_dynamic_flag_spec='${wl}--export-dynamic'
export_dynamic_flag_spec='${wl}-export-dynamic'
fi fi
else else
# PORTME fill in a description of your system's linker (not GNU ld) # PORTME fill in a description of your system's linker (not GNU ld)
case "$host_os" in case "$host_os" in
aix3*) aix3*)
allow_undefined_flag=unsupported allow_undefined_flag=unsupported
archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '"'s/.* //'"' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE$deplibs;$AR cru $lib $objdir/$soname' archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR cru $lib $objdir/$soname'
# Note: this linker hardcodes the directories in LIBPATH if there # Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L. # are no directories specified by -L.
hardcode_minus_L=yes hardcode_minus_L=yes
@ -705,25 +744,32 @@ else
aix4*) aix4*)
allow_undefined_flag=unsupported allow_undefined_flag=unsupported
archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '"'s/.* //'"' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry$deplibs;$AR cru $lib $objdir/$soname' archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR cru $lib $objdir/$soname'
hardcode_direct=yes hardcode_direct=yes
hardcode_minus_L=yes hardcode_minus_L=yes
;; ;;
amigaos*)
archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)'
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
;;
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
# support. Future versions do this automatically, but an explicit c++rt0.o # support. Future versions do this automatically, but an explicit c++rt0.o
# doesn't break anything, and helps significantly (at the cost of a little # does not break anything, and helps significantly (at the cost of a little
# extra space). # extra space).
freebsd2.2*) freebsd2.2*)
archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs /usr/lib/c++rt0.o' archive_cmds='$LD -Bshareable -o $lib$libobjs /usr/lib/c++rt0.o'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes hardcode_direct=yes
hardcode_minus_L=yes hardcode_minus_L=yes
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
;; ;;
# Unfortunately, older versions of FreeBSD 2 don't have this feature. # Unfortunately, older versions of FreeBSD 2 do not have this feature.
freebsd2*) freebsd2*)
archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs' archive_cmds='$LD -Bshareable -o $lib$libobjs'
hardcode_direct=yes hardcode_direct=yes
hardcode_minus_L=yes hardcode_minus_L=yes
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
@ -731,7 +777,7 @@ else
# FreeBSD 3, at last, uses gcc -shared to do shared libraries. # FreeBSD 3, at last, uses gcc -shared to do shared libraries.
freebsd3*) freebsd3*)
archive_cmds='$CC -shared -o $lib$libobjs$deplibs' archive_cmds='$CC -shared -o $lib$libobjs'
hardcode_libdir_flag_spec='-R$libdir' hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes hardcode_direct=yes
hardcode_minus_L=yes hardcode_minus_L=yes
@ -739,21 +785,23 @@ else
;; ;;
hpux9*) hpux9*)
archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs$deplibs;mv $objdir/$soname $lib' archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs;mv $objdir/$soname $lib'
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_direct=yes hardcode_direct=yes
hardcode_minus_L=yes hardcode_minus_L=yes
export_dynamic_flag_spec='${wl}-E'
;; ;;
hpux10*) hpux10*)
archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs$deplibs' archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs'
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_direct=yes hardcode_direct=yes
hardcode_minus_L=yes hardcode_minus_L=yes
export_dynamic_flag_spec='${wl}-E'
;; ;;
irix5* | irix6*) irix5* | irix6*)
archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs$deplibs' archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs'
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
;; ;;
@ -766,7 +814,7 @@ else
;; ;;
openbsd*) openbsd*)
archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs' archive_cmds='$LD -Bshareable -o $lib$libobjs'
hardcode_libdir_flag_spec='-R$libdir' hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes hardcode_direct=yes
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
@ -776,7 +824,7 @@ else
hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes hardcode_minus_L=yes
allow_undefined_flag=unsupported allow_undefined_flag=unsupported
archive_cmds='echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;echo DATA >> $objdir/$libname.def;echo " SINGLE NONSHARED" >> $objdir/$libname.def;echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def' archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;$echo DATA >> $objdir/$libname.def;$echo " SINGLE NONSHARED" >> $objdir/$libname.def;$echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def'
old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def' old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
;; ;;
@ -788,31 +836,47 @@ else
;; ;;
sco3.2v5*) sco3.2v5*)
archive_cmds='$LD -G -o $lib$libobjs$deplibs' archive_cmds='$LD -G -o $lib$libobjs'
hardcode_direct=yes hardcode_direct=yes
;; ;;
solaris2*) solaris2*)
archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs$deplibs' no_undefined_flag=' -z text'
archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib$libobjs'
hardcode_libdir_flag_spec='-R$libdir' hardcode_libdir_flag_spec='-R$libdir'
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
# Solaris 2 before 2.5 hardcodes -L paths.
case "$host_os" in
solaris2.[0-4]*)
hardcode_minus_L=yes
;;
esac
;; ;;
sunos4*) sunos4*)
archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs' if test "$with_gcc" = yes; then
archive_cmds='$CC -shared -o $lib$libobjs'
else
archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
fi
if test "$with_gnu_ld" = yes; then
export_dynamic_flag_spec='${wl}-export-dynamic'
fi
hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=yes hardcode_direct=yes
hardcode_minus_L=yes hardcode_minus_L=yes
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
;; ;;
uts4*) uts4*)
archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs' archive_cmds='$LD -G -h $soname -o $lib$libobjs'
hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=no hardcode_direct=no
hardcode_minus_L=no hardcode_minus_L=no
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
;; ;;
*) *)
ld_shlibs=no ld_shlibs=no
@ -825,16 +889,18 @@ echo "$ac_t$ld_shlibs" 1>&6
if test -z "$NM"; then if test -z "$NM"; then
echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6 echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
case "$NM" in case "$NM" in
/*) ;; # Let the user override the test with a path. /* | [A-Za-z]:\\*) ;; # Let the user override the test with a path.
*) *)
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for ac_dir in /usr/ucb $PATH /bin; do for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
test -z "$ac_dir" && dir=. test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/nm; then if test -f $ac_dir/nm; then
# Check to see if the nm accepts a BSD-compat flag. # Check to see if the nm accepts a BSD-compat flag.
if ($ac_dir/nm -B /dev/null 2>&1; exit 0) | grep /dev/null >/dev/null; then # Adding the `sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored
if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
NM="$ac_dir/nm -B" NM="$ac_dir/nm -B"
elif ($ac_dir/nm -p /dev/null 2>&1; exit 0) | grep /dev/null >/dev/null; then elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
NM="$ac_dir/nm -p" NM="$ac_dir/nm -p"
else else
NM="$ac_dir/nm" NM="$ac_dir/nm"
@ -869,6 +935,10 @@ case "$host_os" in
aix*) aix*)
symcode='[BCDTU]' symcode='[BCDTU]'
;; ;;
irix*)
# Cannot use undefined symbols on IRIX because inlined functions mess us up.
symcode='[BCDEGRST]'
;;
solaris2*) solaris2*)
symcode='[BDTU]' symcode='[BDTU]'
;; ;;
@ -897,17 +967,17 @@ void nm_test_func(){}
main(){nm_test_var='a';nm_test_func();return(0);} main(){nm_test_var='a';nm_test_func();return(0);}
EOF EOF
echo "$progname:900: checking if global_symbol_pipe works" >&5 echo "$progname:970: checking if global_symbol_pipe works" >&5
if { (eval echo $progname:901: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then if { (eval echo $progname:971: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then
# Now try to grab the symbols. # Now try to grab the symbols.
nlist=conftest.nm nlist=conftest.nm
if { echo "$progname:904: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then if { echo "$progname:974: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
# Try sorting and uniquifying the output. # Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then if sort "$nlist" | uniq > "$nlist"T; then
mv -f "$nlist"T "$nlist" mv -f "$nlist"T "$nlist"
wcout=`wc "$nlist" 2>/dev/null` wcout=`wc "$nlist" 2>/dev/null`
count=`echo "$wcout" | sed 's/^[ ]*\([0-9][0-9]*\).*$/\1/'` count=`$echo "X$wcout" | $Xsed -e 's/^[ ]*\([0-9][0-9]*\).*$/\1/'`
(test "$count" -ge 0) 2>/dev/null || count=-1 (test "$count" -ge 0) 2>/dev/null || count=-1
else else
rm -f "$nlist"T rm -f "$nlist"T
@ -944,9 +1014,9 @@ struct {
dld_preloaded_symbols[] = dld_preloaded_symbols[] =
{ {
EOF EOF
sed 's/^\(.*\) \(.*\)$/ {"\1", \&\2},/' < "$nlist" >> conftest.c sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> conftest.c
cat <<\EOF >> conftest.c cat <<\EOF >> conftest.c
{0}, {0, (__ptr_t) 0}
}; };
#ifdef __cplusplus #ifdef __cplusplus
@ -959,7 +1029,7 @@ EOF
save_CFLAGS="$CFLAGS" save_CFLAGS="$CFLAGS"
LIBS='conftestm.o' LIBS='conftestm.o'
CFLAGS="$CFLAGS$no_builtin_flag" CFLAGS="$CFLAGS$no_builtin_flag"
if { (eval echo $progname:962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then if { (eval echo $progname:1032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
pipe_works=yes pipe_works=yes
else else
echo "$progname: failed program was:" >&5 echo "$progname: failed program was:" >&5
@ -981,7 +1051,7 @@ else
fi fi
$rm conftest* $rm conftest*
# Don't use the global_symbol_pipe unless it works. # Do not use the global_symbol_pipe unless it works.
echo "$ac_t$pipe_works" 1>&6 echo "$ac_t$pipe_works" 1>&6
test "$pipe_works" = yes || global_symbol_pipe= test "$pipe_works" = yes || global_symbol_pipe=
@ -989,7 +1059,7 @@ test "$pipe_works" = yes || global_symbol_pipe=
echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6 echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
hardcode_action= hardcode_action=
if test -n "$hardcode_libdir_flag_spec" || \ if test -n "$hardcode_libdir_flag_spec" || \
test "$hardcode_runpath_var" = yes; then test -n "$runpath_var"; then
# We can hardcode non-existant directories. # We can hardcode non-existant directories.
if test "$hardcode_direct" != no && \ if test "$hardcode_direct" != no && \
@ -1005,7 +1075,7 @@ if test -n "$hardcode_libdir_flag_spec" || \
elif test "$hardcode_direct" != yes && \ elif test "$hardcode_direct" != yes && \
test "$hardcode_minus_L" != yes && \ test "$hardcode_minus_L" != yes && \
test "$hardcode_shlibpath_var" != yes; then test "$hardcode_shlibpath_var" != yes; then
# We can't hardcode anything. # We cannot hardcode anything.
hardcode_action=unsupported hardcode_action=unsupported
else else
# We can only hardcode existing directories. # We can only hardcode existing directories.
@ -1028,7 +1098,9 @@ library_names_spec=
libname_spec='lib$name' libname_spec='lib$name'
soname_spec= soname_spec=
postinstall_cmds= postinstall_cmds=
postuninstall_cmds=
finish_cmds= finish_cmds=
finish_eval=
shlibpath_var= shlibpath_var=
version_type=none version_type=none
dynamic_linker="$host_os ld.so" dynamic_linker="$host_os ld.so"
@ -1037,23 +1109,29 @@ echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
case "$host_os" in case "$host_os" in
aix3* | aix4*) aix3* | aix4*)
version_type=linux version_type=linux
library_names_spec='$libname.so.$versuffix $libname.a' library_names_spec='${libname}${release}.so.$versuffix $libname.a'
shlibpath_var=LIBPATH shlibpath_var=LIBPATH
# AIX has no versioning support, so we append a major version to the name. # AIX has no versioning support, so we append a major version to the name.
soname_spec='$libname.so.$major' soname_spec='${libname}${release}.so.$major'
;;
amigaos*)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
;; ;;
freebsd2* | freebsd3*) freebsd2* | freebsd3*)
version_type=sunos version_type=sunos
library_names_spec='$libname.so.$versuffix $libname.so' library_names_spec='${libname}${release}.so.$versuffix $libname.so'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
gnu*) gnu*)
version_type=sunos version_type=sunos
library_names_spec='$libname.so.$versuffix' library_names_spec='${libname}${release}.so.$versuffix'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
@ -1063,16 +1141,16 @@ hpux9* | hpux10*)
dynamic_linker="$host_os dld.sl" dynamic_linker="$host_os dld.sl"
version_type=sunos version_type=sunos
shlibpath_var=SHLIB_PATH shlibpath_var=SHLIB_PATH
library_names_spec='$libname.sl.$versuffix $libname.sl.$major $libname.sl' library_names_spec='${libname}${release}.sl.$versuffix ${libname}${release}.sl.$major $libname.sl'
soname_spec='$libname.sl.$major' soname_spec='${libname}${release}.sl.$major'
# HP-UX runs *really* slowly unless shared libraries are mode 555. # HP-UX runs *really* slowly unless shared libraries are mode 555.
postinstall_cmds='chmod 555 $lib' postinstall_cmds='chmod 555 $lib'
;; ;;
irix5* | irix6*) irix5* | irix6*)
version_type=osf version_type=osf
soname_spec='$libname.so' soname_spec='${libname}${release}.so'
library_names_spec='$libname.so.$versuffix $libname.so' library_names_spec='${libname}${release}.so.$versuffix $libname.so'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
@ -1084,9 +1162,9 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
# This must be Linux ELF. # This must be Linux ELF.
linux-gnu*) linux-gnu*)
version_type=linux version_type=linux
library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
soname_spec='$libname.so.$major' soname_spec='${libname}${release}.so.$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' finish_cmds='PATH="$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
if test -f /lib/ld.so.1; then if test -f /lib/ld.so.1; then
@ -1102,13 +1180,12 @@ linux-gnu*)
netbsd* | openbsd*) netbsd* | openbsd*)
version_type=sunos version_type=sunos
library_names_spec='$libname.so.$versuffix' library_names_spec='${libname}${release}.so.$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
os2*) os2*)
version_type=none
libname_spec='$name' libname_spec='$name'
library_names_spec='$libname.dll $libname.a' library_names_spec='$libname.dll $libname.a'
dynamic_linker='OS/2 ld.exe' dynamic_linker='OS/2 ld.exe'
@ -1117,36 +1194,43 @@ os2*)
osf3* | osf4*) osf3* | osf4*)
version_type=osf version_type=osf
soname_spec='$libname.so' soname_spec='${libname}${release}.so'
library_names_spec='$libname.so.$versuffix $libname.so' library_names_spec='${libname}${release}.so.$versuffix $libname.so'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
sco3.2v5*) sco3.2v5*)
version_type=osf version_type=osf
soname_spec='$libname.so.$major' soname_spec='${libname}${release}.so.$major'
library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
solaris2*) solaris2*)
version_type=linux version_type=linux
library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
soname_spec='$libname.so.$major' soname_spec='${libname}${release}.so.$major'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
sunos4*) sunos4*)
version_type=sunos version_type=sunos
library_names_spec='$libname.so.$versuffix' library_names_spec='${libname}${release}.so.$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' finish_cmds='PATH="$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
;;
sysv4.2uw2*)
version_type=linux
library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
soname_spec='${libname}${release}.so.$major'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
uts4*) uts4*)
version_type=linux version_type=linux
library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
soname_spec='$libname.so.$major' soname_spec='${libname}${release}.so.$major'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
@ -1157,12 +1241,6 @@ esac
echo "$ac_t$dynamic_linker" echo "$ac_t$dynamic_linker"
test "$dynamic_linker" = no && can_build_shared=no test "$dynamic_linker" = no && can_build_shared=no
# FIXME add checks for striplib and old_striplib here.
# strip -x works for most platforms, though not for static libraries on NetBSD
# HP-UX requires "-r" for library stripping
striplib=
old_striplib=
# Report the final consequences. # Report the final consequences.
echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6 echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
@ -1200,25 +1278,30 @@ fi
rmdir .libs 2>/dev/null rmdir .libs 2>/dev/null
echo "$ac_t$objdir" 1>&6 echo "$ac_t$objdir" 1>&6
# Copy echo and quote the copy, instead of the original, because it is
# used later.
ltecho="$echo"
# Now quote all the things that may contain metacharacters. # Now quote all the things that may contain metacharacters.
for var in old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \ for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
old_LN_S AR CC LD LN_S NM reload_flag reload_cmds wl pic_flag \ old_LN_S AR CC LD LN_S NM reload_flag reload_cmds wl pic_flag \
link_static_flag no_builtin_flag export_dynamic_flag_spec \ link_static_flag no_builtin_flag export_dynamic_flag_spec \
profile_flag_pattern libname_spec library_names_spec soname_spec RANLIB \ libname_spec library_names_spec soname_spec RANLIB \
old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
archive_cmds postinstall_cmds \ old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \
allow_undefined_flag finish_cmds global_symbol_pipe \ allow_undefined_flag no_undefined_flag \
striplib old_striplib \ finish_cmds finish_eval global_symbol_pipe \
hardcode_libdir_flag_spec hardcode_libdir_separator; do hardcode_libdir_flag_spec hardcode_libdir_separator; do
case "$var" in case "$var" in
reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
old_postinstall_cmds | archive_cmds | postinstall_cmds | finish_cmds) old_postinstall_cmds | old_postuninstall_cmds | archive_cmds | \
postinstall_cmds | postuninstall_cmds | finish_cmds)
# Double-quote double-evaled strings. # Double-quote double-evaled strings.
eval "$var=\`echo \"\$$var\" | sed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`" eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`"
;; ;;
*) *)
eval "$var=\`echo \"\$$var\" | sed \"\$sed_quote_subst\"\`" eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`"
;; ;;
esac esac
done done
@ -1231,8 +1314,31 @@ cat <<EOF > $ofile
#! /bin/sh #! /bin/sh
# libtool - Provide generalized library-building support services. # libtool - Provide generalized library-building support services.
#
# Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION # Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION
# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
#
# Copyright (C) 1996-1998 Free Software Foundation, Inc.
# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program 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
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This program was configured as follows, # This program was configured as follows,
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# #
@ -1243,6 +1349,16 @@ cat <<EOF > $ofile
# Compiler and other test output produced by $progname, useful for # Compiler and other test output produced by $progname, useful for
# debugging $progname, is in ./config.log if it exists. # debugging $progname, is in ./config.log if it exists.
# Sed that helps us avoid accidentally triggering echo(1) options like -n.
Xsed="sed -e s/^X//"
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
# An echo program that does not interpret backslashes.
echo="$ltecho"
# The version of $progname that generated this script. # The version of $progname that generated this script.
LTCONFIG_VERSION="$VERSION" LTCONFIG_VERSION="$VERSION"
@ -1296,9 +1412,6 @@ no_builtin_flag="$no_builtin_flag"
# Compiler flag to allow reflexive dlopens. # Compiler flag to allow reflexive dlopens.
export_dynamic_flag_spec="$export_dynamic_flag_spec" export_dynamic_flag_spec="$export_dynamic_flag_spec"
# Pattern to match compiler flags for creating libNAME_p libraries:
profile_flag_pattern="$profile_flag_pattern"
# Library versioning type. # Library versioning type.
version_type=$version_type version_type=$version_type
@ -1316,6 +1429,7 @@ soname_spec="$soname_spec"
RANLIB="$RANLIB" RANLIB="$RANLIB"
old_archive_cmds="$old_archive_cmds" old_archive_cmds="$old_archive_cmds"
old_postinstall_cmds="$old_postinstall_cmds" old_postinstall_cmds="$old_postinstall_cmds"
old_postuninstall_cmds="$old_postuninstall_cmds"
# Create an old-style archive from a shared archive. # Create an old-style archive from a shared archive.
old_archive_from_new_cmds="$old_archive_from_new_cmds" old_archive_from_new_cmds="$old_archive_from_new_cmds"
@ -1323,20 +1437,23 @@ old_archive_from_new_cmds="$old_archive_from_new_cmds"
# Commands used to build and install a shared archive. # Commands used to build and install a shared archive.
archive_cmds="$archive_cmds" archive_cmds="$archive_cmds"
postinstall_cmds="$postinstall_cmds" postinstall_cmds="$postinstall_cmds"
postuninstall_cmds="$postuninstall_cmds"
# Flag that allows shared libraries with undefined symbols to be built. # Flag that allows shared libraries with undefined symbols to be built.
allow_undefined_flag="$allow_undefined_flag" allow_undefined_flag="$allow_undefined_flag"
# Flag that forces no undefined symbols.
no_undefined_flag="$no_undefined_flag"
# Commands used to finish a libtool library installation in a directory. # Commands used to finish a libtool library installation in a directory.
finish_cmds="$finish_cmds" finish_cmds="$finish_cmds"
# Same as above, but a single script fragment to be evaled but not shown.
finish_eval="$finish_eval"
# Take the output of nm and produce a listing of raw symbols and C names. # Take the output of nm and produce a listing of raw symbols and C names.
global_symbol_pipe="$global_symbol_pipe" global_symbol_pipe="$global_symbol_pipe"
# How to strip a library file.
striplib="$striplib"
old_striplib="$old_striplib"
# This is the shared library runtime path variable. # This is the shared library runtime path variable.
runpath_var=$runpath_var runpath_var=$runpath_var
@ -1361,10 +1478,6 @@ hardcode_direct=$hardcode_direct
# resulting binary. # resulting binary.
hardcode_minus_L=$hardcode_minus_L hardcode_minus_L=$hardcode_minus_L
# Set to yes if using RUNPATH_VAR=DIR during linking hardcodes DIR into the
# resulting binary.
hardcode_runpath_var=$hardcode_runpath_var
# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
# the resulting binary. # the resulting binary.
hardcode_shlibpath_var=$hardcode_shlibpath_var hardcode_shlibpath_var=$hardcode_shlibpath_var
@ -1372,7 +1485,7 @@ hardcode_shlibpath_var=$hardcode_shlibpath_var
EOF EOF
case "$host_os" in case "$host_os" in
aix*) aix3*)
cat <<\EOF >> $ofile cat <<\EOF >> $ofile
# AIX sometimes has problems with the GCC collect2 program. For some # AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems # reason, if we set the COLLECT_NAMES environment variable, the problems
@ -1386,25 +1499,8 @@ EOF
;; ;;
esac esac
# Detect if we are using a relative or absolute path to ltmain.sh. # Append the ltmain.sh script.
case "$ltmain" in cat "$ltmain" >> $ofile || (rm -f $ofile; exit 1)
/*) cat <<EOF >> $ofile
# Execute the libtool backend.
. $ltmain
EOF
;;
*) cat <<EOF >> $ofile
# Find the path to this script.
thisdir=\`echo "\$0" | sed -e 's%/[^/]*\$%%'\`
test "X\$0" = "X\$thisdir" && thisdir=.
# Execute the libtool backend.
. \$thisdir/$ltmain
EOF
;;
esac
echo 'exit 1' >> $ofile
chmod +x $ofile chmod +x $ofile
exit 0 exit 0

816
ltmain.sh

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,8 @@
/* New for 1998 -- Load 1, 4, 8 & 24 bit PCX files */ /* New for 1998 -- Load 1, 4, 8 & 24 bit PCX files */
/* -- Save 8 & 24 bit PCX files */ /* -- Save 8 & 24 bit PCX files */
/* 1998-01-19 - fixed some endianness problems (Raphael Quinet) */
/* 1998-02-05 - merged patch with "official" tree, some tidying up (njl) */
/* Please contact me if you can't use your PCXs with this tool, I want /* Please contact me if you can't use your PCXs with this tool, I want
The GIMP to have the best file filters on the planet */ The GIMP to have the best file filters on the planet */
@ -22,6 +24,22 @@ static void query (void);
static void run (char *name, int nparams, GParam *param, int *nreturn_vals, static void run (char *name, int nparams, GParam *param, int *nreturn_vals,
GParam **return_vals); GParam **return_vals);
#if defined(_BIG_ENDIAN) || defined(sparc) || defined (__sgi)
#define qtohl(x) \
((unsigned long int)((((unsigned long int)(x) & 0x000000ffU) << 24) | \
(((unsigned long int)(x) & 0x0000ff00U) << 8) | \
(((unsigned long int)(x) & 0x00ff0000U) >> 8) | \
(((unsigned long int)(x) & 0xff000000U) >> 24)))
#define qtohs(x) \
((unsigned short int)((((unsigned short int)(x) & 0x00ff) << 8) | \
(((unsigned short int)(x) & 0xff00) >> 8)))
#else
#define qtohl(x) (x)
#define qtohs(x) (x)
#endif
#define htoql(x) qtohl(x)
#define htoqs(x) qtohs(x)
GPlugInInfo PLUG_IN_INFO = { NULL, NULL, query, run, }; GPlugInInfo PLUG_IN_INFO = { NULL, NULL, query, run, };
MAIN () MAIN ()
@ -55,7 +73,7 @@ static void query () {
"FIXME: write help for pcx_load", "FIXME: write help for pcx_load",
"Francisco Bustamante & Nick Lamb", "Francisco Bustamante & Nick Lamb",
"Nick Lamb <njl195@ecs.soton.ac.uk>", "Nick Lamb <njl195@ecs.soton.ac.uk>",
"1997", "January 1997",
"<Load>/PCX", "<Load>/PCX",
NULL, NULL,
PROC_PLUG_IN, PROC_PLUG_IN,
@ -67,7 +85,7 @@ static void query () {
"FIXME: write help for pcx_save", "FIXME: write help for pcx_save",
"Francisco Bustamante & Nick Lamb", "Francisco Bustamante & Nick Lamb",
"Nick Lamb <njl195@ecs.soton.ac.uk>", "Nick Lamb <njl195@ecs.soton.ac.uk>",
"1997", "January 1997",
"<Save>/PCX", "<Save>/PCX",
"INDEXED, RGB, GRAY", "INDEXED, RGB, GRAY",
PROC_PLUG_IN, PROC_PLUG_IN,
@ -154,25 +172,23 @@ static void run (char *name, int nparams, GParam *param, int *nreturn_vals,
} }
} }
#define BitSet(byte, bit) (((byte) & (bit)) == (bit))
guchar mono[6]= {0, 0, 0, 255, 255, 255}; guchar mono[6]= {0, 0, 0, 255, 255, 255};
static struct { static struct {
unsigned char manufacturer; guint8 manufacturer;
unsigned char version; guint8 version;
unsigned char compression; guint8 compression;
unsigned char bpp; guint8 bpp;
short int x1, y1; gint16 x1, y1;
short int x2, y2; gint16 x2, y2;
short int hdpi; gint16 hdpi;
short int vdpi; gint16 vdpi;
unsigned char colormap[48]; guint8 colormap[48];
unsigned char reserved; guint8 reserved;
unsigned char planes; guint8 planes;
short int bytesperline; gint16 bytesperline;
short int color; gint16 color;
unsigned char filler[58]; guint8 filler[58];
} pcx_header; } pcx_header;
static gint32 load_image (char *filename) { static gint32 load_image (char *filename) {
@ -205,10 +221,10 @@ static gint32 load_image (char *filename) {
return -1; return -1;
} }
offset_x = pcx_header.x1; offset_x = qtohs (pcx_header.x1);
offset_y = pcx_header.y1; offset_y = qtohs (pcx_header.y1);
width = pcx_header.x2 - offset_x + 1; width = qtohs (pcx_header.x2) - offset_x + 1;
height = pcx_header.y2 - offset_y + 1; height = qtohs (pcx_header.y2) - offset_y + 1;
if (pcx_header.planes == 3 && pcx_header.bpp == 8) { if (pcx_header.planes == 3 && pcx_header.bpp == 8) {
image= gimp_image_new (width, height, RGB); image= gimp_image_new (width, height, RGB);
@ -226,21 +242,21 @@ static gint32 load_image (char *filename) {
if (pcx_header.planes == 1 && pcx_header.bpp == 1) { if (pcx_header.planes == 1 && pcx_header.bpp == 1) {
dest = (guchar *) g_malloc (width * height); dest = (guchar *) g_malloc (width * height);
load_1(fd, width, height, dest, pcx_header.bytesperline); load_1(fd, width, height, dest, qtohs (pcx_header.bytesperline));
gimp_image_set_cmap (image, mono, 2); gimp_image_set_cmap (image, mono, 2);
} else if (pcx_header.planes == 4 && pcx_header.bpp == 1) { } else if (pcx_header.planes == 4 && pcx_header.bpp == 1) {
dest = (guchar *) g_malloc (width * height); dest = (guchar *) g_malloc (width * height);
load_4(fd, width, height, dest, pcx_header.bytesperline); load_4(fd, width, height, dest, qtohs (pcx_header.bytesperline));
gimp_image_set_cmap (image, pcx_header.colormap, 16); gimp_image_set_cmap (image, pcx_header.colormap, 16);
} else if (pcx_header.planes == 1 && pcx_header.bpp == 8) { } else if (pcx_header.planes == 1 && pcx_header.bpp == 8) {
dest = (guchar *) g_malloc (width * height); dest = (guchar *) g_malloc (width * height);
load_8(fd, width, height, dest, pcx_header.bytesperline); load_8(fd, width, height, dest, qtohs (pcx_header.bytesperline));
fseek(fd, -768L, SEEK_END); fseek(fd, -768L, SEEK_END);
fread(cmap, 768, 1, fd); fread(cmap, 768, 1, fd);
gimp_image_set_cmap (image, cmap, 256); gimp_image_set_cmap (image, cmap, 256);
} else if (pcx_header.planes == 3 && pcx_header.bpp == 8) { } else if (pcx_header.planes == 3 && pcx_header.bpp == 8) {
dest = (guchar *) g_malloc (width * height * 3); dest = (guchar *) g_malloc (width * height * 3);
load_24(fd, width, height, dest, pcx_header.bytesperline); load_24(fd, width, height, dest, qtohs (pcx_header.bytesperline));
} else { } else {
fprintf(stderr, "PCX: Unusual PCX flavour, giving up\n"); fprintf(stderr, "PCX: Unusual PCX flavour, giving up\n");
return -1; return -1;
@ -380,23 +396,23 @@ gint save_image (char *filename, gint32 image, gint32 layer) {
case INDEXED_IMAGE: case INDEXED_IMAGE:
cmap= gimp_image_get_cmap(image, &colors); cmap= gimp_image_get_cmap(image, &colors);
pcx_header.bpp = 8; pcx_header.bpp = 8;
pcx_header.bytesperline = width; pcx_header.bytesperline = htoqs (width);
pcx_header.planes = 1; pcx_header.planes = 1;
pcx_header.color = 1; pcx_header.color = htoqs (1);
break; break;
case RGB_IMAGE: case RGB_IMAGE:
pcx_header.bpp = 8; pcx_header.bpp = 8;
pcx_header.planes = 3; pcx_header.planes = 3;
pcx_header.color = 1; pcx_header.color = htoqs (1);
pcx_header.bytesperline = width; pcx_header.bytesperline = htoqs (width);
break; break;
case GRAY_IMAGE: case GRAY_IMAGE:
pcx_header.bpp = 8; pcx_header.bpp = 8;
pcx_header.planes = 1; pcx_header.planes = 1;
pcx_header.color = 2; pcx_header.color = htoqs (2);
pcx_header.bytesperline = width; pcx_header.bytesperline = htoqs (width);
break; break;
default: default:
@ -413,13 +429,13 @@ gint save_image (char *filename, gint32 image, gint32 layer) {
pixels= (guchar *) g_malloc(width * height * pcx_header.planes); pixels= (guchar *) g_malloc(width * height * pcx_header.planes);
gimp_pixel_rgn_get_rect(&pixel_rgn, pixels, 0, 0, width, height); gimp_pixel_rgn_get_rect(&pixel_rgn, pixels, 0, 0, width, height);
pcx_header.x1 = offset_x; pcx_header.x1 = htoqs (offset_x);
pcx_header.y1 = offset_y; pcx_header.y1 = htoqs (offset_y);
pcx_header.x2 = offset_x + width - 1; pcx_header.x2 = htoqs (offset_x + width - 1);
pcx_header.y2 = offset_y + height - 1; pcx_header.y2 = htoqs (offset_y + height - 1);
pcx_header.hdpi = 300; pcx_header.hdpi = htoqs (300);
pcx_header.vdpi = 300; pcx_header.vdpi = htoqs (300);
pcx_header.reserved = 0; pcx_header.reserved = 0;
fwrite(&pcx_header, 128, 1, fp); fwrite(&pcx_header, 128, 1, fp);

View File

@ -6,6 +6,8 @@
/* New for 1998 -- Load 1, 4, 8 & 24 bit PCX files */ /* New for 1998 -- Load 1, 4, 8 & 24 bit PCX files */
/* -- Save 8 & 24 bit PCX files */ /* -- Save 8 & 24 bit PCX files */
/* 1998-01-19 - fixed some endianness problems (Raphael Quinet) */
/* 1998-02-05 - merged patch with "official" tree, some tidying up (njl) */
/* Please contact me if you can't use your PCXs with this tool, I want /* Please contact me if you can't use your PCXs with this tool, I want
The GIMP to have the best file filters on the planet */ The GIMP to have the best file filters on the planet */
@ -22,6 +24,22 @@ static void query (void);
static void run (char *name, int nparams, GParam *param, int *nreturn_vals, static void run (char *name, int nparams, GParam *param, int *nreturn_vals,
GParam **return_vals); GParam **return_vals);
#if defined(_BIG_ENDIAN) || defined(sparc) || defined (__sgi)
#define qtohl(x) \
((unsigned long int)((((unsigned long int)(x) & 0x000000ffU) << 24) | \
(((unsigned long int)(x) & 0x0000ff00U) << 8) | \
(((unsigned long int)(x) & 0x00ff0000U) >> 8) | \
(((unsigned long int)(x) & 0xff000000U) >> 24)))
#define qtohs(x) \
((unsigned short int)((((unsigned short int)(x) & 0x00ff) << 8) | \
(((unsigned short int)(x) & 0xff00) >> 8)))
#else
#define qtohl(x) (x)
#define qtohs(x) (x)
#endif
#define htoql(x) qtohl(x)
#define htoqs(x) qtohs(x)
GPlugInInfo PLUG_IN_INFO = { NULL, NULL, query, run, }; GPlugInInfo PLUG_IN_INFO = { NULL, NULL, query, run, };
MAIN () MAIN ()
@ -55,7 +73,7 @@ static void query () {
"FIXME: write help for pcx_load", "FIXME: write help for pcx_load",
"Francisco Bustamante & Nick Lamb", "Francisco Bustamante & Nick Lamb",
"Nick Lamb <njl195@ecs.soton.ac.uk>", "Nick Lamb <njl195@ecs.soton.ac.uk>",
"1997", "January 1997",
"<Load>/PCX", "<Load>/PCX",
NULL, NULL,
PROC_PLUG_IN, PROC_PLUG_IN,
@ -67,7 +85,7 @@ static void query () {
"FIXME: write help for pcx_save", "FIXME: write help for pcx_save",
"Francisco Bustamante & Nick Lamb", "Francisco Bustamante & Nick Lamb",
"Nick Lamb <njl195@ecs.soton.ac.uk>", "Nick Lamb <njl195@ecs.soton.ac.uk>",
"1997", "January 1997",
"<Save>/PCX", "<Save>/PCX",
"INDEXED, RGB, GRAY", "INDEXED, RGB, GRAY",
PROC_PLUG_IN, PROC_PLUG_IN,
@ -154,25 +172,23 @@ static void run (char *name, int nparams, GParam *param, int *nreturn_vals,
} }
} }
#define BitSet(byte, bit) (((byte) & (bit)) == (bit))
guchar mono[6]= {0, 0, 0, 255, 255, 255}; guchar mono[6]= {0, 0, 0, 255, 255, 255};
static struct { static struct {
unsigned char manufacturer; guint8 manufacturer;
unsigned char version; guint8 version;
unsigned char compression; guint8 compression;
unsigned char bpp; guint8 bpp;
short int x1, y1; gint16 x1, y1;
short int x2, y2; gint16 x2, y2;
short int hdpi; gint16 hdpi;
short int vdpi; gint16 vdpi;
unsigned char colormap[48]; guint8 colormap[48];
unsigned char reserved; guint8 reserved;
unsigned char planes; guint8 planes;
short int bytesperline; gint16 bytesperline;
short int color; gint16 color;
unsigned char filler[58]; guint8 filler[58];
} pcx_header; } pcx_header;
static gint32 load_image (char *filename) { static gint32 load_image (char *filename) {
@ -205,10 +221,10 @@ static gint32 load_image (char *filename) {
return -1; return -1;
} }
offset_x = pcx_header.x1; offset_x = qtohs (pcx_header.x1);
offset_y = pcx_header.y1; offset_y = qtohs (pcx_header.y1);
width = pcx_header.x2 - offset_x + 1; width = qtohs (pcx_header.x2) - offset_x + 1;
height = pcx_header.y2 - offset_y + 1; height = qtohs (pcx_header.y2) - offset_y + 1;
if (pcx_header.planes == 3 && pcx_header.bpp == 8) { if (pcx_header.planes == 3 && pcx_header.bpp == 8) {
image= gimp_image_new (width, height, RGB); image= gimp_image_new (width, height, RGB);
@ -226,21 +242,21 @@ static gint32 load_image (char *filename) {
if (pcx_header.planes == 1 && pcx_header.bpp == 1) { if (pcx_header.planes == 1 && pcx_header.bpp == 1) {
dest = (guchar *) g_malloc (width * height); dest = (guchar *) g_malloc (width * height);
load_1(fd, width, height, dest, pcx_header.bytesperline); load_1(fd, width, height, dest, qtohs (pcx_header.bytesperline));
gimp_image_set_cmap (image, mono, 2); gimp_image_set_cmap (image, mono, 2);
} else if (pcx_header.planes == 4 && pcx_header.bpp == 1) { } else if (pcx_header.planes == 4 && pcx_header.bpp == 1) {
dest = (guchar *) g_malloc (width * height); dest = (guchar *) g_malloc (width * height);
load_4(fd, width, height, dest, pcx_header.bytesperline); load_4(fd, width, height, dest, qtohs (pcx_header.bytesperline));
gimp_image_set_cmap (image, pcx_header.colormap, 16); gimp_image_set_cmap (image, pcx_header.colormap, 16);
} else if (pcx_header.planes == 1 && pcx_header.bpp == 8) { } else if (pcx_header.planes == 1 && pcx_header.bpp == 8) {
dest = (guchar *) g_malloc (width * height); dest = (guchar *) g_malloc (width * height);
load_8(fd, width, height, dest, pcx_header.bytesperline); load_8(fd, width, height, dest, qtohs (pcx_header.bytesperline));
fseek(fd, -768L, SEEK_END); fseek(fd, -768L, SEEK_END);
fread(cmap, 768, 1, fd); fread(cmap, 768, 1, fd);
gimp_image_set_cmap (image, cmap, 256); gimp_image_set_cmap (image, cmap, 256);
} else if (pcx_header.planes == 3 && pcx_header.bpp == 8) { } else if (pcx_header.planes == 3 && pcx_header.bpp == 8) {
dest = (guchar *) g_malloc (width * height * 3); dest = (guchar *) g_malloc (width * height * 3);
load_24(fd, width, height, dest, pcx_header.bytesperline); load_24(fd, width, height, dest, qtohs (pcx_header.bytesperline));
} else { } else {
fprintf(stderr, "PCX: Unusual PCX flavour, giving up\n"); fprintf(stderr, "PCX: Unusual PCX flavour, giving up\n");
return -1; return -1;
@ -380,23 +396,23 @@ gint save_image (char *filename, gint32 image, gint32 layer) {
case INDEXED_IMAGE: case INDEXED_IMAGE:
cmap= gimp_image_get_cmap(image, &colors); cmap= gimp_image_get_cmap(image, &colors);
pcx_header.bpp = 8; pcx_header.bpp = 8;
pcx_header.bytesperline = width; pcx_header.bytesperline = htoqs (width);
pcx_header.planes = 1; pcx_header.planes = 1;
pcx_header.color = 1; pcx_header.color = htoqs (1);
break; break;
case RGB_IMAGE: case RGB_IMAGE:
pcx_header.bpp = 8; pcx_header.bpp = 8;
pcx_header.planes = 3; pcx_header.planes = 3;
pcx_header.color = 1; pcx_header.color = htoqs (1);
pcx_header.bytesperline = width; pcx_header.bytesperline = htoqs (width);
break; break;
case GRAY_IMAGE: case GRAY_IMAGE:
pcx_header.bpp = 8; pcx_header.bpp = 8;
pcx_header.planes = 1; pcx_header.planes = 1;
pcx_header.color = 2; pcx_header.color = htoqs (2);
pcx_header.bytesperline = width; pcx_header.bytesperline = htoqs (width);
break; break;
default: default:
@ -413,13 +429,13 @@ gint save_image (char *filename, gint32 image, gint32 layer) {
pixels= (guchar *) g_malloc(width * height * pcx_header.planes); pixels= (guchar *) g_malloc(width * height * pcx_header.planes);
gimp_pixel_rgn_get_rect(&pixel_rgn, pixels, 0, 0, width, height); gimp_pixel_rgn_get_rect(&pixel_rgn, pixels, 0, 0, width, height);
pcx_header.x1 = offset_x; pcx_header.x1 = htoqs (offset_x);
pcx_header.y1 = offset_y; pcx_header.y1 = htoqs (offset_y);
pcx_header.x2 = offset_x + width - 1; pcx_header.x2 = htoqs (offset_x + width - 1);
pcx_header.y2 = offset_y + height - 1; pcx_header.y2 = htoqs (offset_y + height - 1);
pcx_header.hdpi = 300; pcx_header.hdpi = htoqs (300);
pcx_header.vdpi = 300; pcx_header.vdpi = htoqs (300);
pcx_header.reserved = 0; pcx_header.reserved = 0;
fwrite(&pcx_header, 128, 1, fp); fwrite(&pcx_header, 128, 1, fp);