[ofw] [PATCH] add Arch qualifier to makebin.bat, adjust buildrelease.bat to use it

Smith, Stan stan.smith at intel.com
Wed Jun 23 14:13:19 PDT 2010


signed-off-by: stan smith <stan.smith at intel.com>

Revision: 2827
Author: stansmith
Date: 1:32:35 PM, Wednesday, June 23, 2010
Message:
[OFED] add Arch qualifier to makebin.bat, adjust buildrelease.bat to use it.
----
Modified : /gen1/trunk/OFED/BuildRelease.bat
Modified : /gen1/trunk/etc/makebin.bat

--- a/etc/makebin.bat   Tue Jun 22 16:59:25 2010
+++ b/etc/makebin.bat   Mon Jun 21 12:19:55 2010
@@ -2,26 +2,28 @@
 setlocal

 rem usage:
-rem   makebin src dst [win7 | wlh | wnet | wxp] DDK_ROOT WdfCoInstaler_Ver
+rem   makebin src dst OSE Arch DDK_ROOT WdfCoInstaler_Ver
 rem
 rem  src(%1) - OpenIB src path ...\gen1\trunk
 rem  dst(%2) - full path to where binaries are copied, must exist.
 rem  OSE(%3) - (Operating System Environment) which windows version
 rem            {win7,wxp,wlh,wnet} representing {XP, server 2008 & server 2003}
+rem  Arch(%4)  - all, x86, x64, ia64
 rem  DDK_ROOT  - {blank == assumes %SystemDrive%\WinDDK\7600.16385.0}
-rem  WdfCoInstall_ver - 5 digit WdfCoInstallerVersion # (blank == 01009}
+rem  WdfCoInstall_ver - 5 digit WdfCoInstallerVersion # (blank == 01007}

-rem makebin is designed to take an openIB build tree path and produce a folder
-rem tree of binaries suitable for input to a WIX builder which procduces
-rem an OS .msi installer.
+rem makebin is designed to take an openIB src tree path and produce a folder
+rem (tree) of binaries suitable for input to a WIX builder which procduces
+rem an OS/Arch specific .msi installer.
 rem Building a OFED release is done is 3 phases, makebin is the 2nd phase.
 rem makebin is commonly run from trunk\buildrelease.bat although it can be
 rem run standalone.

 echo Starting makebin
-echo      Src %1
-echo      Dst %2
-echo      OS  %3
+echo      Src   %1
+echo      Dst   %2
+echo      OS    %3
+echo      Arch  %4

 if "%1"=="" goto usage
 if "%2"=="" goto usage
@@ -31,8 +33,8 @@
 if /I "%3"=="wlh" goto os_ok
 if /I "%3"=="wnet" goto os_ok
 if /I "%3"=="wxp" goto os_ok
-echo %0: Err - Invalid OS type '%3' ?
-goto usage
+echo %0: Err - Invalid OS type '%3', use [win7, wlh, wnet, wxp] ?
+exit /B 1

 :os_ok

@@ -41,11 +43,39 @@

 set OSE=%3

+if "%4"=="" goto usage
+
+if /I "%4"=="ia64" (
+    set ARCH_MS=%4
+    goto arch_ok
+)
+if /I "%4"=="x86"  (
+    set ARCH_MS=%4
+    goto arch_ok
+)
+if /I "%4"=="x64"  (
+    set ARCH_MS=amd64
+    goto arch_ok
+)
+echo %0: Err - Invalid Arch type '%4', use [x86, ia64, x64, all] ?
+exit /B 1
+
+:arch_ok
+set _ARCH=%4
+
+if /I "%3"=="wxp" (
+    if /I "%4"=="x86" goto os_arch_OK
+    echo %0: Err - Invalid OS Arch combination '%3 %4', wxp + x86 Only!
+    exit /B 1
+)
+
+:os_arch_OK
+
 rem setup DDK root path
