On Thu, Feb 2, 2012 at 11:48 PM, Jason <ja...@njkfrudils.plus.com> wrote:
> Great project!  I have used it to add rational (mpq) and variable
> precision floating point (mpf) datatypes to my APL interpreter.  Many
> thanks for all of your hard work.
>
> Running MPIR-2.5.0 on a Win7/AMD64 system, I need to create static
> libraries for 32- and 64-bit builds as well as debug and non-debug versions.
>
> 1.  In order to create both 32- and 64-bit versions on the same Windows
> platform, it's necessary to set the environment variable
> PROCESSOR_ARCHITECTURE for each context.  Also, the resulting library
> must be renamed to avoid it being clobbered by the other ABI.
>
> I created the following batch files in the /mpir-2.5.0/win/ directory:
>
> mk32.bat:
> =========
> setlocal
> Set PROCESSOR_ARCHITECTURE=x86
>
> call make clean
>
> call configure ABI=32
> if errorlevel 1 goto :EXIT
>
> call make
> if errorlevel 1 goto :EXIT
>
> if not exist  ..\lib mkdir ..\lib
> copy mpir.lib ..\lib\mpir32.lib
>
> :EXIT
> endlocal
> ========
>
> mk64.bat:
> =========
> setlocal
> Set PROCESSOR_ARCHITECTURE=AMD64
>
> call make clean
>
> call configure ABI=64
> if errorlevel 1 goto :EXIT
>
> call make
> if errorlevel 1 goto :EXIT
>
> if not exist  ..\lib mkdir ..\lib
> copy mpir.lib ..\lib\mpir64.lib
>
> :EXIT
> endlocal
> ========
>
> There are many ways to write these batch files.
>
> 2.  The second goal of enabling DEBUG vs. non-DEBUG involves changes to
> configure.bat -- my take on it is as follows:
>
> Insert the following lines
>
> if "%0" == "--debug" (
>     shift
>     set DFLAGS=/Z7 /D "DEBUG"
>     set DFLAGS1=/MTd
>     ) else (
>     set DFLAGS=/Ox /Ot /Oi /D "NDEBUG"
>     set DFLAGS1=/MT
>     )
>
> after label :lp.
>
> Replace the following lines
>
> echo (set FLAGS=/Ox /Ot /D "NDEBUG" /D "HAVE_CONFIG_H" /nologo /D
> "_MBCS" /GS-) >> config.params.bat
> if %LIBTYPE% == lib (set FLAGS1=/Oi /D "_LIB" /D "PIC" /MT)
>
> with
>
> echo (set FLAGS=%DFLAGS% /D "HAVE_CONFIG_H" /nologo /D "_MBCS" /GS-) >>
> config.params.bat
> if %LIBTYPE% == lib (set FLAGS1=/D "_LIB" /D "PIC" %DFLAGS1%)
>
> I'm not sure what debug flags to use for DLLs so I made no change to
> that portion.
>
> This change involves creating two more batch files, the 32-bit version
> of which is
>
> mk32d.bat
> =========
> @echo off
> setlocal
> Set PROCESSOR_ARCHITECTURE=x86
>
> call make clean
>
> call configure ABI=32 --debug
> if errorlevel 1 goto :EXIT
>
> call make
> if errorlevel 1 goto :EXIT
>
> if not exist  ..\lib mkdir ..\lib
> copy mpir.lib ..\lib\mpir32d.lib
>
> :EXIT
> endlocal
> ========
>
> 3.  BTW, when I compile the 64-bit version (but not the 32-bit version),
> the compile ends with
>
> osmpq.cc
> osmpz.cc
> divexact_by3c.obj : warning LNK4006: __gmpn_divexact_by3 already defined
> in compat.obj; second definition ignored
>
> This is probably harmless, but is there some way to avoid it?
>
> --
> _______________________________________________________________
> Bob Smith - bsm...@sudleyplace.com
> http://www.sudleyplace.com - http://www.nars2000.org
>
>
>
> Hi
>
> Sounds interesting , the divexact_by3 warning is known , there's no easy way 
> to avoid it at the moment , but when we revamp the division code it will go 
> away , it's just the current division code is a right old mismash :)

I've also been modifying the make.bat and configure.bat files to suit
the needs of gmpy. I've added support for selecting VS2008, VS2010,
SDK70 and SDK71.

Bob, do you mind if I include your changes in my files? I can send you
copies with the changes.

Regarding the divexact_by3 error message: I avoided the issue by not
compiling compat.c since I didn't care about maintaining compatibility
with really old versions. Am I inadvertantly breaking something?

Case
>
> We can include these batch files in the next release if you want , they need 
> to be under the LGPL v2.1 or above and some words in the manual about them
>
>
> 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.
>

-- 
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