On Mon, Nov 23, 2009 at 11:42 AM, Branko Čibej <br...@xbc.nu> wrote: > Paul Burba wrote: >> On Mon, Nov 23, 2009 at 10:00 AM, Branko Čibej <br...@xbc.nu> wrote: >> >>> Paul Burba wrote: >>> >>>> On Sun, Nov 22, 2009 at 9:49 PM, Arfrever Frehtes Taifersar Arahesis >>>> <arfrever....@gmail.com> wrote: >>>> >>>> >>>>> 2009-11-19 16:41:43 Paul Burba napisał(a): >>>>> >>>>> >>>>>> On Mon, Nov 16, 2009 at 2:16 PM, Paul Burba <ptbu...@gmail.com> wrote: >>>>>> >>>>>> >>>>>>> On Sat, Nov 14, 2009 at 2:42 PM, Arfrever Frehtes Taifersar Arahesis >>>>>>> <arfrever....@gmail.com> wrote: >>>>>>> >>>>>>> >>>>>>>> Author: arfrever >>>>>>>> Date: Sat Nov 14 11:42:26 2009 >>>>>>>> New Revision: 40510 >>>>>>>> >>>>>>>> Log: >>>>>>>> Move inclusion of svn_debug.h from svn_types.h to svn_private_config.h. >>>>>>>> >>>>>>>> * subversion/include/svn_types.h: Don't include "private/svn_debug.h". >>>>>>>> >>>>>>>> * configure.ac: Include "private/svn_debug.h" in generated >>>>>>>> svn_private_config.h.in >>>>>>>> file. >>>>>>>> >>>>>>>> * subversion/svn_private_config.hw: Include "private/svn_debug.h". >>>>>>>> >>>>>>>> Review by: gstein >>>>>>>> >>>>>>>> Modified: >>>>>>>> trunk/configure.ac >>>>>>>> trunk/subversion/include/svn_types.h >>>>>>>> trunk/subversion/svn_private_config.hw >>>>>>>> >>>>>>>> Modified: trunk/configure.ac >>>>>>>> URL: >>>>>>>> http://svn.collab.net/viewvc/svn/trunk/configure.ac?pathrev=40510&r1=40509&r2=40510 >>>>>>>> ============================================================================== >>>>>>>> --- trunk/configure.ac Sat Nov 14 00:02:24 2009 (r40509) >>>>>>>> +++ trunk/configure.ac Sat Nov 14 11:42:26 2009 (r40510) >>>>>>>> @@ -615,7 +615,15 @@ if test "$enable_nls" = "yes"; then >>>>>>>> fi >>>>>>>> fi >>>>>>>> >>>>>>>> -AH_BOTTOM( >>>>>>>> +AH_BOTTOM([/* >>>>>>>> + * Subversion developers may want to use some additional debugging >>>>>>>> facilities >>>>>>>> + * while working on the code. We'll pull that in here, so individual >>>>>>>> source >>>>>>>> + * files don't have to include this header manually. >>>>>>>> + */ >>>>>>>> +#ifdef SVN_DEBUG >>>>>>>> +#include "private/svn_debug.h" >>>>>>>> +#endif >>>>>>>> + >>>>>>>> #define N_(x) x >>>>>>>> #define U_(x) x >>>>>>>> #ifdef ENABLE_NLS >>>>>>>> @@ -629,7 +637,7 @@ AH_BOTTOM( >>>>>>>> #define gettext(x) (x) >>>>>>>> #define dgettext(domain, x) (x) >>>>>>>> #endif >>>>>>>> -) >>>>>>>> +]) >>>>>>>> >>>>>>>> dnl Used to simulate makefile conditionals. >>>>>>>> GETTEXT_CODESET=\# >>>>>>>> >>>>>>>> Modified: trunk/subversion/include/svn_types.h >>>>>>>> URL: >>>>>>>> http://svn.collab.net/viewvc/svn/trunk/subversion/include/svn_types.h?pathrev=40510&r1=40509&r2=40510 >>>>>>>> ============================================================================== >>>>>>>> --- trunk/subversion/include/svn_types.h Sat Nov 14 00:02:24 >>>>>>>> 2009 (r40509) >>>>>>>> +++ trunk/subversion/include/svn_types.h Sat Nov 14 11:42:26 >>>>>>>> 2009 (r40510) >>>>>>>> @@ -1144,14 +1144,4 @@ typedef unsigned long svn_linenum_t; >>>>>>>> #include "svn_error.h" >>>>>>>> >>>>>>>> >>>>>>>> -/* >>>>>>>> - * Subversion developers may want to use some additional debugging >>>>>>>> facilities >>>>>>>> - * while working on the code. We'll pull that in here, so individual >>>>>>>> source >>>>>>>> - * files don't have to include this header manually. >>>>>>>> - */ >>>>>>>> -#ifdef SVN_DEBUG >>>>>>>> -#include "private/svn_debug.h" >>>>>>>> -#endif >>>>>>>> - >>>>>>>> - >>>>>>>> #endif /* SVN_TYPES_H */ >>>>>>>> >>>>>>>> Modified: trunk/subversion/svn_private_config.hw >>>>>>>> URL: >>>>>>>> http://svn.collab.net/viewvc/svn/trunk/subversion/svn_private_config.hw?pathrev=40510&r1=40509&r2=40510 >>>>>>>> ============================================================================== >>>>>>>> --- trunk/subversion/svn_private_config.hw Sat Nov 14 00:02:24 >>>>>>>> 2009 (r40509) >>>>>>>> +++ trunk/subversion/svn_private_config.hw Sat Nov 14 11:42:26 >>>>>>>> 2009 (r40510) >>>>>>>> @@ -91,3 +91,12 @@ >>>>>>>> #define APU_WANT_DB >>>>>>>> #include <apu_want.h> >>>>>>>> #endif >>>>>>>> + >>>>>>>> +/* >>>>>>>> + * Subversion developers may want to use some additional debugging >>>>>>>> facilities >>>>>>>> + * while working on the code. We'll pull that in here, so individual >>>>>>>> source >>>>>>>> + * files don't have to include this header manually. >>>>>>>> + */ >>>>>>>> +#ifdef SVN_DEBUG >>>>>>>> +#include "private/svn_debug.h" >>>>>>>> +#endif >>>>>>>> >>>>>>>> >>>>>>> Hi Arfrever, >>>>>>> >>>>>>> This change breaks the debug build on Windows since __attribute__ is >>>>>>> not longer defined, see __attribute__no.longer.defined.txt. >>>>>>> >>>>>>> I thought that simply adding #include <apr.h> to svn_debug.h would fix >>>>>>> this, but I end up with even more weirdness, see include.apr.h.txt. >>>>>>> >>>>>>> I hate to admit I can't quite figure this out. I've reverted this >>>>>>> change locally so I can build, but please look into this when you can. >>>>>>> >>>>>>> >>>>>> Hi Arfrever, >>>>>> >>>>>> I've been unable to fix the broken Windows debug build and it doesn't >>>>>> appear anyone else is working on this. Edmund has confirmed the >>>>>> breakage on a his machine. So, per our rules in HACKING, I >>>>>> regrettably reverted this change in r882182. >>>>>> >>>>>> I'm more than happy to test a new version of r40510(r880584) or assist >>>>>> in any way I can. >>>>>> >>>>>> >>>>> Please test the attached patch. >>>>> >>>>> >>>> Hi Arfrever, >>>> >>>> That works. I still don't understand why we can't use __attribute__ >>>> in svn_debug.h. It is used in svn_cmdline.h, svn_io.h, svn_string.h, >>>> and various other places without any problems. >>>> >>>> >>> Perhaps svn_debug.h doesn't include apr.h, where __attribute__ is >>> defined for compilers other than GCC? >>> >> >> Hi Brane, >> >> That was my initial thought too and I tried it, but received some very >> odd results. See the start of this thread: >> http://mail-archives.apache.org/mod_mbox/subversion-dev/200911.mbox/browser. >> > > Hmm, curious ... I'd suggest producing a preprocessed source to see > where apr.h is first included.
Brane, A disclaimer: I haven't generated preprocessed source in an age and even then it was with much simpler code than ours...so maybe I'm doing this all wrong. I updated my WC back to r882181, right before I reverted r880584. Recall that the first place the problem with __attribute__ no being defined arises in in libsvn_subr/config_win.c. So from within the VS2008 IDE I changed the Configuration Properties:C/C++"Preprocessor:Generate Preprocessed File setting for the libsvn_subr project to 'With Line Numbers (/P)' from the default of 'No'. Then I rebuilt just the libsvn_subr project. Quite unexpectedly (at least to me) config_win.c now compiles, even though config_win.i shows that apr.h is not included till well after svn_debug.h. All the files in libsvn_subr compile, but no object files are created so the build fails. Consider me confused. Paul > From looking at the surces, I can't see > what would be going wrong, either. > > -- Brane >