[ofw] ib_bus.inf example for synchronization of .inf DriverVer andBuild date, file ver & svn version number.

Anatoly Greenblatt anatolyg at voltaire.com
Thu Jun 26 03:31:27 PDT 2008


Hi Stan,

You can also add the digital signature to building process
Here is an example of building batch:

set DDKPATH=c:\winddk\6001.18001
set VERSION=2.0.0.0
set BINPATH=c:\winof\bin

pushd .
call %DDKPATH%\bin\setenv.bat %DDKPATH% fre wlh
popd

for %%i in (%BINPATH%\*.sys) do signtool sign /v /ac MSCV-VSClass3.cer
/n "voltaire" /t http://timestamp.verisign.com/scripts/timestamp.dll %%i
for %%i in (%BINPATH%\*.inf) do stampinf -f %%i -d * -v %VERSION%
inf2cat.exe /driver:%BINPATH% /verbose
/os:server2003_x86,server2003_x64,vista_x86,vista_x64
for %%i in (%BINPATH%\*.cat) do signtool sign /v /ac MSCV-VSClass3.cer
/n "voltaire" /t http://timestamp.verisign.com/scripts/timestamp.dll %%i

Regards,
Anatoly.

-----Original Message-----
From: ofw-bounces at lists.openfabrics.org
[mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of Stan C. Smith
Sent: Wednesday, June 25, 2008 22:39
To: ofw at lists.openfabrics.org
Subject: [ofw] ib_bus.inf example for synchronization of .inf DriverVer
andBuild date, file ver & svn version number.

The following new files and mods enable date & version synchronization
between
ibbus.sys and ib_buf.inf. The makefile and .inx filename conventions are
derrived
from the WDK examples.
IB_{MAJOR/MINOR}VERSION can be overridden from definitions in the
SOURCES file.

>>>> New File trunk\inc\inf_stamp.inc
>>>> .inf file created where .sys file resides.
>>>> Common makefile fragment included by makfile.inc

# Transform .inx file to .inf file adding date + major/min & svn.ver
stamps
# Output .inf place is copied to bin\kernel\... folder (where .sys file
resides)

_LNG=$(LANGUAGE)
_INX=.
STAMP=stampinf -a $(_BUILDARCH)

!INCLUDE mod_ver.def

..\..\..\bin\kernel\$(O)\$(INF_NAME).inf : $(_INX)\$(INF_NAME).inx 
    copy $(_INX)\$(@B).inx $@
    $(STAMP) -f $@ -d * -v
$(IB_MAJORVERSION).$(IB_MINORVERSION).$(IB_F3VERSION).$(OPENIB_REV)


>>>>New file trunk\inc\mod_ver.def

# Define Major and Minor numbers for the current module build.
# This file is included by openib.def & inf_stamp.inc so as to define
# major & minor #'s in a single location.
#
# Major & Minor definitions can be defined in a local SOURCES file
# which overrides these definitions thus providing module local version
# definitions.

!IF !DEFINED(IB_MAJORVERSION)
IB_MAJORVERSION=2
!ENDIF

!IF !DEFINED(IB_MINORVERSION)
IB_MINORVERSION=0
!ENDIF

# unused File version Field 3, see inf_stamp.inc
!IF !DEFINED(IB_F3VERSION)
IB_F3VERSION=0
!ENDIF

>>>>Mods to trunk\inc\openib.def

diff C3 C:/Temp/openib.def-revBASE.svn000.tmp.def
C:/openIB-windows/SVN/gen1/trunk/inc/openib.def
*** C:/Temp/openib.def-revBASE.svn000.tmp.def	Wed Jun 25 12:14:41 2008
--- C:/openIB-windows/SVN/gen1/trunk/inc/openib.def	Wed Jun 25
10:56:01 2008
***************
*** 1,3 ****
--- 1,6 ----
+ !IF !DEFINED(_OPENIB_DEF_)
+ _OPENIB_DEF_=1
+ 
  !INCLUDE $(NTMAKEENV)\makefile.def
  
  # Allow overriding the company name.
***************
*** 10,22 ****
  IB_PRODUCTNAME="""OpenFabrics\x20Windows"""
  !ENDIF
  
- !IF !DEFINED(IB_MAJORVERSION)
- IB_MAJORVERSION=1
- !endif
- 
- !IF !DEFINED(IB_MINORVERSION)
- IB_MINORVERSION=0
- !endif
  
  !IF !DEFINED(IB_FILEBUILD)
  IB_FILEBUILD=0
--- 13,20 ----
  IB_PRODUCTNAME="""OpenFabrics\x20Windows"""
  !ENDIF
  
+ # get module versions: major, minor & svn.ver
+ !include mod_ver.def
  
  !IF !DEFINED(IB_FILEBUILD)
  IB_FILEBUILD=0
***************
*** 24,31 ****
  
  !IF !DEFINED(IB_FILEREV)
  IB_FILEREV=$(OPENIB_REV)
- 
- !endif
  
  !IFNDEF VER_PROVIDER
  VER_PROVIDER="""OpenIB"""
--- 22,28 ----
  
  !IF !DEFINED(IB_FILEREV)
  IB_FILEREV=$(OPENIB_REV)
+ !ENDIF
  
  !IFNDEF VER_PROVIDER
  VER_PROVIDER="""OpenIB"""
***************
*** 37,40 ****
      -DVER_FILEMINORVERSION=$(IB_MINORVERSION) \
      -DVER_FILEBUILD=$(IB_FILEBUILD) \
  	-DVER_FILEREV=$(IB_FILEREV) \
  	-DVER_PROVIDER=$(VER_PROVIDER)
--- 34,39 ----
      -DVER_FILEMINORVERSION=$(IB_MINORVERSION) \
      -DVER_FILEBUILD=$(IB_FILEBUILD) \
  	-DVER_FILEREV=$(IB_FILEREV) \
  	-DVER_PROVIDER=$(VER_PROVIDER)
+ 
+ !ENDIF


>>>>New file trunk\core\bus\kernel\makefile.inc

#
# This file indirects to the common inf_stamp.inf that is
# shared by driver components of the OpenIB Windows project.
#

!include ..\..\..\inc\inf_stamp.inc


>>>> Rename trunk\core\bus\kernel\ib_bus.inf -->
trunk\core\bus\kernel\ib_bus.inx
>>>> If you need the .inf file without stamping, copy ib_bus.inx -->
ib_bus.inf
>>>> Microsoft defined the .inx convention.

>>>>Mods to trunk\core\bus\kernel\SOURCES

*** C:/Temp/SOURCES-revBASE.svn000.tmp  Wed Jun 25 12:09:33 2008
--- C:/openIB-windows/SVN/gen1/trunk/core/bus/kernel/SOURCES  Fri Jun 20
16:35:19 2008
***************
*** 2,7 ****
--- 2,17 ----
  TARGETPATH=..\..\..\bin\kernel\obj$(BUILD_ALT_DIR)
  TARGETTYPE=DRIVER
  
+ # Transform .inx --> .inf adding date & version stamps
+ # NTTARGETFILES invokes loginc in wdk\xxx\bin\makefile.new to
+ # include .\makefile.inc
+ 
+ !if $(_NT_TOOLS_VERSION) != 0x700
+ # WDK build only.
+ INF_NAME=ib_bus
+ NTTARGETFILES=..\..\..\bin\kernel\$(O)\$(INF_NAME).inf
+ MISCFILES=$(NTTARGETFILES)
+ !endif
  
  !if $(FREEBUILD)
  ENABLE_EVENT_TRACING=1



_______________________________________________
ofw mailing list
ofw at lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw



More information about the ofw mailing list