Autoconf Data Representation

2001-12-05 Thread Ryan Collins


I've been running into some trouble when trying to use autoconf with
some programs I've written in scheme shell, and I think my general
solution may be useful enough to include in future versions of autoconf.

The problem I have is that autoconf represents all of its data as
strings, while scsh requires commands that are passed to (exec ...)
to be lists.

Autoconf has
   @INSTALL@ --  /usr/bin/install -c
while I need
   @INSTALL@ -- '(/usr/bin/install -c) or
   @INSTALL@ -- '(/usr/bin/install -c)

I modified my copy of autoconf to add the following extra variables:
   @INSTALL_atom@ --  /usr/bin/install -c
   @INSTALL_list@ --  '(/usr/bin/install -c)
(I added the atom option so that I can have directory names rendered as
scheme strings.)

This could be extended to other languages that want data that isn't
structured as a simple string (for example, exec() calls in C).  I think
it'd probably be useful to include something like this in the next 
version of autoconf, since scripting languages which have structured 
data, such as scsh and perl, are increasing in popularity.  

Here's the code I modified to get this to work.  I'm not a great shell
programmer, so I'm sure someone else can find a more elegant solution
than this.  I did make it backwards compatible with the old autoconf
variable names, although that runs the risk of variable name collision.  

(Both of these macros are in acgeneral.m4)

m4_define([AC_SUBST],
[m4_ifvaln([$2], [$1=$2])[]dnl
_AC_SUBST([$1], [s,@$1@,[$]$1,;t t])
_AC_SUBST([$1_atom], [`makesexp atom $1 [$]$1`,;t t])
_AC_SUBST([$1_list], [`makesexp list $1 [$]$1`,;t t])dnl
])# AC_SUBST

# ...

