diff -Naurp gnumeric-1.0.9/configure gnumeric-1.0.9-cygwin/configure --- gnumeric-1.0.9/configure 2002-07-18 17:48:27.000000000 +0100 +++ gnumeric-1.0.9-cygwin/configure 2002-07-29 14:11:57.000000000 +0100 @@ -3724,7 +3724,8 @@ EOF else $CC -o impgen impgen.c ; fi)~ $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' - old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' +# old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' +old_archive_from_expsyms_cmds= # cygwin and mingw dlls have different entry points and sets of symbols # to exclude. @@ -5593,7 +5594,8 @@ old_postuninstall_cmds=$lt_old_postunins old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds +#old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds +old_archive_from_expsyms_cmds= # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds diff -Naurp gnumeric-1.0.9/plugins/applix/Makefile.in gnumeric-1.0.9-cygwin/plugins/applix/Makefile.in --- gnumeric-1.0.9/plugins/applix/Makefile.in 2002-07-18 19:07:56.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/applix/Makefile.in 2002-07-29 14:11:57.000000000 +0100 @@ -309,6 +309,7 @@ maintainer-clean-libtool: applix.la: $(applix_la_OBJECTS) $(applix_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_applixdir) $(applix_la_LDFLAGS) $(applix_la_OBJECTS) $(applix_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/derivatives/Makefile.in gnumeric-1.0.9-cygwin/plugins/derivatives/Makefile.in --- gnumeric-1.0.9/plugins/derivatives/Makefile.in 2002-07-18 19:08:05.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/derivatives/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -309,6 +309,7 @@ maintainer-clean-libtool: derivatives.la: $(derivatives_la_OBJECTS) $(derivatives_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_derivativesdir) $(derivatives_la_LDFLAGS) $(derivatives_la_OBJECTS) $(derivatives_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/dif/Makefile.in gnumeric-1.0.9-cygwin/plugins/dif/Makefile.in --- gnumeric-1.0.9/plugins/dif/Makefile.in 2002-07-18 19:07:55.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/dif/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -309,6 +309,7 @@ maintainer-clean-libtool: dif.la: $(dif_la_OBJECTS) $(dif_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_difdir) $(dif_la_LDFLAGS) $(dif_la_OBJECTS) $(dif_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/excel/Makefile.in gnumeric-1.0.9-cygwin/plugins/excel/Makefile.in --- gnumeric-1.0.9/plugins/excel/Makefile.in 2002-07-18 19:07:49.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/excel/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -312,7 +312,8 @@ maintainer-clean-libtool: excel.la: $(excel_la_OBJECTS) $(excel_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_exceldir) $(excel_la_LDFLAGS) $(excel_la_OBJECTS) $(excel_la_LIBADD) $(LIBS) - + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs bonobox bonobox_print gal) $$(orbit-config --libs client server) + install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(xmldir) diff -Naurp gnumeric-1.0.9/plugins/gb/Makefile.in gnumeric-1.0.9-cygwin/plugins/gb/Makefile.in --- gnumeric-1.0.9/plugins/gb/Makefile.in 2002-07-18 19:08:03.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/gb/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -317,6 +317,7 @@ maintainer-clean-libtool: gnum_gb.la: $(gnum_gb_la_OBJECTS) $(gnum_gb_la_DEPENDENCIES) $(LINK) -rpath $(gnum_gbdir) $(gnum_gb_la_LDFLAGS) $(gnum_gb_la_OBJECTS) $(gnum_gb_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/gda/Makefile.in gnumeric-1.0.9-cygwin/plugins/gda/Makefile.in --- gnumeric-1.0.9/plugins/gda/Makefile.in 2002-07-18 19:08:05.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/gda/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -310,6 +310,7 @@ maintainer-clean-libtool: gdaif.la: $(gdaif_la_OBJECTS) $(gdaif_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_gdaifdir) $(gdaif_la_LDFLAGS) $(gdaif_la_OBJECTS) $(gdaif_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/guile/Makefile.in gnumeric-1.0.9-cygwin/plugins/guile/Makefile.in --- gnumeric-1.0.9/plugins/guile/Makefile.in 2002-07-18 19:08:02.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/guile/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -314,6 +314,7 @@ maintainer-clean-libtool: guile.la: $(guile_la_OBJECTS) $(guile_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_guiledir) $(guile_la_LDFLAGS) $(guile_la_OBJECTS) $(guile_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) $$(guile-config link) install-GuilescriptsDATA: $(Guilescripts_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/guile/plugin.c gnumeric-1.0.9-cygwin/plugins/guile/plugin.c --- gnumeric-1.0.9/plugins/guile/plugin.c 2002-04-13 22:45:58.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/guile/plugin.c 2002-07-29 14:11:58.000000000 +0100 @@ -31,6 +31,11 @@ #include #include +#ifdef __CYGWIN__ +volatile SCM* import_scm_sys_protects = scm_sys_protects; +#define scm_sys_protects import_scm_sys_protects +#endif /* __CYGWIN__ */ + #include "plugin.h" #include "plugin-util.h" #include "error-info.h" diff -Naurp gnumeric-1.0.9/plugins/html/Makefile.in gnumeric-1.0.9-cygwin/plugins/html/Makefile.in --- gnumeric-1.0.9/plugins/html/Makefile.in 2002-07-18 19:07:54.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/html/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -312,6 +312,7 @@ maintainer-clean-libtool: html.la: $(html_la_OBJECTS) $(html_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_htmldir) $(html_la_LDFLAGS) $(html_la_OBJECTS) $(html_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/lotus-123/Makefile.in gnumeric-1.0.9-cygwin/plugins/lotus-123/Makefile.in --- gnumeric-1.0.9/plugins/lotus-123/Makefile.in 2002-07-18 19:07:50.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/lotus-123/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -310,6 +310,7 @@ maintainer-clean-libtool: lotus.la: $(lotus_la_OBJECTS) $(lotus_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_lotusdir) $(lotus_la_LDFLAGS) $(lotus_la_OBJECTS) $(lotus_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/mkdll.sh gnumeric-1.0.9-cygwin/plugins/mkdll.sh --- gnumeric-1.0.9/plugins/mkdll.sh 1970-01-01 00:00:00.000000000 +0000 +++ gnumeric-1.0.9-cygwin/plugins/mkdll.sh 2002-07-29 14:11:58.000000000 +0100 @@ -0,0 +1,68 @@ +#!/bin/sh + +# script to generate dll from libtool-generated static archive (.la file) +# invoke with: +# mkdll.sh +# eg: +# mkdll.sh libtest.la -L/usr/local/lib -llocal + +# defaults to using gcc for libraries written in C. +# set the CC env var to use a different compiler driver: eg +# export CC=g++ +# for C++ libraries + +# defaults to using /usr/local as the installation PREFIX +# override this by setting the PREFIX env var: eg +# export PREFIX=/opt/gnome + +archive=$1 +test -f $archive || { echo $(basename $0): $archive not found; exit 1; } + +module="$(basename "$archive" .la)" + +shift +dependency_libs="$@" + +test -n "$CC" || CC=gcc +prefix=${PREFIX:=/usr/local} + +# get the static library name +# first look in the .la archive +old_lib=$(sed -ne '/^old_library=/ s,^old_library='\''\(.*\)'\''.*$,\1,p' .libs/$archive) +# if not there, use default name +test -n "$old_lib" || old_lib=${module}.a + + + +# update the archive with the dll and import lib name; fix install dir; remove relink command +# (${prefix}/lib is hard-coded here - edit it if necessary) +libdir=${prefix}/lib +if sed -e 's,^dlname='\'\'',dlname='\'cyg${module}.dll\'',' \ + -e 's,^library_names='\'\'',library_names='\'lib${module}.dll.a\'',' \ + -e '/^libdir=/ s,='\'\'',='\'$libdir\'',' \ + -e '/^relink_command=/ s,^$,,' \ + .libs/$archive > .libs/${archive}.tmp +then cat .libs/${archive}.tmp > .libs/${archive} +fi +rm -f .libs/${archive}.tmp + +# update the install archive if it exists +if [ -f .libs/${archive}i ] ; then + if sed -e 's,^dlname='\'\'',dlname='\'cyg${module}.dll\'',' \ + -e 's,^library_names='\'\'',library_names='\'lib${module}.dll.a\'',' \ + -e '/^relink_command=/ s,^$,,' \ + .libs/${archive}i > .libs/${archive}i.tmp + then cat .libs/${archive}i.tmp > .libs/${archive}i + fi + rm -f .libs/${archive}i.tmp +fi + + +# report the link command to stdout +eval echo $CC -shared -o cyg${module}.dll -Wl,--out-implib=lib${module}.dll.a \ +-Wl,--export-all-symbols -Wl,--whole-archive $old_lib -Wl,--no-whole-archive ${dependency_libs} + +# do the link command - if it fails, remove archive so make knows to re-build it +eval $CC -shared -o .libs/cyg${module}.dll -Wl,--out-implib=.libs/lib${module}.dll.a -Wl,--export-all-symbols \ +-Wl,--whole-archive .libs/$old_lib -Wl,--no-whole-archive ${dependency_libs} || { rm -f $archive; false; } + diff -Naurp gnumeric-1.0.9/plugins/mps/Makefile.in gnumeric-1.0.9-cygwin/plugins/mps/Makefile.in --- gnumeric-1.0.9/plugins/mps/Makefile.in 2002-07-18 19:07:58.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/mps/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -309,6 +309,7 @@ maintainer-clean-libtool: mps.la: $(mps_la_OBJECTS) $(mps_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_mpsdir) $(mps_la_LDFLAGS) $(mps_la_OBJECTS) $(mps_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/numtheory/Makefile.in gnumeric-1.0.9-cygwin/plugins/numtheory/Makefile.in --- gnumeric-1.0.9/plugins/numtheory/Makefile.in 2002-07-18 19:08:04.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/numtheory/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -309,6 +309,7 @@ maintainer-clean-libtool: numtheory.la: $(numtheory_la_OBJECTS) $(numtheory_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_numtheorydir) $(numtheory_la_LDFLAGS) $(numtheory_la_OBJECTS) $(numtheory_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/oleo/Makefile.in gnumeric-1.0.9-cygwin/plugins/oleo/Makefile.in --- gnumeric-1.0.9/plugins/oleo/Makefile.in 2002-07-18 19:07:50.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/oleo/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -309,6 +309,7 @@ maintainer-clean-libtool: oleo.la: $(oleo_la_OBJECTS) $(oleo_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_oleodir) $(oleo_la_LDFLAGS) $(oleo_la_OBJECTS) $(oleo_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs bonobox bonobox_print gal) $$(orbit-config --libs client server) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/psiconv/Makefile.in gnumeric-1.0.9-cygwin/plugins/psiconv/Makefile.in --- gnumeric-1.0.9/plugins/psiconv/Makefile.in 2002-07-18 19:07:59.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/psiconv/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -311,6 +311,7 @@ maintainer-clean-libtool: psiconv.la: $(psiconv_la_OBJECTS) $(psiconv_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_psiconvdir) $(psiconv_la_LDFLAGS) $(psiconv_la_OBJECTS) $(psiconv_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/python/Makefile.in gnumeric-1.0.9-cygwin/plugins/python/Makefile.in --- gnumeric-1.0.9/plugins/python/Makefile.in 2002-07-18 19:08:00.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/python/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -315,6 +315,7 @@ maintainer-clean-libtool: python.la: $(python_la_OBJECTS) $(python_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_pythondir) $(python_la_LDFLAGS) $(python_la_OBJECTS) $(python_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-PythonscriptsDATA: $(Pythonscripts_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/python-loader/Makefile.in gnumeric-1.0.9-cygwin/plugins/python-loader/Makefile.in --- gnumeric-1.0.9/plugins/python-loader/Makefile.in 2002-07-18 19:08:07.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/python-loader/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -312,6 +312,7 @@ maintainer-clean-libtool: python_loader.la: $(python_loader_la_OBJECTS) $(python_loader_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_python_loaderdir) $(python_loader_la_LDFLAGS) $(python_loader_la_OBJECTS) $(python_loader_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/sc/Makefile.in gnumeric-1.0.9-cygwin/plugins/sc/Makefile.in --- gnumeric-1.0.9/plugins/sc/Makefile.in 2002-07-18 19:07:51.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/sc/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -309,6 +309,7 @@ maintainer-clean-libtool: sc.la: $(sc_la_OBJECTS) $(sc_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_scdir) $(sc_la_LDFLAGS) $(sc_la_OBJECTS) $(sc_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/sylk/Makefile.in gnumeric-1.0.9-cygwin/plugins/sylk/Makefile.in --- gnumeric-1.0.9/plugins/sylk/Makefile.in 2002-07-18 19:07:52.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/sylk/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -309,6 +309,7 @@ maintainer-clean-libtool: sylk.la: $(sylk_la_OBJECTS) $(sylk_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_sylkdir) $(sylk_la_LDFLAGS) $(sylk_la_OBJECTS) $(sylk_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/xbase/Makefile.in gnumeric-1.0.9-cygwin/plugins/xbase/Makefile.in --- gnumeric-1.0.9/plugins/xbase/Makefile.in 2002-07-18 19:07:53.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/xbase/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -309,6 +309,7 @@ maintainer-clean-libtool: xbase.la: $(xbase_la_OBJECTS) $(xbase_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_xbasedir) $(xbase_la_LDFLAGS) $(xbase_la_OBJECTS) $(xbase_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/plugins/xml_sax/Makefile.in gnumeric-1.0.9-cygwin/plugins/xml_sax/Makefile.in --- gnumeric-1.0.9/plugins/xml_sax/Makefile.in 2002-07-18 19:07:56.000000000 +0100 +++ gnumeric-1.0.9-cygwin/plugins/xml_sax/Makefile.in 2002-07-29 14:11:58.000000000 +0100 @@ -309,6 +309,7 @@ maintainer-clean-libtool: xml_sax.la: $(xml_sax_la_OBJECTS) $(xml_sax_la_DEPENDENCIES) $(LINK) -rpath $(gnumeric_plugin_xml_saxdir) $(xml_sax_la_LDFLAGS) $(xml_sax_la_OBJECTS) $(xml_sax_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh ../mkdll.sh $@ $(top_builddir)/src/libgnumeric.dll.a $$(libole2-config --libs) $$(gnome-config --libs gal) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) diff -Naurp gnumeric-1.0.9/src/Makefile.in gnumeric-1.0.9-cygwin/src/Makefile.in --- gnumeric-1.0.9/src/Makefile.in 2002-07-18 19:07:39.000000000 +0100 +++ gnumeric-1.0.9-cygwin/src/Makefile.in 2002-07-29 14:11:59.000000000 +0100 @@ -194,10 +194,10 @@ SUBDIRS = dialogs functions widgets bin_PROGRAMS = gnumeric #noinst_PROGRAMS = number-match -INCLUDES = -DGNOMELOCALEDIR=\""$(datadir)/locale"\" -DGNUMERIC_DATADIR=\""$(gnumeric_datadir)"\" -DGNUMERIC_LIBDIR=\""$(gnumeric_libdir)"\" -DGNOME_ICONDIR=\""$(datadir)/pixmaps"\" -I$(includedir) -I$(top_srcdir) -I$(srcdir) -I$(srcdir)/widgets -I$(srcdir)/functions -I$(srcdir)/dialogs $(GNUMERIC_CFLAGS) +INCLUDES = -DGNOMELOCALEDIR=\""$(datadir)/locale"\" -DGNUMERIC_DATADIR=\""$(gnumeric_datadir)"\" -DGNUMERIC_LIBDIR=\""$(gnumeric_libdir)"\" -DGNOME_ICONDIR=\""$(datadir)/pixmaps"\" -I$(includedir) -I$(top_srcdir) -I$(srcdir) -I$(srcdir)/widgets -I$(srcdir)/functions -I$(srcdir)/dialogs $(GNUMERIC_CFLAGS) $(DLL_CFLAGS) -GNUMERIC_BASE = analysis-tools.c analysis-tools.h application.c application.h auto-format.c auto-format.h auto-correct.c auto-correct.h cell.h cell.c cell-draw.c cell-draw.h cellspan.c cellspan.h clipboard.c clipboard.h cmd-edit.h cmd-edit.c collect.h collect.c colrow.c colrow.h commands.h commands.c complete.c complete.h complete-sheet.c complete-sheet.h command-context.c command-context.h command-context-priv.h command-context-stderr.c command-context-stderr.h consolidate.c consolidate.h io-context.c io-context.h io-context-priv.h complex.h complex.c corba.h dates.c dates.h datetime.c datetime.h error-info.c error-info.h eval.h eval.c expr.c expr.h expr-name.c expr-name.h file.c file.h file-priv.h file-autoft.c file-autoft.h format-template.h format-template.c formats.h formats.c func.c func.h func-util.h format.c format.h global-gnome-font.c global-gnome-font.h goal-seek.c goal-seek.h gnumeric-simple-canvas.c gnumeric-simple-canvas.h gnumeric-canvas.c gnumeric-canvas.h gnumeric-pane.c gnumeric-pane.h gnumeric.h gui-clipboard.c gui-clipboard.h gui-file.c gui-file.h gui-util.c gui-util.h gui-gnumeric.h gutils.c gutils.h history.c history.h item-acetate.c item-acetate.h item-bar.c item-bar.h item-cursor.c item-cursor.h item-debug.c item-debug.h item-edit.c item-edit.h item-grid.c item-grid.h main.h main.c mathfunc.c mathfunc.h module-plugin-defs.h mstyle.c mstyle.h number-match.c number-match.h numbers.h parser.y parse-util.c parse-util.h pattern.h pattern.c plugin-loader-module.c plugin-loader-module.h plugin-loader.c plugin-loader.h plugin-service.c plugin-service.h plugin-util.c plugin-util.h plugin.c plugin.h portability.h position.c position.h preview-grid.c preview-grid.h print.c print.h print-cell.c print-cell.h print-info.c print-info.h rangefunc.c rangefunc.h ranges.c ranges.h regression.c regression.h rendered-value.c rendered-value.h search.h search.c selection.c selection.h sheet.c sheet.h sheet-merge.c sheet-merge.h sheet-private.h sheet-autofill.c sheet-autofill.h sheet-object.c sheet-object.h sheet-object-impl.h sheet-object-cell-comment.c sheet-object-cell-comment.h sheet-object-graphic.c sheet-object-graphic.h sheet-object-widget.c sheet-object-widget.h sheet-style.c sheet-style.h sheet-control.c sheet-control.h sheet-control-priv.h sheet-control-gui.c sheet-control-gui.h sheet-control-gui-priv.h solver-lp.c solver.h sort.c sort.h str.c str.h stf.c stf.h stf-export.c stf-export.h stf-parse.c stf-parse.h style.c style.h style-border.c style-border.h style-color.c style-color.h summary.c summary.h symbol.h symbol.c validation.c validation.h value.c value.h value-sheet.c workbook.c workbook.h workbook-cmd-format.c workbook-cmd-format.h workbook-edit.c workbook-edit.h workbook-format-toolbar.c workbook-format-toolbar.h workbook-object-toolbar.c workbook-object-toolbar.h workbook-private.h workbook-private.c workbook-view.c workbook-view.h workbook-control.c workbook-control.h workbook-control-priv.h workbook-control-gui.c workbook-control-gui.h workbook-control-gui-priv.h xml-io.c xml-io.h xml-io-version.h xml-io-autoft.c xml-io-autoft.h +GNUMERIC_BASE = analysis-tools.c analysis-tools.h application.c application.h auto-format.c auto-format.h auto-correct.c auto-correct.h cell.h cell.c cell-draw.c cell-draw.h cellspan.c cellspan.h clipboard.c clipboard.h cmd-edit.h cmd-edit.c collect.h collect.c colrow.c colrow.h commands.h commands.c complete.c complete.h complete-sheet.c complete-sheet.h command-context.c command-context.h command-context-priv.h command-context-stderr.c command-context-stderr.h consolidate.c consolidate.h io-context.c io-context.h io-context-priv.h complex.h complex.c corba.h dates.c dates.h datetime.c datetime.h error-info.c error-info.h eval.h eval.c expr.c expr.h expr-name.c expr-name.h file.c file.h file-priv.h file-autoft.c file-autoft.h format-template.h format-template.c formats.h formats.c func.c func.h func-util.h format.c format.h global-gnome-font.c global-gnome-font.h goal-seek.c goal-seek.h gnumeric-simple-canvas.c gnumeric-simple-canvas.h gnumeric-canvas.c gnumeric-canvas.h gnumeric-pane.c gnumeric-pane.h gnumeric.h gui-clipboard.c gui-clipboard.h gui-file.c gui-file.h gui-util.c gui-util.h gui-gnumeric.h gutils.c gutils.h history.c history.h item-acetate.c item-acetate.h item-bar.c item-bar.h item-cursor.c item-cursor.h item-debug.c item-debug.h item-edit.c item-edit.h item-grid.c item-grid.h main.h main.c mathfunc.c mathfunc.h module-plugin-defs.h mstyle.c mstyle.h number-match.c number-match.h numbers.h parser.y parse-util.c parse-util.h pattern.h pattern.c plugin-loader-module.c plugin-loader-module.h plugin-loader.c plugin-loader.h plugin-service.c plugin-service.h plugin-util.c plugin-util.h plugin.c plugin.h portability.h position.c position.h preview-grid.c preview-grid.h print.c print.h print-cell.c print-cell.h print-info.c print-info.h rangefunc.c rangefunc.h ranges.c ranges.h regression.c regression.h rendered-value.c rendered-value.h search.h search.c selection.c selection.h sheet.c sheet.h sheet-merge.c sheet-merge.h sheet-private.h sheet-autofill.c sheet-autofill.h sheet-object.c sheet-object.h sheet-object-impl.h sheet-object-cell-comment.c sheet-object-cell-comment.h sheet-object-graphic.c sheet-object-graphic.h sheet-object-widget.c sheet-object-widget.h sheet-style.c sheet-style.h sheet-control.c sheet-control.h sheet-control-priv.h sheet-control-gui.c sheet-control-gui.h sheet-control-gui-priv.h solver-lp.c solver.h sort.c sort.h str.c str.h stf.c stf.h stf-export.c stf-export.h stf-parse.c stf-parse.h style.c style.h style-border.c style-border.h style-color.c style-color.h summary.c summary.h symbol.h symbol.c validation.c validation.h value.c value.h value-sheet.c workbook.c workbook.h workbook-cmd-format.c workbook-cmd-format.h workbook-edit.c workbook-edit.h workbook-format-toolbar.c workbook-format-toolbar.h workbook-object-toolbar.c workbook-object-toolbar.h workbook-private.h workbook-private.c workbook-view.c workbook-view.h workbook-control.c workbook-control.h workbook-control-priv.h workbook-control-gui.c workbook-control-gui.h workbook-control-gui-priv.h xml-io.c xml-io.h xml-io-version.h xml-io-autoft.c xml-io-autoft.h cygwin-dll.c # TODO : split the bonobo and corba tests one day @@ -212,9 +212,9 @@ GNUMERIC_BONOBO = bonobo-io.c bono @BONOBO_TRUE@gnumeric_LDADD = $(gnumeric_app_libs) ../idl/libGnumericIDL.a $(GNUMERIC_LIBS) $(INTLLIBS) @BONOBO_FALSE@gnumeric_LDADD = $(gnumeric_app_libs) $(GNUMERIC_LIBS) $(INTLLIBS) -gnumeric_LDFLAGS = -export-dynamic +#gnumeric_LDFLAGS = -export-dynamic -gnumeric_app_libs = dialogs/libdialogs.a widgets/libwidgets.a functions/libfunctions.a +#gnumeric_app_libs = dialogs/libdialogs.a widgets/libwidgets.a functions/libfunctions.a # include conditional files to ensure everything gets distributed no matter @@ -242,6 +242,9 @@ PROGRAMS = $(bin_PROGRAMS) DEFS = @DEFS@ -I. -I$(srcdir) -I.. LIBS = @LIBS@ + +main_OBJECTS = main.$(OBJEXT) + @BONOBO_FALSE@gnumeric_OBJECTS = analysis-tools.$(OBJEXT) \ @BONOBO_FALSE@application.$(OBJEXT) auto-format.$(OBJEXT) \ @BONOBO_FALSE@auto-correct.$(OBJEXT) cell.$(OBJEXT) cell-draw.$(OBJEXT) \ @@ -262,7 +265,7 @@ LIBS = @LIBS@ @BONOBO_FALSE@gui-util.$(OBJEXT) gutils.$(OBJEXT) history.$(OBJEXT) \ @BONOBO_FALSE@item-acetate.$(OBJEXT) item-bar.$(OBJEXT) \ @BONOBO_FALSE@item-cursor.$(OBJEXT) item-debug.$(OBJEXT) \ -@BONOBO_FALSE@item-edit.$(OBJEXT) item-grid.$(OBJEXT) main.$(OBJEXT) \ +@BONOBO_FALSE@item-edit.$(OBJEXT) item-grid.$(OBJEXT) \ @BONOBO_FALSE@mathfunc.$(OBJEXT) mstyle.$(OBJEXT) \ @BONOBO_FALSE@number-match.$(OBJEXT) parser.$(OBJEXT) \ @BONOBO_FALSE@parse-util.$(OBJEXT) pattern.$(OBJEXT) \ @@ -292,6 +295,8 @@ LIBS = @LIBS@ @BONOBO_FALSE@workbook-control.$(OBJEXT) workbook-control-gui.$(OBJEXT) \ @BONOBO_FALSE@xml-io.$(OBJEXT) xml-io-autoft.$(OBJEXT) \ @BONOBO_FALSE@normal-args.$(OBJEXT) + + @BONOBO_TRUE@gnumeric_OBJECTS = analysis-tools.$(OBJEXT) \ @BONOBO_TRUE@application.$(OBJEXT) auto-format.$(OBJEXT) \ @BONOBO_TRUE@auto-correct.$(OBJEXT) cell.$(OBJEXT) cell-draw.$(OBJEXT) \ @@ -311,7 +316,7 @@ LIBS = @LIBS@ @BONOBO_TRUE@gui-util.$(OBJEXT) gutils.$(OBJEXT) history.$(OBJEXT) \ @BONOBO_TRUE@item-acetate.$(OBJEXT) item-bar.$(OBJEXT) \ @BONOBO_TRUE@item-cursor.$(OBJEXT) item-debug.$(OBJEXT) \ -@BONOBO_TRUE@item-edit.$(OBJEXT) item-grid.$(OBJEXT) main.$(OBJEXT) \ +@BONOBO_TRUE@item-edit.$(OBJEXT) item-grid.$(OBJEXT) \ @BONOBO_TRUE@mathfunc.$(OBJEXT) mstyle.$(OBJEXT) number-match.$(OBJEXT) \ @BONOBO_TRUE@parser.$(OBJEXT) parse-util.$(OBJEXT) pattern.$(OBJEXT) \ @BONOBO_TRUE@plugin-loader-module.$(OBJEXT) plugin-loader.$(OBJEXT) \ @@ -343,6 +348,8 @@ LIBS = @LIBS@ @BONOBO_TRUE@sheet-object-container.$(OBJEXT) \ @BONOBO_TRUE@sheet-object-item.$(OBJEXT) \ @BONOBO_TRUE@workbook-control-corba.$(OBJEXT) + + @BONOBO_FALSE@gnumeric_DEPENDENCIES = dialogs/libdialogs.a \ @BONOBO_FALSE@widgets/libwidgets.a functions/libfunctions.a @BONOBO_TRUE@gnumeric_DEPENDENCIES = dialogs/libdialogs.a \ @@ -395,6 +402,7 @@ install-binPROGRAMS: $(bin_PROGRAMS) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ else :; fi; \ done + cp cyggnumeric.dll $(DESTDIR)$(bindir) uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @@ -446,9 +454,15 @@ distclean-libtool: maintainer-clean-libtool: -gnumeric$(EXEEXT): $(gnumeric_OBJECTS) $(gnumeric_DEPENDENCIES) +gnumeric$(EXEEXT): $(main_OBJECTS) cyggnumeric.dll @rm -f gnumeric$(EXEEXT) - $(LINK) $(gnumeric_LDFLAGS) $(gnumeric_OBJECTS) $(gnumeric_LDADD) $(LIBS) + $(LINK) $(gnumeric_LDFLAGS) $(main_OBJECTS) libgnumeric.dll.a $(gnumeric_LDADD) $(LIBS) + +libgnumeric.dll.a cyggnumeric.dll: DLL_CFLAGS=-DBUILD_DLL +libgnumeric.dll.a cyggnumeric.dll: $(gnumeric_OBJECTS) $(gnumeric_DEPENDENCIES) + @rm -f $@ + gcc -shared -o $@ -Wl,--out-implib=libgnumeric.dll.a $(gnumeric_OBJECTS) -Wl,--whole-archive functions/libfunctions.a widgets/libwidgets.a dialogs/libdialogs.a ../idl/libGnumericIDL.a -Wl,--no-whole-archive $$(gnome-config --libs bonobox bonobox_print gal) $$(orbit-config --libs client server) $(LIBS) + .y.c: $(YACC) $(AM_YFLAGS) $(YFLAGS) $< && mv y.tab.c $*.c if test -f y.tab.h; then \ @@ -1267,6 +1281,7 @@ xml-io.o: xml-io.c ../gnumeric-config.h validation.h sheet-merge.h command-context.h workbook-control.h \ workbook-view.h workbook.h summary.h selection.h clipboard.h \ format.h ranges.h plugin-util.h +cygwin-dll.o: cygwin-dll.c main.h info-am: info: info-recursive diff -Naurp gnumeric-1.0.9/src/corba-args.c gnumeric-1.0.9-cygwin/src/corba-args.c --- gnumeric-1.0.9/src/corba-args.c 2001-12-21 23:50:47.000000000 +0000 +++ gnumeric-1.0.9-cygwin/src/corba-args.c 2002-07-29 14:11:59.000000000 +0100 @@ -21,21 +21,86 @@ #include #include +#ifdef __CYGWIN__ +static poptContext ctx = NULL; +const char **startup_files = NULL; + +int gnumeric_show_version = FALSE; +char *gnumeric_lib_dir = GNUMERIC_LIBDIR; +char *gnumeric_data_dir = GNUMERIC_DATADIR; +char *dump_file_name = NULL; +int gnumeric_debugging = 0; +int dependency_debugging = 0; +int print_debugging = 0; +gboolean libole2_debug = FALSE; +char *x_geometry = NULL; +int immediate_exit_flag = 0; + + + +static const struct poptOption +gnumeric_popt_options[] = { + { "version", 'v', POPT_ARG_NONE, &gnumeric_show_version, 0, + N_("Display Gnumeric's version"), NULL }, + { "lib-dir", 'L', POPT_ARG_STRING, &gnumeric_lib_dir, 0, + N_("Set the root library directory"), NULL }, + { "data-dir", 'D', POPT_ARG_STRING, &gnumeric_data_dir, 0, + N_("Adjust the root data directory"), NULL }, + + { "dump-func-defs", '\0', POPT_ARG_STRING, &dump_file_name, 0, + N_("Dumps the function definitions"), N_("FILE") }, + + { "debug", '\0', POPT_ARG_INT, &gnumeric_debugging, 0, + N_("Enables some debugging functions"), N_("LEVEL") }, + + { "debug_deps", '\0', POPT_ARG_INT, &dependency_debugging, 0, + N_("Enables some dependency related debugging functions"), N_("LEVEL") }, + { "debug_print", '\0', POPT_ARG_INT, &print_debugging, 0, + N_("Enables some print debugging behavior"), N_("LEVEL") }, + + { "debug_ole", '\0', POPT_ARG_NONE, + &libole2_debug, 0, + N_("Enables extra consistency checking while reading ole files"), + NULL }, + + { "geometry", 'g', POPT_ARG_STRING, &x_geometry, 0, + N_("Specify the size and location of the initial window"), N_("WIDTHxHEIGHT+XOFF+YOFF") + }, + + { "quit", '\0', POPT_ARG_NONE, &immediate_exit_flag, 0, + N_("Exit immediately after loading the selected books (useful for testing)."), NULL }, + + { NULL, '\0', 0, NULL, 0 } +}; + +void +gnumeric_args_free() +{ + if (ctx) + poptFreeContext (ctx); + +} + +#endif /* __CYGWIN__ */ + void gnumeric_arg_parse (int argc, char *argv []) { CORBA_ORB orb; ctx = NULL; - - gnomelib_register_popt_table (oaf_popt_options, _("Oaf options")); + gnomelib_register_popt_table (oaf_popt_options, _("Oaf options")); gnome_init_with_popt_table ("gnumeric", VERSION, argc, argv, gnumeric_popt_options, 0, &ctx); - orb = oaf_init (argc, argv); if (bonobo_init (orb, NULL, NULL) == FALSE) g_error ("Failure starting up Bonobo"); + +#ifdef __CYGWIN__ + if (ctx) + startup_files = poptGetArgs (ctx); +#endif } static void diff -Naurp gnumeric-1.0.9/src/dialogs/Makefile.in gnumeric-1.0.9-cygwin/src/dialogs/Makefile.in --- gnumeric-1.0.9/src/dialogs/Makefile.in 2002-07-18 19:07:42.000000000 +0100 +++ gnumeric-1.0.9-cygwin/src/dialogs/Makefile.in 2002-07-29 14:11:59.000000000 +0100 @@ -213,7 +213,7 @@ CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) -DEFS = @DEFS@ -I. -I$(srcdir) -I../.. +DEFS = @DEFS@ -I. -I$(srcdir) -I../.. -DBUILD_DLL LIBS = @LIBS@ libdialogs_a_LIBADD = @BONOBO_FALSE@libdialogs_a_OBJECTS = dialog-about.$(OBJEXT) \ @@ -243,7 +243,7 @@ libdialogs_a_LIBADD = @BONOBO_FALSE@dialog-stf-export-format-page.$(OBJEXT) \ @BONOBO_FALSE@dialog-tabulate.$(OBJEXT) dialog-summary.$(OBJEXT) \ @BONOBO_FALSE@dialog-workbook-attr.$(OBJEXT) dialog-zoom.$(OBJEXT) \ -@BONOBO_FALSE@utils-dialog.$(OBJEXT) utils-dialog.$(OBJEXT) +@BONOBO_FALSE@utils-dialog.$(OBJEXT) @BONOBO_TRUE@libdialogs_a_OBJECTS = dialog-about.$(OBJEXT) \ @BONOBO_TRUE@dialog-advanced-filter.$(OBJEXT) \ @BONOBO_TRUE@dialog-analysis-tools.$(OBJEXT) \ @@ -271,7 +271,7 @@ libdialogs_a_LIBADD = @BONOBO_TRUE@dialog-stf-export-format-page.$(OBJEXT) \ @BONOBO_TRUE@dialog-tabulate.$(OBJEXT) dialog-summary.$(OBJEXT) \ @BONOBO_TRUE@dialog-workbook-attr.$(OBJEXT) dialog-zoom.$(OBJEXT) \ -@BONOBO_TRUE@utils-dialog.$(OBJEXT) utils-dialog.$(OBJEXT) \ +@BONOBO_TRUE@utils-dialog.$(OBJEXT) \ @BONOBO_TRUE@dialog-graph-guru.$(OBJEXT) AR = ar COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) diff -Naurp gnumeric-1.0.9/src/formats.h gnumeric-1.0.9-cygwin/src/formats.h --- gnumeric-1.0.9/src/formats.h 2001-09-16 06:25:58.000000000 +0100 +++ gnumeric-1.0.9-cygwin/src/formats.h 2002-07-29 14:11:59.000000000 +0100 @@ -1,6 +1,13 @@ #ifndef GNUMERIC_FORMATS_H #define GNUMERIC_FORMATS_H + +#if defined(__CYGWIN__) && !defined(BUILD_DLL) +#define DLL_IMPORT __declspec(dllimport) +#else +#define DLL_IMPORT +#endif + typedef enum { FMT_UNKNOWN = -1, @@ -36,9 +43,9 @@ typedef struct FormatFamily cell_format_classify (char const * const fmt, FormatCharacteristics *info); /* Indexed by FormatCharacteristics */ -extern char const * const * const cell_formats []; +extern DLL_IMPORT char const * const * const cell_formats []; -extern CurrencySymbol const currency_symbols []; +extern DLL_IMPORT CurrencySymbol const currency_symbols []; void currency_date_format_init (void); void currency_date_format_shutdown (void); diff -Naurp gnumeric-1.0.9/src/main.c gnumeric-1.0.9-cygwin/src/main.c --- gnumeric-1.0.9/src/main.c 2002-04-14 14:41:23.000000000 +0100 +++ gnumeric-1.0.9-cygwin/src/main.c 2002-07-29 14:11:59.000000000 +0100 @@ -60,7 +60,13 @@ extern gboolean EmbeddableGridFactory_in #include #endif +#ifndef __CYGWIN__ +/* For cygwin, all of these have to be moved inside the DLL, + and then exported from there. + */ + /* The debugging level */ + int gnumeric_debugging = 0; int style_debugging = 0; int dependency_debugging = 0; @@ -69,9 +75,9 @@ int print_debugging = 0; gboolean initial_workbook_open_complete = FALSE; extern gboolean libole2_debug; -static char *dump_file_name = NULL; static const char **startup_files = NULL; static int gnumeric_show_version = FALSE; +static char *dump_file_name = NULL; char *gnumeric_lib_dir = GNUMERIC_LIBDIR; char *gnumeric_data_dir = GNUMERIC_DATADIR; char *x_geometry; @@ -113,6 +119,8 @@ gnumeric_popt_options[] = { { NULL, '\0', 0, NULL, 0 } }; +#endif /* !__CYGWIN__ */ + static void handle_paint_events (void) { @@ -137,6 +145,7 @@ gnumeric_check_for_components (void) } #endif + /* * FIXME: We hardcode the GUI command context. Change once we are able * to tell whether we are in GUI or not. @@ -226,11 +235,13 @@ main (int argc, char *argv []) g_warning (_("Could not initialize EmbeddableGrid factory")); #endif +#ifndef __CYGWIN__ /* Load selected files */ if (ctx) startup_files = poptGetArgs (ctx); else startup_files = NULL; +#endif #ifdef ENABLE_BONOBO bonobo_activate (); @@ -248,8 +259,12 @@ main (int argc, char *argv []) } } +#ifdef __CYGWIN__ + gnumeric_args_free(); +#else if (ctx) poptFreeContext (ctx); +#endif /* If we were intentionally short circuited exit now */ if (!initial_workbook_open_complete && !immediate_exit_flag) { diff -Naurp gnumeric-1.0.9/src/main.h gnumeric-1.0.9-cygwin/src/main.h --- gnumeric-1.0.9/src/main.h 2001-11-27 16:24:38.000000000 +0000 +++ gnumeric-1.0.9-cygwin/src/main.h 2002-07-29 14:11:59.000000000 +0100 @@ -3,8 +3,27 @@ #include +#ifdef __CYGWIN__ +/* DLL export rules mean that these have to be moved + from main.c to a file in the DLL, then + exported from there. + */ +extern char *gnumeric_lib_dir; +extern char *gnumeric_data_dir; +extern char *dump_file_name; +extern int gnumeric_show_version; +extern int immediate_exit_flag; +extern const char **startup_files; + +void gnumeric_args_free(); + +#else + extern const struct poptOption gnumeric_popt_options []; extern poptContext ctx; + +#endif /* __CYGWIN__ */ + extern int gnumeric_debugging; extern int style_debugging; extern int dependency_debugging; diff -Naurp gnumeric-1.0.9/src/normal-args.c gnumeric-1.0.9-cygwin/src/normal-args.c --- gnumeric-1.0.9/src/normal-args.c 2001-12-21 23:50:51.000000000 +0000 +++ gnumeric-1.0.9-cygwin/src/normal-args.c 2002-07-29 14:11:59.000000000 +0100 @@ -13,9 +13,76 @@ #include +#ifdef __CYGWIN__ +static poptContext ctx = NULL; +const char **startup_files = NULL; + +int gnumeric_show_version = FALSE; +char *gnumeric_lib_dir = GNUMERIC_LIBDIR; +char *gnumeric_data_dir = GNUMERIC_DATADIR; +char *dump_file_name = NULL; +int gnumeric_debugging = 0; +int dependency_debugging = 0; +int print_debugging = 0; +gboolean libole2_debug = FALSE; +char *x_geometry = NULL; +int immediate_exit_flag = 0; + + + +static const struct poptOption +gnumeric_popt_options[] = { + { "version", 'v', POPT_ARG_NONE, &gnumeric_show_version, 0, + N_("Display Gnumeric's version"), NULL }, + { "lib-dir", 'L', POPT_ARG_STRING, &gnumeric_lib_dir, 0, + N_("Set the root library directory"), NULL }, + { "data-dir", 'D', POPT_ARG_STRING, &gnumeric_data_dir, 0, + N_("Adjust the root data directory"), NULL }, + + { "dump-func-defs", '\0', POPT_ARG_STRING, &dump_file_name, 0, + N_("Dumps the function definitions"), N_("FILE") }, + + { "debug", '\0', POPT_ARG_INT, &gnumeric_debugging, 0, + N_("Enables some debugging functions"), N_("LEVEL") }, + + { "debug_deps", '\0', POPT_ARG_INT, &dependency_debugging, 0, + N_("Enables some dependency related debugging functions"), N_("LEVEL") }, + { "debug_print", '\0', POPT_ARG_INT, &print_debugging, 0, + N_("Enables some print debugging behavior"), N_("LEVEL") }, + + { "debug_ole", '\0', POPT_ARG_NONE, + &libole2_debug, 0, + N_("Enables extra consistency checking while reading ole files"), + NULL }, + + { "geometry", 'g', POPT_ARG_STRING, &x_geometry, 0, + N_("Specify the size and location of the initial window"), N_("WIDTHxHEIGHT+XOFF+YOFF") + }, + + { "quit", '\0', POPT_ARG_NONE, &immediate_exit_flag, 0, + N_("Exit immediately after loading the selected books (useful for testing)."), NULL }, + + { NULL, '\0', 0, NULL, 0 } +}; + +void +gnumeric_args_free() +{ + if (ctx) + poptFreeContext (ctx); + +} + +#endif /*__CYGWIN__*/ + void gnumeric_arg_parse (int argc, char *argv []) { gnome_init_with_popt_table ( "gnumeric", VERSION, argc, argv, gnumeric_popt_options, 0, &ctx); + +#ifdef __CYGWIN__ + if (ctx) + startup_files = poptGetArgs (ctx); +#endif } diff -Naurp gnumeric-1.0.9/src/workbook-control-gui.c gnumeric-1.0.9-cygwin/src/workbook-control-gui.c --- gnumeric-1.0.9/src/workbook-control-gui.c 2002-06-02 01:08:32.000000000 +0100 +++ gnumeric-1.0.9-cygwin/src/workbook-control-gui.c 2002-07-29 14:11:59.000000000 +0100 @@ -83,6 +83,12 @@ #include #include +#ifdef __CYGWIN__ +int style_debugging = 0; +gboolean initial_workbook_open_complete = FALSE; +#endif + + gboolean wbcg_ui_update_begin (WorkbookControlGUI *wbcg) {