[WinOF,WinVerbs]
authorstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Fri, 12 Dec 2008 00:57:21 +0000 (00:57 +0000)
committerstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Fri, 12 Dec 2008 00:57:21 +0000 (00:57 +0000)
  makebin.bat - support winverbs & libibverbs.dll (OFED API) install
  etc\user\getopt.c - return '?' as error instead of EOF for missing option arg and other errors.

git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@1786 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

etc/makebin.bat
etc/user/getopt.c

index 5efd5c3..1f63d5f 100644 (file)
@@ -69,7 +69,7 @@ set dest_dir=%2\HCA\amd64\
 \r
 if "%DBG%" == "TRUE" echo DBG: AMD64 free drivers\r
 \r
-set F=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 winverbs.inf\r
+set F=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\r
 for %%i in ( %F% ) do (\r
     xcopy %bin_dir%\%%i %dest_dir% /yq 1> nul\r
     if ERRORLEVEL 1 (\r
@@ -97,9 +97,7 @@ set dest_dir=%2\HCA\ia64\
 \r
 if "%DBG%" == "TRUE" echo DBG: ia64 free drivers\r
 \r
-rem add mlx4_hca.inf & mlx4_bus.inf when Connectx on ia64 works.\r
-\r
-set F=ibbus.sys ibbus.pdb ibiou.sys ibiou.pdb ib_iou.inf mthca.sys mthca.pdb mthca.inf winverbs.sys winverbs.pdb winverbs.inf\r
+set F=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 \r
 for %%i in ( %F% ) do (\r
     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
     if ERRORLEVEL 1 (\r
@@ -130,7 +128,7 @@ if "%DBG%" == "TRUE" echo DBG: x86 free drivers
 set bin_dir=%1\bin\kernel\objfre_%OSE%_x86\i386\r
 set dest_dir=%2\HCA\x86\\r
 \r
-set F=ibbus.sys ibbus.pdb ibiou.sys ibiou.pdb ib_iou.inf mthca.sys mthca.pdb mthca.inf mlx4_hca.sys mlx4_hca.pdb mlx4_hca.inf mlx4_bus.sys mlx4_bus.pdb mlx4_bus.inf winverbs.sys winverbs.pdb winverbs.inf\r
+set F=ibbus.sys ibbus.pdb ibiou.sys ibiou.pdb ib_iou.inf mthca.sys mthca.pdb mthca.inf mlx4_hca.sys mlx4_hca.pdb mlx4_hca.inf mlx4_bus.sys mlx4_bus.pdb mlx4_bus.inf winverbs.sys winverbs.pdb\r
 for %%i in ( %F% ) do (\r
     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
     if ERRORLEVEL 1 (\r
@@ -161,7 +159,7 @@ if "%DBG%" == "TRUE" echo DBG: amd64 Checked amd64 user-mode
 set bin_dir=%1\bin\user\objchk_%OSE%_amd64\amd64\r
 set dest_dir=%2\HCA\amd64\\r
 \r
-for %%i in (ibald.dll complibd.dll mthcaud.dll IbInstaller.dll mlx4ud.dll) do (\r
+for %%i in (ibald.dll complibd.dll mthcaud.dll mlx4ud.dll) do (\r
     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
     if ERRORLEVEL 1 (\r
         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
@@ -178,7 +176,7 @@ for %%i in (ibald.lib ibald.pdb complibd.lib complibd.pdb) do (
 )\r
 \r
 echo xcopy winverbs: User checked to HCA\amd64\r
-set F=winverbsd.dll winverbsd.lib libibverbsd.dll libibverbsd.lib\r
+set F=winverbsd.dll winverbsd.lib libibverbsd.dll libibverbsd.lib libibverbsd.pdb\r
 \r
 for %%i in ( %F% ) do (\r
     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
@@ -219,7 +217,7 @@ if "%DBG%" == "TRUE" echo DBG: ia64 Checked dlls
 set bin_dir=%1\bin\user\objchk_%OSE%_ia64\ia64\r
 set dest_dir=%2\HCA\ia64\\r
 \r
-for %%i in (ibald.dll complibd.dll mthcaud.dll IbInstaller.dll) do (\r
+for %%i in (ibald.dll complibd.dll mthcaud.dll mlx4ud.dll) do (\r
     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
     if ERRORLEVEL 1 (\r
         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
@@ -236,7 +234,7 @@ for %%i in (ibald.lib ibald.pdb complibd.lib complibd.pdb) do (
 )\r
 \r
 echo xcopy winverbs: User checked to HCA\ia64\r
-set F=winverbsd.dll winverbsd.lib libibverbsd.dll libibverbsd.lib\r
+set F=winverbsd.dll winverbsd.lib libibverbsd.dll libibverbsd.lib libibverbsd.pdb\r
 \r
 for %%i in ( %F% ) do (\r
     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
@@ -296,7 +294,7 @@ for %%i in (ibald.lib ibald.pdb complibd.lib complibd.pdb) do (
 )\r
 \r
 echo xcopy winverbs: User checked to HCA\x86\r
-set F=winverbsd.dll winverbsd.lib libibverbsd.dll libibverbsd.lib\r
+set F=winverbsd.dll winverbsd.lib libibverbsd.dll libibverbsd.lib libibverbsd.pdb\r
 \r
 for %%i in ( %F% ) do (\r
     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
@@ -356,7 +354,7 @@ copy /B %bin_dir%\mthcaud.dll %2\HCA\amd64\mthca32d.dll /y
 copy /B %bin_dir%\mthcaud.dll %2\HCA\ia64\mthca32d.dll /y \r
 \r
 copy /B %bin_dir%\mlx4ud.dll %2\HCA\amd64\mlx4u32d.dll /y \r
-rem when ConnectX on ia64 works copy /B %bin_dir%\mlx4ud.dll %2\HCA\ia64\mlx4u32d.dll /y\r
+copy /B %bin_dir%\mlx4ud.dll %2\HCA\ia64\mlx4u32d.dll /y\r
 \r
 copy /B %bin_dir%\dapld.dll  %2\DAPL\amd64\dapl32d.dll /y \r
 copy /B %bin_dir%\datd.dll   %2\DAPL\amd64\dat32d.dll /y \r
@@ -375,7 +373,7 @@ set dest_dir=%2\HCA\amd64\
 \r
 if "%DBG%" == "TRUE" echo DBG: copy amd64 Free dlls\r
 \r
-for %%i in (ibal.dll complib.dll mthcau.dll IbInstaller.dll mlx4u.dll) do (\r
+for %%i in (ibal.dll complib.dll mthcau.dll mlx4u.dll) do (\r
     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
     if ERRORLEVEL 1 (\r
         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /y\r
@@ -392,7 +390,7 @@ for %%i in (ibal.lib ibal.pdb complib.lib complib.pdb) do (
 )\r
 \r
 echo xcopy winverbs: User free to HCA\amd64\r
-set F=winverbs.dll winverbs.lib libibverbs.dll libibverbs.lib\r
+set F=winverbs.dll winverbs.lib libibverbs.dll libibverbs.lib libibverbs.pdb\r
 \r
 for %%i in ( %F% ) do (\r
     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
@@ -440,7 +438,7 @@ set dest_dir=%2\HCA\ia64\
 \r
 if "%DBG%" == "TRUE" echo DBG: copy IA64 Free dlls\r
 \r
-for %%i in (ibal.dll complib.dll mthcau.dll IbInstaller.dll) do (\r
+for %%i in (ibal.dll complib.dll mthcau.dll mlx4u.dll) do (\r
     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
     if ERRORLEVEL 1 (\r
         echo ERR on xcopy %%i %dest_dir% /yq\r
@@ -457,7 +455,7 @@ for %%i in (ibal.lib ibal.pdb complib.lib complib.pdb) do (
 )\r
 \r
 echo xcopy winverbs: User free to HCA\ia64\r
-set F=winverbs.dll winverbs.lib libibverbs.dll libibverbs.lib\r
+set F=winverbs.dll winverbs.lib libibverbs.dll libibverbs.lib libibverbs.pdb\r
 \r
 for %%i in ( %F% ) do (\r
     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
@@ -505,7 +503,7 @@ set dest_dir=%2\HCA\x86\
 \r
 if "%DBG%" == "TRUE" echo DBG: copy x86 Free dlls\r
 \r
-for %%i in (ibal.dll complib.dll mthcau.dll IbInstaller.dll mlx4u.dll) do (\r
+for %%i in (ibal.dll complib.dll mthcau.dll mlx4u.dll) do (\r
     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
     if ERRORLEVEL 1 (\r
         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
@@ -522,7 +520,7 @@ for %%i in (ibal.lib ibal.pdb complib.lib complib.pdb) do (
 )\r
 \r
 echo xcopy winverbs: User free to HCA\x86\r
-set F=winverbs.dll winverbs.lib libibverbs.dll libibverbs.lib\r
+set F=winverbs.dll winverbs.lib libibverbs.dll libibverbs.lib libibverbs.pdb\r
 \r
 for %%i in ( %F% ) do (\r
     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
@@ -577,24 +575,32 @@ copy %bin_dir%\ibndprov.dll %2\net\amd64\ibndprov32.dll /y
 copy %bin_dir%\ibndprov.dll %2\net\ia64\ibndprov32.dll /y\r
 copy /B %bin_dir%\ibwsd.dll %2\net\amd64\ibwsd32.dll /y\r
 copy /B %bin_dir%\ibwsd.dll %2\net\ia64\ibwsd32.dll /y\r
+\r
 copy /B %bin_dir%\ibal.dll %2\HCA\amd64\ibal32.dll /y\r
 copy /B %bin_dir%\ibal.lib %2\HCA\amd64\ibal32.lib /y\r
 copy /B %bin_dir%\ibal.pdb %2\HCA\amd64\ibal32.pdb /y\r
 copy /B %bin_dir%\complib.dll %2\HCA\amd64\cl32.dll /y\r
 copy /B %bin_dir%\complib.lib %2\HCA\amd64\cl32.lib /y\r
 copy /B %bin_dir%\complib.pdb %2\HCA\amd64\cl32.pdb /y\r
+copy /B %bin_dir%\winverbs.dll %2\HCA\amd64\winverbs32.dll /y\r
+copy /B %bin_dir%\winverbs.lib %2\HCA\amd64\winverbs32.lib /y\r
+copy /B %bin_dir%\winverbs.pdb %2\HCA\amd64\winverbs32.pdb /y\r
+\r
 copy /B %bin_dir%\ibal.dll %2\HCA\ia64\ibal32.dll /y\r
 copy /B %bin_dir%\ibal.lib %2\HCA\ia64\ibal32.lib /y\r
 copy /B %bin_dir%\ibal.pdb %2\HCA\ia64\ibal32.pdb /y\r
 copy /B %bin_dir%\complib.dll %2\HCA\ia64\cl32.dll /y\r
 copy /B %bin_dir%\complib.lib %2\HCA\ia64\cl32.lib /y\r
 copy /B %bin_dir%\complib.pdb %2\HCA\ia64\cl32.pdb /y\r
+copy /B %bin_dir%\winverbs.dll %2\HCA\ia64\winverbs32.dll /y\r
+copy /B %bin_dir%\winverbs.lib %2\HCA\ia64\winverbs32.lib /y\r
+copy /B %bin_dir%\winverbs.pdb %2\HCA\ia64\winverbs32.pdb /y\r
 \r
 copy /B %bin_dir%\mthcau.dll %2\HCA\amd64\mthca32.dll /y\r
 copy /B %bin_dir%\mthcau.dll %2\HCA\ia64\mthca32.dll /y\r
 \r
 copy /B %bin_dir%\mlx4u.dll %2\HCA\amd64\mlx4u32.dll /y\r
-rem add when ConnectX on ia64 works copy /B %bin_dir%\mlx4u.dll %2\HCA\ia64\mlx4u32.dll /y\r
+copy /B %bin_dir%\mlx4u.dll %2\HCA\ia64\mlx4u32.dll /y\r
 \r
 copy /B %bin_dir%\dapl.dll %2\DAPL\amd64\dapl32.dll /y\r
 copy /B %bin_dir%\dat.dll %2\DAPL\amd64\dat32.dll /y\r
@@ -619,6 +625,7 @@ copy /A/Y %1\hw\mlx4\kernel\hca\mlx4_hca32.cdf %2\HCA\x86\mlx4_hca.cdf
 copy /A/Y %1\hw\mlx4\kernel\bus\drv\mlx4_bus32.cdf %2\HCA\x86\mlx4_bus.cdf\r
 copy /A/Y %1\core\bus\kernel\ib_bus32.cdf %2\HCA\x86\ib_bus.cdf\r
 copy /A/Y %1\core\iou\kernel\ib_iou.cdf %2\HCA\x86\ib_iou.cdf\r
+rem [future?]copy /A/Y %1\core\winverbs\kernel\winverbs32.cdf %2\HCA\x86\winverbs.cdf\r
 copy /A/Y %1\core\winverbs\kernel\winverbs.cdf %2\HCA\x86\winverbs.cdf\r
 \r
 rem No WSD support for XP32\r
index a5e3022..39c30cb 100644 (file)
@@ -45,7 +45,7 @@ int getopt(int argc, char **argv, char *opts)
 \r
        optarg = NULL;\r
 \r
-       if (optind == argc) {\r
+       if (optind >= argc) {\r
                return EOF;\r
        }\r
 \r
@@ -55,14 +55,14 @@ int getopt(int argc, char **argv, char *opts)
 \r
        if (!strcmp(argv[optind], "--")) {\r
                optind++;\r
-               return EOF;\r
+               return '?';\r
        }\r
 \r
        optopt = argv[optind][1];\r
 \r
        loc = strchr(opts, optopt);\r
        if (loc == NULL) {\r
-               return EOF;\r
+               return '?';\r
        }\r
 \r
        if (loc[1] != ':') {\r
@@ -74,13 +74,14 @@ int getopt(int argc, char **argv, char *opts)
                goto out;\r
        }\r
 \r
-       if ((optind + 1 == argc) || (argv[optind + 1][0] == '-')) {\r
-               if (loc[2] != ':') {\r
-                       return EOF; \r
-               }\r
-       } else {\r
-               optarg = argv[++optind];\r
-       }\r
+       /* switch argument is optional (::) - be careful */\r
+       if (loc[2] == ':' && (argv[optind+1] && argv[optind+1][0] == '-'))\r
+               goto out;\r
\r
+       optarg = argv[++optind];\r
+       while(optarg && *optarg && (*optarg == ' ' || *optarg == '      ')) optarg++;\r
+       if (optarg && !(*optarg))\r
+               optarg = NULL; \r
 \r
 out:\r
        optind++;\r
@@ -104,7 +105,7 @@ int getopt_long(int argc, char **argv, char *opts,
 \r
        if (!strcmp(argv[optind], "--")) {\r
                optind++;\r
-               return EOF;\r
+               return '?';\r
        }\r
 \r
        if (argv[optind][1] != '-') {\r