Conditional compile when building drivers

I have a feeling this is a very basic question, however the problem has me
scratching my head. Before you start laughing at me, when I started
programming, integrated environments were already the rage. I have not
until now needed to understand the nuances of make files etc…

I want to conditionally compile something like this:

#ifdef BOOGER
… some code
#else
… some other code
#endif

Now, how do I conditionally define BOOGER from the command line? Is there
an option to build.exe? With CL.exe you just specify “/D BOOGER”, but
since I am building a driver I am not call CL directly as you know. I
thought there was a way to do it with environment variables, but it has
eluded me so far.

-Justin

Take a look at C_DEFINES and USER_C_FLAGS in your DDK documentation, you can
use it in your Sources file. Beware however that Microsoft defines a few
other macros to add options to your CL command line: search for “Build
Utility Macros” in your DDK Doc. Finally, there’s a _CL environment variable
that you can use to pass command line options too.

In any case, I recommend taking a look at the .log file from your build to
make sure the CL options are coming out the way you want them to be !

Hope this helps,

Alberto.

-----Original Message-----
From: Justin Frodsham [mailto:zeppelin@io.com]
Sent: Wednesday, December 11, 2002 10:19 AM
To: NT Developers Interest List
Subject: [ntdev] Conditional compile when building drivers

I have a feeling this is a very basic question, however the problem has me
scratching my head. Before you start laughing at me, when I started
programming, integrated environments were already the rage. I have not
until now needed to understand the nuances of make files etc…

I want to conditionally compile something like this:

#ifdef BOOGER
… some code
#else
… some other code
#endif

Now, how do I conditionally define BOOGER from the command line? Is there
an option to build.exe? With CL.exe you just specify “/D BOOGER”, but
since I am building a driver I am not call CL directly as you know. I
thought there was a way to do it with environment variables, but it has
eluded me so far.

-Justin


You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to %%email.unsub%%

The contents of this e-mail are intended for the named addressee only. It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose
it to anyone else. If you received it in error please notify us immediately
and then destroy it.

Thanks,
The _CL variable looks promising. The other options however take me
back to square one unless you can specify a custom sources file at build time.

Thanks,
Justin

At 05:59 AM 12/11/2002, you wrote:

Take a look at C_DEFINES and USER_C_FLAGS in your DDK documentation, you can
use it in your Sources file. Beware however that Microsoft defines a few
other macros to add options to your CL command line: search for “Build
Utility Macros” in your DDK Doc. Finally, there’s a _CL environment variable
that you can use to pass command line options too.

In any case, I recommend taking a look at the .log file from your build to
make sure the CL options are coming out the way you want them to be !

Hope this helps,

Alberto.

-----Original Message-----
From: Justin Frodsham [mailto:zeppelin@io.com]
Sent: Wednesday, December 11, 2002 10:19 AM
To: NT Developers Interest List
Subject: [ntdev] Conditional compile when building drivers

I have a feeling this is a very basic question, however the problem has me
scratching my head. Before you start laughing at me, when I started
programming, integrated environments were already the rage. I have not
until now needed to understand the nuances of make files etc…

I want to conditionally compile something like this:

#ifdef BOOGER
… some code
#else
… some other code
#endif

Now, how do I conditionally define BOOGER from the command line? Is there
an option to build.exe? With CL.exe you just specify “/D BOOGER”, but
since I am building a driver I am not call CL directly as you know. I
thought there was a way to do it with environment variables, but it has
eluded me so far.

-Justin


You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to %%email.unsub%%

The contents of this e-mail are intended for the named addressee only. It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose
it to anyone else. If you received it in error please notify us immediately
and then destroy it.


You are currently subscribed to ntdev as: zeppelin@io.com
To unsubscribe send a blank email to %%email.unsub%%

Your suggestion to RTFM did the trick (as usual). C_DEFINES can be set
before calling build. You threw me off for a sec because you spoke of
using C_DEFINES in the sources file in the same sentence. _CL did not work
BTW.

Thanks,
Justin

At 05:59 AM 12/11/2002, you wrote:

Take a look at C_DEFINES and USER_C_FLAGS in your DDK documentation, you can
use it in your Sources file. Beware however that Microsoft defines a few
other macros to add options to your CL command line: search for “Build
Utility Macros” in your DDK Doc. Finally, there’s a _CL environment variable
that you can use to pass command line options too.

In any case, I recommend taking a look at the .log file from your build to
make sure the CL options are coming out the way you want them to be !

Hope this helps,

Alberto.

-----Original Message-----
From: Justin Frodsham [mailto:zeppelin@io.com]
Sent: Wednesday, December 11, 2002 10:19 AM
To: NT Developers Interest List
Subject: [ntdev] Conditional compile when building drivers

I have a feeling this is a very basic question, however the problem has me
scratching my head. Before you start laughing at me, when I started
programming, integrated environments were already the rage. I have not
until now needed to understand the nuances of make files etc…

I want to conditionally compile something like this:

#ifdef BOOGER
… some code
#else
… some other code
#endif

Now, how do I conditionally define BOOGER from the command line? Is there
an option to build.exe? With CL.exe you just specify “/D BOOGER”, but
since I am building a driver I am not call CL directly as you know. I
thought there was a way to do it with environment variables, but it has
eluded me so far.

-Justin


You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to %%email.unsub%%

The contents of this e-mail are intended for the named addressee only. It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose
it to anyone else. If you received it in error please notify us immediately
and then destroy it.


You are currently subscribed to ntdev as: zeppelin@io.com
To unsubscribe send a blank email to %%email.unsub%%

You specify a define to BUILD and have the sources file specify the correct
define to make and the compiler. Very simple.

----- Original Message -----
From: “Justin Frodsham”
To: “NT Developers Interest List”
Sent: Wednesday, December 11, 2002 11:21 AM
Subject: [ntdev] RE: Conditional compile when building drivers

> Thanks,
> The _CL variable looks promising. The other options however take me
> back to square one unless you can specify a custom sources file at build
time.
>
> Thanks,
> Justin
>
> At 05:59 AM 12/11/2002, you wrote:
> >Take a look at C_DEFINES and USER_C_FLAGS in your DDK documentation, you
can
> >use it in your Sources file. Beware however that Microsoft defines a few
> >other macros to add options to your CL command line: search for “Build
> >Utility Macros” in your DDK Doc. Finally, there’s a _CL environment
variable
> >that you can use to pass command line options too.
> >
> >In any case, I recommend taking a look at the .log file from your build
to
> >make sure the CL options are coming out the way you want them to be !
> >
> >Hope this helps,
> >
> >
> >Alberto.
> >
> >
> >-----Original Message-----
> >From: Justin Frodsham [mailto:zeppelin@io.com]
> >Sent: Wednesday, December 11, 2002 10:19 AM
> >To: NT Developers Interest List
> >Subject: [ntdev] Conditional compile when building drivers
> >
> >
> >I have a feeling this is a very basic question, however the problem has
me
> >scratching my head. Before you start laughing at me, when I started
> >programming, integrated environments were already the rage. I have not
> >until now needed to understand the nuances of make files etc…
> >
> >I want to conditionally compile something like this:
> >
> >#ifdef BOOGER
> >… some code
> >#else
> >… some other code
> >#endif
> >
> >Now, how do I conditionally define BOOGER from the command line? Is
there
> >an option to build.exe? With CL.exe you just specify “/D BOOGER”, but
> >since I am building a driver I am not call CL directly as you know. I
> >thought there was a way to do it with environment variables, but it has
> >eluded me so far.
> >
> >-Justin
> >
> >—
> >You are currently subscribed to ntdev as: xxxxx@compuware.com
> >To unsubscribe send a blank email to %%email.unsub%%
> >
> >
> >
> >The contents of this e-mail are intended for the named addressee only. It
> >contains information that may be confidential. Unless you are the named
> >addressee or an authorized designee, you may not copy or use it, or
disclose
> >it to anyone else. If you received it in error please notify us
immediately
> >and then destroy it.
> >
> >
> >
> >—
> >You are currently subscribed to ntdev as: zeppelin@io.com
> >To unsubscribe send a blank email to %%email.unsub%%
>
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> To unsubscribe send a blank email to %%email.unsub%%
>

I use a rather straightforward method to achieve this .

Create a .bat file that contains next lines ( example ) :


set _DRIVERNAME = MyDriver
call setenv.bat [parameters]
set C_DEFINES = %C_DEFINES% -DSZDRVNAME=“”“%_DRIVERNAME%”“”
build.exe [parameters]

----- Original Message -----
From: “David J. Craig”
To: “NT Developers Interest List”
Sent: Wednesday, December 11, 2002 7:36 PM
Subject: [ntdev] RE: Conditional compile when building drivers