-if /I "%4"=="" (
-       set _DDK=%systemdrive%\WinDDK\7600.16385.0
+if /I "%5"=="" (
+       set _DDK=%systemdrive%\WinDDK\7600.16385.1
 ) else (
-       set _DDK=%4
+       set _DDK=%5
 )
 if not exist "%_DDK%" (
        echo Missing file %_DDK% ?
@@ -56,31 +86,41 @@
 set DIFXP=%_DDK%\redist\DIFx\DIFxAPP\WixLib
 set DPINST=%_DDK%\redist\DIFx\DPInst\EngMui

-if /I "%5"=="" (
+if /I "%6"=="" (
        set CoInstallVer=01009
 ) else (
-       set CoInstallVer=%5
+       set CoInstallVer=%6
 )

 if not exist %1 goto usage
 if not exist %2 goto usage

-if /I "%OSE%" == "wxp" (
-    if not exist %1\bin\kernel\objfre_%OSE%_x86\i386 goto error3
-    if not exist %1\bin\user\objfre_%OSE%_x86\i386 goto error6
-    if not exist %1\bin\user\objchk_%OSE%_x86\i386 goto error9
-) else (
+rem verify binaries OK
+if /I "%OSE%" == "wxp"  goto bin_chk_x86
+
+if /I "%_ARCH%"=="x64"  (
     if not exist %1\bin\kernel\objfre_%OSE%_amd64\amd64 goto error1
-    if not exist %1\bin\kernel\objfre_%OSE%_ia64\ia64 goto error2
-    if not exist %1\bin\kernel\objfre_%OSE%_x86\i386 goto error3
     if not exist %1\bin\user\objfre_%OSE%_amd64\amd64 goto error4
-    if not exist %1\bin\user\objfre_%OSE%_ia64\ia64 goto error5
-    if not exist %1\bin\user\objfre_%OSE%_x86\i386 goto error6
     if not exist %1\bin\user\objchk_%OSE%_amd64\amd64 goto error7
+    goto bin_ok
+)
+
+if /I "%_ARCH%"=="ia64"  (
+    if not exist %1\bin\kernel\objfre_%OSE%_ia64\ia64 goto error2
+    if not exist %1\bin\user\objfre_%OSE%_ia64\ia64 goto error5
     if not exist %1\bin\user\objchk_%OSE%_ia64\ia64 goto error8
-    if not exist %1\bin\user\objchk_%OSE%_x86\i386 goto error9
+    goto bin_ok
 )

+rem wxp or x86
+:bin_chk_x86
+
+if not exist %1\bin\kernel\objfre_%OSE%_x86\i386 goto error3
+if not exist %1\bin\user\objfre_%OSE%_x86\i386 goto error6
+if not exist %1\bin\user\objchk_%OSE%_x86\i386 goto error9
+
+:bin_OK
+
 set CORE_DRV_FRE=ibbus.sys ibbus.pdb ibiou.sys ibiou.pdb ib_iou.inf mthca.sys mthca.inf mthca.pdb mlx4_hca.sys mlx4_hca.pdb mlx4_hca.inf mlx4_bus.sys mlx4_bus.pdb mlx4_bus.inf winverbs.sys winverbs.pdb winmad.sys winmad.pdb

 set CORE_UM_F=ibal.dll ibal.lib ibal.pdb complib.dll complib.lib complib.pdb mthcau.dll mthcau.pdb mlx4u.dll mlx4u.pdb
@@ -95,15 +135,20 @@

 set DAPL2_D=dapl2d.dll dapl2d.pdb dapl2-ofa-scmd.dll dapl2-ofa-scmd.pdb dapl2-ofa-cmad.dll dapl2-ofa-cmad.pdb dat2d.dll dat2d.lib dat2d.pdb

-
 rem
 rem KERNEL MODE
 rem

-if /I "%OSE%" == "wxp" goto wxp_drv
+if /I "%OSE%" == "wxp"     goto free_wxp_drv
+if /I "%_ARCH%" == "x86"   goto free_wxp_drv
+if /I "%_ARCH%" == "ia64"  goto free_ia64_drv

 rem Copy AMD64 Free drivers
+
 set bin_dir=%1\bin\kernel\objfre_%OSE%_amd64\amd64
+set bin_dir_fre_WOW=%1\bin\user\objfre_%OSE%_x86\i386
+set bin_dir_chk_WOW=%1\bin\user\objchk_%OSE%_x86\i386
+
 set dest_dir=%2\HCA\amd64\

 if "%DBG%" == "TRUE" echo DBG: AMD64 free drivers
@@ -137,9 +182,16 @@
 xcopy %bin_dir%\netipoib.inf %2\net\amd64\ /yq
 xcopy %bin_dir%\netvnic.inf %2\net\amd64\ /yq
 xcopy %bin_dir%\ib_srp.inf %2\storage\amd64\ /yq
+goto free_drv_done
+
+:free_ia64_drv

 rem Copy IA64 drivers
+
 set bin_dir=%1\bin\kernel\objfre_%OSE%_ia64\ia64
+set bin_dir_fre_WOW=%1\bin\user\objfre_%OSE%_x86\i386
+set bin_dir_chk_WOW=%1\bin\user\objchk_%OSE%_x86\i386
+
 set dest_dir=%2\HCA\ia64\

 if "%DBG%" == "TRUE" echo DBG: ia64 free drivers
@@ -173,9 +225,11 @@
 xcopy %bin_dir%\netvnic.inf %2\net\ia64\ /yq
 xcopy %bin_dir%\ib_srp.inf %2\storage\ia64\ /yq

+goto free_drv_done
+
 rem Copy x86 drivers

-:wxp_drv
+:free_wxp_drv

 if "%DBG%" == "TRUE" echo DBG: x86 free drivers

@@ -220,9 +274,13 @@
 xcopy %bin_dir%\netvnic.inf %2\net\x86\ /yq
 xcopy %bin_dir%\ib_srp.inf %2\storage\x86\ /yq

+:free_drv_done
+
 rem Checked USER MODE

 if /I "%OSE%" == "wxp" goto wxp_userm
+if /I "%_ARCH%" == "x86"  goto wxp_userm
+if /I "%_ARCH%" == "ia64"  goto chk_ia64_um

 if "%DBG%" == "TRUE" echo DBG: amd64 Checked amd64 user-mode

@@ -257,7 +315,9 @@
         exit /B 1
     )
 )
+goto chk_um_dll

+:chk_ia64_um

 rem Copy checked IA64 dlls

@@ -294,7 +354,7 @@
         exit /B 1
     )
 )
