Thanks for the analysis, I'll dig into the autostuff again with it.
About your patch, both configure and Makefile.in are generated files.
Any persistent changes have to be made from configure.in, Makefile.am
and acinclude.m4 -- that's part of why it messes with your head so much!

Aaron

On Sat, 2006-02-18 at 16:15 -0500, Leif Jackson wrote:
> I belive I have found it.
> 
> Little case of autoconf/automake nuttiness. I still don't understand how
> the y do half of what they do but anyway if you change in Makefile.in the
> SHARED_TRUE to a SHARED_FALSE and vice versa for the other line it
> compiles fine without the #ifdef SIEVE, the reason is that when defined
> enabled then on the true autoconf adds the define as "#" thus commenting
> it out when we want it uncommented. Also anyone know how to make only the
> shared the default and leave static no?
> 
> e.g. how to make STATIC in configure.in have a default ?
> AM_CONDITIONAL(SHARED, [ test "$enable_shared" = "yes" ])
> AM_CONDITIONAL(STATIC, [ test "$enable_static" = "yes" ])
> 
> Thanks,
> Leif
> 
> p.s. Aaron you were right a day ago when you said something about the
> compile having both static and shared and seeming to default to static
> even though both were enabled. :)
> 
> 
> diff -urN dbmail-svn-2.1.3-1987.orig/configure
> dbmail-svn-2.1.3-1987/configure
> --- dbmail-svn-2.1.3-1987.orig/configure        2006-02-18
> 15:43:45.000000000 -0500
> +++ dbmail-svn-2.1.3-1987/configure     2006-02-18 16:16:58.000000000 -0500
> @@ -6754,7 +6754,7 @@
>        ;;
>      esac
>  else
> -  enable_static=yes
> +  enable_static=no
>  fi;
> 
>  # Check whether --enable-fast-install or --disable-fast-install was given.
> diff -urN dbmail-svn-2.1.3-1987.orig/Makefile.in
> dbmail-svn-2.1.3-1987/Makefile.in
> --- dbmail-svn-2.1.3-1987.orig/Makefile.in      2006-02-18
> 15:43:49.000000000 -0500
> +++ dbmail-svn-2.1.3-1987/Makefile.in   2006-02-18 16:19:53.000000000 -0500
> @@ -105,11 +105,11 @@
>         libdbmail_la-dsn.lo libdbmail_la-sort.lo
>  am__objects_4 = libdbmail_la-dbmodule.lo libdbmail_la-authmodule.lo \
>         libdbmail_la-sortmodule.lo
> [EMAIL PROTECTED]@am_libdbmail_la_OBJECTS = $(am__objects_1) \
> [EMAIL PROTECTED]@ $(am__objects_2) $(am__objects_3)
>  @[EMAIL PROTECTED] = $(am__objects_1) \
> [EMAIL PROTECTED]@  $(am__objects_2) $(am__objects_3) \
> [EMAIL PROTECTED]@  $(am__objects_4)
> [EMAIL PROTECTED]@  $(am__objects_2) $(am__objects_3)
> [EMAIL PROTECTED]@am_libdbmail_la_OBJECTS = $(am__objects_1) \
> [EMAIL PROTECTED]@ $(am__objects_2) $(am__objects_3) \
> [EMAIL PROTECTED]@ $(am__objects_4)
>  libdbmail_la_OBJECTS = $(am_libdbmail_la_OBJECTS)
>  @[EMAIL PROTECTED] = check_dbmail_common$(EXEEXT) \
>  @WITHCHECK_TRUE@       check_dbmail_server$(EXEEXT) \
> 
> 
> On Sat, February 18, 2006 3:58 pm, Leif Jackson wrote:
> > On Sat, February 18, 2006 3:33 pm, Aaron Stone wrote:
> >
> >> On Sat, 2006-02-18 at 04:47 -0500, Leif Jackson wrote:
> >>
> >>
> >>
> >>>> Either that or #ifdef (SIEVE || SHARED). The jury is out.
> >>>>
> >>>>
> >>>
> >>> You know as painfull as it can be this may be a good time to work out
> >>> a loadable at runtime module system using function pointers.
> >>
> >> I did that two months ago ;-) dbmodule.c, authmodule.c, sortmodule.c
> >>
> >>
> >
> > Sorry, shows how long it has been since I have really dug into dbmail's
> > source. I belive the problem is that sortmodule.c is not included in
> > libdbmail.so when --with-sieve is not on the configure line. And thus the
> >  function not found issue.
> >
> > However from the looks of my autoconf'ed compile tree the dbmodule
> > authmodule are not the only things being linked in at compile time:
> >
> > gcc -g -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
> > -I/usr/include/gmime-2.0 -I/usr/include/glib-2.0
> > -I/usr/lib/glib-2.0/include -W -Wall -Wpointer-arith -Wstrict-prototypes
> > -o .libs/dbmail-smtp main.o  -L/usr/lib ./.libs/libdbmail.so
> > /root/projects/dbmail-svn-2.1.3-1987/modules/.libs/libmysql.so
> > -lmysqlclient -lm
> > /root/projects/dbmail-svn-2.1.3-1987/modules/.libs/libsort_sieve.so
> > /root/projects/dbmail-svn-2.1.3-1987/modules/.libs/libauth_sql.so
> > /usr/lib/libgmime-2.0.so -lgmodule-2.0 -ldl -lgthread-2.0 -lz -lnsl
> > -lgobject-2.0 -lglib-2.0 -lcrypt -Wl,--rpath -Wl,/usr/local/lib
> > -Wl,--rpath -Wl,/usr/local/lib/dbmail -Wl,--rpath -Wl,/usr/lib
> >
> >
> > Correct me if I am wrong but shouldn't "optional" modules shuch as
> > libsort_sieve.so be a config option for the library as well? and then
> > loaded when the config item is found only?
> >
> > Leif
> >
> >
> >
> > _______________________________________________
> > Dbmail-dev mailing list
> > [email protected]
> > http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> >
> >
> 
> 
> _______________________________________________
> Dbmail-dev mailing list
> [email protected]
> http://twister.fastxs.net/mailman/listinfo/dbmail-dev

Reply via email to