> You specify a define to BUILD and have the sources file specify the
correct
> define to make and the compiler. Very simple.
>
> ----- Original Message -----
> From: “Justin Frodsham”
> To: “NT Developers Interest List”
> Sent: Wednesday, December 11, 2002 11:21 AM
> Subject: [ntdev] RE: Conditional compile when building drivers
>
>
> > Thanks,
> > The _CL variable looks promising. The other options however take me
> > back to square one unless you can specify a custom sources file at build
> time.
> >
> > Thanks,
> > Justin
> >
> > At 05:59 AM 12/11/2002, you wrote:
> > >Take a look at C_DEFINES and USER_C_FLAGS in your DDK documentation,
you
> can
> > >use it in your Sources file. Beware however that Microsoft defines a
few
> > >other macros to add options to your CL command line: search for “Build
> > >Utility Macros” in your DDK Doc. Finally, there’s a _CL environment
> variable
> > >that you can use to pass command line options too.
> > >
> > >In any case, I recommend taking a look at the .log file from your build
> to
> > >make sure the CL options are coming out the way you want them to be !
> > >
> > >Hope this helps,
> > >
> > >
> > >Alberto.
> > >
> > >
> > >-----Original Message-----
> > >From: Justin Frodsham [mailto:zeppelin@io.com]
> > >Sent: Wednesday, December 11, 2002 10:19 AM
> > >To: NT Developers Interest List
> > >Subject: [ntdev] Conditional compile when building drivers
> > >
> > >
> > >I have a feeling this is a very basic question, however the problem has
> me
> > >scratching my head. Before you start laughing at me, when I started
> > >programming, integrated environments were already the rage. I have not
> > >until now needed to understand the nuances of make files etc…
> > >
> > >I want to conditionally compile something like this:
> > >
> > >#ifdef BOOGER
> > >… some code
> > >#else
> > >… some other code
> > >#endif
> > >
> > >Now, how do I conditionally define BOOGER from the command line? Is
> there
> > >an option to build.exe? With CL.exe you just specify “/D BOOGER”, but
> > >since I am building a driver I am not call CL directly as you know. I
> > >thought there was a way to do it with environment variables, but it has
> > >eluded me so far.
> > >
> > >-Justin
> > >
> > >—
> > >You are currently subscribed to ntdev as: xxxxx@compuware.com
> > >To unsubscribe send a blank email to %%email.unsub%%
> > >
> > >
> > >
> > >The contents of this e-mail are intended for the named addressee only.
It
> > >contains information that may be confidential. Unless you are the named
> > >addressee or an authorized designee, you may not copy or use it, or
> disclose
> > >it to anyone else. If you received it in error please notify us
> immediately
> > >and then destroy it.
> > >
> > >
> > >
> > >—
> > >You are currently subscribed to ntdev as: zeppelin@io.com
> > >To unsubscribe send a blank email to %%email.unsub%%
> >
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > To unsubscribe send a blank email to %%email.unsub%%
> >
>
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@Compaqnet.be
> To unsubscribe send a blank email to %%email.unsub%%
>

What??? I have no idea what you mean.

-Justin

At 08:36 AM 12/11/2002, you wrote:

You specify a define to BUILD and have the sources file specify the correct
define to make and the compiler. Very simple.

----- Original Message -----
From: “Justin Frodsham”
>To: “NT Developers Interest List”
>Sent: Wednesday, December 11, 2002 11:21 AM
>Subject: [ntdev] RE: Conditional compile when building drivers
>
>
> > Thanks,
> > The _CL variable looks promising. The other options however take me
> > back to square one unless you can specify a custom sources file at build
>time.
> >
> > Thanks,
> > Justin
> >
> > At 05:59 AM 12/11/2002, you wrote:
> > >Take a look at C_DEFINES and USER_C_FLAGS in your DDK documentation, you
>can
> > >use it in your Sources file. Beware however that Microsoft defines a few
> > >other macros to add options to your CL command line: search for “Build
> > >Utility Macros” in your DDK Doc. Finally, there’s a _CL environment
>variable
> > >that you can use to pass command line options too.
> > >
> > >In any case, I recommend taking a look at the .log file from your build
>to
> > >make sure the CL options are coming out the way you want them to be !
> > >
> > >Hope this helps,
> > >
> > >
> > >Alberto.
> > >
> > >
> > >-----Original Message-----
> > >From: Justin Frodsham [mailto:zeppelin@io.com]
> > >Sent: Wednesday, December 11, 2002 10:19 AM
> > >To: NT Developers Interest List
> > >Subject: [ntdev] Conditional compile when building drivers
> > >
> > >
> > >I have a feeling this is a very basic question, however the problem has
>me
> > >scratching my head. Before you start laughing at me, when I started
> > >programming, integrated environments were already the rage. I have not
> > >until now needed to understand the nuances of make files etc…
> > >
> > >I want to conditionally compile something like this:
> > >
> > >#ifdef BOOGER
> > >… some code
> > >#else
> > >… some other code
> > >#endif
> > >
> > >Now, how do I conditionally define BOOGER from the command line? Is
>there
> > >an option to build.exe? With CL.exe you just specify “/D BOOGER”, but
> > >since I am building a driver I am not call CL directly as you know. I
> > >thought there was a way to do it with environment variables, but it has
> > >eluded me so far.
> > >
> > >-Justin
> > >
> > >—
> > >You are currently subscribed to ntdev as: xxxxx@compuware.com
> > >To unsubscribe send a blank email to %%email.unsub%%
> > >
> > >
> > >
> > >The contents of this e-mail are intended for the named addressee only. It
> > >contains information that may be confidential. Unless you are the named
> > >addressee or an authorized designee, you may not copy or use it, or
>disclose
> > >it to anyone else. If you received it in error please notify us
>immediately
> > >and then destroy it.
> > >
> > >
> > >
> > >—
> > >You are currently subscribed to ntdev as: zeppelin@io.com
> > >To unsubscribe send a blank email to %%email.unsub%%
> >
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > To unsubscribe send a blank email to %%email.unsub%%
> >
>
>
>
>
>—
>You are currently subscribed to ntdev as: zeppelin@io.com
>To unsubscribe send a blank email to %%email.unsub%%

Yes, this is the method I chose.

Thanks,
Justin

At 09:02 AM 12/11/2002, you wrote:

I use a rather straightforward method to achieve this .

Create a .bat file that contains next lines ( example ) :


set _DRIVERNAME = MyDriver
call setenv.bat [parameters]
set C_DEFINES = %C_DEFINES% -DSZDRVNAME=“”“%_DRIVERNAME%”“”
build.exe [parameters]

----- Original Message -----
From: “David J. Craig”
>To: “NT Developers Interest List”
>Sent: Wednesday, December 11, 2002 7:36 PM
>Subject: [ntdev] RE: Conditional compile when building drivers
>
>
> > You specify a define to BUILD and have the sources file specify the
>correct
> > define to make and the compiler. Very simple.
> >
> > ----- Original Message -----
> > From: “Justin Frodsham”
> > To: “NT Developers Interest List”
> > Sent: Wednesday, December 11, 2002 11:21 AM
> > Subject: [ntdev] RE: Conditional compile when building drivers
> >
> >
> > > Thanks,
> > > The _CL variable looks promising. The other options however take me
> > > back to square one unless you can specify a custom sources file at build
> > time.
> > >
> > > Thanks,
> > > Justin
> > >
> > > At 05:59 AM 12/11/2002, you wrote:
> > > >Take a look at C_DEFINES and USER_C_FLAGS in your DDK documentation,
>you
> > can
> > > >use it in your Sources file. Beware however that Microsoft defines a
>few
> > > >other macros to add options to your CL command line: search for “Build
> > > >Utility Macros” in your DDK Doc. Finally, there’s a _CL environment
> > variable
> > > >that you can use to pass command line options too.
> > > >
> > > >In any case, I recommend taking a look at the .log file from your build
> > to
> > > >make sure the CL options are coming out the way you want them to be !
> > > >
> > > >Hope this helps,
> > > >
> > > >
> > > >Alberto.
> > > >
> > > >
> > > >-----Original Message-----
> > > >From: Justin Frodsham [mailto:zeppelin@io.com]
> > > >Sent: Wednesday, December 11, 2002 10:19 AM
> > > >To: NT Developers Interest List
> > > >Subject: [ntdev] Conditional compile when building drivers
> > > >
> > > >
> > > >I have a feeling this is a very basic question, however the problem has
> > me
> > > >scratching my head. Before you start laughing at me, when I started
> > > >programming, integrated environments were already the rage. I have not
> > > >until now needed to understand the nuances of make files etc…
> > > >
> > > >I want to conditionally compile something like this:
> > > >
> > > >#ifdef BOOGER
> > > >… some code
> > > >#else
> > > >… some other code
> > > >#endif
> > > >
> > > >Now, how do I conditionally define BOOGER from the command line? Is
> > there
> > > >an option to build.exe? With CL.exe you just specify “/D BOOGER”, but
> > > >since I am building a driver I am not call CL directly as you know. I
> > > >thought there was a way to do it with environment variables, but it has
> > > >eluded me so far.
> > > >
> > > >-Justin
> > > >
> > > >—
> > > >You are currently subscribed to ntdev as: xxxxx@compuware.com
> > > >To unsubscribe send a blank email to %%email.unsub%%
> > > >
> > > >
> > > >
> > > >The contents of this e-mail are intended for the named addressee only.
>It
> > > >contains information that may be confidential. Unless you are the named
> > > >addressee or an authorized designee, you may not copy or use it, or
> > disclose
> > > >it to anyone else. If you received it in error please notify us
> > immediately
> > > >and then destroy it.
> > > >
> > > >
> > > >
> > > >—
> > > >You are currently subscribed to ntdev as: zeppelin@io.com
> > > >To unsubscribe send a blank email to %%email.unsub%%
> > >
> > >
> > >
> > >
> > > —
> > > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > > To unsubscribe send a blank email to %%email.unsub%%
> > >
> >
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@Compaqnet.be
> > To unsubscribe send a blank email to %%email.unsub%%
> >
>
>
>
>—
>You are currently subscribed to ntdev as: zeppelin@io.com
>To unsubscribe send a blank email to %%email.unsub%%