-
+goto chk_um_dll

 rem checked x86 user mode

@@ -336,37 +396,48 @@
 copy /B %bin_dir%\installsp.exe %2\tools\x86\debug\ /y 1>nul

 if /I "%OSE%" == "wxp" goto wxp_free_drv
+if /I "%_ARCH%" == "x86" goto wxp_free_drv
+
+:chk_um_dll

 rem checked x86 DLLs --> WOW64 DLLs

 if "%DBG%" == "TRUE" echo DBG: x86 Checked dlls copy to WOW64 dlls
+echo   src  %bin_dir%
+echo   dest %2
+echo   WOW  %bin_dir_chk_WOW%
+
+if Not Exist "%bin_dir_chk_WOW%\ibald.dll" (
+       echo Missing x86 WOW file %bin_dir_chk_WOW%\ibald.dll
+    exit /B 1
+)

 rem xcopy had problems determining if dest was File | Dir ??

-copy /B %bin_dir%\ibald.dll %2\HCA\amd64\ibal32d.dll /y
-copy /B %bin_dir%\ibald.lib %2\HCA\amd64\ibal32d.lib /y
-copy /B %bin_dir%\ibald.pdb %2\HCA\amd64\ibal32d.pdb /y
-copy /B %bin_dir%\complibd.dll %2\HCA\amd64\cl32d.dll /y
-copy /B %bin_dir%\complibd.lib %2\HCA\amd64\cl32d.lib /y
-copy /B %bin_dir%\complibd.pdb %2\HCA\amd64\cl32d.pdb /y
-
-copy /B %bin_dir%\ibald.dll %2\HCA\ia64\ibal32d.dll /y
-copy /B %bin_dir%\ibald.lib %2\HCA\ia64\ibal32d.lib /y
-copy /B %bin_dir%\ibald.pdb %2\HCA\ia64\ibal32d.pdb /y
-copy /B %bin_dir%\complibd.dll %2\HCA\ia64\cl32d.dll /y
-copy /B %bin_dir%\complibd.lib %2\HCA\ia64\cl32d.lib /y
-copy /B %bin_dir%\complibd.pdb %2\HCA\ia64\cl32d.pdb /y
-
-copy /B %bin_dir%\mthcaud.dll %2\HCA\amd64\mthca32d.dll /y
-copy /B %bin_dir%\mthcaud.dll %2\HCA\ia64\mthca32d.dll /y
-
-copy /B %bin_dir%\mlx4ud.dll %2\HCA\amd64\mlx4u32d.dll /y
-copy /B %bin_dir%\mlx4ud.dll %2\HCA\ia64\mlx4u32d.dll /y
-
-copy /B %bin_dir%\dapl2d.dll %2\DAPL2\amd64\dapl232d.dll /y
-copy /B %bin_dir%\dat2d.dll  %2\DAPL2\amd64\dat232d.dll /y
-copy /B %bin_dir%\dapl2d.dll %2\DAPL2\ia64\dapl232d.dll /y
-copy /B %bin_dir%\dat2d.dll  %2\DAPL2\ia64\dat232d.dll /y
+if /I "%_ARCH%" == "x64" (
+    copy /B %bin_dir_chk_WOW%\ibald.dll %2\HCA\amd64\ibal32d.dll /y
+    copy /B %bin_dir_chk_WOW%\ibald.lib %2\HCA\amd64\ibal32d.lib /y
+    copy /B %bin_dir_chk_WOW%\ibald.pdb %2\HCA\amd64\ibal32d.pdb /y
+    copy /B %bin_dir_chk_WOW%\complibd.dll %2\HCA\amd64\cl32d.dll /y
+    copy /B %bin_dir_chk_WOW%\complibd.lib %2\HCA\amd64\cl32d.lib /y
+    copy /B %bin_dir_chk_WOW%\complibd.pdb %2\HCA\amd64\cl32d.pdb /y
+    copy /B %bin_dir_chk_WOW%\mthcaud.dll %2\HCA\amd64\mthca32d.dll /y
+    copy /B %bin_dir_chk_WOW%\mlx4ud.dll %2\HCA\amd64\mlx4u32d.dll /y
+    copy /B %bin_dir_chk_WOW%\dapl2d.dll %2\DAPL2\amd64\dapl232d.dll /y
+    copy /B %bin_dir_chk_WOW%\dat2d.dll  %2\DAPL2\amd64\dat232d.dll /y
+) else (
+    copy /B %bin_dir_chk_WOW%\ibald.dll %2\HCA\ia64\ibal32d.dll /y
+    copy /B %bin_dir_chk_WOW%\ibald.lib %2\HCA\ia64\ibal32d.lib /y
+    copy /B %bin_dir_chk_WOW%\ibald.pdb %2\HCA\ia64\ibal32d.pdb /y
+    copy /B %bin_dir_chk_WOW%\complibd.dll %2\HCA\ia64\cl32d.dll /y
+    copy /B %bin_dir_chk_WOW%\complibd.lib %2\HCA\ia64\cl32d.lib /y
+    copy /B %bin_dir_chk_WOW%\complibd.pdb %2\HCA\ia64\cl32d.pdb /y
+    copy /B %bin_dir_chk_WOW%\mthcaud.dll %2\HCA\ia64\mthca32d.dll /y
+    copy /B %bin_dir_chk_WOW%\mlx4ud.dll %2\HCA\ia64\mlx4u32d.dll /y
+    copy /B %bin_dir_chk_WOW%\dapl2d.dll %2\DAPL2\ia64\dapl232d.dll /y
+    copy /B %bin_dir_chk_WOW%\dat2d.dll  %2\DAPL2\ia64\dat232d.dll /y
+    goto ia64_fre_dll
+)

 rem Copy Free x64 dll

