The attached patch works for me. I replaced your makedef file with mine, tidied it up a bit (eg used your nm path code), and put it in the Makefile so that a 'make' takes care of everything. Not tested for 64 bit though... is the 64 bit mingw still called mingw32? If so it might 'just work'. It should also be a bit less sensitive to future changes to nm.
James > -----Original Message----- > From: Kern Sibbald [mailto:[email protected]] > Sent: Wednesday, 21 October 2009 00:11 > To: James Harper > Cc: [email protected] > Subject: Re: [Bacula-devel] fix another link error in Windows > > Hello James, > > There is a script called make_def in each of directories with xxx.def > files. In principle, it should make the def file, but due to changes in > nm, it no longer works perfectly, so I redirect it to a file then cut and > paste. > > The original files bacula.def were made using that script, so in > principle, if someone were to work on it a bit, one could once again > create the .def file completely each time. What does work in the script > is that it knows where nm can be found. > > Best regards, > > Kern > > > >> > >> Time to look at trying to automate that file I think... > >> > > > > I wrote the following little bit of shell code and put it in > > src/win32/lib/mk_def.sh: > > > > " > > #bin/sh > > > > echo LIBRARY bacula.dll > > echo EXPORTS > > > > /usr/local/src/bacula.git/cross-tools/mingw32/mingw32/bin/nm \ > > --defined-only --extern-only $@ | while read addr type sym > > do > > sym=`echo $sym | cut -c2-` > > case "$type" in > > "B") > > echo $sym DATA > > ;; > > "T") > > echo $sym > > ;; > > "") > > echo "; $addr" > > ;; > > esac > > done > > " > > (there is probably a better way to get the path of the crosstools nm...) > > > > And then added the following to src/win32/lib/Makefile: > > > > " > > bacula32.def: $(DLL_OBJS) > > ./mk_def.sh $(DLL_OBJS) >bacula32.def > > " > > (and a dependency on bacula.dll for bacula32.def) > > > > And while being hideously ugly, it works for 32 bit builds at least and > > means no more manual tinkering with the file. That's the 15 minute > > version, I can probably come up with something a lot better if you'd > > consider accepting it... shall I bother? What constraints do you need to > > impose to make it work on all build environments? > > > > Thanks > > > > James > > > > > > ------------------------------------------------------------------------ ---- > -- > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > is the only developer event you need to attend this year. Jumpstart your > > developing skills, take BlackBerry mobile applications to market and stay > > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > > http://p.sf.net/sfu/devconference > > _______________________________________________ > > Bacula-devel mailing list > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/bacula-devel > > > > > Best regards, Kern
baculaXXX.def.patch
Description: baculaXXX.def.patch
------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference
_______________________________________________ Bacula-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/bacula-devel