Try:
BUILD -ceZ -nmake BOOGER=1

----- Original Message -----
From: “Justin Frodsham”
To: “NT Developers Interest List”
Sent: Wednesday, December 11, 2002 3:36 PM
Subject: [ntdev] RE: Conditional compile when building drivers

> What??? I have no idea what you mean.
>
> -Justin
>
> At 08:36 AM 12/11/2002, you wrote:
> >You specify a define to BUILD and have the sources file specify the
correct
> >define to make and the compiler. Very simple.
> >
> >----- Original Message -----
> >From: “Justin Frodsham”
> >To: “NT Developers Interest List”
> >Sent: Wednesday, December 11, 2002 11:21 AM
> >Subject: [ntdev] RE: Conditional compile when building drivers
> >
> >
> > > Thanks,
> > > The _CL variable looks promising. The other options however take
me
> > > back to square one unless you can specify a custom sources file at
build
> >time.
> > >
> > > Thanks,
> > > Justin
> > >
> > > At 05:59 AM 12/11/2002, you wrote:
> > > >Take a look at C_DEFINES and USER_C_FLAGS in your DDK documentation,
you
> >can
> > > >use it in your Sources file. Beware however that Microsoft defines a
few
> > > >other macros to add options to your CL command line: search for
“Build
> > > >Utility Macros” in your DDK Doc. Finally, there’s a _CL environment
> >variable
> > > >that you can use to pass command line options too.
> > > >
> > > >In any case, I recommend taking a look at the .log file from your
build
> >to
> > > >make sure the CL options are coming out the way you want them to be !
> > > >
> > > >Hope this helps,
> > > >
> > > >
> > > >Alberto.
> > > >
> > > >
> > > >-----Original Message-----
> > > >From: Justin Frodsham [mailto:zeppelin@io.com]
> > > >Sent: Wednesday, December 11, 2002 10:19 AM
> > > >To: NT Developers Interest List
> > > >Subject: [ntdev] Conditional compile when building drivers
> > > >
> > > >
> > > >I have a feeling this is a very basic question, however the problem
has
> >me
> > > >scratching my head. Before you start laughing at me, when I started
> > > >programming, integrated environments were already the rage. I have
not
> > > >until now needed to understand the nuances of make files etc…
> > > >
> > > >I want to conditionally compile something like this:
> > > >
> > > >#ifdef BOOGER
> > > >… some code
> > > >#else
> > > >… some other code
> > > >#endif
> > > >
> > > >Now, how do I conditionally define BOOGER from the command line? Is
> >there
> > > >an option to build.exe? With CL.exe you just specify “/D BOOGER”,
but
> > > >since I am building a driver I am not call CL directly as you know.
I
> > > >thought there was a way to do it with environment variables, but it
has
> > > >eluded me so far.
> > > >
> > > >-Justin
> > > >
> > > >—
> > > >You are currently subscribed to ntdev as:
xxxxx@compuware.com
> > > >To unsubscribe send a blank email to %%email.unsub%%
> > > >
> > > >
> > > >
> > > >The contents of this e-mail are intended for the named addressee
only. It
> > > >contains information that may be confidential. Unless you are the
named
> > > >addressee or an authorized designee, you may not copy or use it, or
> >disclose
> > > >it to anyone else. If you received it in error please notify us
> >immediately
> > > >and then destroy it.
> > > >
> > > >
> > > >
> > > >—
> > > >You are currently subscribed to ntdev as: zeppelin@io.com
> > > >To unsubscribe send a blank email to %%email.unsub%%
> > >
> > >
> > >
> > >
> > > —
> > > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > > To unsubscribe send a blank email to %%email.unsub%%
> > >
> >
> >
> >
> >
> >—
> >You are currently subscribed to ntdev as: zeppelin@io.com
> >To unsubscribe send a blank email to %%email.unsub%%
>
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> To unsubscribe send a blank email to %%email.unsub%%
>

I tried that, but it doesn’t work because nmake seems to think you are
specifying a file name.

-Justin

At 02:23 PM 12/11/2002, you wrote:

Try:
BUILD -ceZ -nmake BOOGER=1

----- Original Message -----
From: “Justin Frodsham”
>To: “NT Developers Interest List”
>Sent: Wednesday, December 11, 2002 3:36 PM
>Subject: [ntdev] RE: Conditional compile when building drivers
>
>
> > What??? I have no idea what you mean.
> >
> > -Justin
> >
> > At 08:36 AM 12/11/2002, you wrote:
> > >You specify a define to BUILD and have the sources file specify the
>correct
> > >define to make and the compiler. Very simple.
> > >
> > >----- Original Message -----
> > >From: “Justin Frodsham”
> > >To: “NT Developers Interest List”
> > >Sent: Wednesday, December 11, 2002 11:21 AM
> > >Subject: [ntdev] RE: Conditional compile when building drivers
> > >
> > >
> > > > Thanks,
> > > > The _CL variable looks promising. The other options however take
>me
> > > > back to square one unless you can specify a custom sources file at
>build
> > >time.
> > > >
> > > > Thanks,
> > > > Justin
> > > >
> > > > At 05:59 AM 12/11/2002, you wrote:
> > > > >Take a look at C_DEFINES and USER_C_FLAGS in your DDK documentation,
>you
> > >can
> > > > >use it in your Sources file. Beware however that Microsoft defines a
>few
> > > > >other macros to add options to your CL command line: search for
>“Build
> > > > >Utility Macros” in your DDK Doc. Finally, there’s a _CL environment
> > >variable
> > > > >that you can use to pass command line options too.
> > > > >
> > > > >In any case, I recommend taking a look at the .log file from your
>build
> > >to
> > > > >make sure the CL options are coming out the way you want them to be !
> > > > >
> > > > >Hope this helps,
> > > > >
> > > > >
> > > > >Alberto.
> > > > >
> > > > >
> > > > >-----Original Message-----
> > > > >From: Justin Frodsham [mailto:zeppelin@io.com]
> > > > >Sent: Wednesday, December 11, 2002 10:19 AM
> > > > >To: NT Developers Interest List
> > > > >Subject: [ntdev] Conditional compile when building drivers
> > > > >
> > > > >
> > > > >I have a feeling this is a very basic question, however the problem
>has
> > >me
> > > > >scratching my head. Before you start laughing at me, when I started
> > > > >programming, integrated environments were already the rage. I have
>not
> > > > >until now needed to understand the nuances of make files etc…
> > > > >
> > > > >I want to conditionally compile something like this:
> > > > >
> > > > >#ifdef BOOGER
> > > > >… some code
> > > > >#else
> > > > >… some other code
> > > > >#endif
> > > > >
> > > > >Now, how do I conditionally define BOOGER from the command line? Is
> > >there
> > > > >an option to build.exe? With CL.exe you just specify “/D BOOGER”,
>but
> > > > >since I am building a driver I am not call CL directly as you know.
>I
> > > > >thought there was a way to do it with environment variables, but it
>has
> > > > >eluded me so far.
> > > > >
> > > > >-Justin
> > > > >
> > > > >—
> > > > >You are currently subscribed to ntdev as:
>xxxxx@compuware.com
> > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > > >
> > > > >
> > > > >
> > > > >The contents of this e-mail are intended for the named addressee
>only. It
> > > > >contains information that may be confidential. Unless you are the
>named
> > > > >addressee or an authorized designee, you may not copy or use it, or
> > >disclose
> > > > >it to anyone else. If you received it in error please notify us
> > >immediately
> > > > >and then destroy it.
> > > > >
> > > > >
> > > > >
> > > > >—
> > > > >You are currently subscribed to ntdev as: zeppelin@io.com
> > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > >
> > > >
> > > >
> > > >
> > > > —
> > > > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > > > To unsubscribe send a blank email to %%email.unsub%%
> > > >
> > >
> > >
> > >
> > >
> > >—
> > >You are currently subscribed to ntdev as: zeppelin@io.com
> > >To unsubscribe send a blank email to %%email.unsub%%
> >
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > To unsubscribe send a blank email to %%email.unsub%%
> >
>
>
>
>
>—
>You are currently subscribed to ntdev as: zeppelin@io.com
>To unsubscribe send a blank email to %%email.unsub%%

