On Thursday 28 April 2011 10:37:23 Cactus wrote:
> On Apr 28, 10:09 am, Jason <ja...@njkfrudils.plus.com> wrote:
> > On Thursday 28 April 2011 09:04:01 Cactus wrote:
> > > On Apr 28, 8:24 am, Cactus <rieman...@gmail.com> wrote:
> > > > On Apr 28, 3:37 am, Jason <ja...@njkfrudils.plus.com> wrote:
> > > > > On Thursday 28 April 2011 01:29:01 Jason wrote:
> > > > > > On Thursday 28 April 2011 00:16:57 Jason wrote:
> > > > > > > On Thursday 28 April 2011 00:12:14 Jason wrote:
> > > > > > > > Hi
> > > > > > > > 
> > > > > > > > I removed longlong.h from the distro , it is now constructed
> > > > > > > > by configure (that was dead easy , used the same bit of code
> > > > > > > > as that does gmp-mparam.h , although later on we integrate
> > > > > > > > it with the mpn functions and gmp-impl.h) There is just a
> > > > > > > > few ifdef to put back in there proper place (ie non-gnu asm
> > > > > > > > code etc) , and the windows header will have cope with Mingw
> > > > > > > > and MSVC(easy)
> > > > > > > > 
> > > > > > > > Jason
> > > > > > > 
> > > > > > > I'll be removing the -DNO_ASM option , it serves no purpose now
> > > > > > > , it's only function what to stop the old longlong.h including
> > > > > > > asm code in a generic C build.When you select a generic C
> > > > > > > build now the standard path selection will of course not
> > > > > > > select any asm code.
> > > > > > > 
> > > > > > > Jason
> > > > > > 
> > > > > > I've put all the proper ifdef's back and done the 64bit windows
> > > > > > header and the construction of longlong.h on the MSVC cl build
> > > > > > 
> > > > > > The MSVC build projects will need to construct longlong.h via
> > > > > > concatcation of longlong_pre.h arch_specific_longlong.h
> > > > > > longlong_post.h
> > > > > > 
> > > > > > see the longlong bit in win/make.bat
> > > > > > 
> > > > > > I have also removed for some arch's some support for gcc version
> > > > > > 1 :)
> > > > > > 
> > > > > > We can also remove all this stuff
> > > > > > HAVE HOST _CPU_x86 powerpc etc
> > > > > > as this can now be taken care off with our standard path
> > > > > > selection , although there our a few files which will need some
> > > > > > editing first.
> > > > > > 
> > > > > > Jason
> > > > > 
> > > > > One possible problem is that longlong.h is now a built file rather
> > > > > than a source file so if you build out of the tree , longlong.h is
> > > > > in a different directory , this doesn't affect us , but some
> > > > > programs may rely on it , from mpfr however
> > > > > 
> > > > > Building MPFR with internal GMP header files
> > > > > ============================================
> > > > > 
> > > > > MPFR built with internal GMP header files is a bit faster, so you
> > > > > may want to build it with them. Just do this in step 1:
> > > > > 
> > > > >   ./configure --with-gmp-build=GMPBUILD
> > > > > 
> > > > > where GMPBUILD is the GMP build directory. The needed header files
> > > > > are: gmp-impl.h, longlong.h and all the necessary headers to use
> > > > > them.
> > > > > 
> > > > > As gmp-impl.h and longlong.h are only in the GMP source directory,
> > > > > you first need to copy these files to the build directory if it is
> > > > > different (there may be other workarounds, such as setting
> > > > > $CPPFLAGS to search the GMP source directory).
> > > > > 
> > > > > So we are now in the "right" place , and there nothing to say that
> > > > > gmp-impl.h may also become a built file much like gmp.h
> > > > > 
> > > > > I could make the --enable-gmpcompat option also copy it to the
> > > > > source dir ?
> > > > > 
> > > > > Jason
> > > > 
> > > > I have a problem with the build now.
> > > > 
> > > > The MSVC compiler first looks for header files in the same directory
> > > > as a source code file and then, if this fails, in any specified
> > > > header directories.
> > > > 
> > > > As a result all the source code files in 'mpir\mpn\generic\'  now
> > > > pick up the empty longlong.h file in this directory and not the one
> > > > in 'mpir \' as intended.
> > > > 
> > > > The solution id either to rename the longlong.h architecture files to
> > > > longlong.inc (or anything other than longlong.h) or change the C
> > > > source code files to add a directory path to the longlong.h include
> > > > line in each of them.
> > > > 
> > > > I imagine that the former solution is the easiest - should I do this?
> > > > 
> > > >     Brian
> > > 
> > > I suggest that we use the names:
> > > 
> > >   longlong_pre.h
> > >   longlong_inc.h
> > >   longlong_post.h
> > > 
> > > I now have a build based on this change but I have not committed it
> > > yet in case this is a problem for other builds.
> > > 
> > >     Brian
> > 
> > Yep , that great , commit it and I can change the autotools bits.
> > 
> > I'm still having problems with FAT builds and the incestuous files preinv
> > divrem_1 mod_1 and the mess that configure uses to build them :(
> > 
> > Thanks
> > Jason
> 
> Ok, I have now done (I hope) all the file name changes and the MSVC
> build chaange.
> 
>     Brian

Yep , thats great , everything appears to work now , the FAT builds were also 
getting confused by the copies of longlong.h

I'll make sure --enable-gmpcompat makes a copy of longlong.h (although it may 
have to be at make-install time , like before)

I may also start to move some asm bit's in gmp-impl.h into longlong.h , 
although to be on the safe side , I will only move those functions that depend 
on longlong.h , so we know the user must of included longlong anyway

Thanks
Jason

-- 
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to mpir-devel@googlegroups.com.
To unsubscribe from this group, send email to 
mpir-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.

Reply via email to