diff -Naurp oaf-0.6.10/configure oaf-0.6.10-cygwin/configure --- oaf-0.6.10/configure 2002-04-16 11:27:56.000000000 +0100 +++ oaf-0.6.10-cygwin/configure 2003-02-26 13:16:22.000000000 +0000 @@ -4121,7 +4121,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. @@ -5905,7 +5906,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 oaf-0.6.10/liboaf/Makefile.in oaf-0.6.10-cygwin/liboaf/Makefile.in --- oaf-0.6.10/liboaf/Makefile.in 2002-04-16 11:37:16.000000000 +0100 +++ oaf-0.6.10-cygwin/liboaf/Makefile.in 2003-02-26 13:16:22.000000000 +0000 @@ -164,13 +164,13 @@ DEFS = @DEFS@ -I. -I$(srcdir) -I.. CPPFLAGS = @CPPFLAGS@ LIBS = @LIBS@ liboaf_la_LDFLAGS = -liboaf_la_LIBADD = +liboaf_la_LIBADD = $(shell orbit-config --libs client) $(shell glib-config --libs gmodule) -lintl liboaf_la_OBJECTS = oaf-stubs.lo oaf-skels.lo oaf-common.lo \ oaf-mainloop.lo oaf-actid.lo oaf-factory-stubs.lo oaf-factory-skels.lo \ oaf-factory-common.lo oaf-plugin.lo oaf-activate.lo oaf-registration.lo \ oaf-servreg.lo oaf-util.lo oaf-async.lo oaf-async-corba.lo \ oaf-fork-server.lo -CFLAGS = @CFLAGS@ +CFLAGS = @CFLAGS@ $(DLL_CFLAGS) COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) @@ -269,8 +269,10 @@ distclean-libtool: maintainer-clean-libtool: +liboaf.la: DLL_CFLAGS = -DLIBOAF_BUILD_DLL liboaf.la: $(liboaf_la_OBJECTS) $(liboaf_la_DEPENDENCIES) $(LINK) -rpath $(libdir) $(liboaf_la_LDFLAGS) $(liboaf_la_OBJECTS) $(liboaf_la_LIBADD) $(LIBS) + PREFIX=$(prefix) sh $(top_srcdir)/mkdll.sh $@ $(liboaf_la_LIBADD) $(LIBS) install-liboafincludeHEADERS: $(liboafinclude_HEADERS) @$(NORMAL_INSTALL) diff -Naurp oaf-0.6.10/liboaf/oaf-fork-server.c oaf-0.6.10-cygwin/liboaf/oaf-fork-server.c --- oaf-0.6.10/liboaf/oaf-fork-server.c 2002-04-16 10:52:52.000000000 +0100 +++ oaf-0.6.10-cygwin/liboaf/oaf-fork-server.c 2003-02-26 13:21:28.000000000 +0000 @@ -330,7 +330,11 @@ oaf_server_by_forking (const char **cmd, running_activations = g_slist_remove (running_activations, &ai); retval = exe_activate_info_to_retval (&ai, ev); +#ifndef __CYGWIN__ } else if ((childpid = fork ())) { +#else + } else if ((childpid = vfork ())) { +#endif _exit (0); /* de-zombifier process, just exit */ } else { if (display) diff -Naurp oaf-0.6.10/liboaf/oaf-registration.c oaf-0.6.10-cygwin/liboaf/oaf-registration.c --- oaf-0.6.10/liboaf/oaf-registration.c 2001-10-24 23:06:22.000000000 +0100 +++ oaf-0.6.10-cygwin/liboaf/oaf-registration.c 2003-02-26 13:16:22.000000000 +0000 @@ -502,6 +502,10 @@ filename_fixup (char *fn) while (*(fn++)) { if (*fn == '/') *fn = '_'; +#ifdef __CYGWIN__ + if (*fn == ':') + *fn = '%'; +#endif } } diff -Naurp oaf-0.6.10/mkdll.sh oaf-0.6.10-cygwin/mkdll.sh --- oaf-0.6.10/mkdll.sh 1970-01-01 00:00:00.000000000 +0000 +++ oaf-0.6.10-cygwin/mkdll.sh 2003-02-26 13:16:22.000000000 +0000 @@ -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=$(echo $(basename $archive) | sed -e 's,^lib\(.*\).la$,\1,') + +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=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='\'../bin/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 oaf-0.6.10/oafd/Makefile.in oaf-0.6.10-cygwin/oafd/Makefile.in --- oaf-0.6.10/oafd/Makefile.in 2002-04-16 11:37:30.000000000 +0100 +++ oaf-0.6.10-cygwin/oafd/Makefile.in 2003-02-26 13:16:22.000000000 +0000 @@ -141,7 +141,7 @@ INCLUDES = -I$(top_srcdir) -I$(top oafd_SOURCES = oafd-corba-extensions.c oafd-corba-extensions.h qsort_ex.c qsort_ex.h oaf-skels.c ac-query-lex.c ac-query-parse.c ac-query-parse.h ac-query-expr.h ac-corba.c ac-query-expr.c od-corba.c od-load.c od-utils.c od-activate.c main.c od-utils.h oafd.h -LDADD = ../liboaf/liboaf.la @ORBIT_LIBS@ -lORBitCosNaming -lname-server @XML_LIBS@ @INTLLIBS@ @GLIB_LIBS@ +LDADD = ../liboaf/liboaf.la -lname-server -lORBitCosNaming @ORBIT_LIBS@ @XML_LIBS@ @INTLLIBS@ @GLIB_LIBS@ oaf_client_SOURCES = client.c @@ -181,7 +181,7 @@ oaf_client_OBJECTS = client.$(OBJEXT) oaf_client_LDADD = $(LDADD) oaf_client_DEPENDENCIES = ../liboaf/liboaf.la oaf_client_LDFLAGS = -CFLAGS = @CFLAGS@ +CFLAGS = @CFLAGS@ $(DLL_CFLAGS) COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) @@ -223,8 +223,8 @@ maintainer-clean-binPROGRAMS: install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - if test -f $$p; then \ + @list='$(subst .exe,,$(bin_PROGRAMS))'; for p in $$list; do \ + if test -f $(subst .exe,,$$p); then \ echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ else :; fi; \ diff -Naurp oaf-0.6.10/oafd/ac-query-parse.y oaf-0.6.10-cygwin/oafd/ac-query-parse.y --- oaf-0.6.10/oafd/ac-query-parse.y 2001-10-24 22:15:14.000000000 +0100 +++ oaf-0.6.10-cygwin/oafd/ac-query-parse.y 2003-02-26 13:16:22.000000000 +0000 @@ -155,7 +155,7 @@ expr_stringv: LBRACKET stringlist RBRACK stringlist: P_CONST_STRING { $$ = g_slist_prepend (NULL, $1); } | stringlist COMMA P_CONST_STRING { $$ = g_slist_append ($1, $3); }; -expr_variable: P_DOLLAR P_CONST_ID { $$ = qexp_variable_new ($2); } +expr_variable: P_DOLLAR P_CONST_ID { $$ = qexp_variable_new ($2); }; expr_function: P_CONST_ID LPAREN exprlist RPAREN { $$ = qexp_function_new ($1, $3); } | P_CONST_ID LPAREN RPAREN { $$ = qexp_function_new ($1, NULL); } diff -Naurp oaf-0.6.10/test/Makefile.in oaf-0.6.10-cygwin/test/Makefile.in --- oaf-0.6.10/test/Makefile.in 2002-04-16 11:37:32.000000000 +0100 +++ oaf-0.6.10-cygwin/test/Makefile.in 2003-02-26 13:16:22.000000000 +0000 @@ -248,6 +248,9 @@ install-binPROGRAMS: $(bin_PROGRAMS) if test -f $$p; then \ echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + elif test -f .libs/$$p; then \ + echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) .libs/$$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ + $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) .libs/$$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ else :; fi; \ done @@ -532,7 +535,8 @@ empty_built: empty.idl $(ORBIT_IDL) touch empty_built check: - OAF_INFO_PATH="$(top_srcdir)/test:$$OAF_INFO_PATH" PATH="$(top_builddir)/test:$$PATH" $(top_builddir)/test/oaf-test-client + topdir="$$(cygpath -a -u "$(top_srcdir)")" ; \ + OAF_INFO_PATH="$$topdir/test:$$OAF_INFO_PATH" PATH="$$topdir/test/.libs:$$topdir/oafd/.libs:$$topdir/liboaf/.libs:$$PATH" $$topdir/test/.libs/oaf-test-client # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Naurp oaf-0.6.10/test/oaf-slay.in oaf-0.6.10-cygwin/test/oaf-slay.in --- oaf-0.6.10/test/oaf-slay.in 2002-01-16 15:10:36.000000000 +0000 +++ oaf-0.6.10-cygwin/test/oaf-slay.in 2003-02-26 13:56:10.000000000 +0000 @@ -47,7 +47,7 @@ $username = $ENV{USER} || $ENV{LOGNAME} chomp($username); @IF_POSIX_PS@ $ps_cmd = "@PS_PATH@ -U $username -opid,args"; -@IF_BSD_PS@ $ps_cmd = "@PS_PATH@ -U $username -xww -opid,command"; +@IF_BSD_PS@ $ps_cmd = "@PS_PATH@ -s -u $username | awk '{print \$1 \" \" \$4}'"; # get OAF files # @@ -129,12 +129,14 @@ do { foreach $filep (@file_process) { + $filep =~ tr/A-Z/a-z/; # Search through @ps_result and look for matches # foreach $el (@ps_result) { chomp $el; @ps_array = split(' ', $el, 3); + $ps_array[1] =~ tr/A-Z/a-z/; if ($ps_array[1] =~m/(\A|\/)$filep$/ ) { $list_array[$index]=$ps_array[0]."\t".$ps_array[1]."\n"; $process_pids[$index]=$ps_array[0]."\n";