I don’t get any errors when using the “=1”, however there do appear to be
more steps. Is that what you are referring to about the sources file?

-Justin

At 02:23 PM 12/11/2002, you wrote:

Try:
BUILD -ceZ -nmake BOOGER=1

----- Original Message -----
From: “Justin Frodsham”
>To: “NT Developers Interest List”
>Sent: Wednesday, December 11, 2002 3:36 PM
>Subject: [ntdev] RE: Conditional compile when building drivers
>
>
> > What??? I have no idea what you mean.
> >
> > -Justin
> >
> > At 08:36 AM 12/11/2002, you wrote:
> > >You specify a define to BUILD and have the sources file specify the
>correct
> > >define to make and the compiler. Very simple.
> > >
> > >----- Original Message -----
> > >From: “Justin Frodsham”
> > >To: “NT Developers Interest List”
> > >Sent: Wednesday, December 11, 2002 11:21 AM
> > >Subject: [ntdev] RE: Conditional compile when building drivers
> > >
> > >
> > > > Thanks,
> > > > The _CL variable looks promising. The other options however take
>me
> > > > back to square one unless you can specify a custom sources file at
>build
> > >time.
> > > >
> > > > Thanks,
> > > > Justin
> > > >
> > > > At 05:59 AM 12/11/2002, you wrote:
> > > > >Take a look at C_DEFINES and USER_C_FLAGS in your DDK documentation,
>you
> > >can
> > > > >use it in your Sources file. Beware however that Microsoft defines a
>few
> > > > >other macros to add options to your CL command line: search for
>“Build
> > > > >Utility Macros” in your DDK Doc. Finally, there’s a _CL environment
> > >variable
> > > > >that you can use to pass command line options too.
> > > > >
> > > > >In any case, I recommend taking a look at the .log file from your
>build
> > >to
> > > > >make sure the CL options are coming out the way you want them to be !
> > > > >
> > > > >Hope this helps,
> > > > >
> > > > >
> > > > >Alberto.
> > > > >
> > > > >
> > > > >-----Original Message-----
> > > > >From: Justin Frodsham [mailto:zeppelin@io.com]
> > > > >Sent: Wednesday, December 11, 2002 10:19 AM
> > > > >To: NT Developers Interest List
> > > > >Subject: [ntdev] Conditional compile when building drivers
> > > > >
> > > > >
> > > > >I have a feeling this is a very basic question, however the problem
>has
> > >me
> > > > >scratching my head. Before you start laughing at me, when I started
> > > > >programming, integrated environments were already the rage. I have
>not
> > > > >until now needed to understand the nuances of make files etc…
> > > > >
> > > > >I want to conditionally compile something like this:
> > > > >
> > > > >#ifdef BOOGER
> > > > >… some code
> > > > >#else
> > > > >… some other code
> > > > >#endif
> > > > >
> > > > >Now, how do I conditionally define BOOGER from the command line? Is
> > >there
> > > > >an option to build.exe? With CL.exe you just specify “/D BOOGER”,
>but
> > > > >since I am building a driver I am not call CL directly as you know.
>I
> > > > >thought there was a way to do it with environment variables, but it
>has
> > > > >eluded me so far.
> > > > >
> > > > >-Justin
> > > > >
> > > > >—
> > > > >You are currently subscribed to ntdev as:
>xxxxx@compuware.com
> > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > > >
> > > > >
> > > > >
> > > > >The contents of this e-mail are intended for the named addressee
>only. It
> > > > >contains information that may be confidential. Unless you are the
>named
> > > > >addressee or an authorized designee, you may not copy or use it, or
> > >disclose
> > > > >it to anyone else. If you received it in error please notify us
> > >immediately
> > > > >and then destroy it.
> > > > >
> > > > >
> > > > >
> > > > >—
> > > > >You are currently subscribed to ntdev as: zeppelin@io.com
> > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > >
> > > >
> > > >
> > > >
> > > > —
> > > > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > > > To unsubscribe send a blank email to %%email.unsub%%
> > > >
> > >
> > >
> > >
> > >
> > >—
> > >You are currently subscribed to ntdev as: zeppelin@io.com
> > >To unsubscribe send a blank email to %%email.unsub%%
> >
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > To unsubscribe send a blank email to %%email.unsub%%
> >
>
>
>
>
>—
>You are currently subscribed to ntdev as: zeppelin@io.com
>To unsubscribe send a blank email to %%email.unsub%%

#ifndef BOOGER
C_FLAGS=Whatever
#else
C_FLAGS=-DBOOGER=$(BOOGER)
#endif

----- Original Message -----
From: “Justin Frodsham”
To: “NT Developers Interest List”
Sent: Thursday, December 12, 2002 12:19 AM
Subject: [ntdev] RE: Conditional compile when building drivers

> I don’t get any errors when using the “=1”, however there do appear to be
> more steps. Is that what you are referring to about the sources file?
>
> -Justin
>
> At 02:23 PM 12/11/2002, you wrote:
> >Try:
> >BUILD -ceZ -nmake BOOGER=1
> >
> >----- Original Message -----
> >From: “Justin Frodsham”
> >To: “NT Developers Interest List”
> >Sent: Wednesday, December 11, 2002 3:36 PM
> >Subject: [ntdev] RE: Conditional compile when building drivers
> >
> >
> > > What??? I have no idea what you mean.
> > >
> > > -Justin
> > >
> > > At 08:36 AM 12/11/2002, you wrote:
> > > >You specify a define to BUILD and have the sources file specify the
> >correct
> > > >define to make and the compiler. Very simple.
> > > >
> > > >----- Original Message -----
> > > >From: “Justin Frodsham”
> > > >To: “NT Developers Interest List”
> > > >Sent: Wednesday, December 11, 2002 11:21 AM
> > > >Subject: [ntdev] RE: Conditional compile when building drivers
> > > >
> > > >
> > > > > Thanks,
> > > > > The _CL variable looks promising. The other options however
take
> >me
> > > > > back to square one unless you can specify a custom sources file at
> >build
> > > >time.
> > > > >
> > > > > Thanks,
> > > > > Justin
> > > > >
> > > > > At 05:59 AM 12/11/2002, you wrote:
> > > > > >Take a look at C_DEFINES and USER_C_FLAGS in your DDK
documentation,
> >you
> > > >can
> > > > > >use it in your Sources file. Beware however that Microsoft
defines a
> >few
> > > > > >other macros to add options to your CL command line: search for
> >“Build
> > > > > >Utility Macros” in your DDK Doc. Finally, there’s a _CL
environment
> > > >variable
> > > > > >that you can use to pass command line options too.
> > > > > >
> > > > > >In any case, I recommend taking a look at the .log file from your
> >build
> > > >to
> > > > > >make sure the CL options are coming out the way you want them to
be !
> > > > > >
> > > > > >Hope this helps,
> > > > > >
> > > > > >
> > > > > >Alberto.
> > > > > >
> > > > > >
> > > > > >-----Original Message-----
> > > > > >From: Justin Frodsham [mailto:zeppelin@io.com]
> > > > > >Sent: Wednesday, December 11, 2002 10:19 AM
> > > > > >To: NT Developers Interest List
> > > > > >Subject: [ntdev] Conditional compile when building drivers
> > > > > >
> > > > > >
> > > > > >I have a feeling this is a very basic question, however the
problem
> >has
> > > >me
> > > > > >scratching my head. Before you start laughing at me, when I
started
> > > > > >programming, integrated environments were already the rage. I
have
> >not
> > > > > >until now needed to understand the nuances of make files etc…
> > > > > >
> > > > > >I want to conditionally compile something like this:
> > > > > >
> > > > > >#ifdef BOOGER
> > > > > >… some code
> > > > > >#else
> > > > > >… some other code
> > > > > >#endif
> > > > > >
> > > > > >Now, how do I conditionally define BOOGER from the command line?
Is
> > > >there
> > > > > >an option to build.exe? With CL.exe you just specify “/D BOOGER”,
> >but
> > > > > >since I am building a driver I am not call CL directly as you
know.
> >I
> > > > > >thought there was a way to do it with environment variables, but
it
> >has
> > > > > >eluded me so far.
> > > > > >
> > > > > >-Justin
> > > > > >
> > > > > >—
> > > > > >You are currently subscribed to ntdev as:
> >xxxxx@compuware.com
> > > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > > > >
> > > > > >
> > > > > >
> > > > > >The contents of this e-mail are intended for the named addressee
> >only. It
> > > > > >contains information that may be confidential. Unless you are the
> >named
> > > > > >addressee or an authorized designee, you may not copy or use it,
or
> > > >disclose
> > > > > >it to anyone else. If you received it in error please notify us
> > > >immediately
> > > > > >and then destroy it.
> > > > > >
> > > > > >
> > > > > >
> > > > > >—
> > > > > >You are currently subscribed to ntdev as: zeppelin@io.com
> > > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > —
> > > > > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > > > > To unsubscribe send a blank email to %%email.unsub%%
> > > > >
> > > >
> > > >
> > > >
> > > >
> > > >—
> > > >You are currently subscribed to ntdev as: zeppelin@io.com
> > > >To unsubscribe send a blank email to %%email.unsub%%
> > >
> > >
> > >
> > >
> > > —
> > > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > > To unsubscribe send a blank email to %%email.unsub%%
> > >
> >
> >
> >
> >
> >—
> >You are currently subscribed to ntdev as: zeppelin@io.com
> >To unsubscribe send a blank email to %%email.unsub%%
>
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> To unsubscribe send a blank email to %%email.unsub%%

