Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging

2009-06-30 Thread Philip A. Prindeville
Stephen Henson via RT wrote:
 [philipp_s...@redfish-solutions.com - Mon Mar 09 18:21:52 2009]:

 Stephen Henson via RT wrote:
 There have been some concerns expressed in the mailing list about
 how
 portable this is to the many version of 'make' it has to work with.

 Steve.

 The '@' command for quiet has been standard in Make going back to (at
 least) 4.3BSD (circa 1983).

 It could always be bracketed by a test for non-compliant OSes...

 
 It's not the @ command which might be non-portable IMHO but the
 expansion of $(Q) into @.

I guess I still don't understand the issue.  On the platforms that don't 
support this, it could be left undefined or set to the empty string...

-Philip

__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging

2009-06-30 Thread Tim Rice
On Mon, 29 Jun 2009, Philip A. Prindeville wrote:

 Stephen Henson via RT wrote:
  
  It's not the @ command which might be non-portable IMHO but the
  expansion of $(Q) into @.
 
 I guess I still don't understand the issue.  On the platforms that don't 
 support this, it could be left undefined or set to the empty string...
 
 -Philip

It is easy to understand if you try it on a make other than GNU make.
Using your original post as an example:
-
$ cat Makefile

QUIET=y
ifeq ($(QUIET),y)
  Q:=@
else
  Q:=
endif

all:
$(Q)echo done

$ make
UX:make: ERROR: Must be a separator on rules line 4 (bu39).
$ gmake
done
$ 
-

-- 
Tim RiceMultitalents
t...@multitalents.net


__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging

2009-06-30 Thread Tim Rice via RT
On Mon, 29 Jun 2009, Philip A. Prindeville wrote:

 Stephen Henson via RT wrote:
  
  It's not the @ command which might be non-portable IMHO but the
  expansion of $(Q) into @.
 
 I guess I still don't understand the issue.  On the platforms that don't 
 support this, it could be left undefined or set to the empty string...
 
 -Philip

It is easy to understand if you try it on a make other than GNU make.
Using your original post as an example:
-
$ cat Makefile

QUIET=y
ifeq ($(QUIET),y)
  Q:=@
else
  Q:=
endif

all:
$(Q)echo done

$ make
UX:make: ERROR: Must be a separator on rules line 4 (bu39).
$ gmake
done
$ 
-

-- 
Tim RiceMultitalents
t...@multitalents.net



__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging

2009-06-30 Thread Philip Prindeville via RT
Tim Rice via RT wrote:
 On Mon, 29 Jun 2009, Philip A. Prindeville wrote:
 
 Stephen Henson via RT wrote:
 It's not the @ command which might be non-portable IMHO but the
 expansion of $(Q) into @.
 I guess I still don't understand the issue.  On the platforms that don't 
 support this, it could be left undefined or set to the empty string...

 -Philip
 
 It is easy to understand if you try it on a make other than GNU make.
 Using your original post as an example:
 -
 $ cat Makefile
 
 QUIET=y
 ifeq ($(QUIET),y)
   Q:=@
 else
   Q:=
 endif
 
 all:
 $(Q)echo done
 
 $ make
 UX:make: ERROR: Must be a separator on rules line 4 (bu39).
 $ gmake
 done
 $ 
 -
 

Right, so on a non-GNU make system, you'd never build with QUIET=y...  the 
Configure script should be able to take care of that.

I'm still not understanding what the problem is.

-Philip


__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging

2009-06-30 Thread Philip A. Prindeville
Tim Rice via RT wrote:
 On Mon, 29 Jun 2009, Philip A. Prindeville wrote:
 
 Stephen Henson via RT wrote:
 It's not the @ command which might be non-portable IMHO but the
 expansion of $(Q) into @.
 I guess I still don't understand the issue.  On the platforms that don't 
 support this, it could be left undefined or set to the empty string...

 -Philip
 
 It is easy to understand if you try it on a make other than GNU make.
 Using your original post as an example:
 -
 $ cat Makefile
 
 QUIET=y
 ifeq ($(QUIET),y)
   Q:=@
 else
   Q:=
 endif
 
 all:
 $(Q)echo done
 
 $ make
 UX:make: ERROR: Must be a separator on rules line 4 (bu39).
 $ gmake
 done
 $ 
 -
 