m4_define([_AC_OUTPUT_FILES],
[
# Makesexp function
makesexp()
{
  type=[$]1;
  symbol=[$]2;
  shift
  shift
 
  printf -- s,@${symbol}_${type}@,
 
  if test [$]type = list;
  then
printf '(
  else
printf \
  fi
 
  while test [$]# -gt 1;
  do
y=`echo [$]1 | sed -e 's/\/\\\/g'`
 
if test [$]type = list ;
then
printf \
fi
 
printf -- [$]y
 
if test [$]type = list ;
then
printf \ 
else
printf  
fi
 
shift
  done
  
  y=`echo [$]1 | sed -e 's/\/\\\/g'`
 
  if test [$]type = list;
  then
printf \
  fi
 
  printf -- [$]y
 
  if test [$]type = list ;
  then
printf \)
  else
printf \
  fi
}

# ...



-Ryan Collins ([EMAIL PROTECTED])





Re: Autoconf Data Representation

2001-12-05 Thread Paul Eggert

 From: Ryan Collins [EMAIL PROTECTED]
 Date: Wed, 5 Dec 2001 03:35:25 -0500 (EST)
 
@INSTALL_atom@ --  /usr/bin/install -c
@INSTALL_list@ --  '(/usr/bin/install -c)

An interesting idea.  Hmm, wouldn't it be better to use a syntax that
doesn't infringe on the user name space?  Also, something where the
terminology isn't scsh-specific, and where the semantics are easier to
grok instantly.  For example, how about using the following syntax
instead?

@INSTALL@ -- /usr/bin/install -c
@INSTALL@ - /usr/bin/install -c
@(INSTALL)@ - (/usr/bin/install -c)

 I think it'd probably be useful to include something like this in
 the next version of autoconf,

Likewise, though perhaps it should be the version after next.

 I'm sure someone else can find a more elegant solution than this.

But you're the one most motivated to get it to work, and you have the
most experience, so how about if we help you to make it more portable?
(Elegance is secondary.  :-) Once you have it whipped into shape we
can then install it into the next version (or so) of autoconf.

 m4_define([_AC_OUTPUT_FILES],
 [
 # Makesexp function
 makesexp()

First off, I'm afraid that we can't use shell functions.  They aren't
portable.

   printf -- s,@${symbol}_${type}@,

Also, the shell printf command isn't portable.

 y=`echo [$]1 | sed -e 's/\/\\\/g'`

This isn't portable, because some 'echo' implementations treat backslashes
in a funny way.  Others treat '-n' and some other options in a funny way.
Here's a more portable way to do that sort of thing:

script='s,,\\,g'
quotedform=''`sed $script EOF
$unquotedform
EOF
`''

(Don't you just love shell syntax?  :-)

But we really don't want to run 'sed' for each variable; it's better
to issue those commands just once, for all such variables.

A couple more points.  In proposed patches, please observe the
autoconf namespace conventions as documented in the manual.  Also, for
a change like this, please start with the latest test version, which
you can get from ftp://alpha.gnu.org/gnu/autoconf/.

Thanks again for your suggestion, and I hope you don't mind my trying
to improve on it.




autoconfig 2.13 installation problems

2001-12-05 Thread Filip Jankovic

I tried to install Autoconfig 2.13 on HP-UX 11.0, but I got a bunch of error 
messages. Can anyone tell me what might be wrong on my system?

# make check
rm -f autoconf autoconf.tmp
sed -e 's,@''datadir''@,/usr/local/share/autoconf,g' -e  
's,@''M4''@,/us
r/bin/m4,g'  -e 's,@''AWK''@,awk,g'  -e 's,@''SHELL''@,/bin/sh,g' 
autoconf.sh 
autoconf.tmp  chmod +x autoconf.tmp  mv autoconf.tmp autoconf
rm -f autoheader autoheader.tmp
sed -e 's,@''datadir''@,/usr/local/share/autoconf,g' -e  
's,@''M4''@,/us
r/bin/m4,g'  -e 's,@''AWK''@,awk,g'  -e 's,@''SHELL''@,/bin/sh,g' 
autoheader.sh
autoheader.tmp  chmod +x autoheader.tmp  mv autoheader.tmp autoheader
rm -f autoreconf autoreconf.tmp
sed -e 's,@''datadir''@,/usr/local/share/autoconf,g' -e  
's,@''M4''@,/us
r/bin/m4,g'  -e 's,@''AWK''@,awk,g'  -e 's,@''SHELL''@,/bin/sh,g' 
autoreconf.sh
autoreconf.tmp  chmod +x autoreconf.tmp  mv autoreconf.tmp autoreconf
rm -f autoupdate autoupdate.tmp
sed -e 's,@''datadir''@,/usr/local/share/autoconf,g' -e  
's,@''M4''@,/us
r/bin/m4,g'  -e 's,@''AWK''@,awk,g'  -e 's,@''SHELL''@,/bin/sh,g' 
autoupdate.sh
autoupdate.tmp  chmod +x autoupdate.tmp  mv autoupdate.tmp autoupdate
rm -f ifnames ifnames.tmp
sed -e 's,@''datadir''@,/usr/local/share/autoconf,g' -e  
's,@''M4''@,/us
r/bin/m4,g'  -e 's,@''AWK''@,awk,g'  -e 's,@''SHELL''@,/bin/sh,g' ifnames.sh 
  i
fnames.tmp  chmod +x ifnames.tmp  mv ifnames.tmp ifnames
rm -f autoscan autoscan.tmp
sed -e 's,@''datadir''@,/usr/local/share/autoconf,g' -e 
's,@''PERL''@,/u
sr/bin/perl,g' autoscan.pl  autoscan.tmp  chmod +x autoscan.tmp  mv 
autosca
n.tmp autoscan
*** Error exit code 1

Regards,
Alex

_
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp





Re: needs help

2001-12-05 Thread Robert Boehne

Toni:

Your testers don't need aclocal, autoconf, or automake installed unless
they are making changes to Makefile.am or configure.ac.  Once you
generate configure that's all they need.  If someone else's Makefile
is running these tools, take it out, it's just plain wrong.
  The idea of Autoconf is that it creates a portable shell script
configure that does all the work.  Nothing but the bourne shell
is required to generate the Makefiles.

Robert

Toni Moreno Giménez wrote:
 
 Hi to all , I'm new to the list, I have subscribed  because i have a little
 troubles, and I need, help.
 
 each time I type make on my project (after doing ./configure ) the
 Makefile runs another. all autotools system. this is:
 
 aclocal
 autoconf
 automake
 ./configure
 
 and finally begins the source compilation. is not a big trouble to me. but is
 it for my betatesters. (they need all auto* tools ) and some times the don't
 have.
 
 I have been looking for ./configure.in in other projects, but i can't find
 how to disable it.
 
 I'm trying to build a first beta release of my project. and I need a lot your
 help.
 
 Lots of thanks.
 
 --
 =
 Toni Moreno Giménez
 =
 Pje de las rosas  nº 22
 Vilassar de Mar
 (Barcelona) Spain
 CP: 08340

-- 
Robert Boehne Software Engineer
Ricardo Software   Chicago Technical Center
TEL: (630)789-0003 x. 238
FAX: (630)789-0127
email:  [EMAIL PROTECTED]




Re: needs help

2001-12-05 Thread Thomas Dickey

On Wed, Dec 05, 2001 at 05:13:22PM -0600, Robert Boehne wrote:
 Toni:
 
 Your testers don't need aclocal, autoconf, or automake installed unless
 they are making changes to Makefile.am or configure.ac.  Once you
 generate configure that's all they need.  If someone else's Makefile
 is running these tools, take it out, it's just plain wrong.
   The idea of Autoconf is that it creates a portable shell script
 configure that does all the work.  Nothing but the bourne shell
 is required to generate the Makefiles.

There are a number of (badly-broken-by-design) makefiles that add dependencies
to regenerate the configure script.
 
-- 
Thomas E. Dickey [EMAIL PROTECTED]
http://invisible-island.net
ftp://invisible-island.net




TELECOM GEAR Blowout! 11956

2001-12-05 Thread lynnettep
Title: Telecom Equipment BLOWOUT!






  
 
  
 
   






  
   

  

 
   

   

  
  
  



  
   
68 
  D/240SC-T1's Rev. 3
  New 
  In Box (w/Full Warranty)
 
  
 
   
Guaranteed Lowest Price
  

  

 
  
   
11 
  CP/12's
  New 
  In Box (w/Full Warranty)
 
  
 
   
Guaranteed
  lowest prices
  on all 
  Dialogic
  

  

 
  
   
12D/300SC-E1's
  New 
  In Box (w/Full Warranty)
  
   
8 
  D/160SC-LS's
  
   
 
  7 
D/480SC-2T1's

  
   
 
  

  
   

  
LNX-2000
  W/64 
  Span T1's
$44,595
  

  
   
EXS-T1C-1160
  16 
  Span T1 Card
$12,995

  
   
EXS-PRI-1100
  ISDN 
  Card 
$9,995

  
   
EXS-DSP-1100
  DSP 
  Card 
$9,495

  
   
LNX-T1C-1800
  8 Span 
  T-1 Card w I/O
call 
  for 
  lowest price


  
   
LNX-DSP-1400
  MFDSP 
  Card w I/O
call 
  for 
  lowest price

  
   
 
  

  
   

34 
  AG 
  T1's 
  call 
  for lowest price
 
  
 
   
Best 
  Offer!
  

  


  
   
 
  

  
   

 
  AS5300 
VoIP Gateway
96 Voice 
Channels/4T1

 
  call 
for 
lowest price


  
   
  
CALL 888.652.0638 orFAX 208.275.5246
   
  

  

  

  




Under Bill s.1618 TITLE III passed by the 105th U.S. Congress
This email adheres to the laws of the United States
To remove yourself from this list, please click here