Thanks… I never was quite sure about the relationship between make
file variables and environment variables. The $() are internal and the
ones specified on the command line invoking build.exe it seems.

-Justin

At 05:11 AM 12/12/2002, you wrote:

#ifndef BOOGER
C_FLAGS=Whatever
#else
C_FLAGS=-DBOOGER=$(BOOGER)
#endif

----- Original Message -----
From: “Justin Frodsham”
>To: “NT Developers Interest List”
>Sent: Thursday, December 12, 2002 12:19 AM
>Subject: [ntdev] RE: Conditional compile when building drivers
>
>
> > I don’t get any errors when using the “=1”, however there do appear to be
> > more steps. Is that what you are referring to about the sources file?
> >
> > -Justin
> >
> > At 02:23 PM 12/11/2002, you wrote:
> > >Try:
> > >BUILD -ceZ -nmake BOOGER=1
> > >
> > >----- Original Message -----
> > >From: “Justin Frodsham”
> > >To: “NT Developers Interest List”
> > >Sent: Wednesday, December 11, 2002 3:36 PM
> > >Subject: [ntdev] RE: Conditional compile when building drivers
> > >
> > >
> > > > What??? I have no idea what you mean.
> > > >
> > > > -Justin
> > > >
> > > > At 08:36 AM 12/11/2002, you wrote:
> > > > >You specify a define to BUILD and have the sources file specify the
> > >correct
> > > > >define to make and the compiler. Very simple.
> > > > >
> > > > >----- Original Message -----
> > > > >From: “Justin Frodsham”
> > > > >To: “NT Developers Interest List”
> > > > >Sent: Wednesday, December 11, 2002 11:21 AM
> > > > >Subject: [ntdev] RE: Conditional compile when building drivers
> > > > >
> > > > >
> > > > > > Thanks,
> > > > > > The _CL variable looks promising. The other options however
>take
> > >me
> > > > > > back to square one unless you can specify a custom sources file at
> > >build
> > > > >time.
> > > > > >
> > > > > > Thanks,
> > > > > > Justin
> > > > > >
> > > > > > At 05:59 AM 12/11/2002, you wrote:
> > > > > > >Take a look at C_DEFINES and USER_C_FLAGS in your DDK
>documentation,
> > >you
> > > > >can
> > > > > > >use it in your Sources file. Beware however that Microsoft
>defines a
> > >few
> > > > > > >other macros to add options to your CL command line: search for
> > >“Build
> > > > > > >Utility Macros” in your DDK Doc. Finally, there’s a _CL
>environment
> > > > >variable
> > > > > > >that you can use to pass command line options too.
> > > > > > >
> > > > > > >In any case, I recommend taking a look at the .log file from your
> > >build
> > > > >to
> > > > > > >make sure the CL options are coming out the way you want them to
>be !
> > > > > > >
> > > > > > >Hope this helps,
> > > > > > >
> > > > > > >
> > > > > > >Alberto.
> > > > > > >
> > > > > > >
> > > > > > >-----Original Message-----
> > > > > > >From: Justin Frodsham [mailto:zeppelin@io.com]
> > > > > > >Sent: Wednesday, December 11, 2002 10:19 AM
> > > > > > >To: NT Developers Interest List
> > > > > > >Subject: [ntdev] Conditional compile when building drivers
> > > > > > >
> > > > > > >
> > > > > > >I have a feeling this is a very basic question, however the
>problem
> > >has
> > > > >me
> > > > > > >scratching my head. Before you start laughing at me, when I
>started
> > > > > > >programming, integrated environments were already the rage. I
>have
> > >not
> > > > > > >until now needed to understand the nuances of make files etc…
> > > > > > >
> > > > > > >I want to conditionally compile something like this:
> > > > > > >
> > > > > > >#ifdef BOOGER
> > > > > > >… some code
> > > > > > >#else
> > > > > > >… some other code
> > > > > > >#endif
> > > > > > >
> > > > > > >Now, how do I conditionally define BOOGER from the command line?
>Is
> > > > >there
> > > > > > >an option to build.exe? With CL.exe you just specify “/D BOOGER”,
> > >but
> > > > > > >since I am building a driver I am not call CL directly as you
>know.
> > >I
> > > > > > >thought there was a way to do it with environment variables, but
>it
> > >has
> > > > > > >eluded me so far.
> > > > > > >
> > > > > > >-Justin
> > > > > > >
> > > > > > >—
> > > > > > >You are currently subscribed to ntdev as:
> > >xxxxx@compuware.com
> > > > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >The contents of this e-mail are intended for the named addressee
> > >only. It
> > > > > > >contains information that may be confidential. Unless you are the
> > >named
> > > > > > >addressee or an authorized designee, you may not copy or use it,
>or
> > > > >disclose
> > > > > > >it to anyone else. If you received it in error please notify us
> > > > >immediately
> > > > > > >and then destroy it.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >—
> > > > > > >You are currently subscribed to ntdev as: zeppelin@io.com
> > > > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > —
> > > > > > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > > > > > To unsubscribe send a blank email to %%email.unsub%%
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >—
> > > > >You are currently subscribed to ntdev as: zeppelin@io.com
> > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > >
> > > >
> > > >
> > > >
> > > > —
> > > > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > > > To unsubscribe send a blank email to %%email.unsub%%
> > > >
> > >
> > >
> > >
> > >
> > >—
> > >You are currently subscribed to ntdev as: zeppelin@io.com
> > >To unsubscribe send a blank email to %%email.unsub%%
> >
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > To unsubscribe send a blank email to %%email.unsub%%
>
>
>
>
>—
>You are currently subscribed to ntdev as: zeppelin@io.com
>To unsubscribe send a blank email to %%email.unsub%%

I believe it is well documented in nmake docs (MSDN). Take SOURCES as a
nmake makefile with some special syntax for build.exe. SOURCES file is
included into makefile.def during build process.

BTW, below snippet should be:

!IFNDEF BOOGER
C_FLAGS=Whatever
!ELSE
C_FLAGS=$(C_FLAGS) -DBOOGER=$(BOOGER)
!ENDIF

Best regards,

