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.