@@ -423,8 +494,11 @@
         exit /B 1
     )
 )
+goto fre_dll_WOW


+:ia64_fre_dll
+
 rem Copy Free IA64 dlls

 set bin_dir=%1\bin\user\objfre_%OSE%_ia64\ia64
@@ -472,6 +546,7 @@
         exit /B 1
     )
 )
+goto fre_dll_WOW


 rem Copy Free x86 drivers
@@ -529,6 +604,7 @@
 )

 if /I "%OSE%" == "wxp" goto mk_sym_bin
+
 rem free x86 items

 if "%DBG%" == "TRUE" echo DBG: copy x86 Free WSD
@@ -537,98 +613,94 @@
 copy %bin_dir%\installsp.exe %2\net\x86\ /y
 copy %bin_dir%\installsp.exe %2\tools\x86\release\ /y

+goto mk_sym_bin
+
+:fre_dll_WOW
+
 rem free x86 DLLs --> WOW64 DLLs

 if "%DBG%" == "TRUE" echo DBG: x86 Free dlls to WOW64

-if exist "%bin_dir%\ibndprov.dll" (
-    copy %bin_dir%\ibndprov.dll %2\net\amd64\ibndprov32.dll /y
-    copy %bin_dir%\wvndprov.dll %2\net\amd64\wvndprov32.dll /y
-    copy %bin_dir%\ibndprov.dll %2\net\ia64\ibndprov32.dll /y
-    copy %bin_dir%\wvndprov.dll %2\net\ia64\wvndprov32.dll /y
-)
-copy /B %bin_dir%\ibwsd.dll %2\net\amd64\ibwsd32.dll /y
-copy /B %bin_dir%\ibwsd.dll %2\net\ia64\ibwsd32.dll /y
-
-copy /B %bin_dir%\ibal.dll %2\HCA\amd64\ibal32.dll /y
-copy /B %bin_dir%\ibal.lib %2\HCA\amd64\ibal32.lib /y
-copy /B %bin_dir%\ibal.pdb %2\HCA\amd64\ibal32.pdb /y
-copy /B %bin_dir%\complib.dll %2\HCA\amd64\cl32.dll /y
-copy /B %bin_dir%\complib.lib %2\HCA\amd64\cl32.lib /y
-copy /B %bin_dir%\complib.pdb %2\HCA\amd64\cl32.pdb /y
-copy /B %bin_dir%\winverbs.dll %2\HCA\amd64\winverbs32.dll /y
-copy /B %bin_dir%\winverbs.lib %2\HCA\amd64\winverbs32.lib /y
-copy /B %bin_dir%\winverbs.pdb %2\HCA\amd64\winverbs32.pdb /y
-copy /B %bin_dir%\winmad.dll %2\HCA\amd64\winverbs32.dll /y
-copy /B %bin_dir%\winmad.lib %2\HCA\amd64\winverbs32.lib /y
-copy /B %bin_dir%\winmad.pdb %2\HCA\amd64\winverbs32.pdb /y
-
-copy /B %bin_dir%\ibal.dll %2\HCA\ia64\ibal32.dll /y
-copy /B %bin_dir%\ibal.lib %2\HCA\ia64\ibal32.lib /y
-copy /B %bin_dir%\ibal.pdb %2\HCA\ia64\ibal32.pdb /y
-copy /B %bin_dir%\complib.dll %2\HCA\ia64\cl32.dll /y
-copy /B %bin_dir%\complib.lib %2\HCA\ia64\cl32.lib /y
-copy /B %bin_dir%\complib.pdb %2\HCA\ia64\cl32.pdb /y
-copy /B %bin_dir%\winverbs.dll %2\HCA\ia64\winverbs32.dll /y
-copy /B %bin_dir%\winverbs.lib %2\HCA\ia64\winverbs32.lib /y
-copy /B %bin_dir%\winverbs.pdb %2\HCA\ia64\winverbs32.pdb /y
-copy /B %bin_dir%\winmad.dll %2\HCA\ia64\winverbs32.dll /y
-copy /B %bin_dir%\winmad.lib %2\HCA\ia64\winverbs32.lib /y
-copy /B %bin_dir%\winmad.pdb %2\HCA\ia64\winverbs32.pdb /y
-
-copy /B %bin_dir%\mthcau.dll %2\HCA\amd64\mthca32.dll /y
-copy /B %bin_dir%\mthcau.dll %2\HCA\ia64\mthca32.dll /y
-
-copy /B %bin_dir%\mlx4u.dll %2\HCA\amd64\mlx4u32.dll /y
-copy /B %bin_dir%\mlx4u.dll %2\HCA\ia64\mlx4u32.dll /y
-
-copy /B %bin_dir%\dapl2.dll %2\DAPL2\amd64\dapl232.dll /y
-copy /B %bin_dir%\dat2.dll %2\DAPL2\amd64\dat232.dll /y
-copy /B %bin_dir%\dapl2.dll %2\DAPL2\ia64\dapl232.dll /y
-copy /B %bin_dir%\dat2.dll %2\DAPL2\ia64\dat232.dll /y
+if /I "%_ARCH%" == "x64" (
+    if exist "%bin_dir_fre_WOW%\ibndprov.dll" (
+        copy %bin_dir_fre_WOW%\ibndprov.dll %2\net\amd64\ibndprov32.dll /y
+        copy %bin_dir_fre_WOW%\wvndprov.dll %2\net\amd64\wvndprov32.dll /y
+    )
+    copy /B %bin_dir_fre_WOW%\ibwsd.dll %2\net\amd64\ibwsd32.dll /y
+    copy /B %bin_dir_fre_WOW%\ibal.dll %2\HCA\amd64\ibal32.dll /y
+    copy /B %bin_dir_fre_WOW%\ibal.lib %2\HCA\amd64\ibal32.lib /y
+    copy /B %bin_dir_fre_WOW%\ibal.pdb %2\HCA\amd64\ibal32.pdb /y
+    copy /B %bin_dir_fre_WOW%\complib.dll %2\HCA\amd64\cl32.dll /y
+    copy /B %bin_dir_fre_WOW%\complib.lib %2\HCA\amd64\cl32.lib /y
+    copy /B %bin_dir_fre_WOW%\complib.pdb %2\HCA\amd64\cl32.pdb /y
+    copy /B %bin_dir_fre_WOW%\winverbs.dll %2\HCA\amd64\winverbs32.dll /y
+    copy /B %bin_dir_fre_WOW%\winverbs.lib %2\HCA\amd64\winverbs32.lib /y
+    copy /B %bin_dir_fre_WOW%\winverbs.pdb %2\HCA\amd64\winverbs32.pdb /y
+    copy /B %bin_dir_fre_WOW%\winmad.dll %2\HCA\amd64\winverbs32.dll /y
+    copy /B %bin_dir_fre_WOW%\winmad.lib %2\HCA\amd64\winverbs32.lib /y
+    copy /B %bin_dir_fre_WOW%\winmad.pdb %2\HCA\amd64\winverbs32.pdb /y
+    copy /B %bin_dir_fre_WOW%\mthcau.dll %2\HCA\amd64\mthca32.dll /y
+    copy /B %bin_dir_fre_WOW%\mlx4u.dll %2\HCA\amd64\mlx4u32.dll /y
+    copy /B %bin_dir_fre_WOW%\dapl2.dll %2\DAPL2\amd64\dapl232.dll /y
+    copy /B %bin_dir_fre_WOW%\dat2.dll %2\DAPL2\amd64\dat232.dll /y
+) else (
+    rem IA64
+    if exist "%bin_dir_fre_WOW%\ibndprov.dll" (
+        copy %bin_dir_fre_WOW%\ibndprov.dll %2\net\ia64\ibndprov32.dll /y
+        copy %bin_dir_fre_WOW%\wvndprov.dll %2\net\ia64\wvndprov32.dll /y
+    )
+    copy /B %bin_dir_fre_WOW%\ibwsd.dll %2\net\ia64\ibwsd32.dll /y
+    copy /B %bin_dir_fre_WOW%\ibal.dll %2\HCA\ia64\ibal32.dll /y
+    copy /B %bin_dir_fre_WOW%\ibal.lib %2\HCA\ia64\ibal32.lib /y
+    copy /B %bin_dir_fre_WOW%\ibal.pdb %2\HCA\ia64\ibal32.pdb /y
+    copy /B %bin_dir_fre_WOW%\complib.dll %2\HCA\ia64\cl32.dll /y
+    copy /B %bin_dir_fre_WOW%\complib.lib %2\HCA\ia64\cl32.lib /y
+    copy /B %bin_dir_fre_WOW%\complib.pdb %2\HCA\ia64\cl32.pdb /y
+    copy /B %bin_dir_fre_WOW%\winverbs.dll %2\HCA\ia64\winverbs32.dll /y
+    copy /B %bin_dir_fre_WOW%\winverbs.lib %2\HCA\ia64\winverbs32.lib /y
+    copy /B %bin_dir_fre_WOW%\winverbs.pdb %2\HCA\ia64\winverbs32.pdb /y
+    copy /B %bin_dir_fre_WOW%\winmad.dll %2\HCA\ia64\winverbs32.dll /y
+    copy /B %bin_dir_fre_WOW%\winmad.lib %2\HCA\ia64\winverbs32.lib /y
+    copy /B %bin_dir_fre_WOW%\winmad.pdb %2\HCA\ia64\winverbs32.pdb /y
+    copy /B %bin_dir_fre_WOW%\mthcau.dll %2\HCA\ia64\mthca32.dll /y
+    copy /B %bin_dir_fre_WOW%\mlx4u.dll %2\HCA\ia64\mlx4u32.dll /y
+    copy /B %bin_dir_fre_WOW%\dapl2.dll %2\DAPL2\ia64\dapl232.dll /y
+    copy /B %bin_dir_fre_WOW%\dat2.dll %2\DAPL2\ia64\dat232.dll /y
+)

 :mk_sym_bin