Michal Vodicka
STMicroelectronics Design and Application s.r.o.
[michal.vodicka@st.com, http:://www.st.com]


From: zeppelin@io.com[SMTP:zeppelin@io.com]
Reply To: xxxxx@lists.osr.com
Sent: Thursday, December 12, 2002 6:09 PM
To: xxxxx@lists.osr.com
Subject: [ntdev] RE: Conditional compile when building drivers

Thanks… I never was quite sure about the relationship between make
file variables and environment variables. The $() are internal and the
ones specified on the command line invoking build.exe it seems.

-Justin

At 05:11 AM 12/12/2002, you wrote:
>#ifndef BOOGER
>C_FLAGS=Whatever
>#else
>C_FLAGS=-DBOOGER=$(BOOGER)
>#endif
>
>----- Original Message -----
>From: “Justin Frodsham”
> >To: “NT Developers Interest List”
> >Sent: Thursday, December 12, 2002 12:19 AM
> >Subject: [ntdev] RE: Conditional compile when building drivers
> >
> >
> > > I don’t get any errors when using the “=1”, however there do appear to
> be
> > > more steps. Is that what you are referring to about the sources file?
> > >
> > > -Justin
> > >
> > > At 02:23 PM 12/11/2002, you wrote:
> > > >Try:
> > > >BUILD -ceZ -nmake BOOGER=1
> > > >
> > > >----- Original Message -----
> > > >From: “Justin Frodsham”
> > > >To: “NT Developers Interest List”
> > > >Sent: Wednesday, December 11, 2002 3:36 PM
> > > >Subject: [ntdev] RE: Conditional compile when building drivers
> > > >
> > > >
> > > > > What??? I have no idea what you mean.
> > > > >
> > > > > -Justin
> > > > >
> > > > > At 08:36 AM 12/11/2002, you wrote:
> > > > > >You specify a define to BUILD and have the sources file specify
> the
> > > >correct
> > > > > >define to make and the compiler. Very simple.
> > > > > >
> > > > > >----- Original Message -----
> > > > > >From: “Justin Frodsham”
> > > > > >To: “NT Developers Interest List”
> > > > > >Sent: Wednesday, December 11, 2002 11:21 AM
> > > > > >Subject: [ntdev] RE: Conditional compile when building drivers
> > > > > >
> > > > > >
> > > > > > > Thanks,
> > > > > > > The _CL variable looks promising. The other options
> however
> >take
> > > >me
> > > > > > > back to square one unless you can specify a custom sources
> file at
> > > >build
> > > > > >time.
> > > > > > >
> > > > > > > Thanks,
> > > > > > > Justin
> > > > > > >
> > > > > > > At 05:59 AM 12/11/2002, you wrote:
> > > > > > > >Take a look at C_DEFINES and USER_C_FLAGS in your DDK
> >documentation,
> > > >you
> > > > > >can
> > > > > > > >use it in your Sources file. Beware however that Microsoft
> >defines a
> > > >few
> > > > > > > >other macros to add options to your CL command line: search
> for
> > > >“Build
> > > > > > > >Utility Macros” in your DDK Doc. Finally, there’s a _CL
> >environment
> > > > > >variable
> > > > > > > >that you can use to pass command line options too.
> > > > > > > >
> > > > > > > >In any case, I recommend taking a look at the .log file from
> your
> > > >build
> > > > > >to
> > > > > > > >make sure the CL options are coming out the way you want them
> to
> >be !
> > > > > > > >
> > > > > > > >Hope this helps,
> > > > > > > >
> > > > > > > >
> > > > > > > >Alberto.
> > > > > > > >
> > > > > > > >
> > > > > > > >-----Original Message-----
> > > > > > > >From: Justin Frodsham [mailto:zeppelin@io.com]
> > > > > > > >Sent: Wednesday, December 11, 2002 10:19 AM
> > > > > > > >To: NT Developers Interest List
> > > > > > > >Subject: [ntdev] Conditional compile when building drivers
> > > > > > > >
> > > > > > > >
> > > > > > > >I have a feeling this is a very basic question, however the
> >problem
> > > >has
> > > > > >me
> > > > > > > >scratching my head. Before you start laughing at me, when I
> >started
> > > > > > > >programming, integrated environments were already the rage.
> I
> >have
> > > >not
> > > > > > > >until now needed to understand the nuances of make files
> etc…
> > > > > > > >
> > > > > > > >I want to conditionally compile something like this:
> > > > > > > >
> > > > > > > >#ifdef BOOGER
> > > > > > > >… some code
> > > > > > > >#else
> > > > > > > >… some other code
> > > > > > > >#endif
> > > > > > > >
> > > > > > > >Now, how do I conditionally define BOOGER from the command
> line?
> >Is
> > > > > >there
> > > > > > > >an option to build.exe? With CL.exe you just specify “/D
> BOOGER”,
> > > >but
> > > > > > > >since I am building a driver I am not call CL directly as you
> >know.
> > > >I
> > > > > > > >thought there was a way to do it with environment variables,
> but
> >it
> > > >has
> > > > > > > >eluded me so far.
> > > > > > > >
> > > > > > > >-Justin
> > > > > > > >
> > > > > > > >—
> > > > > > > >You are currently subscribed to ntdev as:
> > > >xxxxx@compuware.com
> > > > > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >The contents of this e-mail are intended for the named
> addressee
> > > >only. It
> > > > > > > >contains information that may be confidential. Unless you are
> the
> > > >named
> > > > > > > >addressee or an authorized designee, you may not copy or use
> it,
> >or
> > > > > >disclose
> > > > > > > >it to anyone else. If you received it in error please notify
> us
> > > > > >immediately
> > > > > > > >and then destroy it.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >—
> > > > > > > >You are currently subscribed to ntdev as: zeppelin@io.com
> > > > > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > —
> > > > > > > You are currently subscribed to ntdev as:
> xxxxx@yoshimuni.com
> > > > > > > To unsubscribe send a blank email to %%email.unsub%%
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >—
> > > > > >You are currently subscribed to ntdev as: zeppelin@io.com
> > > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > —
> > > > > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > > > > To unsubscribe send a blank email to %%email.unsub%%
> > > > >
> > > >
> > > >
> > > >
> > > >
> > > >—
> > > >You are currently subscribed to ntdev as: zeppelin@io.com
> > > >To unsubscribe send a blank email to %%email.unsub%%
> > >
> > >
> > >
> > >
> > > —
> > > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > > To unsubscribe send a blank email to %%email.unsub%%
> >
> >
> >
> >
> >—
> >You are currently subscribed to ntdev as: zeppelin@io.com
> >To unsubscribe send a blank email to %%email.unsub%%
>
>
>
>
> —
> You are currently subscribed to ntdev as: michal.vodicka@st.com
> To unsubscribe send a blank email to %%email.unsub%%
>

Whoops. I just looked at one project I had and got the remark and build
command chars mixed up when I did it from memory.

For my project the C_FLAGS was ‘$(C_FLAGS) -D$(BOOGER)’ since I wanted more
separation between the build & nmake parameters. I remember it took me
quite a while to figure this out since M$ wasn’t providing any examples.

----- Original Message -----
From: “Michal Vodicka”
To: “NT Developers Interest List”
Sent: Thursday, December 12, 2002 4:37 PM
Subject: [ntdev] RE: Conditional compile when building drivers

> I believe it is well documented in nmake docs (MSDN). Take SOURCES as a
> nmake makefile with some special syntax for build.exe. SOURCES file is
> included into makefile.def during build process.
>
> BTW, below snippet should be:
>
> !IFNDEF BOOGER
> C_FLAGS=Whatever
> !ELSE
> C_FLAGS=$(C_FLAGS) -DBOOGER=$(BOOGER)
> !ENDIF
>
> Best regards,
>
> Michal Vodicka
> STMicroelectronics Design and Application s.r.o.
> [michal.vodicka@st.com, http:://www.st.com]
>
> > ----------
> > From: zeppelin@io.com[SMTP:zeppelin@io.com]
> > Reply To: xxxxx@lists.osr.com
> > Sent: Thursday, December 12, 2002 6:09 PM
> > To: xxxxx@lists.osr.com
> > Subject: [ntdev] RE: Conditional compile when building drivers
> >
> > Thanks… I never was quite sure about the relationship between make
> > file variables and environment variables. The $() are internal and the
> > ones specified on the command line invoking build.exe it seems.
> >
> > -Justin
> >
> > At 05:11 AM 12/12/2002, you wrote:
> > >#ifndef BOOGER
> > >C_FLAGS=Whatever
> > >#else
> > >C_FLAGS=-DBOOGER=$(BOOGER)
> > >#endif
> > >
> > >----- Original Message -----
> > >From: “Justin Frodsham”
> > >To: “NT Developers Interest List”
> > >Sent: Thursday, December 12, 2002 12:19 AM
> > >Subject: [ntdev] RE: Conditional compile when building drivers
> > >
> > >
> > > > I don’t get any errors when using the “=1”, however there do appear
to
> > be
> > > > more steps. Is that what you are referring to about the sources
file?
> > > >
> > > > -Justin
> > > >
> > > > At 02:23 PM 12/11/2002, you wrote:
> > > > >Try:
> > > > >BUILD -ceZ -nmake BOOGER=1
> > > > >
> > > > >----- Original Message -----
> > > > >From: “Justin Frodsham”
> > > > >To: “NT Developers Interest List”
> > > > >Sent: Wednesday, December 11, 2002 3:36 PM
> > > > >Subject: [ntdev] RE: Conditional compile when building drivers
> > > > >
> > > > >
> > > > > > What??? I have no idea what you mean.
> > > > > >
> > > > > > -Justin
> > > > > >
> > > > > > At 08:36 AM 12/11/2002, you wrote:
> > > > > > >You specify a define to BUILD and have the sources file specify
> > the
> > > > >correct
> > > > > > >define to make and the compiler. Very simple.
> > > > > > >
> > > > > > >----- Original Message -----
> > > > > > >From: “Justin Frodsham”
> > > > > > >To: “NT Developers Interest List”
> > > > > > >Sent: Wednesday, December 11, 2002 11:21 AM
> > > > > > >Subject: [ntdev] RE: Conditional compile when building drivers
> > > > > > >
> > > > > > >
> > > > > > > > Thanks,
> > > > > > > > The _CL variable looks promising. The other options
> > however
> > >take
> > > > >me
> > > > > > > > back to square one unless you can specify a custom sources
> > file at
> > > > >build
> > > > > > >time.
> > > > > > > >
> > > > > > > > Thanks,
> > > > > > > > Justin
> > > > > > > >
> > > > > > > > At 05:59 AM 12/11/2002, you wrote:
> > > > > > > > >Take a look at C_DEFINES and USER_C_FLAGS in your DDK
> > >documentation,
> > > > >you
> > > > > > >can
> > > > > > > > >use it in your Sources file. Beware however that Microsoft
> > >defines a
> > > > >few
> > > > > > > > >other macros to add options to your CL command line: search
> > for
> > > > >“Build
> > > > > > > > >Utility Macros” in your DDK Doc. Finally, there’s a _CL
> > >environment
> > > > > > >variable
> > > > > > > > >that you can use to pass command line options too.
> > > > > > > > >
> > > > > > > > >In any case, I recommend taking a look at the .log file
from
> > your
> > > > >build
> > > > > > >to
> > > > > > > > >make sure the CL options are coming out the way you want
them
> > to
> > >be !
> > > > > > > > >
> > > > > > > > >Hope this helps,
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >Alberto.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >-----Original Message-----
> > > > > > > > >From: Justin Frodsham [mailto:zeppelin@io.com]
> > > > > > > > >Sent: Wednesday, December 11, 2002 10:19 AM
> > > > > > > > >To: NT Developers Interest List
> > > > > > > > >Subject: [ntdev] Conditional compile when building drivers
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >I have a feeling this is a very basic question, however the
> > >problem
> > > > >has
> > > > > > >me
> > > > > > > > >scratching my head. Before you start laughing at me, when
I
> > >started
> > > > > > > > >programming, integrated environments were already the rage.
> > I
> > >have
> > > > >not
> > > > > > > > >until now needed to understand the nuances of make files
> > etc…
> > > > > > > > >
> > > > > > > > >I want to conditionally compile something like this:
> > > > > > > > >
> > > > > > > > >#ifdef BOOGER
> > > > > > > > >… some code
> > > > > > > > >#else
> > > > > > > > >… some other code
> > > > > > > > >#endif
> > > > > > > > >
> > > > > > > > >Now, how do I conditionally define BOOGER from the command
> > line?
> > >Is
> > > > > > >there
> > > > > > > > >an option to build.exe? With CL.exe you just specify “/D
> > BOOGER”,
> > > > >but
> > > > > > > > >since I am building a driver I am not call CL directly as
you
> > >know.
> > > > >I
> > > > > > > > >thought there was a way to do it with environment
variables,
> > but
> > >it
> > > > >has
> > > > > > > > >eluded me so far.
> > > > > > > > >
> > > > > > > > >-Justin
> > > > > > > > >
> > > > > > > > >—
> > > > > > > > >You are currently subscribed to ntdev as:
> > > > >xxxxx@compuware.com
> > > > > > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >The contents of this e-mail are intended for the named
> > addressee
> > > > >only. It
> > > > > > > > >contains information that may be confidential. Unless you
are
> > the
> > > > >named
> > > > > > > > >addressee or an authorized designee, you may not copy or
use
> > it,
> > >or
> > > > > > >disclose
> > > > > > > > >it to anyone else. If you received it in error please
notify
> > us
> > > > > > >immediately
> > > > > > > > >and then destroy it.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >—
> > > > > > > > >You are currently subscribed to ntdev as: zeppelin@io.com
> > > > > > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > —
> > > > > > > > You are currently subscribed to ntdev as:
> > xxxxx@yoshimuni.com
> > > > > > > > To unsubscribe send a blank email to %%email.unsub%%
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >—
> > > > > > >You are currently subscribed to ntdev as: zeppelin@io.com
> > > > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > —
> > > > > > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > > > > > To unsubscribe send a blank email to %%email.unsub%%
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >—
> > > > >You are currently subscribed to ntdev as: zeppelin@io.com
> > > > >To unsubscribe send a blank email to %%email.unsub%%
> > > >
> > > >
> > > >
> > > >
> > > > —
> > > > You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> > > > To unsubscribe send a blank email to %%email.unsub%%
> > >
> > >
> > >
> > >
> > >—
> > >You are currently subscribed to ntdev as: zeppelin@io.com
> > >To unsubscribe send a blank email to %%email.unsub%%
> >
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: michal.vodicka@st.com
> > To unsubscribe send a blank email to %%email.unsub%%
> >
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> To unsubscribe send a blank email to %%email.unsub%%

Hi, all

I have seen the following crash dump.
This BSOD cause double free memory buffer for non-paded pool twice in the
kernel mode.
However, I don’t know why the highligh pool area explains “lookaside” but
“free”.

If anyone know about it, Could you tell me the reason?

0: kd> kv
ChildEBP RetAddr Args to Child
eb4d3d30 8046bb4d 881c3e88 00000000 bd790030 nt!ExFreePoolWithTag+0x19b
(FPO: [Non-Fpo])
eb4d3d3c bd790030 881c3e88 bd77dba0 881c3e88 nt!ExFreePool+0xb (FPO:
[1,0,0])
eb4d3d60 bd77b3bd 881c3e88 bd77dba8 8047663c
cdm!CompleteBufferFlushOperation+0x16a
80065410 05c7fffe fffe0080 00000041 0f04eac1
cdm!CdmExecutiveWorkerThreadRoutine+0x3b
WARNING: Frame IP not in any known module. Following frames may be wrong.
80065410 05c7fffe fffe0080 00000041 0f04eac1 0x5c7fffe
0080158b 00000000 00000000 00000000 00000000 0x5c7fffe
0: kd> !pool 881c3e88
881c3000 size: 40 previous size: 0 (Allocated) Process: 88d52c80
881c3040 size: 20 previous size: 40 (Free) …
881c3060 size: 80 previous size: 20 (Allocated) MmCa
881c30e0 size: 1e0 previous size: 80 (Free) Ntfn
881c32c0 size: 40 previous size: 1e0 (Allocated) Process: 88d52c80
881c3300 size: 80 previous size: 40 (Allocated) MmCa
881c3380 size: 20 previous size: 80 (Free) SmMm
881c33a0 size: 40 previous size: 20 (Allocated) Atom
881c33e0 size: 60 previous size: 40 (Allocated) Gsem
881c3440 size: 40 previous size: 60 (Allocated) Ntfn
881c3480 size: 40 previous size: 40 (Allocated) NtFs
881c34c0 size: 40 previous size: 40 (Allocated) Ntfn
881c3500 size: 40 previous size: 40 (Allocated) NtFs
881c3540 size: 540 previous size: 40 (Free) Vad
881c3a80 size: 40 previous size: 540 (Allocated) Process: 88d52c80
881c3ac0 size: 20 previous size: 40 (Free) ReEv
881c3ae0 size: 20 previous size: 20 (Allocated) Process: 88d52c80
881c3b00 size: 40 previous size: 20 (Allocated) Process: 88d52c80
881c3b40 size: 40 previous size: 40 (Allocated) Ntfn
881c3b80 size: 20 previous size: 40 (Free) File
881c3ba0 size: 140 previous size: 20 (Allocated) CcSc
881c3ce0 size: 20 previous size: 140 (Allocated) Process: 88d52c80
881c3d00 size: 40 previous size: 20 (Allocated) Ntfn
881c3d40 size: 20 previous size: 40 (Free) Vad
881c3d60 size: a0 previous size: 20 (Allocated) File (Protected)
881c3e00 size: 20 previous size: a0 (Free) File
881c3e20 size: 40 previous size: 20 (Allocated) Atom
881c3e60 size: 20 previous size: 40 (Free) Npfs
*881c3e80 size: 40 previous size: 20 (Lookaside) *63DC
881c3ec0 size: 40 previous size: 40 (Allocated) Process: 88d52c80
881c3f00 size: 40 previous size: 40 (Allocated) Process: 88d52c80
881c3f40 size: 20 previous size: 40 (Free) Qota
881c3f60 size: 20 previous size: 20 (Allocated) ReEv
881c3f80 size: 40 previous size: 20 (Allocated) Process: 88d52c80
881c3fc0 size: 20 previous size: 40 (Free) Vad
881c3fe0 size: 20 previous size: 20 (Allocated) ReEv

Memory that indicates it is Lookaside has been allocated for a lookaside
list (see ExAllocateFromNPagedLookasideList). This memory is managed by the
lookaside list package and calling ExFreePool with such memory is a serious
error.

This memory should be freed to the lookaside list
(ExFreeToNPagedLookasideList) and not directly back to pool.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@citrix.co.jp [mailto:xxxxx@citrix.co.jp]
Sent: Thursday, December 12, 2002 10:16 PM
To: NT Developers Interest List
Subject: [ntdev] [lookaside]

Hi, all

I have seen the following crash dump.
This BSOD cause double free memory buffer for non-paded pool twice in the
kernel mode.
However, I don’t know why the highligh pool area explains “lookaside” but
“free”.

If anyone know about it, Could you tell me the reason?

0: kd> kv
ChildEBP RetAddr Args to Child
eb4d3d30 8046bb4d 881c3e88 00000000 bd790030 nt!ExFreePoolWithTag+0x19b
(FPO: [Non-Fpo])
eb4d3d3c bd790030 881c3e88 bd77dba0 881c3e88 nt!ExFreePool+0xb (FPO:
[1,0,0])
eb4d3d60 bd77b3bd 881c3e88 bd77dba8 8047663c
cdm!CompleteBufferFlushOperation+0x16a
80065410 05c7fffe fffe0080 00000041 0f04eac1
cdm!CdmExecutiveWorkerThreadRoutine+0x3b
WARNING: Frame IP not in any known module. Following frames may be wrong.
80065410 05c7fffe fffe0080 00000041 0f04eac1 0x5c7fffe
0080158b 00000000 00000000 00000000 00000000 0x5c7fffe
0: kd> !pool 881c3e88
881c3000 size: 40 previous size: 0 (Allocated) Process: 88d52c80
881c3040 size: 20 previous size: 40 (Free) …
881c3060 size: 80 previous size: 20 (Allocated) MmCa
881c30e0 size: 1e0 previous size: 80 (Free) Ntfn
881c32c0 size: 40 previous size: 1e0 (Allocated) Process: 88d52c80
881c3300 size: 80 previous size: 40 (Allocated) MmCa
881c3380 size: 20 previous size: 80 (Free) SmMm
881c33a0 size: 40 previous size: 20 (Allocated) Atom
881c33e0 size: 60 previous size: 40 (Allocated) Gsem
881c3440 size: 40 previous size: 60 (Allocated) Ntfn
881c3480 size: 40 previous size: 40 (Allocated) NtFs
881c34c0 size: 40 previous size: 40 (Allocated) Ntfn
881c3500 size: 40 previous size: 40 (Allocated) NtFs
881c3540 size: 540 previous size: 40 (Free) Vad
881c3a80 size: 40 previous size: 540 (Allocated) Process: 88d52c80
881c3ac0 size: 20 previous size: 40 (Free) ReEv
881c3ae0 size: 20 previous size: 20 (Allocated) Process: 88d52c80
881c3b00 size: 40 previous size: 20 (Allocated) Process: 88d52c80
881c3b40 size: 40 previous size: 40 (Allocated) Ntfn
881c3b80 size: 20 previous size: 40 (Free) File
881c3ba0 size: 140 previous size: 20 (Allocated) CcSc
881c3ce0 size: 20 previous size: 140 (Allocated) Process: 88d52c80
881c3d00 size: 40 previous size: 20 (Allocated) Ntfn
881c3d40 size: 20 previous size: 40 (Free) Vad
881c3d60 size: a0 previous size: 20 (Allocated) File (Protected)
881c3e00 size: 20 previous size: a0 (Free) File
881c3e20 size: 40 previous size: 20 (Allocated) Atom
881c3e60 size: 20 previous size: 40 (Free) Npfs
*881c3e80 size: 40 previous size: 20 (Lookaside) *63DC
881c3ec0 size: 40 previous size: 40 (Allocated) Process: 88d52c80
881c3f00 size: 40 previous size: 40 (Allocated) Process: 88d52c80
881c3f40 size: 20 previous size: 40 (Free) Qota
881c3f60 size: 20 previous size: 20 (Allocated) ReEv
881c3f80 size: 40 previous size: 20 (Allocated) Process: 88d52c80
881c3fc0 size: 20 previous size: 40 (Free) Vad
881c3fe0 size: 20 previous size: 20 (Allocated) ReEv


You are currently subscribed to ntdev as: xxxxx@osr.com
To unsubscribe send a blank email to %%email.unsub%%

Thanks, Tony

I think this nonpaged pool memory area may be allocated by using
ExAllocatePool() according to code.
even though, Is it possible that memory manager will automatically assigned
it to lookasidelist?

Thanks,
Futoshi
-----Original Message-----
From: Tony Mason [mailto:xxxxx@osr.com]
Sent: Friday, December 13, 2002 12:30 PM
To: NT Developers Interest List
Subject: [ntdev] RE: [lookaside]

Memory that indicates it is Lookaside has been allocated for a lookaside
list (see ExAllocateFromNPagedLookasideList). This memory is managed by the
lookaside list package and calling ExFreePool with such memory is a serious
error.

This memory should be freed to the lookaside list
(ExFreeToNPagedLookasideList) and not directly back to pool.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@citrix.co.jp [mailto:xxxxx@citrix.co.jp]
Sent: Thursday, December 12, 2002 10:16 PM
To: NT Developers Interest List
Subject: [ntdev] [lookaside]

Hi, all

I have seen the following crash dump.
This BSOD cause double free memory buffer for non-paded pool twice in the
kernel mode.
However, I don’t know why the highligh pool area explains “lookaside” but
“free”.

If anyone know about it, Could you tell me the reason?

0: kd> kv
ChildEBP RetAddr Args to Child
eb4d3d30 8046bb4d 881c3e88 00000000 bd790030 nt!ExFreePoolWithTag+0x19b
(FPO: [Non-Fpo])
eb4d3d3c bd790030 881c3e88 bd77dba0 881c3e88 nt!ExFreePool+0xb (FPO:
[1,0,0])
eb4d3d60 bd77b3bd 881c3e88 bd77dba8 8047663c
cdm!CompleteBufferFlushOperation+0x16a
80065410 05c7fffe fffe0080 00000041 0f04eac1
cdm!CdmExecutiveWorkerThreadRoutine+0x3b
WARNING: Frame IP not in any known module. Following frames may be wrong.
80065410 05c7fffe fffe0080 00000041 0f04eac1 0x5c7fffe
0080158b 00000000 00000000 00000000 00000000 0x5c7fffe
0: kd> !pool 881c3e88
881c3000 size: 40 previous size: 0 (Allocated) Process: 88d52c80
881c3040 size: 20 previous size: 40 (Free) …
881c3060 size: 80 previous size: 20 (Allocated) MmCa
881c30e0 size: 1e0 previous size: 80 (Free) Ntfn
881c32c0 size: 40 previous size: 1e0 (Allocated) Process: 88d52c80
881c3300 size: 80 previous size: 40 (Allocated) MmCa
881c3380 size: 20 previous size: 80 (Free) SmMm
881c33a0 size: 40 previous size: 20 (Allocated) Atom
881c33e0 size: 60 previous size: 40 (Allocated) Gsem
881c3440 size: 40 previous size: 60 (Allocated) Ntfn
881c3480 size: 40 previous size: 40 (Allocated) NtFs
881c34c0 size: 40 previous size: 40 (Allocated) Ntfn
881c3500 size: 40 previous size: 40 (Allocated) NtFs
881c3540 size: 540 previous size: 40 (Free) Vad
881c3a80 size: 40 previous size: 540 (Allocated) Process: 88d52c80
881c3ac0 size: 20 previous size: 40 (Free) ReEv
881c3ae0 size: 20 previous size: 20 (Allocated) Process: 88d52c80
881c3b00 size: 40 previous size: 20 (Allocated) Process: 88d52c80
881c3b40 size: 40 previous size: 40 (Allocated) Ntfn
881c3b80 size: 20 previous size: 40 (Free) File
881c3ba0 size: 140 previous size: 20 (Allocated) CcSc
881c3ce0 size: 20 previous size: 140 (Allocated) Process: 88d52c80
881c3d00 size: 40 previous size: 20 (Allocated) Ntfn
881c3d40 size: 20 previous size: 40 (Free) Vad
881c3d60 size: a0 previous size: 20 (Allocated) File (Protected)
881c3e00 size: 20 previous size: a0 (Free) File
881c3e20 size: 40 previous size: 20 (Allocated) Atom
881c3e60 size: 20 previous size: 40 (Free) Npfs
*881c3e80 size: 40 previous size: 20 (Lookaside) *63DC
881c3ec0 size: 40 previous size: 40 (Allocated) Process: 88d52c80
881c3f00 size: 40 previous size: 40 (Allocated) Process: 88d52c80
881c3f40 size: 20 previous size: 40 (Free) Qota
881c3f60 size: 20 previous size: 20 (Allocated) ReEv
881c3f80 size: 40 previous size: 20 (Allocated) Process: 88d52c80
881c3fc0 size: 20 previous size: 40 (Free) Vad
881c3fe0 size: 20 previous size: 20 (Allocated) ReEv


You are currently subscribed to ntdev as: xxxxx@osr.com
To unsubscribe send a blank email to %%email.unsub%%


You are currently subscribed to ntdev as: xxxxx@citrix.co.jp
To unsubscribe send a blank email to %%email.unsub%%