Right, so on a non-GNU make system, you'd never build with QUIET=y...  the 
Configure script should be able to take care of that.

I'm still not understanding what the problem is.

-Philip
__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging

2009-06-30 Thread Tim Rice
On Tue, 30 Jun 2009, Philip Prindeville via RT wrote:

 Tim Rice via RT wrote:
  On Mon, 29 Jun 2009, Philip A. Prindeville wrote:
  
  Stephen Henson via RT wrote:
  It's not the @ command which might be non-portable IMHO but the
  expansion of $(Q) into @.
  I guess I still don't understand the issue.  On the platforms that don't 
  support this, it could be left undefined or set to the empty string...
 
  -Philip
  
  It is easy to understand if you try it on a make other than GNU make.
  Using your original post as an example:
  -
  $ cat Makefile
  
  QUIET=y
  ifeq ($(QUIET),y)
Q:=@
  else
Q:=
  endif
  
  all:
  $(Q)echo done
  
  $ make
  UX:make: ERROR: Must be a separator on rules line 4 (bu39).
  $ gmake
  done
  $ 
  -
  
 
 Right, so on a non-GNU make system, you'd never build with QUIET=y...  the 
 Configure script should be able to take care of that.
 
 I'm still not understanding what the problem is.

So are you proposing something like
.
$ cat Makefile
QUIET=
ifeq ($(QUIET),y)
  Q:=@
else
  Q:=
endif

all:
$(Q)echo done

$ make
UX:make: ERROR: Must be a separator on rules line 3 (bu39).
.

Or without QUIET=
.
$ cat Makefile

ifeq ($(QUIET),y)
  Q:=@
else
  Q:=
endif

all:
$(Q)echo done

$ make
UX:make: ERROR: Must be a separator on rules line 3 (bu39).
$ 
.

Please provide a working example.
 
 -Philip
 

-- 
Tim RiceMultitalents
t...@multitalents.net


__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging

2009-06-30 Thread Allan K Pratt
I think there might be some distracting issues here. I tried this sample 
makefile on some non-GNU makes, and at least one I found was unhappy with 
two different elements of the sample, neither of which was $(Q)echo.

A current non-GNU version of make on Solaris handled the provided sample 
Makefile just fine, and correctly managed the QUIET mode as intended.

But I found an old make from 1997 on a local Solaris system. It didn't 
recognize the ifeq syntax for conditional logic in a makefile. 
Interestingly, it reported an error on line 4, not line 3, which means it 
saw the newline and bumped the line counter before reporting that it 
couldn't deal with what it saw.