-rem bin\bin used to generate a web based symbol store in build-ofa-dist.bat.
+rem bin\bin used to generate a symbol store in build-ofa-dist.bat.
+
+echo 'Copy bin\obj{chk,fre}_%3_{%ARCH_MS%} to bin'

-echo 'Copy bin\obj{chk,fre}_%3_{x86,amd64,ia64} to bin'
-rem xcopy %1\bin %2\bin\ /eyq
-rem instead of copying the entire bin\ folder, pick items of OS interest.
+if /I "%_ARCH%" == "x64"  goto bin_x64
+if /I "%_ARCH%" == "ia64"  goto bin_ia64

+rem x86
 xcopy %1\bin\kernel\objchk_%3_x86 %2\bin\kernel\objchk_%3_x86\ /S /Y /Q
 xcopy %1\bin\kernel\objfre_%3_x86 %2\bin\kernel\objfre_%3_x86\ /S /Y /Q
-if /I "%3" == "wxp" goto ucpy
-xcopy %1\bin\kernel\objchk_%3_ia64 %2\bin\kernel\objchk_%3_ia64\ /S /Y /Q
-xcopy %1\bin\kernel\objfre_%3_ia64 %2\bin\kernel\objfre_%3_ia64\ /S /Y /Q
-xcopy %1\bin\kernel\objchk_%3_amd64 %2\bin\kernel\objchk_%3_amd64\ /S /Y /Q
-xcopy %1\bin\kernel\objfre_%3_amd64 %2\bin\kernel\objfre_%3_amd64\ /S /Y /Q
-
-:ucpy

 xcopy %1\bin\user\objchk_%3_x86 %2\bin\user\objchk_%3_x86\ /S /Y /Q
 xcopy %1\bin\user\objfre_%3_x86 %2\bin\user\objfre_%3_x86\ /S /Y /Q
