cgal/Maintenance/Third_party/GMP/create_mangled_versions.bat

114 lines
1.9 KiB
Batchfile

@echo OFF
set ROOT=%~dp0
if "%1"=="" goto :ERROR
set BASEDIR=%1%
cd %BASEDIR%
if EXIST gmp.h (
set GMP_OR_MPFR=gmp
) else (
if EXIST mpfr.h set GMP_OR_MPFR=mpfr
)
if NOT DEFINED GMP_OR_MPFR goto :ERROR
if NOT EXIST mangled_binaries mkdir mangled_binaries
if EXIST build.vc8 call :PROCESS_BUILD_FOLDER vc8
if EXIST build.vc9 call :PROCESS_BUILD_FOLDER vc9
cd ..
goto :EOF
:PROCESS_BUILD_FOLDER
: %1 <- vc(8|9)
cd build.%1
for /D %%i in (lib_%GMP_OR_MPFR%*) do (
call :PROCESS_LIB_FOLDER %%i %1
)
cd ..
goto :EOF
:PROCESS_LIB_FOLDER
: %1 <- lib_gmp|mpfr_* folder name
: %2 <- vc(8|9)
cd %1
if EXIST Win32 call :PROCESS_PALTFORM_FOLDER Win32 %2
if EXIST x64 call :PROCESS_PALTFORM_FOLDER x64 %2
cd ..
goto :EOF
:PROCESS_PALTFORM_FOLDER
: %1 <- (Win32|x64)
: %2 <- vc(8|9)
cd %1
if EXIST Debug call :PROCESS_VARIANT_FOLDER Debug %2 -gd
if EXIST Release call :PROCESS_VARIANT_FOLDER Release %2
cd ..
goto :EOF
:PROCESS_VARIANT_FOLDER
: %1 <- (Debug|Release)
: %2 <- vc(8|9)
: %3 <- (-gd|)
cd %1
if EXIST %GMP_OR_MPFR%.lib call :COPY_MANGLED %2 lib %3
if EXIST %GMP_OR_MPFR%.pdb call :COPY_MANGLED %2 pdb %3
cd ..
goto :EOF
:COPY_MANGLED
: %1 <- vc(8|9)
: %2 <- lib|pdb
: %3 <- (-gd|)
set TOOLSET=%1%
set EXT=%2%
set VARIANT=%3%
set MANGLED=%GMP_OR_MPFR%-%TOOLSET%-mt%VARIANT%.%EXT%
echo Copying %GMP_OR_MPFR%.%EXT% as %MANGLED% in %cd% and %ROOT%\mangled_binaries
copy /Y %GMP_OR_MPFR%.%EXT% %MANGLED%
copy /-Y %MANGLED% %ROOT%\mangled_binaries
goto :EOF
:ERROR
echo Usage:
echo.
echo create_mangled_versions folder_with_gmp_or_mpfr
echo.
echo This batch script scans the given directory searching for gmp or mpfr libs
echo copying each such lib with a special mangled name based on
echo the subdirectory path where the .lib was found.
echo.
echo For example, if it finds the file
echo.
echo gmp_4.2.4/build.vc9/lib_gmp_gc/Win32/Debug/gmp.lib
echo.
echo it creates a copy of it named
echo.
echo gmp_vc90_mt_gd.lib
echo.