I removed the ifeq logic and left just a Q:=@ line, and that same 
make was unhappy with the := syntax for assigning to a Makefile 
variable. (Yes, it's that old.)

When I changed this to Q=@ the 12-year-old version of Solaris make was 
happy: when it saw $(Q)echo it acted like it had seen @echo which is 
what the Makefile writer intended.

What I'm saying is (1) you can't always trust line numbers of error 
reports from make to be specific, and (2) your make program might not 
be objecting to what you think it is, and (3) different people's makes 
might work with or reject that input file differently.

-- Allan Pratt, apr...@us.ibm.com
Rational software division of IBM


__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


[openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging

2009-06-29 Thread Stephen Henson via RT
 [philipp_s...@redfish-solutions.com - Mon Mar 09 18:21:52 2009]:
 
 Stephen Henson via RT wrote:
 
  There have been some concerns expressed in the mailing list about
 how
  portable this is to the many version of 'make' it has to work with.
 
  Steve.
 
 
 The '@' command for quiet has been standard in Make going back to (at
 least) 4.3BSD (circa 1983).
 
 It could always be bracketed by a test for non-compliant OSes...
 

It's not the @ command which might be non-portable IMHO but the
expansion of $(Q) into @.


__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging

2009-06-29 Thread Philip Prindeville via RT
Stephen Henson via RT wrote:
 [philipp_s...@redfish-solutions.com - Mon Mar 09 18:21:52 2009]:

 Stephen Henson via RT wrote:
 There have been some concerns expressed in the mailing list about
 how
 portable this is to the many version of 'make' it has to work with.

 Steve.

 The '@' command for quiet has been standard in Make going back to (at
 least) 4.3BSD (circa 1983).

 It could always be bracketed by a test for non-compliant OSes...

 
 It's not the @ command which might be non-portable IMHO but the
 expansion of $(Q) into @.

I guess I still don't understand the issue.  On the platforms that don't 
support this, it could be left undefined or set to the empty string...

-Philip



__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging

2009-03-10 Thread Philip A. Prindeville
Stephen Henson via RT wrote:
 [philipp_s...@redfish-solutions.com - Mon Jan 26 12:00:57 2009]:

 When doing a version bump on distros (especially distros that may have 
 required some patching to accommodate this package), the silent death 
 of commands that run and fail without emitting any output makes it 
 especially difficult to figure out what died and why.

 I'd recommend using something like:

 QUIET=y
 ifeq ($(QUIET),y)
   Q:=@
 else
   Q:=
 endif

 in the makefiles, and allowing one to override QUIET from the command
 line.


 
 There have been some concerns expressed in the mailing list about how
 portable this is to the many version of 'make' it has to work with.
 
 Steve.
 

The '@' command for quiet has been standard in Make going back to (at least) 
4.3BSD (circa 1983).

It could always be bracketed by a test for non-compliant OSes...

-Philip
__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


[openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging

2009-03-09 Thread Stephen Henson via RT
 [philipp_s...@redfish-solutions.com - Mon Jan 26 12:00:57 2009]:
 
 When doing a version bump on distros (especially distros that may have 
 required some patching to accommodate this package), the silent death 
 of commands that run and fail without emitting any output makes it 
 especially difficult to figure out what died and why.
 
 I'd recommend using something like:
 
 QUIET=y
 ifeq ($(QUIET),y)
   Q:=@
 else
   Q:=
 endif
 
 in the makefiles, and allowing one to override QUIET from the command
line.
 
 
 

There have been some concerns expressed in the mailing list about how
portable this is to the many version of 'make' it has to work with.

Steve.

__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging

2009-03-09 Thread Philip Prindeville via RT
Stephen Henson via RT wrote:
 [philipp_s...@redfish-solutions.com - Mon Jan 26 12:00:57 2009]:

 When doing a version bump on distros (especially distros that may have 
 required some patching to accommodate this package), the silent death 
 of commands that run and fail without emitting any output makes it 
 especially difficult to figure out what died and why.

 I'd recommend using something like:

 QUIET=y
 ifeq ($(QUIET),y)
   Q:=@
 else
   Q:=
 endif

 in the makefiles, and allowing one to override QUIET from the command
 line.


 
 There have been some concerns expressed in the mailing list about how
 portable this is to the many version of 'make' it has to work with.
 
 Steve.
 

The '@' command for quiet has been standard in Make going back to (at least) 
4.3BSD (circa 1983).

It could always be bracketed by a test for non-compliant OSes...

-Philip


__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


[openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging

2009-01-26 Thread Philip Prindeville via RT
When doing a version bump on distros (especially distros that may have 
required some patching to accommodate this package), the silent death 
of commands that run and fail without emitting any output makes it 
especially difficult to figure out what died and why.

I'd recommend using something like:

QUIET=y
ifeq ($(QUIET),y)
  Q:=@
else
  Q:=
endif

in the makefiles, and allowing one to override QUIET from the command line.


__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging

2009-01-26 Thread Tim Rice
On Mon, 26 Jan 2009, Philip Prindeville via RT wrote:

 When doing a version bump on distros (especially distros that may have 
 required some patching to accommodate this package), the silent death 
 of commands that run and fail without emitting any output makes it 
 especially difficult to figure out what died and why.
 
 I'd recommend using something like:

Nice idea. Now if you can only make it portable. It needs to work
with the system makes for all the platforms that OpenSSL supports.

 
 QUIET=y
 ifeq ($(QUIET),y)
   Q:=@
 else
   Q:=
 endif
 
 in the makefiles, and allowing one to override QUIET from the command line.

-- 
Tim RiceMultitalents(707) 887-1469
t...@multitalents.net


__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org