-if /I "%3" == "wxp" goto ucpyx
-xcopy %1\bin\user\objchk_%3_ia64 %2\bin\user\objchk_%3_ia64\ /S /Y /Q
-xcopy %1\bin\user\objfre_%3_ia64 %2\bin\user\objfre_%3_ia64\ /S /Y /Q
+goto do_dat
+
+:bin_x64
+xcopy %1\bin\kernel\objchk_%3_amd64 %2\bin\kernel\objchk_%3_amd64\ /S /Y /Q
+xcopy %1\bin\kernel\objfre_%3_amd64 %2\bin\kernel\objfre_%3_amd64\ /S /Y /Q
+
 xcopy %1\bin\user\objchk_%3_amd64 %2\bin\user\objchk_%3_amd64\ /S /Y /Q
 xcopy %1\bin\user\objfre_%3_amd64 %2\bin\user\objfre_%3_amd64\ /S /Y /Q
+goto do_dat

-:ucpyx
+:bin_ia64
+xcopy %1\bin\kernel\objchk_%3_ia64 %2\bin\kernel\objchk_%3_ia64\ /S /Y /Q
+xcopy %1\bin\kernel\objfre_%3_ia64 %2\bin\kernel\objfre_%3_ia64\ /S /Y /Q

-rem echo Copy symbol files: bin\*.pdb to %2\symbols
-rem xcopy %1\bin\*.pdb %2\symbols\ /eyq
+xcopy %1\bin\user\objchk_%3_ia64 %2\bin\user\objchk_%3_ia64\ /S /Y /Q
+xcopy %1\bin\user\objfre_%3_ia64 %2\bin\user\objfre_%3_ia64\ /S /Y /Q

-rem if "%DBG%" == "TRUE" echo DBG: bin\ file cleanup, file-not-found is OK.
-rem pushd %2
-rem del /s bin\*.pdb > nul
-rem del /s ibtest*   > nul
-rem del /s pingpong* > nul
-rem del /s *Sdp*     > nul
-rem del /s Select*   > nul
-rem del /s usrp*     > nul
-rem del /s bin\*.lib > nul
-rem del /s bin\*.exp > nul
-rem popd
+:do_dat

 rem Copy DAT v2.0 header files
 if "%DBG%" == "TRUE" echo DBG: [%OSE%] DAT v2.0 header files
@@ -737,7 +809,7 @@
     )
 )

-echo "Copy Checked drivers {ibbus,mthca,mlx} to %2\Chk\HCA\{amd64,ia64,x86}"
+echo "Copy Checked drivers {ibbus,mthca,mlx} to %2\Chk\HCA\%ARCH_MS%"
 set B=%2\bin\kernel\objchk_%3

 for %%i in ( ibbus mthca ibiou mlx4_hca mlx4_bus ) do (
@@ -756,7 +828,7 @@
     )
 )

-echo "Copy Checked drivers {ipoib,qlgcvnic} to %2\Chk\net\{amd64,ia64,x86}"
+echo "Copy Checked drivers {ipoib,qlgcvnic} to %2\Chk\net\%ARCH_MS%"
 for %%i in ( ipoib qlgcvnic ) do (
     if exist %B%_amd64\amd64\%%i.sys (
         copy /B/Y %B%_amd64\amd64\%%i.sys %2\Chk\net\amd64\%%i.sys
@@ -772,7 +844,7 @@
     )
 )

-echo "Copy Checked drivers {ibsrp} to %2\Chk\storage\{amd64,ia64,x86}"
+echo "Copy Checked drivers {ibsrp} to %2\Chk\storage\%ARCH_MS%"
 for %%i in ( ibsrp ) do (
     if exist %B%_amd64\amd64\%%i.sys (
         copy /B/Y %B%_amd64\amd64\%%i.sys %2\Chk\storage\amd64\%%i.sys


--- a/OFED/BuildRelease.bat     Tue Jun 22 17:08:51 2010
+++ b/OFED/BuildRelease.bat     Tue Jun 22 17:08:28 2010
@@ -344,10 +344,13 @@
     exit /B 1
 )

-if NOT EXIST etc\makebin.bat (
-    echo %0 - Missing etc\makebin.bat, script must run from gen1\trunk
+set MKBIN=%BSE%\etc\makebin.bat
+
+if NOT EXIST "%MKBIN%" (
+    echo %0 - Missing %MKBIN%, script must run from trunk\ equivalent.
     exit /B 1
 )
+
 set STIME=%TIME%

 rem skip build - assumes binaries already built and installed.
@@ -541,27 +544,35 @@
 mkdir %RBIN_WNET%
 mkdir %RBIN_WXP%

-if EXIST "%BSE%\etc\makebin.bat" (
-   call %BSE%\etc\makebin.bat %BSE% %RBIN_W7% win7 %_DDK% %_COIN_VER%
-   if ERRORLEVEL 1 (
-               echo %0: Err in makebin.bat %BSE% %RBIN_W7% wlh %_DDK% %_COIN_VER%
-               exit /B 1
-   )
-    call %BSE%\etc\makebin.bat %BSE% %RBIN_WLH% wlh %_DDK% %_COIN_VER%
+
+for %%i in ( x64 x86 ia64 ) do (
+    call %MKBIN% %BSE% %RBIN_W7% win7 %%i %_DDK% %_COIN_VER%
     if ERRORLEVEL 1 (
-        echo %0: Err in makebin.bat %BSE% %RBIN_WLH% wlh %_DDK% %_COIN_VER%
-        exit /B 1
+       echo %0: Err in %MKBIN% %BSE% %RBIN_W7% wlh %%i %_DDK% %_COIN_VER%
+       exit /B 1
     )
-    call %BSE%\etc\makebin.bat %BSE% %RBIN_WNET% wnet %_DDK% %_COIN_VER%
+)
+
+for %%i in ( x64 x86 ia64 ) do (
+    call %MKBIN% %BSE% %RBIN_WLH% wlh %%i %_DDK% %_COIN_VER%
     if ERRORLEVEL 1 (
-        echo %0: Err in makebin.bat %BSE% %RBIN_WNET% wnet %_DDK% %_COIN_VER%
+        echo %0: Err in %MKBIN% %BSE% %RBIN_WLH% wlh %%i %_DDK% %_COIN_VER%
         exit /B 1
     )
-    call %BSE%\etc\makebin.bat %BSE% %RBIN_WXP% wxp %_DDK% %_COIN_VER%
+)
+
+for %%i in ( x64 x86 ia64 ) do (
+    call %MKBIN% %BSE% %RBIN_WNET% wnet %%i %_DDK% %_COIN_VER%
     if ERRORLEVEL 1 (
-        echo %0: Err in makebin.bat %BSE% %RBIN_WXP% wxp %_DDK% %_COIN_VER%
+        echo %0: Err in %MKBIN% %BSE% %RBIN_WNET% wnet %%i %_DDK% %_COIN_VER%
         exit /B 1
     )
+)
+
+call %MKBIN% %BSE% %RBIN_WXP% wxp x86 %_DDK% %_COIN_VER%
+if ERRORLEVEL 1 (
+    echo %0: Err in %MKBIN% %BSE% %RBIN_WXP% wxp x86 %_DDK% %_COIN_VER%
+    exit /B 1
 )

 if "%1" == "makebin" goto finito



More information about the ofw mailing list